Transformation Matrix Between Two Cartesian Systems
6 ビュー (過去 30 日間)
古いコメントを表示
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 件)
Jim Riggs
2020 年 1 月 28 日
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](https://www.mathworks.com/matlabcentral/answers/uploaded_files/268858/image.jpeg)
![Matlab Answers 20200128b.JPG](https://www.mathworks.com/matlabcentral/answers/uploaded_files/268859/image.jpeg)
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.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!