Euler–Rodrigues formula

In mathematics and mechanics, the EulerRodrigues formula describes the rotation of a vector in three dimensions. It is based on Rodrigues' rotation formula, but uses a different parametrization.

The rotation is described by four Euler parameters due to Leonhard Euler. The Rodrigues formula (named after Olinde Rodrigues), a method of calculating the position of a rotated point, is used in some software applications, such as flight simulators and computer games.

Definition

A rotation about the origin is represented by four real numbers, a, b, c, d such that

a^2 + b^2 + c^2 + d^2 = 1.

When the rotation is applied, a point at position \vec x rotates to its new position

\vec x' = \begin{pmatrix} a^2+b^2-c^2-d^2 & 2(bc-ad) & 2(bd + ac) \\
                                       2(bc+ad) & a^2+c^2-b^2-d^2 & 2(cd - ab) \\
                                       2(bd-ac) & 2(cd+ab) & a^2+d^2-b^2-c^2 \end{pmatrix}\vec x.

Vector formulation

The parameter a may be called the scalar parameter, while ω = (b, c, d) the vector parameter. In standard vector notation, the Rodrigues rotation formula takes the compact form

\vec x ' = \vec x + 2a(\vec \omega\times\vec x) + 2\left (\vec \omega\times(\vec \omega\times\vec x)\right )~~.

Symmetry

The parameters (a, b, c, d) and (−a, −b, −c, −d) describe the same rotation. Apart from this symmetry, every set of four parameters describes a unique rotation in three-dimensional space.

Composition of rotations

The composition of two rotations is itself a rotation. Let (a_1, b_1, c_1, d_1) and (a_2, b_2, c_2, d_2) be the Euler parameters of two rotations. The parameters for the compound rotation (rotation 2 after rotation 1) are as follows:

\begin{align}
a & = a_1a_2 - b_1b_2 - c_1c_2 - d_1d_2; \\
b & = a_1b_2 + b_1a_2 - c_1d_2 + d_1c_2; \\
c & = a_1c_2 + c_1a_2 - d_1b_2 + b_1d_2; \\
d & = a_1d_2 + d_1a_2 - b_1c_2 + c_1b_2.
\end{align}

It is straightforward, though tedious, to check that a^2 + b^2 + c^2 + d^2 = 1. (This is essentially Euler's four-square identity, also used by Rodrigues.)

Rotation angle and rotation axis

Any central rotation in three dimensions is uniquely determined by its axis of rotation (represented by a unit vector \vec k = (k_x,k_y,k_z)) and the rotation angle \phi. The Euler parameters for this rotation are calculated as follows:

\begin{align}
a & = \cos (\phi/2); \\
b & = k_x \sin (\phi/2); \\       
c & = k_y \sin (\phi/2); \\       
d & = k_z \sin (\phi/2).
\end{align}

Note that if \phi is increased by a full rotation of 360 degrees, the arguments of sine and cosine only increase by 180 degrees. The resulting parameters are the opposite of the original values, (−a, −b, −c, −d); they represent the same rotation.

In particular, the identity transformation (\phi = 0) corresponds to parameter values (a, b, c, d) = (\pm 1, 0, 0, 0). Rotations of 180 degrees about any axis result in a = 0.

Connection with quaternions

The Euler parameters can be viewed as the coefficients of a quaternion; the scalar parameter a is the real part, the vector parameters b, c, d are the imaginary parts. Thus we have the quaternion

q = a + bi + cj + dk,

which is a quaternion of unit length (or versor) since

\left\|q\right\|^2 = a^2 + b^2 + c^2 + d^2 = 1.

Most importantly, the above equations for composition of rotation are precisely the equations for multiplication of quaternions. In other words, the group of unit quaternions with multiplication, modulo the negative sign, is isomorphic to the group of rotations with composition.

Connection with SU(2) spin matrices

The Lie group SU(2) can be used to represent three-dimensional rotations in 2×2-matrices. The SU(2)-matrix corresponding to a rotation, in terms of its Euler parameters, is

U = \begin{pmatrix} \ \ \,a+di & b+ci \\ -b+ci & a-di \end{pmatrix}.

Alternatively, this can be written as the sum

\begin{align}U & = a\ \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}
    + b\ \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}
    + c\ \begin{pmatrix} 0 & i \\ i & 0 \end{pmatrix}
    + d\ \begin{pmatrix} i & 0 \\ 0 & -i \end{pmatrix} \\
&   = a\,I+ic\,\sigma_x+ib\,\sigma_y+id\,\sigma_z,\end{align}

where the \sigma_i are the Pauli spin matrices. Thus, the Euler parameters are the coefficients for the representation of a three-dimensional rotation in SU(2).

See also

References