Skip to main content

Section 1.5 Orientation of a Rigid Body: Equivalent Angle/Axis of Rotation

Despite their simple physical interpretations, the use of Euler sequences defined in Section 1.4 leads to significant difficulties for trajectories with large angle variations across singularities. Another drawback is the appearance of nonlinearities in the equations of motion and the inevitable numerical difficulties which ensue during integration. The use of rotation matrix expressed in terms of the nine direction cosines presented in Section 1.3 has the advantage of resolving the indetermination of Euler sequences, but has the disadvantage of having to account for six (nonlinear) relationships between these quantities.
An alternative method consists of representing any rotation in terms of its so-called Euler parameters. Euler showed that an arbitrary composition of rotations can be realized by a single rotation \(\cR_{\al , \bu}\) of angle \(\al \in [0,2\pi)\) about a unit vector \(\bu\text{.}\) The parameters \((\al,\bu)\) are called Euler parameters or the {\em equivalent angle and axis} of the rotation. See Figure \ref{fig:eulerrotation}.
First, we give a formal definition of operator \(\cR_{\al , \bu}\text{.}\)

Definition 1.5.1.

Given a unit vector \(\bu\text{,}\) there always exist two unit vectors \((\bv, \bw)\) such that \((\bu,\bv,\bw)\) forms a orthonormal, right-handed basis. Then, given \(\al \in \mathbb{R}\text{,}\) the rotation of angle \(\al\) about \(\bu\) is the linear operator \(\cR_{\al,\bu}\) such that:
\begin{equation} \cR_{\al,\bu} (\bu) = \bu, \quad \cR_{\al,\bu} (\bv) = \cos\al \bv + \sin\al \bw, \quad \cR_{\al,\bu} (\bw) = -\sin\al \bv + \cos\al \bw\tag{1.5.1} \end{equation}
Figure 1.5.2. Rotation \(\cR_{\al, \bu}\text{.}\)
Properties:
  1. The rotation \(\cR_{\al,\bu} /\) does not depend on the choice of \(\bv\) and \(\bw\) which form basis \((\bu,\bv,\bw)\text{.}\)
  2. The rotations \(\cR_{\al , \bu}\) and \(\cR_{-\al , -\bu}\) coincide.
  3. The rotations of angle \(\al\) and \(\al+ 2n \pi\) (\(n\in \mathbb{Z}\)) about unit vector \(\bu\) coincide.
  4. \(\cR_{0,\bu}= \cI \text{,}\) \(\cR_{\al,\bu} \circ \cR_{\beta,\bu} = \cR_{\al+\beta,\bu}\) and \(\cR_{\al,\bu}^{-1} = \cR_{- \al,\bu} \text{.}\)
  5. The matrix representation of \(\cR_{\al,\bu}\) on basis \((\bu,\bv,\bw)\) is given by
    \begin{equation*} \begin{bmatrix} 1 \amp 0 \amp 0 \\ 0 \amp \cos\al \amp -\sin\al \\ 0 \amp \sin\al \amp \cos\al \end{bmatrix}_{(\bu,\bv,\bw)} \end{equation*}
This matrix expression of \(\cR_{\al , \bu}\) is not useful in practice. It would be much more practical to obtain a basis-free and coordinate-free expression of \(\cR_{\al , \bu}\text{.}\) This is provided by Rodrigues formula which gives an intrinsic representation of rotations:

Proof.

