MATLAB Answers

Transformation Matrix Between Two Cartesian Systems

72 views (last 30 days)
Ahmed Ibrahim
Ahmed Ibrahim on 28 Jan 2020
Commented: darova on 28 Jan 2020
Hello everyone,
It is my first time to use Matlab, and I learnt the basic functions and codes. I need to develop using Matlab a matrix that transforms one cartesian system XYZ to another cartesian system X'Y'Z' where both systems are have origin [0 , 0 , 0] . What functions I can use to develop such a matrix? Thank you.
  1 Comment
darova on 28 Jan 2020
Maybe you can attach some data? What do you have?

Sign in to comment.

Answers (1)

Jim Riggs
Jim Riggs on 28 Jan 2020
This is a very generic question and there are many ways to answer. It depends on what information you have about the two coordinate systems, or points in the two systems.
You can use planar Euler rotations, quaternions, rotation vectors, etc. to describe the orientation of one frame relative to another. In general, a "transformation matrix" is defined which can multiply a vector to convert it from one frame to the other. this matrix is also called a "direction cosine matrix" because it can be derived, by inspection, from using vector dot products (vector dot products of unit vectors represent the cosine of the angle between the vectors)
Matlab Answers 20200128a.JPG
Matlab Answers 20200128b.JPG
So, this is physically what the transformation matrix represents - a mapping of unit vectors from one frame to another.
in this format, it is easy to see that the inverse transformation (from B to A) is equal to the transpose of the A-to-B transformation matrix. But, in order to cunstruct the actual matrix, we need to know more about the two systems.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!