# Three-dimensional rotation operator

For other uses, see Rotation operator.

The three Euler rotations are one way to bring a rigid body to any desired orientation by sequentially making rotations about axis' fixed relative to the object. However, this can also be achieved with one single rotation (Euler's rotation theorem). Using the concepts of linear algebra it is shown how this single rotation can be performed.

## Mathematical formulation

Let

$\hat e_1\ ,\ \hat e_2\ ,\ \hat e_3$

be a coordinate system fixed in the body that through a change in orientation is brought to the new directions

$\mathbf{A}\hat e_1\ ,\ \mathbf{A}\hat e_2\ ,\ \mathbf{A}\hat e_3.$

Any vector

$\bar x\ =x_1\hat e_1+x_2\hat e_2+x_3\hat e_3$

rotating with the body is then brought to the new direction

$\mathbf{A}\bar x\ =x_1\mathbf{A}\hat e_1+x_2\mathbf{A}\hat e_2+x_3\mathbf{A}\hat e_3$

i.e. this is a linear operator

The matrix of this operator relative to the coordinate system

$\hat e_1\ ,\ \hat e_2\ ,\ \hat e_3$

is

$\begin{bmatrix} A_{11} & A_{12} & A_{13} \\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \end{bmatrix} = \begin{bmatrix} \langle\hat e_1 | \mathbf{A}\hat e_1 \rangle & \langle\hat e_1 | \mathbf{A}\hat e_2 \rangle & \langle\hat e_1 | \mathbf{A}\hat e_3 \rangle \\ \langle\hat e_2 | \mathbf{A}\hat e_1 \rangle & \langle\hat e_2 | \mathbf{A}\hat e_2 \rangle & \langle\hat e_2 | \mathbf{A}\hat e_3 \rangle \\ \langle\hat e_3 | \mathbf{A}\hat e_1 \rangle & \langle\hat e_3 | \mathbf{A}\hat e_2 \rangle & \langle\hat e_3 | \mathbf{A}\hat e_3 \rangle \end{bmatrix}$

As

$\sum_{k=1}^3 A_{ki}A_{kj}= \langle \mathbf{A}\hat e_i | \mathbf{A}\hat e_j \rangle = \begin{cases} 0 & i\neq j, \\ 1 & i = j, \end{cases}$

or equivalently in matrix notation

$\begin{bmatrix} A_{11} & A_{12} & A_{13} \\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \end{bmatrix}^T \begin{bmatrix} A_{11} & A_{12} & A_{13} \\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$

the matrix is orthogonal and as a "right hand" base vector system is re-orientated into another "right hand" system the determinant of this matrix has the value 1.

### Rotation around an axis

Let

$\hat e_1\ ,\ \hat e_2\ ,\ \hat e_3$

be an orthogonal positively oriented base vector system in $R^3$.

The linear operator

"Rotation with the angle $\theta$ around the axis defined by $\hat e_3$"

has the matrix representation

$\begin{bmatrix} Y_1 \\ Y_2 \\ Y_3 \end{bmatrix} = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} X_1 \\ X_2 \\ X_3 \end{bmatrix}$

relative to this basevector system.

This then means that a vector

$\bar x=\begin{bmatrix} \hat e_1 & \hat e_2 & \hat e_3 \end{bmatrix} \begin{bmatrix} X_1 \\ X_2 \\ X_3 \end{bmatrix}$

is rotated to the vector

$\bar y=\begin{bmatrix} \hat e_1 & \hat e_2 & \hat e_3 \end{bmatrix} \begin{bmatrix} Y_1 \\ Y_2 \\ Y_3 \end{bmatrix}$

by the linear operator.

The determinant of this matrix is

$\det \begin{bmatrix} \cos\theta & -\sin\theta & 0\\ \sin\theta & \cos\theta & 0\\ 0 & 0 & 1 \end{bmatrix}=1$

and the characteristic polynomial is

\begin{align} \det\begin{bmatrix} \cos\theta -\lambda & -\sin\theta & 0 \\ \sin\theta & \cos\theta -\lambda & 0 \\ 0 & 0 & 1-\lambda \end{bmatrix} &=\big({(\cos\theta -\lambda)}^2 + {\sin\theta}^2 \big)(1-\lambda) \\ &=-\lambda^3+(2\ \cos\theta\ +\ 1)\ \lambda^2 - (2\ \cos\theta\ +\ 1)\ \lambda +1 \\ \end{align}

The matrix is symmetric if and only if $\sin\theta=0$, i.e. for $\theta=0$ and for $\theta=\pi$.

The case $\theta=0$ is the trivial case of an identity operator.

For the case $\theta=\pi$ the characteristic polynomial is

$-(\lambda-1){(\lambda +1)}^2$

