Other representations of a rotation

Here, we discuss several alternatives to the popular Euler angle parameterization of a rotation tensor. These representations include the Euler-Rodrigues and quaternion parameterizations, the Rodrigues representation, Cayley’s representation, and the exponential map.

The Euler-Rodrigues and quaternion parameterizations

The use of four Euler-Rodrigues symmetric (or Euler symmetric) parameters to parameterize a rotation dates to Euler [1] in 1771 and Rodrigues [2] in 1840 [3, 4, 5]. We denote these parameters by the pair \left(\beta_0, \, \bbeta\right), where \beta_0 is a scalar and \bbeta is a vector. In 1843, Hamilton [6] made his discovery of quaternion multiplication, and shortly afterwards Cayley [7] published results showing how quaternions could be used to parameterize a rotation. The historical development of these parameterizations features some of the greatest mathematicians of the 18th and 19th centuries. These figures include Euler, Gauss [8], and Cayley, among others. The topic also provides a fascinating introduction to this period. For further details, we refer the reader to the works [3, 4, 5, 9, 10].

The Euler-Rodrigues symmetric parameters \beta_0 and \bbeta satisfy the constraint

(1)   \begin{equation*} \beta^2_0 + \bbeta \cdot \bbeta = 1. \end{equation*}

Let the pair \left(q_0, \, {\bf q}\right), where q_0 is a scalar and {\bf q} is a vector, denote a unit quaternion, which has unit norm:

(2)   \begin{equation*} q^2_0 + {\bf q} \cdot {\bf q} = 1. \end{equation*}

Thus, a unit quaternion can be used to define a set of Euler-Rodrigues symmetric parameters, and vice versa: \beta_0 = q_0 and \bbeta = {\bf q}. In the four-dimensional space parameterized by the components of a quaternion, the set of all unit quaternions defines a unit sphere referred to as the 3-sphere S^3. The parameters \beta_0 = q_0 and \bbeta = {\bf q} can be used to define a rotation about an axis {\bf r} through an angle \phi using the identifications

(3)   \begin{eqnarray*} && \beta_0 = q_0 = \cos\left( \frac{\phi}{2} \right), \\ \\ \\ && \bbeta = {\bf q} = \sin\left( \frac{\phi}{2} \right){\bf r}. \end{eqnarray*}

The resulting representation of the rotation tensor {\bf R}, which transforms the fixed basis \left\{ {\bf E}_1, \, {\bf E}_2, \, {\bf E}_3\right\} into the corotational basis \left\{ {\bf e}_1, \, {\bf e}_2, \, {\bf e}_3\right\}, is given by

(4)   \begin{equation*} {\bf R} = {\bf R}\left(q_0, \, {\bf q}\right) = \left(q^2_0 - {\bf q}\cdot{\bf q}\right){\bf I} + 2{\bf q}\otimes{\bf q} - 2q_0\left(\bepsilon{\bf q}\right) . \end{equation*}

Examining the tensor components R_{ik} = {\bf e}_k\cdot{\bf E}_i, one finds that the components are quadratic functions of the four parameters q_0 and {\bf q}:

(5)   \begin{equation*} \mathsf{R} = \left[ \begin{array}{c c c} R_{11} & R_{12} & R_{13} \\ R_{21} & R_{22} & R_{23} \\ R_{31} & R_{32} & R_{33} \end{array} \right] = \left( 2 q^2_0 - 1 \right) \left[ \begin{array}{c c c} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right] + 2 \left[ \begin{array}{c c c} q^2_1 & q_1q_2 & q_1q_3 \\ q_1q_2 & q^2_2 & q_2q_3 \\ q_1q_3 & q_2q_3 & q^2_3 \end{array} \right] + 2q_0 \left[ \begin{array}{ccc} 0 & -q_3 & q_2 \\ q_3 & 0 & -q_1 \\ -q_2 & q_1 & 0 \end{array}\right] . \hspace{1in} \scalebox{0.001}{\textrm{\textcolor{white}{.}}} \end{equation*}

Consequently, representation (4) is free of trigonometric functions and singularities, making it attractive from a numerical implementation standpoint. In addition, the fact that unit quaternions lie on the 3-sphere and can be used to represent rotations is exploited in computer graphics to interpolate animations (see [11]). Examining (5) in closer detail,

