[Math] Axis and Angle of Rotation of 3×3 matrix

geometry

\begin{pmatrix}
√ 3/2 & -1/4 & √3/4\\
1/2 & √3/4 & -3/4\\
0 & √3/2 & 1/2
\end{pmatrix}

How do I find the axis and angle of rotation of this matrix?

Best Answer

The trace of a rotational matrix equals $1+2\cos\phi$, so this extracts the angle. If you take the antisymmetric part of the matrix:

$$A-A^T$$

it looks like

$$\begin{bmatrix}0&-z&y\\z&0&-x \\-y &x &0\end{bmatrix}$$

where $(x,y,z)$ is the axis (not normalized). This vector is actually the axis, multiplied by $2\sin\phi$, which defines the sense of rotation (the sign of the angle).

The inverse of this transformation is the Rodrigues' formula:

http://en.wikipedia.org/wiki/Rodrigues%27_rotation_formula

Of course your matrix first has to be a pure rotational matrix! If it's not, you have to decide what you want anyway. For instance, if you want to present your transformation as a composition of rotation and scaling, you take the polar decomposition.