Mathematics of Finite Rotations
Mathematics of Finite Rotations
Mathematics of Finite Rotations
Mathematics of
Finite Rotations
R–1
Appendix R: MATHEMATICS OF FINITE ROTATIONS R–2
This Appendix provides a compendium of formulas and results the mathematical treatment of finite
rotations in 3D space. Emphasis is placed on matrix representations of use in the corotational
formulation of finite elements.
The general displacement of a rigid body with one point fixed is a rotation
about some axis which passes through that point.
Consequently 3D rotations have both magnitude: the angle of rotation, and direction: the axis of
rotation. These are nominally the same two attributes that categorize vectors. Not coincidentally,
rotations are often depicted as vectors but with a double arrow.
Finite spatial rotations, however, do not obey the laws of vector calculus, although infinitesimal
rotations do. Most striking is failure of commutativity: switching two successive rotations does
not yield the same answer unless the axis of rotation is kept fixed. Within the framework of matrix
algebra, finite rotations can be represented as either 3 × 3 real orthogonal matrices R called rotators
or as real 3 × 3 skew-symmetric matrices Ω called spinors.
The spinor representation is important in physical modeling and theoretical derivations, because
the matrix entries are closely related to the two foregoing attributes. The rotator representation is
important in numerical computations, as well as being naturally related to polar factorizations of a
transformation matrix. The two representations are related by various transformations illustrated
in Figure R.1. Of these the Cayley transform (1857) is the oldest although not the most important
one.
Spin(ω) Rot(Ω)
Axial-vector or
Spinor Rotator
pseudo-vector
ω Ω R
axial(Ω) Skew(R)
Now a 3 × 3 skew-symmetric matrix is defined by three scalar parameters. These three numbers
can be arranged as components of an axial vector ω. Although ω looks like a vector,it does
not obey certain properties of classical vectors such as the composition rule. Therefore the term
pseudo-vector is sometimes used for ω.
R–2
R–3 §R.2 SPINORS
r Q(x,θ)
θ 2r cos θ/2
P(x)
θ/2 2r sin θ/2
x Q(x,θ) C
x3
xθ θ/2
r
O P(x)
x1 x2
This overview is intended to stress that finite 3D rotations can appear in various mathematical
representations, as depicted in Figure R.1. The exposition that follows expands on this topic, and
studies the connector links shown in Figure R.1.
§R.2 SPINORS
Figure R.2(a) depicts a 3D rotation in space (x1 , x2 , x3 ) by an angle θ about an axis of rotation ω.
For convenience the origin of coordinates O is placed on ω. The rotation axis is defined by three
directors: ω1 , ω2 , ω3 , at least one of which must be nonzero. These numbers may be scaled by an
nonzero factor γ through which the vector may be normalized in various ways as discussed later.
The positive sense of θ obeys the RHS screw rule.
The rotation takes an arbitrary point P(x), located by its position vector x, into Q(x, θ), located by
its position vector xθ . The center of rotation C is defined by projecting P on the rotation axis. The
plane of rotation CPQ is normal to that axis at C. The radius of rotation is vector r of magnitude r
from C to P. As illustrated in Figure R.2(b) the distance between P and Q is 2r sin 12 θ.
=ω
θ × v ⇒ θ = Ωv. (R.2)
R–3
Appendix R: MATHEMATICS OF FINITE ROTATIONS R–4
The converse operation to (R.1) extracts the 3-vector ω, called or pseudovector, or axial vector
from a given spin tensor:
ω1
ω = axial (Ω) = ω2 (R.3)
ω3
The length of this vector is denoted by ω:
ω = |ω| = + ω12 + ω22 + ω32 . (R.4)
As general notational rule, we will use corresponding upper and lower case symbols for the spin
matrix and its axial vector, respectively. For example, N and n, Θ and θ, B and b.
§R.2.2 Normalizations
As noted, ω and Ω can be multiplied by a nonzero scalar factor γ to obtain various normalizations.
In general γ has the form g(θ)/ω, where g(.) is a function of the rotation angle θ. The purpose of
normalizations is to simplify the connections Rot and Skew to the rotator, to avoid singularities
for special angles, and to connect the components ω1 , ω2 and ω3 closely to the rotation amplitude.
This section review some normalizations that have practical or historical importance.
Taking γ = 1/ω we obtain the unit axial-vector and unit spinor, which are denoted by n and N,
respectively:
n1 ω1 /ω 0 −n 3 n 2
ω Ω
n = n 2 = ω2 /ω = , N = Spin (n) = = n3 0 −n 1 . (R.5)
ω ω
n3 ω3 /ω −n 2 n 3 0
Taking γ = tan 12 θ/ω is equivalent to multiplying the n i by tan 12 θ. We thus obtain the Rodrigues
parameters bi = n i tan 12 θ, i = 1, 2, 3. These are collected in the Rodrigues axial-vector b with
associated spinor B:
This representation permits an elegant formulation of the rotator via the Cayley transform studied
later. However it collapses as θ nears 180◦ since tan 12 θ → ±∞ as θ ↔ 180◦ . One way to
circumvent the singularity is through the use of the four Euler-Rodrigues parameters, also called
quaternion coefficients:
under the constraint p02 + p12 + p22 + p32 = 1. This set is often used in multibody dynamics, robotics
and control. It comes at the cost of carrying along an extra parameter and an additional constraint.
A related singularity-free normalization introduced by DeVeubeke [ ] takes γ = sin 12 θ/ω and is
equivalent to using only the last three parameters of (R.7):
R–4
R–5 §R.2 SPINORS
Finally, an important normalization that preserves three parameters while avoiding singularities is
that associated with the exponential map. Introduce a rotation vector θ defined as
where I denotes the identity matrix of order 3. It follows that the eigenvalues of Ω are λ1 = 0,
λ2,3 = ±ωi. Consequently Ω is singular with rank 2 if ω = 0 whereas if ω = 0, Ω is null.
The eigenvalues are collected in the diagonal matrix Λ = diag(0, ωi, −ωi) and the corresponding
right eigenvectors vi in columns of V = [ v1 v2 v3 ], so that ΩV = VΛ. A cyclic-symmetric
expression of V, obtained through Mathematica, is
ω1 ω1 s − ω2 + i(ω2 − ω3 )ω ω1 s − ω2 − i(ω2 − ω3 )ω
V = ω2 ω2 s − ω2 + i(ω3 − ω1 )ω ω2 s − ω2 − i(ω3 − ω1 )ω (R.11)
ω3 ω3 s − ω2 + i(ω1 − ω2 )ω ω3 s − ω2 − i(ω1 − ω2 )ω
in which f (.) is the scalar version of F(.). One important application of (R.13) is the matrix
exponential: f (.) → e(.) .
R–5
Appendix R: MATHEMATICS OF FINITE ROTATIONS R–6
This is a symmetric matrix of trace −2ω2 whose eigenvalues are 0, −ω2 and −ω2 .
By the Cayley-Hamilton theorem, Ω satisfies its own characteristic equation (R.10):
Hence if n = 3, 5, . . . the odd powers Ωn are skew-symmetric with distinct purely imaginary eigen-
values, whereas if n = 4, 6 . . ., the even powers Ωn are symmetric with repeated real eigenvalues.
The eigenvalues of I + γ Ω and I − γ Ω, are (1, 1 ± γ ωi) and (−1, 1 ± γ ωi), respectively. Hence
those two matrices are guaranteed to be nonsingular. This has implications in the Cayley transform.
EXAMPLE R.1
√
Consider the pseudo-vector ω = [ 6 2 3 ]T , for which ω = 62 + 22 + 32 = 7. The associated spin matrix
and its square are
0 −3 2 13 −12 −18
Ω= 3 0 −6 , Ω2 = − −12 45 −6 . (R.16)
−2 6 0 −18 −6 40
The eigenvalues of Ω are (0, 7i, −7i) while those of Ω2 are (0, −7, −7).
proofs of which may be found for example in Hammermesh [ , p.325] or Goldstein [ , p. ]. The
problem considered in this section is the construction of R from the rotation data. The inverse
problem: given R, extract ω and θ, is treated in the next section. Now if R is assumed to be analytic
in Ω it must have the Taylor expansion R = I + c1 Ω + c2 Ω2 + c3 Ω3 + . . ., where all ci must vanish
if θ = 0. But in view of the Cayley-Hamilton theorem (R.15), all powers of order 3 or higher may
be eliminated, and so R must be a linear function of I, Ω and Ω2 . For convenience this will be
written
R = I + α(γ Ω) + β(γ Ω)2 , (R.19)
R–6
R–7 §R.3 FROM SPINORS TO ROTATORS
where γ is the scaling factor discussed above, whereas α and β are scalar functions of θ and of
invariants of Ω or ω. Since the only invariant of the latter is ω we can anticipate that α = α(θ, ω)
and β = β(θ, ω), both vanishing if θ = 0. Two techniques to determine those coefficients for
γ = 1 are discussed next. Table R.1 summarizes the most important representations of the rotator
in terms of the scaled Ω.
1 − cos θ 2 sin2 21 θ
3 − 2βω = 1 + 2 cos θ,
2
→ β= = . (R.20)
ω2 ω2
The orthogonality condition I = RT R = (I − αΩ + βΩ2 )(I + αΩ + βΩ2 ) = I + (2β − α 2 )Ω2 +
β 2 Ω4 = I + (2β − α 2 − β 2 ω2 )Ω2 leads to
sin θ
2β − α 2 − β 2 ω2 = 0 → α= (R.21)
ω
Hence
sin θ 1 − cos θ 2 sin θ 2 sin2 21 θ 2
R=I+ Ω+ Ω =I+ Ω+ Ω. (R.22)
ω ω2 ω ω2
From a computational viewpoint the sine-squared form should be preferred for small angles to avoid
the 1 − cos θ cancellation. Replacing the components of Ω and Ω2 gives the explicit rotator form
ω12 + (ω22 + ω32 ) cos θ 2ω1 ω2 sin2 21 θ − ω3 ω sin θ 2ω1 ω3 sin2 12 θ + ω2 ω sin θ
1
R = 2 2ω1 ω2 sin2 12 θ + ω3 ω sin θ ω22 + (ω32 + ω12 ) cos θ 2ω2 ω3 sin2 12 θ − ω1 ω sin θ .
ω
2ω1 ω3 sin2 12 θ − ω2 ω sin θ 2ω2 ω3 sin2 21 θ + ω1 ω sin θ ω32 + (ω12 + ω22 ) cos θ
(R.23)
This is invariant to scaling of the ωi , and consequently (R.23) is unique.
R–7
Appendix R: MATHEMATICS OF FINITE ROTATIONS R–8
This form was derived by Rodrigues [ ] and used by Cayley [ ] to study rigid body motions. It has
the advantage of being obtainable through an algebraic matrix expression: the Cayley transform,
presented below. It becomes indeterminate, however, as θ → 180◦ , since all terms approach 0/0.
This indeterminacy is avoided by using the four Euler-Rodrigues parameters, which are also the
quaternion coefficients, defined in (R.6). In terms of these the rotator becomes
2
p0 + p12 − 12 p1 p2 − p0 p3 p1 p3 + p0 p2
R = 2 p1 p2 + p0 p3 p02 + p22 − 12 p2 p3 − p0 p1 (R.27)
p1 p3 − p0 p2 p2 p3 + p0 p1 ) p0 + p3 − 2
2 2 1
This rotator cannot become singular, but this is paid at the cost of carrying along an extra parameter
plus the constraint p02 + p12 + p22 + p32 = 1.
The normalization of DeVeubeke (R.8): pi = (ωi /ω) sin 12 θ, leads to α = 2 cos 12 θ and β = 2.
Hence R = I + 2 cos 12 θ P + 2P2 .
Then Q is a proper orthogonal matrix, that is QT Q = I and det Q = +1. This is stated in
several textbooks, e.g., Gantmacher [ ] but none gives a proof. Here is the proof of orthogonality:
R–8
R–9 §R.3 FROM SPINORS TO ROTATORS
produces skew-symmetric matrices from a source orthogonal matrix Q. Equations (R.28) and
(R.29) are called the Cayley transforms after Cayley [ ]. These formulas are ocassionally useful in
the construction of approximations for moderate rotations.
An interesting question is: given Ω and θ, can (R.28) be used to produce the exact R? The answer is:
yes, if Ω is scaled by a factor γ = γ (θ, ω). We thus investigate whether R = (I + γ Ω)(I − γ Ω)−1
exactly for some γ . Premultiplying both sides by I − γ Ω and representing R by (R.19) we require
Identifying we get the conditions β = αγ and α − γ + γβω2 = γ . The first one gives γ = β/α,
which inserted in the second requires α 2 − 2β + βω2 = 0. Fortunately this is identically satisfied by
(R.21). Thus the only solution is γ = β/α = (1 − cos θ)/(ω sin θ) = tan 12 θ/ω. This is precisely
the Rodrigues normalization (R.7). Consequently
−1
tan 12 θ
R = (I + B)(I − B) , B= Ω. (R.31)
ω
This is a final representation of R that has both theoretical and practical importance. Given a
skew-symmetric real matrix S, the matrix exponential
Q = eS = Exp(S) (R.32)
γ2 2 γ3 3
Exp(γ Ω) = I + γ Ω + Ω + Ω + ... (R.33)
2! 3!
R–9
Appendix R: MATHEMATICS OF FINITE ROTATIONS R–10
and use the Cayley-Hamilton theorem (R.15) to eliminate all powers of order 3 or higher in Ω.
Identify the coefficient series of Ω and Ω2 with those of the sine and cosine, to obtain
sin(γ ω) 1 − cos(γ ω) 2
Exp(γ Ω) = I + Ω+ Ω. (R.34)
ω ω2
Comparing to (R.22) requires γ ω = θ, or γ = θ/ω. Introducing θi = θωi /ω and Θ = Spin (θ) =
θN = (θ/ω)Ω as in (R.9), one gets
EXAMPLE R.2
Take again ω = [ 3 2 6 ]T so ω = 7. Consider the 3 angles θ = 2◦ , θ = 90◦ and θ = 180◦ . The rotators
calculated from (R.22) are, to 8 figures:
R= (R.36)
cos θ = 1
2 (trace(R) − 1) (R.37)
Recovery of n is also straightforward using the particular form R = I + sin θ N + (1 − cos θ )N2
since R − RT = 2 sin θ N, whence
R − RT
N= , n = axial (N) (R.38)
2 sin θ
One issue is the sign of θ since (R.37) is satisfied by ±θ. If the sign is reversed, so is n. Thus in
principle it is possible to select θ ≥ 0 if no constraints are placed on the direction of the rotation
axis.
The above formulas are prone to numerical instability for θ near 0◦ and 180◦ since sin θ vanishes. A
robust algorithm is that given by Spurrier [ ] in the language of quaternions. Choose the algebraically
largest of trace(R) and Rii , i = 1, 2, 3. If trace(R) is the largest, compute
p0 = cos 12 θ = 12 1 + trace(R), pi = n i sin 12 θ = 14 (Rk j − R jk )/ p0 , i = 1, 2, 3, (R.39)
R–10
R–11 §R.5 ROTATOR DERIVATIVES
where j and k are the cyclic permutations of i. Otherwise let Rii be the algebraically largest
diagonal entry, and again denote i, j, k the cyclic permutation. Then use
pi = n i sin 2 θ = 12 Mii + 14 (1 − trace(M)),
1
p0 = cos 12 θ = 14 (Rk j − R jk )/ pi ,
(R.40)
pi = 14 (Rl,i + Ri,l )/ pi , l = j, k.
From p0 , p1 , p2 , p3 it is easy to pass to θ, n1, n2, n3 once the sign of θ is chosen as discussed
above.
REMARK R.1
The theoretical formula for the matrix logarithm, which applies to any matrix size, is
arcsin τ
Ω = log R = axial (R − RT ), (R.41)
2τ
where τ = 12 |axial (R − RT )|. But for numerical computations this expression is largely useless.
R–11
Appendix R: MATHEMATICS OF FINITE ROTATIONS R–12
R–12
R–13 §R.6 COROTATIONAL KINEMATICS
x = Rx̄, x̄ = RT x. (R.48)
Since x and d and a are observed in the inertial
is observed in the dynamic frame x̄i whereas X
frame xi , the most useful relation is
X = a + R(x + d) (R.49)
References
[1] J. H. Argyris, An Excursion into Large Rotations, Comp. Meths. Appl. Mech. Engrg., 32, pp.
85-155, 1982.
[2] R. Bellman, Introduction to Matrix Analysis, McGraw-Hill, New York, 1960
[3] M. A. Biot, The Mechanics of Incremental Deformations, McGraw-Hill, New York, 1962.
[4] H. Chung and K. C. Gupta, An historical note on finite rotations, J. Appl. Mech., 56, pp.
139–145, 1989.
[5] B. Fraeijs De Veubeke, The Dynamics of Flexible Bodies, Int. J. Engrg. Sci, 14, pp. 895-913,
1976.
[6] F. R. Gantmacher, The Theory of Matrices, Vol. I, Chelsea, New York, 1960.
[7] A. S. Householder, The Theory of Matrices in Numerical Analysis, Blaisdell, New York, 1964.
[8] B. Nour-Omid and C C. Rankin, Finite Rotation Analysis and Consistent Linearization Using
Projectors, submitted to Comp. Meths. Appl. Mech. Engrg., 1990.
[9] O. Rodrigues, Des lois géometriques qui regissent les déplacements d’un systéme solide
dans l’espace, et de la variation des coordonnées provenant de ces déplacement considerées
R–13
Appendix R: MATHEMATICS OF FINITE ROTATIONS R–14
_
_ P
_ _ C d
x3 G P
dG
_
uG
G C
_ _
x2 u uG
_ _
x1
xG
_
_ xG _ xG
xG x x u
X3, x 3 P0
G0 C0
X
XG
X1,x1 X2 , x2
Figure R.1. The corotational description for a moving structure. The dynamic reference configuration
system is shown way offset for visualization convenience.
indépendent des causes qui peuvent les produire, J. de Mathématiques Pures et Appliquées, 5,
380–400, 1840
[10] M. L. Szwabowicz, Variational Formulation in the Geometrically Nonlinear Thin Elastic Shell
Theory, Int. J. Engrg. Sci., 22, pp. 1161-1175, 1986.
[11] J. C. Simo, A Finite Strain Beam Formulation. Part I: The Three-Dimensional Dynamic
Problem, Comp. Meths. Appl. Mech. Engrg., 49, pp. 55-70, 1985.
[12] R. A. Spurrier, A Comment on Singularity-Free Extraction of a Quaternion from a Direction
Cosine Matrix, J. Spacecrafts & Rockets, 15, p. 255, 1978.
[13] R. Turnbull, The Theory of Determinants, Matrices and Invariants, Blackie and Son, London,
1929.
R–14