The most popular representation of a rotation tensor is based on the use of three Euler angles. Early adopters include Lagrange, who used the newly defined angles in the late 1700s to parameterize the rotations of spinning tops and the Moon [1, 2], and Bryan, who used a set of Euler angles to parameterize the yaw, pitch, and roll of an airplane in the early 1900s [3]. Today, Euler angles are widely used in vehicle dynamics and orthopaedic biomechanics. As discussed in [4, 5], the Euler angle representation dates to works by Euler [6, 7] that he first presented in 1751. Although the paper [7] dates to the 18th century, it was first published posthumously in 1862. In Euler’s papers, he shows how three angles can be used to parameterize a rotation, and he also establishes expressions for the corotational components of the angular velocity vector.

Contents

## The Euler angle sequence and Euler basis

One interpretation of the Euler angles involves a decomposition of a rotation tensor into a product of three fairly simple rotations:

where, from Euler’s representation,

for a counterclockwise rotation of about an axis in the direction of a unit vector . In representation (1), denote the Euler angles, and the set of unit vectors is known as the Euler basis. In general, is a function of and , and is a function of . Because there are three Euler angles, the parameterization of a rotation tensor by use of these angles is an example of a three-parameter representation of a rotation. Furthermore, there are 12 possible choices of the Euler angles. For example, Figure 1 illustrates these angles for a set of 3-2-3 Euler angles:

While the Euler basis is composed of a set of unit vectors, the basis is typically non-orthogonal and, in many cases, not right-handed. This can be observed from the animation of the 3-2-3 Euler angle sequence provided in Figure 2, where the Euler basis is highlighted in cyan. Notice that the Euler basis vector is perpendicular to the plane formed by and , i.e., is perpendicular to both and .

## The angular velocity vector

If we assume that the Euler basis vector is constant, then the angular velocity vector associated with the Euler angle representation of a rotation tensor can be established by using relative angular velocity vectors. In this case, there are two such vectors: and . For the first rotation, because its axis of rotation is fixed, the angular velocity vector is simply

The angular velocity of the second rotation relative to the first is

while the angular velocity of the third rotation relative to the second is

The calculation of the relative angular velocity vectors is similar to the example considered in our discussion of relative rotations and their angular velocities. Combining (4), (5), and (6), we conclude that the angular velocity vector associated with is

The simplicity of this representation is remarkable. If the rotation tensor transforms the fixed vectors into the corotational vectors , then it is possible to express the Euler basis in terms of either set of vectors. Alternative approaches to establishing (7) can be found in various textbooks. In one such approach, all three Euler angles are considered to be infinitesimal. A good example of this approach can be found in Section 2.9 of Lurie’s text [8]. Another approach, which can be found in [9, 10] and dates to Euler, features spherical geometry. Finally, a third, but lengthy, approach involves differentiating the rotation tensor (1), computing the angular velocity tensor , and then calculating its corresponding axial vector.

## Singularities

For the Euler angles to effectively parameterize all rotations, we must assume that we can find and such that (7) holds for any given angular velocity vector . For this to happen, it is necessary and sufficient that the Euler basis vectors , , and span . When these vectors are not linearly independent, we say that the Euler angles have a singularity. This singularity, often referred to as a “gimbal lock” (e.g., see [11]), is unavoidable for Euler angles and occurs for certain values of . Thus, it is necessary to restrict this angle to avoid these singularities.

## The dual Euler basis

For future developments, it is also convenient to define the dual Euler basis such that , where is the Kronecker delta. The dual Euler basis vectors are analogous to the contravariant basis vectors in differential geometry and have similar uses in dynamics. We will use the dual Euler basis later when discussing particular sets of Euler angles; a rapid summary of this and other uses can be found in [12, 13]. One method of determining the dual Euler basis is to express the Euler basis vectors in terms of a right-handed basis, say, . Then, for example, to determine , we could write and solve the three equations , , and for the three unknowns , , and . Alternatively, one can use results from differential geometry [14]. Either way, the dual Euler basis vectors are related to the Euler basis vectors by

where . These relationships are illustrated graphically in Figure 3 for a set of 3-1-2 Euler angles. Based on (8), we can make a few interesting observations: first, , and thus , for all possible sets of Euler angles; and second, and depend on . When the Euler angles have singularities, one will find that the dual Euler basis vectors and cannot be defined.

## The 3-2-1 set of Euler angles

