\(
\newcommand{\BE}{\begin{equation}}
\newcommand{\EE}{\end{equation}}
\newcommand{\BA}{\begin{eqnarray}}
\newcommand{\EA}{\end{eqnarray}}
\newcommand\CC{\mathbb{C}}
\newcommand\FF{\mathbb{F}}
\newcommand\NN{\mathbb{N}}
\newcommand\QQ{\mathbb{Q}}
\newcommand\RR{\mathbb{R}}
\newcommand\ZZ{\mathbb{Z}}
\newcommand{\va}{\hat{\mathbf{a}}}
\newcommand{\vb}{\hat{\mathbf{b}}}
\newcommand{\vn}{\hat{\mathbf{n}}}
\newcommand{\vt}{\hat{\mathbf{t}}}
\newcommand{\bx}{\mathbf{x}}
\newcommand{\bv}{\mathbf{v}}
\newcommand{\bg}{\mathbf{g}}
\newcommand{\bn}{\mathbf{n}}
\newcommand{\by}{\mathbf{y}}
\)

Principal Rotation Vector
(Axis-Angle Formalism)

Definition

The principal rotation vector (PRV) or axis-angle formalism is a rotation formalism in three dimensions that makes use of Euler’s rotation theorem. Understanding the PRV description will also help us understand how unit quaternions are related to rotations, which will be discussed in the next section of this multi-page article on rotation formalisms.

Euler’s rotation theorem states that any attitude change of a body (with one point fixed in space), i.e. an arbitrary series of consecutive rotations, can be expressed as a single rotation around one axis (given by a unit vector \(\hat{\mathbf{e}}=(e_1, e_2, e_3)\)) by some angle \(\Phi\). This vector \(\hat{\mathbf{e}}\) is called the principal rotation vector, and the whole formalism, together with the angle, the PRV or axis-angle formalism.

\(\hat{\mathbf{e}}\) is the only real eigenvector of the rotation matrix (unless it is a rotation by 180 degrees or multiples thereof) and belongs to eigenvalue 1 (the other two eigenvalues are complex, so the rotation matrix has only one eigenvector in the real numbers). One can see this intuitively by observing that all points on the rotation axis are invariant under the rotation (so they are along an eigenvector and the eigenvalue must be 1, because there is no stretching or shrinkage along the axis). Simultaneously, no other direction other than the rotation axis is preserved under the rotation, so there are no other eigenvectors and associated real eigenvalues of the rotation matrix. (See our linear algebra primer for a general review of eigenvalues and eigenvectors.)

Relation between Principal Rotation Vector Formalism and Rotation Matrix

Let \(B\) be the rotation matrix representing a rotation (this matrix takes the coordinate matrix of a fixed vector \(\mathbf{v}\) from the reference basis \(\mathcal{A}\) to the rotated body frame basis \(\mathcal{B}\), i.e. \(\mathbf{v}_{\mathcal{B}}=B\mathbf{v}_{\mathcal{A}}\)). Let \(\hat{\bf e} = (e_1, e_2, e_3)\) be the only real eigenvector of \(B\), and \(\Phi\) the rotation angle around this vector to yield the rotation which \(B\) represents. Then we can write the rotation matrix \(B\) from the PRV formalism parameters as

\begin{equation}
B = \begin{pmatrix}
e_1^2\Sigma+\cos\Phi & e_1e_2\Sigma+e_3\sin\Phi & e_1e_3\Sigma – e_2\sin\Phi \\
e_2e_1\Sigma – e_3\sin\Phi & e_2^2\Sigma + \cos\Phi & e_2e_3\Sigma + e_1\sin\Phi \\
e_3e_1\Sigma + e_2\sin\Phi & e_3e_2\Sigma – e_1\sin\Phi & e_3^2\Sigma+\cos\Phi
\end{pmatrix}
\end{equation}
where \(\Sigma := 1 – \cos\Phi\).

The inverse transformation, extracting from the rotation matrix \(B\)  the parameters of the PRV formalism, is found from the above by combining matrix entries suitably. The rotation angle is found from
\begin{equation}
\cos\Phi = \frac{1}{2}(B_{11} + B_{22} + B_{33} – 1)
\end{equation}
A second angle (the other way around, rotation in the other direction) is also allowed: \(\Phi_2 = \Phi-2\pi\).

The eigenvector (representing the axis of rotation) can be computed from
\begin{equation}
\hat{\bf e} = \begin{pmatrix}e_1 \\ e_2 \\ e_3\end{pmatrix} = \frac{1}{2\sin\Phi}\begin{pmatrix}B_{23}-B_{32} \\ B_{31}-B_{13} \\ B_{12}-B_{21}\end{pmatrix}
\end{equation}