(6)   \begin{equation*} R_{ik} = \left[ \begin{array}{cccc} q_0 & q_1 & q_2 & q_3 \end{array} \right] \mathsf{F}_{ik} \left[ \begin{array}{c} q_0 \\ q_1 \\ q_2 \\ q_3 \end{array}\right] , \end{equation*}

where each of the nine 4 \times 4 matrices \mathsf{F}_{ik} are symmetric and proper-orthogonal. For example,

(7)   \begin{eqnarray*} && \mathsf{F}_{11} = \left[\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & -1 \end{array}\right], \\ \\ \\ && \mathsf{F}_{31} = \left[\begin{array}{cccc} 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & 1 \\ -1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \end{array}\right]. \end{eqnarray*}

The matrices \mathsf{F}_{ik} play a role in constructing stiffness matrices [12] and in establishing identities for the derivatives of the components of the matrix \mathsf{R} [13].

In terms of q_0 and {\bf q}, the angular velocity vector \bomega_{\bf R} associated with {\bf R} has the well-known representation

(8)   \begin{equation*} {\bomega}_{\bf R} = 2 \left(q_0\dot{\bf q} - \dot{q}_0{\bf q} + {\bf q}\times\dot{\bf q} \right). \end{equation*}

It is interesting to note that the time derivative of {\bf q} and its corotational rate \corot{\bf q} are simply related [12]:

(9)   \begin{equation*} \dot{\bf q} = {\bf R}^T \corot{\bf q}. \end{equation*}

To verify this result, recall that {\bf q} = \sum_{k \, \, = \, 1}^3 q_i {\bf E}_i = \sum_{i \, \, = \, 1}^3 q_i {\bf e}_i because {\bf R}{\bf q} = {\bf q}. Computing \corot{\bf q} = \sum_{i \, \, = \, 1}^3 \dot{q}_i {\bf e}_i and then using the identity {\bf R}^T{\bf e}_i = {\bf E}_i confirms (9). With the help of (9), some lengthy but straightforward manipulations of (8) reveal that \bomega_{\bf R} has the equivalent representation

(10)   \begin{equation*} {\bomega}_{\bf R} = 2 \left(q_0 \corot{\bf q} - \, \dot{q}_0{\bf q} - {\bf q} \, \times \corot{\bf q} \right). \end{equation*}

For completeness, we note that the angular velocity \bomega_{0_{\bf R}}, defined as the axial vector of {\bf R}^T\dot{\bf R}, can be obtained from \bomega_{\bf R} according to

(11)   \begin{equation*} \bomega_{0_{\bf R}} = {\bf R}^T \bomega_{\bf R}. \end{equation*}

Using (10) and the identities {\bf R}{\bf q} = {\bf q}, (9), and {\bf R}^T\left({\bf a}\times{\bf b}\right) = \left({\bf R}^T{\bf a}\times{\bf R}^T{\bf b}\right) for any vectors {\bf a} and {\bf b}, it follows that \bomega_{0_{\bf R}} has the representation

(12)   \begin{equation*} {\bomega}_{0_{\bf R}} = 2 \left(q_0\dot{\bf q} - \dot{q}_0{\bf q} - {\bf q}\times\dot{\bf q} \right). \end{equation*}

As discussed in [14, 15], this representation is convenient to use when computing Lagrange’s equations of motion for rigid bodies. Lastly, taking the {\bf e}_i components of representation (10) for \bomega_{\bf R} leads to

(13)   \begin{equation*} \left[ \begin{array}{c} \bomega_{\bf R}\cdot{\bf e}_1 \\ \bomega_{\bf R}\cdot{\bf e}_2 \\ \bomega_{\bf R}\cdot{\bf e}_3 \end{array} \right] = \mathsf{C} \left[ \begin{array}{c} \dot{q}_0 \\ \dot{q}_1 \\ \dot{q}_2 \\ \dot{q}_3 \end{array} \right], \end{equation*}

where

(14)   \begin{equation*} \mathsf{C} = 2 \left[ \begin{array}{c c c c} -q_1 & q_0 & q_3 & -q_2 \\ -q_2 & -q_3 & q_0 & q_1 \\ -q_3 & q_2 & -q_1 & q_0 \end{array} \right]. \end{equation*}

The 3 \times 4 matrix \mathsf{C} has the generalized inverse

(15)   \begin{equation*} \mathsf{C}^{-} = \frac{1}{4}\mathsf{C}^T . \end{equation*}