To elaborate further on the Euler angles, we now consider the 3-2-1 set of Euler angles depicted in Figure 4. This set is arguably among the most popular sets of Euler angles. The 3-2-1 Euler angles are used in Greenwood’s text [15], Rao’s text [16], and numerous texts on vehicle and aircraft dynamics. In several communities, these angles are known as examples of the Tait [17] and/or Bryan [3] angles (after Peter G. Tait (1831-1901) and George H. Bryan (1864-1928)) or the Euler-Cardan angles (after Euler and Girolamo Cardano (1501-1576)).

Referring to Figure 4, suppose the corresponding rotation tensor has the representation

where is a fixed Cartesian basis. The first rotation transforms the vectors to through a rotation of about the axis . In the second rotation, are transformed into by a rotation about . The third and final rotation transforms to the corotational basis vectors through a rotation of about the axis . Thus,

where

It is not difficult to express the various basis vectors as linear combinations of each other:

The inverses of these relationships are easy to obtain because each of the three matrices in (12) is orthogonal. As the inverse of an orthogonal matrix is its transpose, we quickly arrive at the sought-after results:

Relationships (12) and (13) can be combined to express in terms of and vice versa. Later, they will also be used to establish representations for the Euler and dual Euler bases in terms of and . By using (13), we can obtain expressions for the rotation tensor components . These components are conveniently expressed in matrix form, :

Representation (14) is the transpose of what one might naively expect. Indeed, it is useful to note that

### The Euler basis

By examining the individual rotations in (12), we can show that the Euler basis vectors have the equivalent representations

The former representation is useful for establishing the angular velocity components , while the latter is helpful in obtaining .

### The dual Euler basis

We can now determine the dual Euler basis vectors . First, express each of the dual Euler basis vectors in terms of their components relative to, say, the corotational basis :

Combining these results in matrix-vector form,

With the assistance of (16)_{1}, the relations can be expressed as nine equations for the nine unknown components :

Isolating the matrix on the left-hand side of this system of equations, we find that

Therefore, the dual Euler basis vectors are given by

If we had instead begun by expressing the dual Euler basis vectors in terms of components with respect to the fixed basis , then we would have found the following representations:

The dual Euler basis vectors are illustrated in Figure 5.

For completeness, we note that when rad, one can also express the Euler basis vectors in terms of the dual Euler basis:

The simplicity of this relationship (related versions of which hold for the other 11 sets of Euler angles) is surprising.

### Singularities

If we examine (16), we see that the Euler basis fails to be a basis for when rad: , and thus the Euler basis does not span . We can also infer this fact from Figure 5 if we consider the angles and to be spherical polar coordinates for . To avoid this singularity, it is necessary to place restrictions on the second Euler angle: rad. The other two angles are free to range from to rad.

### Angular velocity vectors

The angular velocity vector associated with the 3-2-1 Euler angles has several representations:

To arrive at the primitive representation , we needed to compute two relative angular velocity vectors. We calculated the first of these, , assuming were fixed, and the second relative angular velocity vector, , was computed by fixing . It is also interesting to note that the angular velocity vector has the representations

In establishing this result, we used the fact that . Lastly, we note that

Using (21) to express the dual Euler basis vectors in terms of their components relative to , we find

where are the corotational components of angular velocity. Suppose the initial orientation of a body is described by , , and , or, equivalently, . Given measurements for , the differential equations in (27) can be numerically integrated to determine the body’s orientation over time, . This idea forms the foundation of inertial navigation.

## The 3-1-3 set of Euler angles

We now discuss another popular set of Euler angles: the 3-1-3 Euler angles. These angles, which are illustrated in Figure 6, are the angles Lagrange used^{1}, and they were also used by Arnol’d [18], Landau and Lifshitz [19], and Thomson [20], among many others. For motions of a spinning top, the 3-1-3 Euler angles are identified with precession, nutation, and spin, respectively.

Paralleling the developments for the 3-2-1 Euler angles, we represent a rotation tensor as the product of three rotations:

where is the Euler basis, and

Note that we are using the same notation for the three Euler angles as we did for the 3-2-1 set. However, it should be clear that and represent different angles of rotation for these two distinct sets of Euler angles. Finally, harking back to many of the celestial mechanics applications for the 3-1-3 set of Euler angles, we wish to mention that the line passing through the origin that is parallel to is often known as the line of nodes [20].

### The Euler basis

After expressing , , and in terms of and , it is not difficult to show that the Euler basis has the representations

### The dual Euler basis

By following the procedure that led to the dual Euler basis of the 3-2-1 Euler angles or by using the identities in (8), we find that the dual Euler basis for a 3-1-3 set has the representations

Consequently, we can also establish the result

for rad. Both the Euler and dual Euler bases vectors are depicted in Figure 7.

### Singularities

