Leonhard Euler defined a rotation by using an angle of rotation and an axis of rotation . This representation can be seen in Section 49 in one of Euler’s great papers on rigidbody dynamics from 1775 [1]. There, he provides expressions for the components of the tensor in terms of an angle of rotation and the direction cosines , , and of the axis of rotation. In our notation, . Using notation introduced over a century later by Gibbs [2], Euler’s representation for a tensor that produces this rotation can be written as
where is a unit vector and is a counterclockwise angle of rotation. We refer to (1) as Euler’s representation of a rotation tensor and use the function to prescribe the rotation tensor associated with an angle and axis of rotation. The three independent parameters of the tensor are the angle of rotation and the two independent components of the unit vector . The reason is known as the axis of rotation lies in the fact that it is invariant under the action of : . Euler’s representation is used to define other representations of a rotation tensor.
Contents
Euler’s theorem on rotation tensors and properorthogonal tensors
It is interesting to examine some of the features of Euler’s representation (1). To this end, we define a righthanded orthonormal basis with . Using this basis, we have
Consequently, we can write
Because , we find that
Using (3) and (4), it is simple to verify that is the identity tensor. Next, we examine the determinant of . With the help of a matrix representation of ,
In conclusion, and . Thus, is a properorthogonal tensor. The converse of this statement can be found in one of Euler’s theorems [3]. This celebrated theorem is known as Euler’s theorem on the motion of a rigid body:
Every properorthogonal tensor is a rotation tensor.
The most complete modern proof of this theorem that we have found is in Guo [4].
We now highlight several unusual properties of Euler’s representation (1). First, notice that
and thus there are two different representations for the same rotation tensor. Second, as is a properorthogonal tensor, its inverse and its transpose are identical, which leads to two simple representations for these tensors:
In words, the inverse can be calculated by either reversing the angle of rotation or inverting the axis of rotation. Finally, another peculiarity is that for any unit vector .
Composition of rotations
Suppose we have a rotation through an angle about an axis , and we follow this by a rotation through an angle about an axis . The tensor
represents the composite rotation, and it can be shown that is a properorthogonal tensor. Thus, is a rotation tensor, implying that the composition of two rotations is also a rotation. As tensor multiplication is noncommutative, the order in which we consider the composition is important. In general,
Exceptions arise when or one of the angles of rotation is 0. The fact that rotations do not commute plays a major role in the definition of Euler angle sequences.
Euler’s formula
We now examine the action of on a vector . As illustrated in Figure 1, the part of that is parallel to is unaltered by the transformation, whereas the part of that is perpendicular to is rotated counterclockwise about through an angle .
To see this result, it is convenient to decompose such that
where
With the assistance of this decomposition, we then compute that
Realizing that denotes a rotation of about , we obtain the desired conclusion. The final expression in (12) for the transformation is known as Euler’s formula.
Calculating the angle and axis of rotation from a given rotation tensor
Given a rotation tensor , it is a standard exercise to solve for the angle of rotation and the axis of rotation associated with this tensor. First, one is normally presented with the matrix components of with respect to a basis, say, :
If we compare (13) with Euler’s representation (1), we find that for ,
Expand these expressions for the components of and arrange them in a matrix to obtain
To determine the angle of rotation , we calculate the trace of :
Looking at the skewsymmetric part of , when and rad, we find that the components of the rotation axis are given by
To verify the computed , we could examine the eigenvectors of : the eigenvector that corresponds to the unit eigenvalue must be parallel to the axis of rotation . If , then and the axis of rotation is arbitrary: any unit vector can be the rotation axis. The situation is more difficult when rad. In this case, and, instead of using (17), the identity is used to calculate .
It is interesting to notice that if , where is another righthanded orthonormal basis, then has the same components with respect to both sets of basis vectors:
The proof of this result is based on the observation that has the same components with respect to the bases and . That is,
An example
Suppose the components of a rotation tensor are given by
We can compute the angle of rotation of this tensor by using (16):
That is, . The axis of rotation is then calculated from (17):
which yields
In writing this result, we are emphasizing that the components of in the bases and are identical. The rotation considered in this example is animated in Figure 2.
The associated angular velocity vectors
Given Euler’s representation (1), we assume that the rotation tensor is a function of time: . This implies that, in general, the angle and axis of rotation also vary with time: and . We now seek to establish representations for the angular velocity vector and a related vector .
As a preliminary result, we note that because is a unit vector. In addition, and . Thus, when we differentiate Euler’s representation (1), we find that
To proceed further, consider a righthanded orthonormal basis , and suppose the rotation axis at a given instant in time. Then, at the same instant in time,
Using the expressions in (25) along with some manipulations, we can show that the angular velocity tensor has the representation
Therefore, the associated angular velocity vector is
If is constant, then the angular velocity vector simplifies considerably. It is interesting to note that a constant does not necessarily imply a constant . However, it is usually possible to choose a fixed basis , where , so that a constant angular velocity implies a constant and a constant .
For completeness, we note that a different angular velocity can be defined as the axial vector of . It can be shown that and are related by
With the assistance of the identities and and the representation (27), it follows that
As discussed in [5, 6], this representation is convenient to use when computing Lagrange’s equations of motion for rigid bodies.
Downloads
The MATLAB code used to generate the animation in Figure 2 is available here. The user supplies a 3 3 properorthogonal matrix , and the script determines the corresponding angle and axis of rotation. If the provided matrix is not proper orthogonal, then the script returns an error message and aborts operation.
References

 Euler, L., Nova methodus motum corporum rigidorum determinandi, Novi Commentari Academiae Scientiarum Imperalis Petropolitanae 20 208–238 (1775). The title translates to “A new method for generating the motion of a rigid body.” Reprinted in pp. 99125 of Euler, L., Leonhardi Euleri Opera Omnia, II, Vol. 9, Orell Füssli, Zürich (1968). Edited by C. Blanc.

 Euler, L., Formulae generales pro translatione quacunque corporum rigidorum, Novi Commentari Academiae Scientiarum Imperalis Petropolitanae 20 189–207 (1775). The title translates to “General formulas for the translation of arbitrary rigid bodies.” Reprinted in pp. 85–98 of Euler, L., Leonhardi Euleri Opera Omnia, II, Vol. 9, Orell Füssli, Zürich (1968). Edited by C. Blanc.

 O’Reilly, O. M., Intermediate Dynamics for Engineers: A Unified Treatment of NewtonEuler and Lagrangian Mechanics, Cambridge University Press, Cambridge (2008).
 Faruk Senan, A. F., and O’Reilly, O. M., On the use of quaternions and EulerRodrigues symmetric parameters with moments and moment potential, International Journal of Engineering Science 47(4) 595609 (2009).