That is, \mathsf{C}^{-} \mathsf{C} = \mathsf{I}, where \mathsf{I} is the 4 \times 4 identity matrix. Thus, using \mathsf{C}^{-}, (13) can be rearranged to establish the following differential equations for the parameters q_0 and {\bf q} in terms of \omega_i = \bomega_{\bf R}\cdot{\bf e}_i:

(16)   \begin{equation*} \left[ \begin{array}{c} \dot{q}_0 \\ \dot{q}_1 \\ \dot{q}_2 \\ \dot{q}_3 \end{array} \right] = \frac{1}{2} \left[ \begin{array}{c c c} - q_1 & -q_2 & -q_3 \\ q_0 & - q_3 & q_2 \\ q_3 & q_0 & - q_1 \\ -q_2 & q_1 & q_0 \end{array} \right] \left[ \begin{array}{c} \omega_1 \\ \omega_2 \\ \omega_3 \end{array} \right]. \end{equation*}

Given measurements for \omega_i(t) and the initial orientation q_0\left(t_0\right) and {\bf q}\left(t_0\right) of a body, these differential equations can be integrated to determine q_0\left(t\right) and {\bf q}\left(t\right), and hence the body’s orientation {\bf R}(t).

Rodrigues’ representation

The Rodrigues representation of a rotation about an axis {\bf r} through a counterclockwise angle \phi features the vector

(17)   \begin{equation*} \blambda = \tan\left(\frac{\phi}{2} \right){\bf r}. \end{equation*}

This vector, which dates to 1840, is sometimes called the Gibbs or Rodrigues vector [2, 5, 16]. Clearly, the vector \blambda is not a unit vector. Indeed, \blambda = {\bf 0} when \phi = 0, and \blambda is undefined when \phi = \pi rad. Consequently, if \phi varies through \pi rad, then we cannot use the forthcoming Rodrigues representation. With the assistance of the identities

(18)   \begin{eqnarray*} && \sin({\phi}) = \frac{2 \tan(\phi/2)}{1 + \tan^2(\phi/2)}, \\ \\ \\ && \cos({\phi}) = \frac{1 - \tan^2(\phi/2)}{1 + \tan^2(\phi/2)}, \end{eqnarray*}

one can verify that

(19)   \begin{eqnarray*} && \sin(\phi) = \frac{ 2\blambda\cdot{\bf r}}{1 + \blambda\cdot\blambda} , \\ \\ \\ && \cos(\phi) = \frac{ 1 - \blambda\cdot\blambda}{1 + \blambda\cdot\blambda} . \end{eqnarray*}

Recall that for Euler’s representation of a rotation, the rotation tensor and associated angular velocity vector are given by, respectively,

(20)   \begin{eqnarray*} && {\bf R} = {\bf L}(\phi, \, {\bf r}) = \cos(\phi)({\bf I} - {\bf r}\otimes{\bf r}) - \sin(\phi)( \bepsilon {\bf r}) + {\bf r}\otimes{\bf r}, \\ \\ && {\bomega}_{\bf R} = \dot{\phi}{\bf r} + \sin(\phi)\dot{\bf r} + (1 - \cos(\phi)){\bf r}\times\dot{\bf r}. \end{eqnarray*}

Substituting for {\bf r} and \phi in terms of \blambda, we obtain Rodrigues’ representation for {\bf R} and {\bomega}_{\bf R}:

(21)   \begin{eqnarray*} && {\bf R} = {\bf R}_\textrm{Rodrigues}(\blambda) = \frac{1}{1 + \blambda\cdot\blambda} \left( (1 - \blambda\cdot\blambda){\bf I} + 2\blambda\otimes\blambda - 2(\bepsilon\blambda)\right), \hspace{1in} \scalebox{0.001}{\textrm{\textcolor{white}{.}}} \\ \\[0.15in] && {\bomega}_{\bf R} = \frac{2}{1 + \blambda\cdot\blambda} \left(\dot{\blambda} - \dot{\blambda}\times\blambda \right). \end{eqnarray*}

The components of {\bf R} with respect to an orthonormal basis, say, \left\{ {\bf p}_1, \, {\bf p}_2, \, {\bf p}_3\right\}, are readily obtained by substituting \blambda = \sum_{i \, \, = \, 1}^3 \lambda_i{\bf p}_i. The simplicity of the Rodrigues representation of {\bomega}_{\bf R} is remarkable.

Cayley’s representation

In 1846, Cayley [17] introduced what is now known as the Cayley transform of a second-order skew-symmetric tensor {\bf A}:

(22)   \begin{equation*} \textrm{Cay}\left({\bf A}\right) = \left({\bf I} - {\bf A}\right)^{-1}\left({\bf I} + {\bf A}\right). \end{equation*}

He showed that the Cayley transform of {\bf A} = - {\bf A}^T is a proper-orthogonal tensor, and hence a rotation tensor1. The transform is often invertible. If {\bf C} = \textrm{Cay}\left({\bf A} = - {\bf A}^T\right), then

(23)   \begin{equation*} {\bf A} = \left({\bf C} - {\bf I}\right)\left({\bf I} + {\bf C}\right)^{-1} , \end{equation*}

provided {\bf I} + {\bf C} is invertible. It is interesting to note that

(24)   \begin{equation*} \textrm{Cay}\left(- {\bf A}\right) = \left(\textrm{Cay}\left({\bf A}\right)\right)^T . \end{equation*}

Thus, the inverse of a rotation is obtained by setting {\bf A} \to - {\bf A}. Given a skew-symmetric tensor \bLambda, we denote the representation defined by the Cayley transform of \bLambda as the Cayley representation of a rotation:

(25)   \begin{equation*} {\bf R} = {\bf R}_\textrm{Cayley}\left(\bLambda\right) = \left({\bf I} - \bLambda\right)^{-1}\left({\bf I} + \bLambda\right). \end{equation*}

The angular velocity tensor associated with the Cayley representation is particularly elegant:

(26)   \begin{equation*} \bOmega_{\bf R} = 2 \left({\bf I} - \bLambda\right)^{-1}\dot\bLambda\left({\bf I} - \bLambda\right)^{-1}. \end{equation*}

A remaining issue is a physical interpretation of \bLambda. As a skew-symmetric tensor has an axial vector, it is natural to suspect that \bLambda should be related to the axis {\bf r} and angle \phi of a rotation. On pages 121-122 of [17], Cayley showed that this was indeed the case. In fact, he pointed out that the axial vector of \bLambda is none other than the Rodrigues vector [2]:

(27)   \begin{equation*} \mbox{ax}\left(\bLambda\right) = \blambda = \tan\left(\frac{\phi}{2} \right){\bf r}. \end{equation*}

Therefore,

(28)   \begin{equation*} {\bf R}_\textrm{Cayley}\left(\mbox{skewt}\left(\blambda\right)\right) = {\bf R}_\textrm{Rodrigues}(\blambda) . \end{equation*}

Just as Rodrigues’ representation cannot accommodate a rotation by 180^\circ, neither can the Cayley representation. For modern applications of Cayley’s results to elasticity, see [18] and references therein. A recent application of Cayley’s representation has been found by Mladenova and Mladenov [19], who used the representation to determine how any rotation can be decomposed into the product of three rotations about three prescribed axes.

The exponential map

According to Pfister [20], the relationship between the exponential map of a skew-symmetric tensor and a rotation dates to Gibbs [21, Article 177] in the 1880s. This representation features in many applications, including robotics [22], computer graphics [23], and simulations of the motions of elastic rods [24]. As emphasized in [24], the exponential map is also useful when considering infinitesimal rotations. To start the discussion, it is convenient to define a rotation vector \phi {\bf r}, where {\bf r} is the axis of the desired rotation and \phi is the desired counterclockwise angle of rotation. We then define a skew-symmetric tensor

(29)   \begin{equation*} \bPhi = \phi \, \mbox{skewt}\left({\bf r}\right) \end{equation*}

that has the following properties:

(30)   \begin{eqnarray*} && \bPhi^{2k} = \left(-1\right)^{k}\phi^{2k}\left( {\bf I} - {\bf r}\otimes{\bf r}\right) \quad (k = 1, \, 2, \, \ldots, \, \infty) , \\ \\ && \bPhi^{2k+1} = \left(-1\right)^{k} \phi^{2k} \bPhi . \end{eqnarray*}

Now, given a tensor {\bf A}, the exponential map is defined as [20, 25]

(31)   \begin{equation*} \textrm{exp}\left({\bf A}\right) = \sum_{k \, \, = \, 0}^\infty \frac{1}{k!}{\bf A}^{k}. \end{equation*}

Consequently,