i.e. the rotation operator has the eigenvalues

$\lambda=1 \quad \lambda=-1$

The eigenspace corresponding to $\lambda=1$ is all vectors on the rotation axis, i.e. all vectors

$\bar x =\alpha \ \hat e_3 \quad -\infty <\alpha < \infty$

The eigenspace corresponding to $\lambda=-1$ consists of all vectors orthogonal to the rotation axis, i.e. all vectors

$\bar x =\alpha \ \hat e_1 + \beta \ \hat e_2 \quad -\infty <\alpha < \infty \quad -\infty <\beta < \infty$

For all other values of $\theta$ the matrix is un-symmetric and as ${\sin\theta}^2 > 0$ there is only the eigenvalue $\lambda=1$ with the one-dimensional eigenspace of the vectors on the rotation axis:

$\bar x =\alpha \ \hat e_3 \quad -\infty <\alpha < \infty$

The rotation matrix by angle $\theta$ around a general axis of rotation $\mathbf{k} = \left[\begin{array}{ccc} k_1 \\ k_2 \\ k_3 \end{array}\right]$ is given by Rodrigues' rotation formula.

$R = I \cos\theta + [\mathbf{k}]_\times \sin\theta + (1 - \cos\theta) \mathbf{k} \mathbf{k}^\mathsf{T}$,

where $I$ is the identity matrix and $[\mathbf{k}]_\times$ is the dual 2-form of $\mathbf{k}$ or cross product matrix,

$[\mathbf{k}]_\times = \left[\begin{array}{ccc} 0 & -k_3 & k_2 \\ k_3 & 0 & -k_1 \\ -k_2 & k_1 & 0 \end{array}\right]$.

Note that $[\mathbf{k}]_\times$ satisfies $[\mathbf{k}]_\times \mathbf{v} = \mathbf{k}\times\mathbf{v}$ for all $\mathbf{v}$.

### The general case

The operator

"Rotation with the angle $\theta$ around a specified axis"

discussed above is an orthogonal mapping and its matrix relative to any base vector system is therefore an orthogonal matrix . Furthermore its determinant has the value 1. A non-trivial fact is the opposite, i.e. that for any orthogonal linear mapping in $R^3$ having determinant = 1 there exist base vectors

$\hat e_1\ ,\ \hat e_2\ ,\ \hat e_3$

such that the matrix takes the "canonical form"

$\begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1\end{bmatrix}$

for some value of $\theta$.

In fact, if a linear operator has the orthogonal matrix

$\begin{bmatrix} A_{11} & A_{12} & A_{13} \\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \end{bmatrix}$

relative some base vector system

$\hat f_1\ ,\ \hat f_2\ ,\ \hat f_3$

and this matrix is symmetric, the "Symmetric operator theorem" valid in $R^n$ (any dimension) applies saying

that it has n orthogonal eigenvectors. This means for the 3-dimensional case that there exists a coordinate system

$\hat e_1\ ,\ \hat e_2\ ,\ \hat e_3$

such that the matrix takes the form

$\begin{bmatrix} B_{11} & 0 & 0 \\ 0 & B_{22} & 0 \\ 0 & 0 & B_{33} \end{bmatrix}$

As it is an orthogonal matrix these diagonal elements $B_{ii}$ are either 1 or −1. As the determinant is 1 these elements are either all 1 or one of the elements is 1 and the other two are −1.

In the first case it is the trivial identity operator corresponding to $\theta=0$.

In the second case it has the form

$\begin{bmatrix} -1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$

if the basevectors are numbered such that the one with eigenvalue 1 has index 3. This matrix is then of the desired form for $\theta=\pi$.

If the matrix is un-symmetric, the vector

$\bar E = \alpha_1\ \hat f_1 + \alpha_2\ \hat f_2 + \alpha_3\ \hat f_3$

where

$\alpha_1=\frac{A_{32}-A_{23} }{2}$
$\alpha_2=\frac{A_{13}-A_{31}}{2}$
$\alpha_3=\frac{A_{21}-A_{12}}{2}$

is non-zero. This vector is an eigenvector with eigenvalue

$\lambda=1$

Setting

$\hat e_3=\frac{\bar E}{|\bar E|}$

and selecting any two orthogonal unit vectors in the plane orthogonal to $\hat e_3$:

$\hat e_1\ ,\ \hat e_2$

such that

$\hat e_1\ ,\ \hat e_2,\ \hat e_3$

form a positively oriented triple, the operator takes the desired form with

$\cos \theta=\frac{A_{11}+A_{22}+A_{33}-1}{2}$
$\sin \theta=|\bar{E}|$

The expressions above are in fact valid also for the case of a symmetric rotation operator corresponding to a rotation with $\theta = 0$ or $\theta = \pi$. But the difference is that for $\theta = \pi$ the vector