As with all sets of Euler angles, the 3-1-3 Euler angles are subject to restrictions. For a 3-1-3 set, the Euler basis fails to be a basis when rad. This singularity is easy to see from (30) and Figure 7(a): in this case. As a result, the second Euler angle is restricted to rad, while the other two angles are free to range from 0 to rad. Note the difference in range of for a 3-1-3 set compared to the 3-2-1 Euler angles.

### The angular velocity vector

With the help of the expressions for the Euler basis vectors from (30), we can obtain representations for the angular velocity vector featuring the fixed basis and the corotational basis :

As in the case of the 3-2-1 Euler angles, we can use the dual Euler basis vectors to relate the angular rates , , and to the corotational components of the angular velocity vector, . Using (26) and (31)_{1}, for the 3-1-3 Euler angles,

Provided a body’s initial orientation and data for , we can compute the body’s orientation over time by numerically integrating the system of differential equations in (34).

## Other sets of Euler angles

For the Euler basis, one has three choices for and, because , two choices for . Finally, there are two choices of . Consequently, there are choices of the vectors for the Euler basis, and hence 12 sets of Euler angles. The easiest method to determine which set of Euler angles is being used is to specify the angular velocity vector . Here, expressions are given for each of the 12 sets of Euler angles for a rotation tensor :

Notice how easy it is to describe which set of Euler angles is being used to parameterize a rotation by simply writing down the corresponding representation for the angular velocity vector.

### Bryan angles, Cardan angles, Tait angles, asymmetric sets, and symmetric sets

The 1-2-1, 1-3-1, 2-3-2, 2-1-2, 3-1-3, and 3-2-3 sets of Euler angles are known as the symmetric sets, whereas the other six sets are known as asymmetric sets. The latter sets are also known as the Cardan angles, Tait angles, or Bryan angles. Tait’s original discussion (of what we would call 1-2-3 Euler angles) can be seen in Section 12 of his 1868 paper [17]. In his seminal text [3] on aircraft stability that was published in 1911, Bryan introduced what we would refer to as a 2-3-1 set of Euler angles (see Figure 8). It is interesting to recall that the Wright brothers’ first successful flight was in 1903.

### Singularities

For all sets of Euler angles, a singularity is present for certain values of the second angle . At these values, the Euler basis fails to be a basis for because . To avoid these singularities, it is often necessary to use two different sets of Euler angles and switch from one set to the other as a singularity is approached.

### Body angles and space angles

In the works of Kane et al. [21], six sets of body-three orientation angles, six sets of body-two orientation angles, six sets of space-three orientation angles, and six sets of space-two orientation angles are discussed. Each of these 24 parameterizations of a rotation can be shown to be equivalent to one of the 12 sets of Euler angles discussed above. Specifically, a set of body-three 3-2-1 orientation angles parameterizing a rotation tensor is equivalent to a set of 3-2-1 Euler angles parameterizing :

Similarly, a set of body-two 3-2-3 orientation angles parameterizing is equivalent to a set of 3-2-3 Euler angles:

On the other hand, a set of space-three 3-2-1 orientation angles parameterizing is equivalent to a set of 1-2-3 Euler angles:

Similarly, a set of space-two 3-1-3 orientation angles parameterizing is equivalent to a set of 3-1-3 Euler angles:

Clearly, the primary distinction between a body-three 3-2-1 set (36) and a space-three 3-2-1 set (38) is in the order of the rotation axes.

With regard to the orientation angles and Euler angles, we mention here the work of Savransky and Kasdin [22], who demonstrated a way of extracting each of the six sets of body-three orientation angles, six sets of body-two orientation angles, six sets of space-three orientation angles, and six sets of space-two orientation angles from a matrix . Savransky’s MATLAB code provides a wonderful illustration of these results by allowing the user to animate the same rotation using any of the aforementioned sets of angles. Based on the correspondences discussed above, the animation of, say, a body-three 1-2-3 set of orientation angles or a space-three 3-2-1 set of orientation angles is the same as for a set of 1-2-3 Euler angles.

## Notes

- See [1] and Section IX of the Second Part of [2]: Lagrange’s , , and correspond to our , , and , respectively.

## Downloads

The MATLAB code used to generate the animation in Figure 2 is available here. This code animates any one of the 12 sequences of Euler angles by having the user provide the particular set and angular displacements of interest. A similar, but far more sophisticated, MATLAB code written by Dmitry Savransky can be downloaded from here.

## References

