Applying 3D Rotation Matrix

조회 수: 9 (최근 30일)
Student123
Student123 2018년 12월 13일
댓글: James Tursa 2018년 12월 14일
I have 2 sets of 3D axes in Matlab. I have a list of points in the first set of 3D axes that I want to apply a rotation matrix to in order to convert them to the same location in the second set of axes. I am a bit rusty with applying rotation matrices, any help is appreciated.
  댓글 수: 2
James Tursa
James Tursa 2018년 12월 13일
편집: James Tursa 2018년 12월 13일
You need to form the direction cosine (rotation) matrix that goes from one coordinate frame to the other coordinate frame. You can get the elements of this matrix with the dot products of the coordinate axes that you have. How are these coordinate axes stored?
Student123
Student123 2018년 12월 13일
Thanks for your response.
I have defined the axes like this within a function called getaxes:
if ~isequal(size(point1),[1,3]) || ~isequal(size(point2),[1,3])...
|| ~isequal(size(point3),[1,3])|| ~isequal(size(point4),[1,3])
error('Error: Inputs are in wrong dimensions')
end
z_axis= point1-point2;
z_axis=z_axis/norm(z_axis);
plane=cross(z_axis, point3-point4);
y_axis=plane/norm(plane);
x_axis=cross(y_axis, z_axis);
And then I will have points 5 and 6 for example in this coordinate system above that I wish to convert to my second coordinate system which is defined in a similar fashion.

댓글을 달려면 로그인하십시오.

채택된 답변

James Tursa
James Tursa 2018년 12월 13일
편집: James Tursa 2018년 12월 13일
You can use this FEX submission by Matt J with your coordinate axes as the inputs to get the rotation matrix R:
Then just multiply your points with that rotation matrix R.
  댓글 수: 2
Student123
Student123 2018년 12월 14일
Haven't had a chance to give it a shot yet but looks like what I need, thank you!
James Tursa
James Tursa 2018년 12월 14일
Yes. Just give it the three coordinate axes directions in the two sets as the inputs to get the rotation matrix R as the output. Then just multiply all of your other points by R.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Interactions, Camera Views, and Lighting에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by