$\bar E = \alpha_1\ \hat f_1 + \alpha_2\ \hat f_2 + \alpha_3\ \hat f_3$

is zero and of no use for finding the eigenspace of eigenvalue 1, i.e. the rotation axis.

Defining $E_4$ as $\cos \theta$ the matrix for the rotation operator is

$\frac{1-E_4}{{E_1}^2+{E_2}^2+{E_3}^2} \begin{bmatrix} E_1 E_1 & E_1 E_2 & E_1 E_3 \\ E_2 E_1 & E_2 E_2 & E_2 E_3 \\ E_3 E_1 & E_3 E_2 & E_3 E_3 \end{bmatrix} + \begin{bmatrix} E_4 & -E_3 & E_2 \\ E_3 & E_4 & -E_1 \\ -E_2 & E_1 & E_4 \end{bmatrix}$

provided that

${E_1}^2+{E_2}^2+{E_3}^2 > 0$

i.e. except for the cases $\theta=0$ (the identity operator) and $\theta=\pi$

## Quaternions

Quaternions are defined similar to $E_1\ ,\ E_2\ ,\ E_3\ ,\ E_4$ with the difference that the half angle $\frac{\theta}{2}$ is used instead of the full angle $\theta$.

This means that the first 3 components $q_1\ ,\ q_2\ ,\ q_3\$ are components of a vector defined from

$q_1\ \hat{f_1}\ +\ q_2\ \hat{f_2}\ +\ \ q_3\ \hat{f_1}\ =\ \sin \frac{\theta}{2}\quad \hat{e_3}=\frac{\sin \frac{\theta}{2}}{\sin\theta}\quad \bar E$

and that the fourth component is the scalar

$q_4=\cos \frac{\theta}{2}$

As the angle $\theta$ defined from the canonical form is in the interval

$0 \le \theta \le \pi$

one would normally have that $q_4 \ge 0$. But a "dual" representation of a rotation with quaternions is used, i.e.

$q_1\ ,\ q_2\ ,\ q_3\ ,\ q_4\$

and

$-q_1\ ,\ -q_2\ ,\ -q_3\ ,\ -q_4\$

are two alternative representations of one and the same rotation.

The entities $E_k$ are defined from the quaternions by

$E_1=2 q_4 q_1$
$E_2=2 q_4 q_2$
$E_3=2 q_4 q_3$
$E_4={q_4}^2 -({q_1}^2+{q_2}^2+{q_3}^2)$

Using quaternions the matrix of the rotation operator is

$\begin{bmatrix} 2({q_1}^2+{q_4}^2)-1 &2({q_1}{q_2}-{q_3}{q_4}) &2({q_1}{q_3}+{q_2}{q_4}) \\ 2({q_1}{q_2}+{q_3}{q_4}) &2({q_2}^2+{q_4}^2)-1 &2({q_2}{q_3}-{q_1}{q_4}) \\ 2({q_1}{q_3}-{q_2}{q_4}) &2({q_2}{q_3}+{q_1}{q_4}) &2({q_3}^2+{q_4}^2)-1 \\ \end{bmatrix}$

## Numerical example

Consider the reorientation corresponding to the Euler angles $\alpha=10^\circ \quad \beta=20^\circ \quad \gamma=30^\circ \quad$ relative a given base vector system

$\hat f_1\ ,\ \hat f_2,\ \hat f_3$

Corresponding matrix relative to this base vector system is (see Euler angles#Matrix orientation)

$\begin{bmatrix} 0.771281 & -0.633718 & 0.059391 \\ 0.613092 & 0.714610 & -0.336824 \\ 0.171010 & 0.296198 & 0.939693 \end{bmatrix}$

and the quaternion is

$(0.171010,\ -0.030154,\ 0.336824,\ 0.925417)$

The canonical form of this operator

$\begin{bmatrix} \cos\theta & -\sin\theta & 0\\ \sin\theta & \cos\theta & 0\\ 0 & 0 & 1 \end{bmatrix}$

with $\theta=44.537^\circ$ is obtained with

$\hat e_3=(0.451272,-0.079571,0.888832)$

The quaternion relative to this new system is then

$(0,\ 0,\ 0.378951,\ 0.925417) = (0,\ 0,\ \sin\frac{\theta}{2},\ \cos\frac{\theta}{2})$

Instead of making the three Euler rotations

$10^\circ,20^\circ,30^\circ$

the same orientation can be reached with one single rotation of size $44.537^\circ$ around $\hat e_3$

## References

• Shilov, Georgi (1961), An Introduction to the Theory of Linear Spaces, Prentice-Hall, Library of Congress 61-13845.