We can always write an arbitrary vector \(\bV\) as a sum of a vector collinear to \(\bu\) and a vector normal to \(\bu\)
\begin{equation*} \bV = \lambda \bu + \bV^\perp, \qquad \bV^\perp\cdot \bu = 0 \end{equation*}
with \(\lambda = \bu \cdot \bV\text{.}\) The rotation operator \(\cR_{\al , \bu}\) satisfies
\begin{equation*} \cR_{\al , \bu} (\bu) = \bu, \qquad \cR_{\al , \bu} (\bV^\perp) = \cos\al \bV^\perp + \sin\al \bu \times \bV^\perp \end{equation*}
Hence the mapping of \(\bV\) by \(\cR_{\al , \bu}\) is given by
\begin{equation*} \cR_{\al , \bu} (\bV) =\lambda \bu+ \cos\al \bV^\perp + \sin\al \bu \times \bV^\perp \end{equation*}
If we then replace \(\bV^\perp\) by \(\bV - \lambda \bu\text{,}\) we obtain
\begin{align*} \cR_{\al , \bu} (\bV) \amp = \lambda \bu+ \cos\al (\bV - \lambda \bu) + \sin\al\bu \times (\bV - \lambda \bu) \\ \amp = (1-\cos\al) (\bu\cdot \bV) \bu + \cos\al \bV + \sin\al \bu \times \bV \end{align*}
Finally if we use the identity \(\bu\times(\bu\times\bV) = (\bu\cdot \bV) \bu - \bV\text{,}\) we obtain Rodrigues formula (1.5.2).
Figure 1.5.4. Rodrigues formula.
A geometric interpretation of Rodrigues formula is shown in Figure 1.5.4 by considering the projections of vector \(\bV\) on \(\bu\) and on a plane perpendicular to \(\bu\text{,}\) vector \(\cR_{\al , \bu} (\bV)\) can be seen to be the sum of three contributions:
  1. a contribution along \(\bu\text{:}\) \((\bV \cdot\bu)\bu = \bV + \bu\times(\bu\times\bV)\text{,}\)
  2. a contribution along vector \(- \bu\times(\bu\times\bV)\text{:}\) \(- \cos\alpha \bu\times(\bu\times\bV)\text{,}\)
  3. a contribution along vector \(\bu\times \bV\text{:}\) \(\sin\alpha \bu\times \bV\text{.}\)

Remark 1.5.5.

The axis of rotation \(\cR\) can be found by solving for the vectors which remain invariant by \(\cR\text{,}\) that is, satisfying \(\cR(\bV) = \bV\text{.}\)

Remark 1.5.6.

Once the unit vector \(\bu\) of the axis has been determined, the angle \(\al\) of rotation \(\cR\) can be found from a unit vector \(\bv\) normal to \(\bu\) and its mapping by \(\cR\text{:}\)
\begin{equation} \cos\al = \bv \cdot \cR(\bv), \qquad \sin\al = \bu\cdot (\bv\times\cR(\bv))\tag{1.5.3} \end{equation}
as shown by Rodrigues formula.
This is illustrated with the following examples.

Example 1.5.7.

Consider the linear operator whose matrix in basis \((\be_1,\be_2,\be_3)\) of \(\cE\) is given by
\begin{equation*} [\cL]_E = \frac{1}{9} \begin{pmatrix} 4 \amp 1 \amp -8\\ 7 \amp 4 \amp 4 \\ 4 \amp -8 \amp 1 \end{pmatrix} \end{equation*}
a. Show that \([\cL]_E\) is the matrix of a rotation.
b. Find the equivalent angle/axis of this rotation.
Solution.
a. It is easy to verify that \([\cL]_E\) is an orthogonal matrix, that is, \([\cL]_E [\cL]_E^T = [\cI]\text{.}\) It is equivalent to show that the column vectors \((\bc_1,\bc_2,\bc_3)\) of \([\cL]_E\) are unit vectors and mutually orthogonal and that \(\bc_3 =\bc_1\times \bc_2\text{.}\) Hence operator \(\cL\) is necessarily a rotation.
b. To find the axis of the rotation we look for the solution of \(\cL(\bV) = \bV\) (the eigenspace corresponding to eigenvalue \(+1\)), that is, we solve the equations
\begin{equation*} \begin{cases} \amp 4x_1 + x_2 -8 x_3 = 9 x_1 \\ \amp 7x_1 + 4x_2 +4 x_3 = 9 x_2 \\ \amp 4x_1 -8x_2 + x_3 = 9x_3 \end{cases} \end{equation*}
Simplifications yield two independent equations
\begin{equation*} \begin{cases} \amp x_1 +2 x_3 =0\\ \amp x_1 - x_2 =0 \end{cases} \end{equation*}
This is the line directed along unit vector
\begin{equation*} \bu = \frac{2}{3} \be_1 + \frac{2}{3} \be_2 -\frac{1}{3} \be_3 \end{equation*}
To find the unique angle \(\al\) corresponding to this choice of \(\bu\text{,}\) we identify a unit vector normal to \(\bu\text{:}\) we choose vector \(\bv = \frac{1}{\sqrt{2}} (\be_1 - \be_2)\) (it satisfies \(\bu\cdot \bv =0\)). Angle \(\al\) can be determined from
\begin{equation*} \cos\al = \bv \cdot \cL(\bv) = 0, \qquad \sin\al = (\bv, \cL(\bv), \bu) = -1 \end{equation*}
where we used \(\cL(\bv)= \frac{1}{3\sqrt{2}} (\be_1 +\be_2+4\be_3)\text{.}\) Note that \(\cos\al\) can also be found from the trace of \([\cL]_E\text{:}\) \(2 \cos\al + 1 = \text{tr}([\cL]_E)= 1\text{.}\) This gives angle \(\al = \frac{3\pi}{2}\text{.}\) In conclusion, operator \(\cL\) is the rotation \(\cR_{\frac{3\pi}{2}, \bu}\text{.}\)

