Sie sind auf Seite 1von 15

A

Mathematics of
Finite Rotations

A–1
Appendix A: MATHEMATICS OF FINITE ROTATIONS A–2

TABLE OF CONTENTS

Page
§A.1. Introduction A–3
§A.2. Plane vs. Spatial Rotations A–3
§A.3. Spinors A–4
§A.3.1. Spin Matrix and Axial Vector . . . . . . . . . . . . A–4
§A.3.2. Normalizations . . . . . . . . . . . . . . . . A–5
§A.3.3. Spectral Properties . . . . . . . . . . . . . . . A–6
§A.4. From Spinors To Rotators A–7
§A.4.1. The Algebraic Approach . . . . . . . . . . . . . A–7
§A.4.2. The Geometric Approach . . . . . . . . . . . . . A–8
§A.4.3. The Cayley Transform . . . . . . . . . . . . . . A–9
§A.4.4. Exponential Map . . . . . . . . . . . . . . . . A–10
§A.5. From Rotators to Spinors A–10
§A.6. Rotator Derivatives A–11
§A.7. Spinor and Rotator Transformations A–12
§A.8. Axial Vector Jacobian A–12
§A.9. Spinor and Rotator Differentiation A–13
§A.9.1. Angular Velocities . . . . . . . . . . . . . . . A–13
§A.9.2. Angular Accelerations . . . . . . . . . . . . . . A–14
§A.9.3. Variations . . . . . . . . . . . . . . . . . . A–14

A–2
A–3 §A.2 PLANE VS. SPATIAL ROTATIONS

§A.1. Introduction

This Appendix provides a compendium of formulas and results concerning the mathematical treat-
ment of finite rotations in 3D space. Emphasis is placed on matrix representations of use in the
corotational formulation of finite elements.
The material is taken from a survey paper: C. A. Felippa and B. Haugen, A unified formulation
of small-strain corotational finite elements - I. Theory, Comp. Meths. Appl. Mech. Engrg., 194,
2285–2336, 2005.

§A.2. Plane vs. Spatial Rotations

Plane rotations make up an easy topic. A rotation in e.g., the x y plane, is defined by just a scalar:
the rotation angle θ about z. Plane rotations commute: θ1 + θ2 = θ2 + θ1 , because the θs are
numbers.
The study of spatial rotations is more difficult. The subject is dominated by the fundamental theorem
of Euler:

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 A.1. Of these the Cayley transform (1857) is the oldest although not the most important
one.

Not unique: adjustable


Unique
by a scale factor γ

Spin(ω) Rot(Ω)
Axial-vector or
Spinor Rotator
pseudo-vector
ω Ω R
axial(Ω) Skew(R)
Figure A.1. Representations of finite space rotations and mapping operations.

A–3
Appendix A: MATHEMATICS OF FINITE ROTATIONS A–4

Rotation axis defined


(a) by axial vector
C Can be normalized
in various ways (b)

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

Figure A.2. Attributes of rotation in 3D.

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 ω.
This overview is intended to stress that finite 3D rotations can appear in various mathematical
representations, as depicted in Figure A.1. The exposition that follows expands on this topic, and
studies the connector links shown in Figure A.1.

§A.3. Spinors
Figure A.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 A.2(b), the distance between P and Q is 2r sin 12 θ.

§A.3.1. Spin Matrix and Axial Vector


Given the three directors ω1 , ω2 , and ω3 of the axis ω, we can associate with it a 3×3 skew-symmetric
matrix Ω, called a spin tensor or spin matrix, by the rule
 
0 −ω3 ω2
Ω = Spin(ω) = ω3 0 −ω1 = −ΩT . (A.1)
−ω2 ω3 0
Premultiplication of a vector v by Ω is equivalent to the cross product of ω and v:
=ω
θ  × v ⇒ θ = Ωv. (A.2)

A–4
A–5 §A.3 SPINORS

In particular: Ω ω = 0, as may be directly verified.


The converse operation to (A.1) extracts the 3-vector ω, called pseudovector, or axial vector, from
a given spin tensor:  
ω1
ω = axial(Ω) = ω2 . (A.3)
ω3
The length of this vector is denoted by ω:

ω = |ω| = + ω12 + ω22 + ω32 . (A.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.

§A.3.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 . (A.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:

tan 12 θ tan 12 θ
b = tan 12 θ n = ω, B = Spin(b) = tan 12 θ N = Ω. (A.6)
ω ω
This representation permits an elegant formulation of the rotator via the Cayley transform studied
later. It collapses, however, 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:

p0 = cos 12 θ, pi = n i sin 12 θ = ωi /ω sin 12 θ, i = 1, 2, 3. (A.7)

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 Fraeijs de Veubeke [243], takes γ =
sin 12 θ/ω. It is equivalent to using only the last three parameters of (A.7):

p = sin 12 θ n = (sin 12 θ/ω) ω, P = Spin(p) = sin 12 θ N = (sin 12 θ/ω) Ω. (A.8)

A–5
Appendix A: MATHEMATICS OF FINITE ROTATIONS A–6

Finally, an important normalization that preserves three parameters while avoiding singularities is
that associated with the exponential map. Introduce a rotation vector θ defined as
θ = θn = (θ/ω) ω, Θ = Spin(θ) = θ N = (θ/ω) Ω. (A.9)

For this normalization the angle is the length of the rotation vector: θ = |θ| = θ12 + θ22 + θ32 .
The selection of the sign is a matter of convention.

§A.3.3. Spectral Properties


Study of the spinor eigensystem Ωvi = λi vi is of interest for various developments. Begin by
forming the characteristic equation
det(Ω − λI) = −λ3 − ω2 λ = 0, (A.10)
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 )ω (A.11)
ω3 ω3 s − ω2 + i(ω1 − ω2 )ω ω3 s − ω2 − i(ω1 − ω2 )ω
where s = ω1 + ω2 + ω3 . Its inverse is
 
ω22 + ω32 ω22 + ω32
ω1 − 12 − 1
 ω1 s − ω2 − i(ω2 − ω3 )ω 2 ω s − ω2 + i(ω − ω )ω 

1 
1 2 3

−1 ω32 + ω12 ω32 + ω12 
V = 2  ω2 − 2 1
−21
 (A.12)
ω  ω2 s − ω − i(ω3 − ω1 )ω
2
ω2 s − ω + i(ω3 − ω1 )ω 
2
 
ω12 + ω22 ω12 + ω22
ω3 − 2 1
−21
ω3 s − ω2 − i(ω1 − ω2 )ω ω3 s − ω2 + i(ω1 − ω2 )ω
The real and imaginary part of the eigenvectors v2 and v3 are orthogonal. This is a general property
of skew-symmetric matrices; cf. Bellman [67, p. 64].
Because the eigenvalues of Ω are distinct if ω = 0, an arbitrary matrix function F(Ω) can be
explicitly obtained [314,309] as
 
f (0) 0 0
F(Ω) = V 0 f (ωi) 0 V−1 , (A.13)
0 0 f (−ωi)
in which f (.) is the scalar version of F(.). One important application of (A.13) is the matrix
exponential: f (.) → e(.) .
The square of Ω, computed through direct multiplication, is
 2 
ω2 + ω32 −ω1 ω2 −ω1 ω3
Ω2 = − −ω1 ω2 ω32 + ω12 −ω2 ω3 = ωωT − ω2 I = ω2 (nnT − I). (A.14)
−ω1 ω3 −ω2 ω3 ω12 + ω22

A–6
A–7 §A.4 FROM SPINORS TO ROTATORS

This is a symmetric matrix of trace −2ω2 whose eigenvalues are 0, −ω2 and −ω2 .
By the Cayley-Hamilton theorem [67,309,314,636] Ω satisfies its own characteristic equation (A.10)

Ω3 = −ω2 Ω, Ω4 = −ω2 Ω2 , . . . and generally Ωn = −ω2 Ωn−2 , n ≥ 3. (A.15)

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 A.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 . (A.16)
−2 6 0 −18 −6 40

The eigenvalues of Ω are (0, 7i, −7i) while those of Ω2 are (0, −7, −7).

§A.4. From Spinors To Rotators

Referring to Figure A.2, a rotator is an operator that maps a generic point P(x) to Q(xθ ) given the
 and the angle θ. We consider only rotator representations in the form of rotation
rotation axis ω
matrices R, defined by
xθ = Rx. (A.17)

This 3 × 3 matrix is proper orthogonal, that is, RT R = I and det(R) = +1. It must reduce to I if
the rotation vanishes. Another important attribute is the trace property

trace(R) = 1 + 2 cos θ, (A.18)

proofs of which may be found for example in Goldstein [267, p.124] or Hammermesh [285, p.325].
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 (A.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 , (A.19)

in which γ is the scaling factor discussed above, whereas α and β are scalar functions of θ and of the
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 A.1 summarizes the most important representations of the rotator
in terms of the scaled Ω.

A–7
Appendix A: MATHEMATICS OF FINITE ROTATIONS A–8

Table A.1. Rotator Forms for Various Spinors

Parametrization γ α β Spinor Rotator R

sin θ 2 sin2 12 θ θ Ω + 2 sin 2 θ Ω2


2 1
None 1 ω Ω I + sin
ω
ω2 ω2
Unit axial-vector 1 sin θ 2 sin2 12 θ N = γΩ I + sin θ N + 2 sin2 12 θ N2 ,
ω
tan 12 θ
Rodrigues-Cayley ω 2 cos2 12 θ 2 cos2 12 θ B = γΩ I + 2 cos2 12 θ (B + B2 ) = (I + B)(I − B)−1
sin 12 θ
DeVeubeke ω 2 cos 12 θ 2 P = γΩ I + 2 cos 12 θ P + 2P2
θ sin θ 2 sin2 12 θ θ Θ + 2 sin 2 θ Θ2 = eΘ = eθ N
2 1
Exponential map ω θ Θ = γ Ω I + sin
θ
θ2 θ2

§A.4.1. The Algebraic Approach


This approach finds α and β for γ = 1 (the unscaled spinor) directly from algebraic conditions.
Taking the trace of R given by (A.19) and applying the trace property (A.18) requires

1 − cos θ 2 sin2 21 θ
3 − 2βω = 1 + 2 cos θ,
2
→ β= = . (A.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 → α= . (A.21)
ω
Hence
sin θ 1 − cos θ 2 sin θ 2 sin2 21 θ 2
R=I+ Ω+ Ω = I + Ω + Ω. (A.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
 ω2 + (ω2 + ω2 ) cos θ 2ω1 ω2 sin2 21 θ − ω3 ω sin θ 2ω1 ω3 sin2 21 θ + ω2 ω sin θ 
1 2 3
1
R = 2  2ω1 ω2 sin2 21 θ + ω3 ω sin θ ω22 + (ω32 + ω12 ) cos θ 2ω2 ω3 sin2 21 θ − ω1 ω sin θ  .
ω
2ω1 ω3 sin2 21 θ − ω2 ω sin θ 2ω2 ω3 sin2 21 θ + ω1 ω sin θ ω32 + (ω12 + ω22 ) cos θ
(A.23)
This is invariant to scaling of the ωi , and consequently (A.23) is unique.

§A.4.2. The Geometric Approach


The vector representation of the rigid motion pictured in Figure A.2 is

xθ = x cos θ + (
n × x) sin θ + n
 (
n · x)(1 − cos θ) = x + (
n × x) sin θ + n × (
n × x) (1 − cos θ ),
(A.24)
where n is ω
 normalized to unit length as per (A.6). This can be recast in matrix form by substituting
 × x → Nx = Ωx/ω and xθ = Rx. Cancelling x we get back (A.22).
n

A–8
A–9 §A.4 FROM SPINORS TO ROTATORS

If ω is unit-length-normalized to n as per (A.6), γ = 1/ω and R = I + sin θ N + (1 − cos θ ) N2 .


This is the matrix form of (A.24). Because N2 = nnT − I, an ocassionally useful variant is
R = W + (1 − cos θ) n nT , W = cos θ I + sin θ N. (A.25)
In terms of the three Rodrigues-Cayley parameters bi introduced in(A.6), α = β = 2 cos2 21 θ and
R = I + 2 cos2 21 θ (B + B2 ). This can be explicitly worked out to be
 
1 1 + b12 − b22 − b32 2(b1 b2 − b3 ) 2(b1 b3 + b2 )
R= 2(b1 b2 + b3 ) 1 − b12 + b22 − b32 2(b2 b3 − b1 ) (A.26)
1 + b1 + b2 + b3
2 2 2
2(b b − b ) 2(b b + b ) 1 − b − b + b
2 2 2
1 3 2 2 3 1 1 2 3

This form was derived by Rodrigues [540] and used by Cayley [110] to study rigid body motions. It
has the advantage of being obtainable through an algebraic matrix expression: the Cayley transform,
which is 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 (A.7). 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  (A.27)
p1 p3 − p0 p2 p2 p3 + p0 p1 ) p0 + p3 − 2
2 2 1

This rotator cannot become singular, but this advantage is paid at the cost of carrying along an extra
parameter plus the constraint p02 + p12 + p22 + p32 = 1.
The normalization of DeVeubeke, given in (A.8) as pi = (ωi /ω) sin 12 θ, leads to α = 2 cos 12 θ and
β = 2. Hence R = I + 2 cos 12 θ P + 2P2 .

§A.4.3. The Cayley Transform


Given any skew-symmetric real matrix S = −ST , we can apply the transformation
Q = (I + S)(I − S)−1 (A.28)
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 [254] but none gives a proof. Here is the proof of orthogonality:
QT Q = (I + S)−1 (I − S)(I + S)(I − S)−1 = (I + S)−1 (I + S)(I − S)(I − S)−1 = II = I because
I + S and I − S commute. The property det Q = +1 can be easily proven from the spectral
properties. The inverse transformation
S = (Q − I)(Q + I)−1 (A.29)
produces skew-symmetric matrices from a source orthogonal matrix Q. Equations (A.28) and
(A.29) are called the Cayley transforms after Cayley [110]. These formulas are ocassionally useful
in the construction of approximations for moderate rotations.
An interesting question is: given Ω and θ, can (A.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 (A.19) we require
(I − γ Ω)(I + αΩ + βΩ2 ) = I + (α − γ + γβω2 )Ω + (β − αγ )Ω2 = I + γ Ω (A.30)

A–9
Appendix A: MATHEMATICS OF FINITE ROTATIONS A–10

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
(A.21). Thus the only solution is γ = β/α = (1 − cos θ)/(ω sin θ) = tan 12 θ/ω. This is precisely
the Rodrigues normalization (A.7) or (A.27). Consequently

−1
tan 12 θ
R = (I + B)(I − B) , B = Ω. (A.31)
ω
The explicit calculation of R in terms of the bi leads to (A.26).
§A.4.4. Exponential Map
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) (A.32)
is proper orthogonal. Here is the simple proof of Gantmacher
[254, p 287]: QT = Exp(ST ) =
−1
Exp(−S ) = Q . If the eigenvalues of S are λi , then
T
i λi = trace(S) = 0. The eigenvalues
of Q are µi = exp(λi ); thus det(Q) = i µi = exp( i λi ) = exp(0) = +1. The transformation
(A.32) is called an exponential map. The converse is of course S = Log(Q).
As in the case of the Cayley transform, one may pose the question of whether we can get the rotator
R = Exp(γ Ω) exactly for some factor γ = γ (θ, ω). To study this question we need an explicit
form of the exponential. This can be obtained from (A.13) in which the function Exp so that the
diagonal matrix entries are 1 and exp(±γ ωi) = cos γ ω ±i sin γ ω. The following approach is more
instructive and leads directly to the final result. Start from the definition of the matrix exponential
γ2 2 γ3 3
Exp(γ Ω) = I + γ Ω + Ω + Ω + ... (A.33)
2! 3!
and use the Cayley-Hamilton theorem (A.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 + Ω+ Ω. (A.34)
ω ω2
Comparing to (A.22) requires γ ω = θ, or γ = θ/ω. Introducing θi = θωi /ω and Θ = Spin(θ) =
θN = (θ/ω)Ω as in (A.9), one gets
sin θ 1 − cos θ 2 sin θ 2 sin2 21 θ 2
R = Exp(Θ) = I + Θ+ Θ = I + Θ + Θ . (A.35)
θ θ2 θ θ2
On substituting Θ = θN this recovers R = I + sin θ N + (1 − cos θ) N2 , as it should.
This representation has several advantages: (i) it is singularity free, and (ii) the θi are exactly
proportional to the angle, and (ii) it simplifies differentiation. Because of these favorable properties
the exponential map has become a favorite of implementations where large angles may occur, as in
orbiting structures and robotics.
Example A.2.
Take again ω = [ 3 2 6 ]T so ω = 7. Consider the 3 angles θ = 2◦ , θ = 90◦ and θ = 180◦ . The rotators
calculated from (A.22) are, to 8 figures:
R= (A.36)

A–10
A–11 §A.6 ROTATOR DERIVATIVES

§A.5. From Rotators to Spinors


If R is given, the extraction of the rotation amount θ and the unit pseudo-vector n = ω/ω is often
required. The former is easy using the trace property (A.19):
cos θ = 1
2 (trace(R) − 1) . (A.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). (A.38)
2 sin θ
One issue is the sign of θ since (A.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 [579] 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, (A.39)
in which 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 12 θ = 12 Rii + 14 (1 − trace(R)), p0 = cos 12 θ = 14 (Rk j − R jk )/ pi ,
(A.40)
pi = 4 (Rl,i + Ri,l )/ pi , l = j, k.
1

From p0 , p1 , p2 , p3 it is easy to pass to θ, n1, n2, n3 once the sign of θ is chosen as discussed
above.
Remark A.1. The theoretical formula for the matrix logarithm, which is applicable to any matrix size, is
arcsin τ
Ω = log R = axial(R − RT ), (A.41)

in which τ = 12 |axial(R − RT )|. But for numerical computations this expression is largely useless.

§A.6. Rotator Derivatives


The derivatives and differentials of the rotator with respect to angle and rotation axis direction
changes are required in many developments.
As independent parameters we will take θ and ω = ωn (the n i are not good choices because they
are linked by a constraint). For convenience, define
   2 
dω1 d ω1
dω = dω2 , dΩ = Spin(dω), d ω = d 2 ω2 , d 2 Ω = Spin(d 2 ω),
2

dω3 d 2 ω3 (A.42)
W = cos θ I + sin θ N = R − (1 − cos θ) nnT .

A–11
Appendix A: MATHEMATICS OF FINITE ROTATIONS A–12

It is convenient to depart from R = Exp(θ N) = I+sin θ N+(1−cos θ) N2 = W+(1−cos θ )nnT .


Succesive differentiation gives

dR = R d(θ N) = R (N dθ + θ dN), (A.43)

and


d 2 R = R d(θN) d(θ N) + R d 2 (θ N) = R (N dθ + θ dN)2 + N d 2 θ + 2 dθ dN + θ d 2 N
(A.44)
These expressions can be simplified using the following identities:

RN = NR = N + sin θ N2 + (1 − cos θ)N3 = cos θ N + sin θ N2 = WN = NW,


NRN = N2 R = R N2 = − sin θ N + cos θ N2 = R − I − N2 = R − nnT ,
dΩ ωT dω dω ωT − (ωT dω) I N dω ωT − (ωT dω) N
dN = −N N dN = , N2 dN = ,
ω ω2 ω2 ω2
d ωT dω
R dN = R − WN .
ω ω2
(A.45)
Here Nn = 0 has been used to eliminate some terms.
Inserting into (A.43) gives
dR = W N dθ + θ R dN (A.46)

This is a compacted form verified through Mathematica.


The expression of d 2 R, which is required for stiffness level and acceleration computations, will be
worked out later.

§A.7. Spinor and Rotator Transformations

Suppose Ω is a spinor and R = Rot(Ω) the associated rotator, referred to a Cartesian frame x = {xi }.
It is required to transform R to another Cartesian frame x̄ = {x̄i } related by Ti j = ∂ x̄i /∂ x j , where
Ti j are entries of a 3 × 3 orthogonal matrix T = ∂ x̄/∂x. Application of (?) yields

T T
R̄ = TRTT , R̄ = TRT TT , R = TT R̄T, R = TT R̄ T. (A.47)

More details may be found in [267, Chapter 4]. Pre and post-multiplying (?) by T and TT ,
respectively, yields the transformed spinor N̄ = T N TT , which is also skew-symmetric because
T
N̄ = T NT TT = −N̄. Likewise for the other spinors listed in Table A.5. Relations (?) with
Q →T show how axial vectors transform.

A–12
A–13 §A.9 SPINOR AND ROTATOR DIFFERENTIATION

§A.8. Axial Vector Jacobian

The Jacobian matrix H(θ) = ∂θ/∂ω of the rotational axial vector θ with respect to the spin axial
vector ω, and its inverse H(θ)−1 = ∂ω/∂θ, appear in the EICR. The latter was first derived by
Simo [564] and Szwabowicz [602], and rederived by Nour-Omid and Rankin [433, p. 377]:

∂ω sin θ 1 − cos θ θ − sin θ T 1 − cos θ θ − sin θ 2


H(θ)−1 = = I+ Θ+ θθ = I+ Θ+ Θ . (A.48)
∂θ θ θ 2 θ 3 θ 2 θ3

The last expression in (A.48), not given by the cited authors, is obtained on replacing θθT =
θ 2 I + Θ2 . Use of the inversion formula (?) gives

∂θ
H(θ) = = I − 12 Θ + ηΘ2 , (A.49)
∂ω

in which
1 − 12 θ cot( 12 θ)
η= = 1
+ 1 2
θ + 1
θ4 + 1
θ6 + ... (A.50)
θ2 12 720 30240 1209600

The η given in (A.50) results by simplifying the value η = [sin θ − θ(1 + cos θ)]/[θ 2 sin θ] given by
previous investigators. Care must be taken on evaluating η for small angle θ because it approaches
0/0. If |θ| < 1/20, say, the series given above may be used, with error < 10−16 when 4 terms are
retained. If θ is a multiple of 2π, η blows up since cot( 12 θ) → ∞, and a modulo-2π reduction is
required.
In the formulation of the tangent stiffness matrix, the spin derivative of H(θ)T contracted with a
nodal moment vector m is required:

∂H(θ)T ∂
L(θ, m) = :m = [H(θ)T m] H(θ)
∂ω ∂θ (A.51)
 
= η [(θT m) I + θ mT − 2m θT ] + µΘ2 m θT − 12 Spin(m) H(θ).

in which

dη/dθ θ 2 + 4 cos θ + θ sin θ − 4


µ= = = 1
+ 1
θ2 + 1
θ4 + 1
θ6 + . . . (A.52)
θ 4θ 4 sin2 ( 12 θ) 360 7560 201600 5987520

This expression of µ was obtained by simplifying results given in [433, p. 378].

§A.9. Spinor and Rotator Differentiation

Derivatives, differentials and variations of axial vectors, spinors and rotators with respect to various
choices of independent variables appear in applications of finite rotations to mechanics. In this
section we present only expressions that are useful in the CR description. They are initially derived
for dynamics and then specialized to variations. Several of the formulas are new.

A–13
Appendix A: MATHEMATICS OF FINITE ROTATIONS A–14

§A.9.1. Angular Velocities


We assume that the rotation angle θ(t) = θ(t)n(t) is a given function of time t, which is taken as the
independent variable. The time derivative of Θ(t) is Θ̇ = axial(θ̇). To express rotator differentials
in a symmetric manner we introduce an axial vector φ̇ and a spinor Φ̇ = Spin(φ̇), related to Θ̇
congruentially through the rotator:
   
0 −θ̇3 θ̇2 0 −φ̇3 φ̇2
Θ̇ = Spin(θ̇) = θ̇3 0 −θ̇1 = RΦ̇RT , Φ̇ = Spin(φ̇) = φ̇3 0 −φ̇1 = RT Θ̇R.
−θ̇2 θ̇1 0 −φ̇2 φ̇1 0
(A.53)
From (?) it follows that the axial vectors are linked by

φ̇ = RT θ̇, θ̇ = Rφ̇. (A.54)

Corresponding relation between variations or differentials, such as δΘ = R δΦ RT or dΘ =


R dΦ RT are incorrect as shown in below. In CR dynamics, θ̇ is the vector of inertial angular
velocities whereas φ̇ is the vector of dynamic angular velocities.
Repeated temporal differentiation of R = Exp(Θ) gives the rotator time derivatives
2 ... ... 3
Ṙ = Θ̇ R, R̈ = (Θ̈ + Θ̇ )R, R = (Θ + 2Θ̈Θ̇ + Θ̇Θ̈ + Θ̇ )R, . . . (A.55)
2 ... ... 3
Ṙ = R Φ̇, R̈ = R(Φ̈ + Φ̇ ), R = R(Φ + 2Φ̈Φ̇ + Φ̇Φ̈ + Φ̇ ), . . . (A.56)
T T
The following four groupings appear often: R Ṙ , Ṙ RT , RT Ṙ and Ṙ R. From the identities
RRT = I and RT R = I it can be shown that they are skew-symmetric, and may be associated
to axial vectors with physical meaning. For example, taking time derivatives of RRT = I yields
T T
R Ṙ + Ṙ RT = 0, whence R Ṙ = −Ṙ RT = −(R Ṙ)T . Pre and postmultiplication of Ṙ in (A.55)
and (A.56) by R and RT furnishes
T T
Ṙ RT = −R Ṙ = Θ̇, RT Ṙ = −Ṙ R = Φ̇. (A.57)

Note that the general integral of Ṙ = Θ̇ R aside from a constant, is R = Exp(Θ), from which θ (t)
can be extracted. On the other hand there is no integral relation defining φ(t); only the differential
equation Ṙ = R Φ̇.

§A.9.2. Angular Accelerations


Postmultiplying the second of (A.55) by RT yields
   2 
0 −θ̈3 θ̈2 −θ̇2 − θ̇32 θ̇1 θ̇2 θ̇1 θ̇3
2 T
R̈RT = Θ̈ + Θ̇ = Θ̇ + θ̇ θ̇ − (θ̇)2 I = θ̈3 0 −θ̈1 + θ̇1 θ̇2 −θ̇32 − θ̇12 θ̇2 θ̇3 ,
−θ̈2 θ̈1 0 θ̇1 θ̇3 θ̇2 θ̇3 −θ̇1 − θ̇2
2 2
(A.58)
T
in which (θ̇) = θ̇1 + θ̇2 + θ̇3 . When applied to a vector r, (Θ̈ + Θ̇Θ̇)r = θ̈ × r + θ̇ θ̇ r − (θ̇ )2 r.
2 2 2 2

This operator appears in the expression of particle accelerations in a moving frame. The second and
third term give rise to the Coriolis and centrifugal forces, respectively. Premultiplying the second
derivative in (A.56) by R yields RR̈ = Φ̈ + Φ̇Φ̇, and so on.

A–14
A–15 §A.9 SPINOR AND ROTATOR DIFFERENTIATION

§A.9.3. Variations
Some of the foregoing expressions can be directly transformed to variational and differential forms
while others cannot. For example, varying R = Exp(Θ) gives

δR = δΘ R, δRT = −RT δΘ. (A.59)

This matches Ṙ = Θ̇ R and RT = −RT Θ̇ from (A.55) on replacing (˙) by δ. On the other hand,
T
the counterparts of (A.56): Ṙ = R Φ̇ and Ṙ = −Φ̇ R are not δR = R δΦ and δRT = −δΦ RT , a
point that has tripped authors unfamiliar with moving frame dynamics. Correct handling requires
the introduction of a third axial vector ψ:
 
0 −δψ3 δψ2
δR = R δΨ, δRT = −δΨ R, in which δΨ = Spin(δψ) = δψ3 0 −δψ1 .
−δψ2 δψ1 0
(A.60)
Axial vectors ψ and φ can be linked as follows. Start from δR = R δΨ and Ṙ = R Φ̇. Time
differentiate the former: δ Ṙ = R δ Ψ̇ + Ṙ δΨ, and vary the latter: δ Ṙ = δR Φ̇ + R δ Φ̇, equate the
two right-hand sides, premultiply by RT , replace RT Ṙ and RT δR by Φ̇ and δΨ, respectively, and
rearrange to obtain

δ Φ̇ = δ Ψ̇ + Φ̇ δΨ − δΨ Φ̇, or δ φ̇ = δ ψ̇ + Φ̇ δψ = δ ψ̇ − δΨ φ̇. (A.61)

The last transformation is obtained by taking the axial vectors of both sides, and using (?). It is
seen that δ Ψ̇ and δ Φ̇ match if and only if Φ̇ and δΨ commute.
Higher variations and differentials can be obtained through similar techniques. The general rule
is: if there is a rotator integral such as R = Exp(Θ), time derivatives can be directly converted to
variations. If no integral exists, utmost care must be exerted. Physically quantities such as φ and
ψ are related to a moving frame, which makes differential relations rheonomic.

A–15

Das könnte Ihnen auch gefallen