How to calculate 3 rotation angles and scaling factor from 3 by 3 affine parameters matrix

조회 수: 14 (최근 30일)
My apologies if my question is too simple, but I can't seem to find an answer. I need to calculate 3 rotation angles: Rx, Ry, Rz and a scaling factor from a matrix of 3 by 3 affine parameters which I get from Helmert 3D affine function which exist in Geodesic Transformation Toolbox (<http://www.mathworks.com/matlabcentral/fileexchange/9696-geodetic-transformations-toolbox)>. As part of calculated transformation model I get 3 translation parameters followed by 9 affine parameters, and I'm not sure how I can calculate rotation angles and scaling factor for the transformation.
Any points are greatly appreciated.

채택된 답변

Matt J
Matt J 2012년 12월 18일
편집: Matt J 2018년 7월 17일
The determinant of the matrix should give the scale factor (cubed), so you can obtain the pure rotational part as
scale=det(A)^(1/3);
R=A/scale;
There are many ways to factor a rotation matrix R into 3 separate rotations Rx, Ry, Rz. Choose one that suits you from here
  댓글 수: 3

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Antennas and Electromagnetic Propagation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by