(32)   \begin{equation*} \textrm{exp}\left(\bPhi\right) = {\bf I} + \bPhi + \frac{1}{2}{ \bPhi}^{2} + \frac{1}{6}{\bPhi}^{3} + \frac{1}{24}{ \bPhi}^{4} + \cdots \end{equation*}

Repeatedly invoking the identities (30) and identifying the power series of \phi with \sin\left(\phi\right) and \cos\left(\phi\right), one arrives at a series of results that are equivalent to Euler’s representation of a rotation tensor:

(33)   \begin{eqnarray*} \textrm{exp}\left(\bPhi\right) \!\!\!\!\! &=& \!\!\!\!\! {\bf I} + \frac{\sin\left(\phi\right)}{\phi} \bPhi + \frac{1 - \cos\left(\phi\right)}{\phi^2} \bPhi^2 \\[0.10in] &=& \!\!\!\!\! {\bf I} - \left(1 - \cos\left(\phi\right)\right)\left({\bf I} - {\bf r}\otimes{\bf r}\right) + \sin\left(\phi\right) \mbox{skewt}\left({\bf r}\right) \\[0.075in] &=& \!\!\!\!\! \cos\left(\phi\right)\left({\bf I} - {\bf r}\otimes{\bf r}\right) + \sin\left(\phi\right) \mbox{skewt}\left({\bf r}\right) + {\bf r}\otimes{\bf r}. \end{eqnarray*}

Consequently, the exponential mapping of a skew-symmetric tensor is a proper-orthogonal tensor, and thus a rotation tensor:

(34)   \begin{equation*} {\bf L}\left(\phi, \, {\bf r}\right) = \textrm{exp}\left(\bPhi\right) . \end{equation*}

As discussed in [20], the inverse of this map can be used to identify the logarithm of a rotation tensor with a skew-symmetric tensor.

Notes

  1. To explore why the Cayley transform can lead to a rotation tensor, the following identities are useful:

    (35)   \begin{eqnarray*} && \mbox{det}\left( {\bf I} - {\bf A} \right) = \mbox{det}\left( {\bf I} + {\bf A} \right) , \\ \\ && \left( {\bf I} - {\bf A} \right)^{-1}\left( {\bf I} + {\bf A} \right) = \left( {\bf I} + {\bf A} \right)\left( {\bf I} - {\bf A} \right)^{-1} \end{eqnarray*}

    for any second-order skew-symmetric tensor {\bf A}. The easiest way to verify these identities is to substitute numerical values for {\bf I} and {\bf A} and then calculate the quantities involved. Then, with the help of (35), a direct computation shows that

    (36)   \begin{equation*} \mbox{det}\left(\textrm{Cay}\left({\bf A}\right)\right) = \frac{\mbox{det}\left( {\bf I} + {\bf A} \right)}{\mbox{det}\left( {\bf I} - {\bf A} \right)} = 1 \end{equation*}

    and

    (37)   \begin{eqnarray*} \textrm{Cay}\left({\bf A}\right)\left(\textrm{Cay}\left({\bf A}\right)\right)^T \!\!\!\!\! &=& \!\!\!\!\! \left({\bf I} - {\bf A}\right)^{-1}\left({\bf I} + {\bf A}\right) \left({\bf I} - {\bf A}\right)\left({\bf I} + {\bf A}\right)^{-1} \hspace{1in} \scalebox{0.001}{\textrm{\textcolor{white}{.}}} \\[0.075in] &=& \!\!\!\!\! \left({\bf I} + {\bf A}\right)\left({\bf I} - {\bf A}\right)^{-1} \left({\bf I} - {\bf A}\right)\left({\bf I} + {\bf A}\right)^{-1} \\[0.075in] &=& \!\!\!\!\! {\bf I}. \end{eqnarray*}

    Therefore, the Cayley transform of a skew-symmetric tensor is proper orthogonal and thus can be identified with a rotation tensor.

