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

12 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Matt J
Matt J el 18 de Dic. de 2012
Editada: Matt J el 17 de Jul. de 2018
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 comentarios

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Antennas and Electromagnetic Propagation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by