- Lagrange, J. L., Théorie de la libration de la Lune, et des autres phénomènes qui dépendent de la ﬁgure non sphèrique de cette Planète,
*Nouveaux Mémoires de l’Académie Royale des Sciences et des Belles-Lettres de Berlin***30**203–309 (1780-1782). Reprinted in pp. 5–122 of*Oeuvres de Lagrange, Vol. 5*, Gauthier-Villars, Paris (1870). Edited by J.-A. Serret. - Lagrange, J. L.,
*Mécanique Analytique*, in: J.-A. Serret, G. Darboux (eds.),*Joseph Louis de Lagrange Oeuvres, Vol. 11/12*, 4th ed., Georg Olms Verlag, Heidelberg (1973). - Bryan, G. H.,
*Stability in Aviation: An Introduction to Dynamical Stability as Applied to the Motion of Aeroplanes*, Macmillan, London (1911). - Cheng, H., and Gupta, K. C., An historical note on finite rotations,
*ASME Journal of Applied Mechanics***56**(1) 139–145 (1989). - Wilson, C., D’Alembert versus Euler on the precession of the equinoxes and the mechanics of rigid bodies,
*Archive for History of Exact Sciences***37**(3) 233–273 (1987). - Euler, L., Du mouvement d’un corps solides quelconque lorsqu’il tourne autour d’un axe mobile,
*Mémoires de l’Académie des Sciences der Berlin***16**176–227 (1760). The title translates to “On the motion of a solid body while it rotates about a moving axis.” Reprinted in pp. 313–356 of Euler, L.,*Leonhardi Euleri Opera Omnia, II, Vol. 8*, Orell Füssli, Zürich (1965). Edited by C. Blanc. - Euler, L., De motu corporum circa punctum ﬁxum mobilum, in: Euler, L.,
*Leonhardi Euleri Opera Postuma, Vol. 2*, pp. 43–62, Orell Füssli, Zürich (1862). Reprinted in pp. 413–441 of Euler, L.,*Leonhardi Euleri Opera Omnia, II, Vol. 9*, Orell Füssli, Zürich (1968). Edited by C. Blanc. - Lurie, A. I.,
*Analytical Mechanics*, Springer-Verlag, New York (2002). Translated from the Russian by A. Belyaev. - Kelvin, L., and Tait, P. G.,
*Treatise on Natural Philosophy*, reprinted ed., Cambridge University Press, Cambridge (1912). - Routh, E. J.,
*The Elementary Part of a Treatise on the Dynamics of a System of Rigid Bodies*, 7th ed., Macmillan, London (1905). - Shuster, M. D., A survey of attitude representations,
*Journal of the Astronautical Sciences***41**(4) 439–517 (1993). - O’Reilly, O. M., The dual Euler basis: Constraints, potentials, and Lagrange’s equations in rigid body dynamics,
*ASME Journal of Applied Mechanics***74**(2) 256–258 (2007). - O’Reilly, O. M.,
*Intermediate Dynamics for Engineers: A Unified Treatment of Newton-Euler and Lagrangian Mechanics*, Cambridge University Press, Cambridge (2008). - Simmonds, J. G.,
*A Brief on Tensor Analysis*, 2nd ed., Springer-Verlag, New York (1994). - Greenwood, D. T.,
*Principles of Dynamics*, 2nd ed., Prentice Hall, Englewood Cliffs, NJ (1988). - Rao, A. V.,
*Dynamics of Particles and Rigid Bodies: A Systematic Approach*, Cambridge University Press, Cambridge (2006). - Tait, P. G., On the rotation of a rigid body about a fixed point,
*Proceedings of the Royal Society of Edinburgh***25**(2) 261-303 (1869). Reprinted in pp. 86–127 of Tait, P. G.,*Scientific Papers, Vol. 1*, Cambridge University Press, Cambridge (1898). - Arnol’d, V. I.,
*Mathematical Methods of Classical Mechanics*, 2nd ed., Springer-Verlag, New York (1989). Translated from the Russian by K. Vogtmann and A. Weinstein. - Landau, L. D., and Lifshitz, E. M.,
*Mechanics, Vol. 1*, 3rd ed., Butterworth-Heinenann, Oxford and Boston (1976). Translated from the Russian by J. B. Sykes and J. S. Bell. - Thomson, W. T.,
*Introduction to Space Dynamics*, Dover Publications, New York (1986). Reprint of the John Wiley & Sons, Inc., New York, 1963 edition. - Kane, T. R., Likins, P. W., and Levinson, D. A.,
*Spacecraft Dynamics*, McGraw-Hill, New York (1983). - Savransky, D., and Kasdin, N. J., An efficient method for extracting Euler angles from direction cosine matrices, unpublished notes (2013).