References

  1. Euler, L., Problema algebraicum ob affectiones prorsus singulares memorabile, Novi Commentari Academiae Scientiarum Imperalis Petropolitanae 15 75-106 (1771). The title translates to “An algebraic problem that is notable for some quite extraordinary relations.”
  2. Rodrigues, O., Des lois géométriques qui régissent les déplacemens d’un système solide dans l’espace, et de la variation des coordonnées provenant de ses déplacements consideérés indépendamment des causes qui peuvent les produire, Journal des Mathématique Pures et Appliquées 5 380–440 (1840).
  3. Altmann, S. L., Rotations, Quaternions, and Double Groups, Oxford University Press, New York (1986). Reprinted by Dover Publications in 2005.
  4. Altmann, S. L., Hamilton, Rodrigues, and the quaternion scandal, Mathematics Magazine 62(5) 291–308 (1989).
  5. Shuster, M. D., A survey of attitude representations, Journal of the Astronautical Sciences 41(4) 439–517 (1993).
  6. Hamilton, W. R., On a new species of imaginary quantities connected with a theory of quaternions, Proceedings of the Royal Irish Academy 2 424-434 (1844).
  7. Cayley, A., On certain results relating to quaternions, Philosophical Magazine 26 141–145 (1845). Reprinted in pp. 123–126 of The Collected Mathematical Papers of Arthur Cayley, Sc.D., F.R.S., Vol. 1, Cambridge University Press, Cambridge (1889).
  8. Gauss, C. F., Mutationen des raumes, in: K. Gesellschaft der Wissenschaften zu Göttingen (ed.), Carl Friedrich Gauss Werke, Vol. 8, pp. 357–362, B. G. Teubner, Leipzig (1900).
  9. Gray, J. J., Olinde Rodrigues’ paper of 1840 on transformation groups, Archive for History of Exact Sciences 21(4) 375–385 (1980).
  10. Pujol, J., Hamilton, Rodrigues, Gauss, quaternions, and rotations: A historical reassessment, Communications in Mathematical Analysis 13(2) 1-14 (2012).
  11. Shoemake, K., Animating rotation with quaternion curves, ACM SIGGRAPH Computer Graphics 19(3) 245-254 (1985).
  12. Faruk Senan, A. F., and O’Reilly, O. M., On the use of quaternions and Euler-Rodrigues symmetric parameters with moments and moment potential, International Journal of Engineering Science 47(4) 595-609 (2009).
  13. Nikravesh, P. E., Wehage, R. A., and Kwon, O. K., Euler parameters in computational kinematics and dynamics. Part 1, ASME Journal of Mechanisms, Transmissions, and Automation in Design 107(3) 358-365 (1985).
  14. O’Reilly, O. M., Intermediate Dynamics for Engineers: A Unified Treatment of Newton-Euler and Lagrangian Mechanics, Cambridge University Press, Cambridge (2008).
  15. O’Reilly, O. M., and Varadi, P. C., Hoberman’s sphere, Euler parameters and Lagrange’s equations, Journal of Elasticity 56(2) 171–180 (1999).
  16. Wilson, E. B., Vector Analysis: A Text-Book for the Use of Students of Mathematics and Physics. Founded upon the Lectures of J. Willard Gibbs, 7th printing, Yale University Press, New Haven, CT (1931).
  17. Cayley, A., Sur quelques propriétés des déterminants gauches, Journal für die reine und angewandte Mathematik 32 119-123 (1846). Reprinted in pp. 332-336 of The Collected Mathematical Papers of Arthur Cayley, Sc.D., F.R.S., Vol. 1, Cambridge University Press, Cambridge (1889).
  18. Norris, A. N., Euler-Rodrigues and Cayley formulae for rotation of elasticity tensors, Mathematics and Mechanics of Solids 13(6) 465-498 (2008).
  19. Mladenova, C. D., and Mladenov, I. M., Vector decomposition of finite rotations, Reports on Mathematical Physics 68(1) 107-117 (2011).
  20. Pfister, F., Bernoulli numbers and rotational kinematics, ASME Journal of Applied Mechanics 65(3) 758-763 (1998).
  21. Gibbs, J. W., Elements of Vector Analysis, privately printed, New Haven, CT, pp. 1-36 (1881) and pp. 37-83 (1884). Reprinted in The Collected Works of J. Willard Gibbs, Vol. 2, Part 2, Yale University Press, New Haven (1948).
  22. Murray, R. M., Li, Z., and Sastry, S. S., A Mathematical Introduction to Robotic Manipulation, CRC Press, Boca Raton (1994).
  23. Grassia, F. S., Practical parameterization of rotations using the exponential map, Journal of Graphics Tools 3(3) 29-48 (1998).
  24. Simo, J. C., and Vu-Quoc, L., A three-dimensional finite-strain rod model. Part II: Computational aspects, Computer Methods in Applied Mechanics and Engineering 58(1) 79-116 (1986).
  25. Stuelpnagel, J., On the parameterization of the three-dimensional rotation group, SIAM Review 6(4) 422-430 (1964).