Example 1.5.8.

Find the matrix of the rotation \(\cR_{\pi,\bu}\) with \(\bu = -\frac{1}{3} \be_1 + \frac{2}{3} \be_2 -\frac{2}{3} \be_3\) on basis \((\be_1,\be_2,\be_3)\text{.}\)
Solution.
Method 1: We use Rodrigues formula for \(\bV = \be_1, \be_2, \be_2\) with \(\al=\pi\text{:}\) this will give the column vectors of matrix \([\cR_{\pi, \bu}]_E\text{:}\)
\begin{equation*} \cR_{\pi, \bu} (\be_1) = \be_1 + 2 \bu\times(\bu\times\be_1) = (-7\be_1-4 \be_2 +4\be_3)/9 \end{equation*}
\begin{equation*} \cR_{\pi, \bu} (\be_2) = \be_2 + 2 \bu\times(\bu\times\be_2) = (-4\be_1- \be_2 -8\be_3)/9 \end{equation*}
\begin{equation*} \cR_{\pi, \bu} (\be_3) = \be_3 + 2 \bu\times(\bu\times\be_3) = (4\be_1- 8 \be_2 -\be_3)/9 \end{equation*}
This gives the matrix
\begin{equation*} [\cR_{\pi,\bu}]_E = \frac{1}{9} \begin{pmatrix} -7 \amp -4 \amp 4\\ -4 \amp -1 \amp -8\\ 4 \amp -8 \amp -1 \end{pmatrix} \end{equation*}
Method 2: We can find the matrix of \(\cR_{\pi,\bu}\) by exploiting the fact that for \(\al=\pi\text{,}\) we have the properties that \(\bV + \cR_{\pi,\bu} (\bV)\) is collinear to \(\bu\) and \(\bV - \cR_{\pi,\bu} (\bV)\) is normal to \(\bu\text{:}\) denoting \(\bV = x_1 \be_1 + x_2 \be_2 + x_3 \be_3\) and \(\cR_{\pi,\bu} (\bV) = x'_1 \be_1 + x'_2 \be_2 + x'_3 \be_3\text{,}\) we find four equations by expressing the conditions \(\bV + \cR_{\pi,\bu} (\bV) = \la \bu\) \((\la\in \mathbb{R})\) and \((\bV - \cR_{\pi,\bu} (\bV) ) \cdot \bu = 0\)
\begin{equation*} \begin{cases} \amp x_1 + x_1' = -\la\\ \amp x_2 + x_2' = 2\la\\ \amp x_3 +x_3' = -2\la\\ \amp (x_1 - x_1') -2 (x_2 - x_2') +2(x_3 - x_3') =0 \end{cases} \end{equation*}
We solve for \(\la\text{:}\)
\begin{equation*} 9\la = -2x_1+4 x_2 -4x_3 \end{equation*}
This expression can then be used to find \((x'_1 , x'_2 , x'_3)\) vs \((x_1 , x_2 , x_3)\text{:}\)
\begin{equation*} \begin{cases} \amp 9x_1' = -7x_1-4 x_2 +4x_3\\ \amp 9x_2' = -4x_1- x_2 -8x_3\\ \amp 9x_3' = 4x_1- 8 x_2 -x_3 \end{cases} \end{equation*}
We find the same matrix as with method 1.
It is straightforward to obtain a matrix representation of \(\cR_{\al , \bu}\) on an arbitrary basis \((\bha_1, \bha_2, \bha_3)\text{:}\) denoting \(\bu = u_1 \bha_1 + u_2 \bha_2 + u_3 \bha_3\text{,}\) we find
\begin{align*} [\cR_{\al , \bu}]_{_A} \amp = \begin{bmatrix} 1 \amp 0 \amp 0 \\ 0 \amp 1 \amp 0 \\ 0 \amp 0 \amp 1 \end{bmatrix} + \sin\alpha \begin{bmatrix} 0 \amp -u_3 \amp u_2 \\ u_3 \amp 0 \amp -u_1 \\ -u_2\amp u_1 \amp 0 \end{bmatrix} +(1- \cos\alpha) \begin{bmatrix} u_1^2-1 \amp u_1 u_2 \amp u_1 u_3 \\ u_1 u_2 \amp u_2^2-1 \amp u_2 u_3 \\ u_1 u_3 \amp u_2 u_3 \amp u_3^2-1 \end{bmatrix}\\ \amp = \begin{bmatrix} \cos\al+(1-\cos\al) u_1^2 \amp (1-\cos\al) u_1 u_2 -u_3\sin\alpha \amp (1-\cos\al)u_1 u_3 +u_2 \sin\alpha \\ (1-\cos\al)u_1 u_2 +u_3\sin\alpha \amp \cos\al+(1-\cos\al) u_2^2 \amp (1-\cos\al)u_2 u_3 -u_1\sin\alpha \\ (1-\cos\al)u_1 u_3-u_2\sin\alpha \amp (1-\cos\al)u_2 u_3+u_1\sin\alpha \amp \cos\al+(1-\cos\al) u_3^2 \end{bmatrix} \end{align*}
Denoting the operator \(\cU:\; \bV \mapsto \bu\times \bV\) and \(\cI: \, \bV\mapsto \bV\) the identity operator, we note from this result that \(\cI + (1- \cos\alpha)\cU^2\) is the symmetric part of operator \(\cR_{\al , \bu}\) and that \((\sin\al) \cU\) represents its skew-symmetric part.
Conversely, given a rotation \(\cR\text{,}\) it is of interest to find its equivalent representation in terms of its Euler parameters \((\al,\bu)\text{.}\) Since \(\cR\) can always be written as the sum of its symmetric part \(\tfrac{1}{2} (\cR + \cR^T) \) and skew-symmetric part \(\tfrac{1}{2} (\cR - \cR^T)\text{,}\) we can relate \(\cR\) to its equivalent representation \(\cR_{\al,\bu}\) according to:
\begin{align} \tfrac{1}{2} (\cR + \cR^T) \amp = \cI + (1- \cos\alpha)\cU^2\tag{1.5.4}\\ \tfrac{1}{2} (\cR - \cR^T) \amp = (\sin\al) \, \cU\tag{1.5.5} \end{align}
From equation (1.5.4) we obtain equality of the traces:
\begin{equation*} \text{tr}(\cR) = 3 + (1-\cos\alpha) \text{tr}(\cU^2) = 1+ 2 \cos\alpha \end{equation*}
since the trace of operator \(\cU^2\) is \(-2\text{.}\) In particular for the rotation \(\cR_{EB}\) which maps basis \((\be_1 ,\be_2 ,\be_3)\) of \(\cE\) to basis \((\bhb_1 ,\bhb_2 ,\bhb_3)\) of body \(\cB\) we find that the equivalent angle \(\alpha\) satisfies
\begin{equation*} 1+2\cos\al = c_{11}+c_{22}+c_{33} \end{equation*}
with \(c_{ij} = \be_i \cdot \bhb_j\text{.}\) To find the equivalent axis we use (1.5.5)
\begin{equation*} \sin\alpha \begin{bmatrix} 0 \amp -u_3 \amp u_2 \\ u_3 \amp 0 \amp -u_1 \\ -u_2\amp u_1 \amp 0 \end{bmatrix} = \tfrac{1}{2} \begin{bmatrix} 0 \amp c_{12} - c_{21} \amp c_{13} - c_{31} \\ c_{21} - c_{12} \amp 0 \amp c_{23}- c_{32} \\ c_{31} - c_{13} \amp c_{32}- c_{23} \amp 0 \end{bmatrix} \end{equation*}
which gives
\begin{equation*} 2\sin\al \, \bu = (c_{32}- c_{23}) \be_1 + (c_{13} - c_{31})\be_2 + (c_{21} - c_{12})\be_3 \end{equation*}
relative to basis \((\be_1 ,\be_2 ,\be_3)\text{.}\) We summarize these two results with the following theorem.

Remark 1.5.10.

The trace of an operator is an invariant: if \(\cR_{EB}\) is represented by the matrix \([r_{ij}]_b\) in some particular basis \(b\text{,}\) then equation (1.5.6) can be written as
\begin{equation*} 1+2\cos\al = r_{11}+r_{22}+r_{33} \end{equation*}

Remark 1.5.11.

Recall that \([\cC_{EB}] = [\cR_{EB}]_{_E} = [\cR_{EB}]_{_B}\text{,}\) hence the equality \((\cR_{EB} - \cR^T_{EB}) = 2 \sin\al \, \cU\) can be written on basis \((\bhb_1 ,\bhb_2 ,\bhb_3)\text{:}\)
\begin{equation*} 2\sin\al \bu = (c_{32}- c_{23}) \bhb_1 + (c_{13} - c_{31})\bhb_2 + (c_{21} - c_{12})\bhb_3 \end{equation*}
If \(\cR_{EB}\) is represented by the matrix \([r_{ij}]\) on a basis \((\bha_1, \bha_2, \bha_3)\text{,}\) then \(\bu\) is obtained on this basis:
\begin{equation*} 2\sin\al \bu = (r_{32}- r_{23}) \bha_1 + (r_{13} - r_{31})\bha_2 + (r_{21} - r_{12})\bha_3 \end{equation*}

Remark 1.5.12.

If \(\alpha\) is close to \(\pi\text{,}\) then (1.5.7) should not be used since it may lead to a large error for \(\bu\text{.}\) Another method must be used.

Remark 1.5.13.

One can show that (1.5.7) leads to the formula (see exercice Exercise 1.8.5)
\begin{equation*} 2\sin\alpha \; \bu = \be_1 \times \bhb_1 + \be_2 \times \bhb_2+ \be_3 \times \bhb_3 \end{equation*}

Example 1.5.14.

Consider the rotation \(\cR_{\alpha, \bu}\) of angle \(\alpha\) about unit vector \(\bu\) whose orientation is given by angle \((\psi,\te)\) relative to basis \((\be_1, \be_2, \be_3)\) of \(\cE\) as shown in Figure Figure 1.5.15.
Figure 1.5.15.
a. Find the matrix \([\cR_{\alpha, \bu}]_{_E}\) in basis \((\be_1, \be_2, \be_3)\) by using Rodrigues formula.
b. Two bases can be defined from \((\be_1, \be_2, \be_3)\) by two consecutive rotations:
\begin{equation*} (\be_1 , \be_2 , \be_3 ) \xrightarrow{\cR_{\psi , \be_3}} (\bu_1,\bu_2, \bu_3=\be_3) \xrightarrow{\cR_{\te , \bu_2}} (\bv_1,\bv_2= \bu_2, \bv_3 =\bu) \end{equation*}
Find matrix \([\cR_{\alpha, \bu}]_{_V}\) in basis \((\bv_1,\bv_2, \bv_3)\text{,}\) then find the matrix \([\cR_{\alpha, \bu}]_{_E}\) by using matrix \([\cC_{EV}]\text{.}\)
Solution.
a. We can write the components of unit vector \(\bu\) on basis \((\be_1, \be_2, \be_3)\) in terms of angles \(\psi\) and \(\te\text{:}\)
\begin{equation*} \bu = s_\te c_\psi \be_1 +s_\te s_\psi \be_2 + c_\te \be_3 \end{equation*}
We can then apply (1.5.2) to find \([\cR_{\alpha, \bu}]_E\text{:}\)
\begin{equation*} [\cR_{\alpha, \bu}]_{_E} = \begin{bmatrix} 1 \amp 0 \amp 0 \\ 0 \amp 1 \amp 0 \\ 0 \amp 0 \amp 1 \end{bmatrix} + s_\alpha \begin{bmatrix} 0 \amp -c_\te \amp s_\te s_\psi \\ c_\te \amp 0 \amp -s_\te c_\psi \\ -s_\te s_\psi\amp s_\te c_\psi \amp 0 \end{bmatrix} +(1- c_\alpha) \begin{bmatrix} s_\te^2 c_\psi^2-1 \amp s_\te^2 c_\psi s_\psi \amp s_\te c_\te c_\psi \\ s_\te^2 c_\psi s_\psi \amp s_\te^2 s_\psi^2 -1 \amp s_\te c_\te s_\psi \\ s_\te c_\te c_\psi \amp s_\te c_\te s_\psi \amp c_\te^2-1 \end{bmatrix} \end{equation*}
b. Matrix \([\cR_{\alpha, \bu}]_{_V}\) takes a simple expression in basis \((\bv_1,\bv_2, \bv_3)\) since \(\bv_3 =\bu\) is invariant by rotation \(\cR_{\alpha, \bu}\text{:}\)
\begin{equation*} [\cR_{\alpha, \bu}]_{_V} = \begin{bmatrix} c_\al \amp -s_\al \amp 0 \\ s_\al \amp c_\al \amp 0 \\ 0 \amp 0 \amp 1 \end{bmatrix} \end{equation*}
Then matrix \([\cR_{\alpha, \bu}]_{_E}\) is obtained in basis \((\be_1, \be_2, \be_3)\) by using the direction cosine matrix \([\cC_{EV}]\) according to formula (1.3.9).
\begin{equation*} [\cR_{\alpha, \bu}]_{_E} = [\cC_{EV}] [\cR_{\alpha, \bu}]_{_V} [\cC_{EV}]^T \end{equation*}
with
\begin{equation*} [\cC_{EV}] = [\cC_{EU}][\cC_{UV}] = \begin{bmatrix} c_\psi \amp -s_\psi \amp 0 \\ s_\psi \amp c_\psi \amp 0 \\ 0 \amp 0 \amp 1 \end{bmatrix} \begin{bmatrix} c_\te \amp 0 \amp s_\te \\ 0 \amp 1 \amp 0 \\ -s_\te \amp 0 \amp c_\te\amp \end{bmatrix} = \begin{bmatrix} c_\psi c_\te \amp -s_\psi \amp c_\psi s_\te \\ s_\psi c_\te\amp c_\psi \amp s_\psi s_\te\\ -s_\te \amp 0 \amp c_\te \end{bmatrix} \end{equation*}
The reader will check that the same result is obtained.
Finally, we end this section with the following question. Given two rotations \(\cR_{\al , \bu}\) and \(\cR_{\beta , \bv}\text{,}\) can the angle \(\gamma\) and direction \(\bw\) be found for their composition \(\cR_{\gamma , \bw}= \cR_{\beta , \bv} \circ \cR_{\al , \bu}\text{?}\) We may seek expressions for \((\gamma, \bw)\) by applying Rodrigues formula. The derivations are very tedious. However, we shall see in the next section that they can be performed in a straightforward manner by the use of quaternions.