Applications of Geometric
Algebra I
Chris Doran
Cavendish Laboratory
Cambridge University
[Link]@[Link]
[Link]/~clifford
3D Algebra
• 3D basis consists of 8 elements
• Represent lines, planes and volumes, from a
common origin
Grade 0 Grade 1 Grade 2 Grade 3
Scalar Vector Bivector Trivector
1 e 1 , e2 , e 3 e1 e 2 , e2 e 3 , e 3 e 1 I
Algebraic Relations
• Generators anticommute e 1 e2 e 2 e1
• Geometric product ab a b a b
1
• Inner product a b 2
ab ba
• Outer product a b 12 ab ba
• Bivector norm e 1 e2 2 1
• Trivector I e 1 e2 e 3
• Trivector norm I 2 1
• Trivectors commute with all other elements
Lines and Planes
• Pseudoscalar gives a map between lines and
planes a
B Ia
a IB B
• Allows us to recover the vector (cross)
product
a b I a b
• But lines and planes are different
• Far better to keep them as distinct entities
Quaternions
• For the bivectors set
i e 2 e3 , j e 3 e1 , k e 1 e2
• These satisfy the quaternion relations
i 2 j2 k 2 ijk 1
• So quaternions embedded in 3D GA
• Do not lose anything, but
– Vectors and planes now separated
– Note the minus sign!
– GA generalises
Reflections
• Build rotations from reflections
• Good example of geometric product – arises
in operations
b
a a nn a
a a a nn
n
• Image of reflection is
b a a a 2a nn
a an nan nan
Rotations
• 2 successive reflections give a rotation
Initial vector in red
Reflection in green
Rotated in blue
Rotations
• Direction perpendicular to the two reflection
vectors is unchanged
• So far, will only talk about rotations in a plane
with a fixed origin (more general treatment
later)
Algebraic Formulation
• Now look at the algebraic expression for a
pair of reflections
a mnanm mnanm
• Define the rotor R mn
• Rotation encoded algebraically by
a RaR R nm
• Dagger symbol used for the reverse
Rotors
• Rotor is a geometric product of 2 unit vectors
R mn cos m n
• Bivector has square
m n 2 mn cosnm cos sin2
• Used to the negative square by now!
• Introduce unit bivector B m n
sin
• Rotor now written
R cos sinB
Exponential Form
• Can now write R expB
• But:
– rotation was through twice the
angle between the vectors
– Rotation went with orientation n m
• Correct these, get double-sided, half-
angle formula
a RaR R expB /2
• Completely general!
Rotors in 3D
• Can rewrite in terms of an axis via
R expIn/2
• Rotors even grade (scalar + bivector in 3D)
• Normalised: RR mnnm 1
• Reduces d.o.f. from 4 to 3 – enough for a
rotation
• In 3D a rotor is a normalised, even element
• The same as a unit quaternion
Group Manifold
• Rotors are elements of a 4D space,
normalised to 1
• They lie on a 3-sphere
• This is the group manifold
• Tangent space is 3D
• Natural linear structure for rotors
• Rotors R and –R define the same rotation
• Rotation group manifold is more complicated
Comparison
• Euler angles give a standard parameterisation
of rotations
cos cos cos sin sin sin cos cos sin cos sin sin
cos sin cos cos sin sin sin cos cos cos sin cos
sin sin sin cos cos
• Rotor form far easier
R expe 1 e2 /2 expe 2e 3 /2 expe1 e 2 /2
• But can do better than this anyway – work
directly with the rotor element
Composition
• Form the compound rotation from a pair of
successive rotations
a R 2 R 1 aR 1 R 2
• Compound rotor given by group combination
law R R 2 R 1
• Far more efficient than multiplying matrices
• More robust to numerical error
• In many applications can safely ignore the
normalisation until the final step
Oriented Rotations
• Rotate through 2 different orientations
• Positive Orientation e2
R expe 1 e 2 /2
expe 1 e 2 /4 e1
• Negative Orientation
S expe 1 e 2 /2
expe 1 e 2 3/4 R
• So R and –R encode the same absolute
rotation, but with different orientations
Lie Groups
• Every rotor can be written as expB/2
• Rotors form a continuous (Lie) group
• Bivectors form a Lie algebra under the
commutator product
• All finite Lie groups are rotor groups
• All finite Lie algebras are bivector algebras
• (Infinite case not fully clear, yet)
• In conformal case (later) starting point of
screw theory (Clifford, 1870s)!
Interpolation
• How do we interpolate between 2 rotations?
• Form path between rotors
R0 R 0
R R 0 expB
R1 R 1
• Find B from expB R 0R 1
• This path is invariant. If points transformed,
path transforms the same way
• Midpoint simply R1/2 R 0 expB/2
• Works for all Lie groups
Interpolation - SLERP
• For rotors in 3D can do even better! R1
• View rotors as unit vectors in 4D
• Path is a circle in a plane
• Use simple trig’ to get SLERP
R0
R 1 sin1 R 0 sin R 1
sin
• For midpoint add the rotors and normalise!
sin/2
R1/2 R 0 R 1
sin
Applications
• Use SLERP with spline constructions for
general interpolation
• Interpolate between series of rigid-body
orientations
• Elasticity
• Framing a curve
• Extend to general
transformations
Linearisation
• Common theme is that rotors can linearise
the rotation group, without approximating!
• Relax the norm constraint on the rotor and
write RAR A 1
• ψ belongs to a linear space. Has a natural
calculus.
• Very powerful in optimisation problems
involving rotations
• Employed in computer vision algorithms
Recovering a Rotor
• Given two sets of vectors related by a
rotation, how do we recover the rotor?
• Suppose b i Ra i R
• In general, assume not orthogonal.
1
• Need reciprocal frame a
a 2 a3I
a1
a1 a 2 a3 I a3
i a2
• Satisfies a a j ij
Recovering a Rotor II
• Now form even-grade object
b i a i Ra i Ba i R3 B 1 4R
• Define un-normalised rotor
b i ai 1
• Recover the rotor immediately now as
R
||
• Very efficient, but
– May have to check the sign
– Careful with 180o rotations
Rotor Equations
• Suppose we take a path in rotor space R
• Differentiating the constraint tells us that
d RR R R RR 0
d
• Re-arranging, see that
R R R R Bivector
• Arrive at rotor equation
R 12 B R
• This is totally general. Underlies the theory of
Lie groups
Example
• As an example, return to framing a curve.
• Define Frenet frame n
b
• Relate to fixed frame
t
t, n, b R e i R
• Rotor equation
R 12 R 1 e2 e 1 2 e 3 e2
• Rotor equation in terms of curvature and
torsion
Linearisation II
• Rotor equations can be awkward (due to
manifold structure)
• Linearisation idea works again
• Replace rotor with general element and write
12 B
• Standard ODE tools can now be applied
(Runge-Kutta, etc.)
• Normalisation of ψ gives useful check on
errors
Elasticity
• Some basics of elasticity (solid mechanics):
– When an object is placed under a stress
(by stretching or through pressure) it
responds by changing its shape.
– This creates strains in the body.
– In the linear theory stress and strain are
related by the elastic constants.
– An example is Hooke’s law F=-kx, where k
is the spring constant.
– Just the beginning!
Bulk Modulus
• Place an object under uniform
pressure P
• Volume changes by
P B V
V
• B is the bulk modulus
• Definition applies for small
pressures (linear regime)
Shear Modulus
• Sheers produced by
combination of tension
and compression
• Sheer modulus G is
Shear stress / angle
G θ
2
LIH Media
• The simplest elastic systems to consider are
linear, isotropic and homogeneous media.
• For these, B and G contain all the relevant
information.
• There are many ways to extend this:
– Go beyond the linearised theory and treat
large deflections
– Find simplified models for rods and shells
Foundations
• Key idea is to relate the spatial configuration
to a ‘reference’ copy.
x y=f(x)
• y=f(x) is the displacement field. In general,
this will be time-dependent as well.
Paths
• From f(x) we want to extract information about
the strains. Consider a path
• Tangent vectors map to
fx a fx a fx Fa
• F(a)=F(a;x) is a linear function of a. Tells us
about local distortions.
Path Lengths
• Path length in the reference body is
1/2
d d
dx dx d
• This transforms to
F x
F x 1/2
d
• Define the function G(a), acting entirely in the
reference body, by
Ga F Fa
The Strain Tensor
• For elasticity, usually best to ‘pull’ everything
back to the reference copy
• Use same idea for rigid body mechanics
• Define the strain tensor from G(a)
– Most natural is
1
Ea 2
Ga a
– An alternative (rarely seen) is
1
Ea 2
lnGa
The Stress Tensor
• Contact force between 2 surfaces is a linear
function of the normal (Cauchy)
n τ(n)
• τ(n)=τ(n;x) returns a vector in the material
body. ‘Pull back’ to reference copy to define
Tn F 1 n
Constitutive Relations
• Relate the stress and the strain tensors in the
reference configuration
• Considerable freedom in the choice here
• The simplest, LIH media have
Ta 2GEa B 23 GtrE a
• Can build up into large deflections
• Combined with balance equations, get full set
of dynamical equations
• Can get equations from an action principle
Problems
• Complicated, and difficult numerically
• In need of some powerful advanced
mathematics for the full nonlinear theory
(FEM…)
• Geometric algebra helps because it
– is coordinate free
– integrates linear algebra and calculus
smoothly
• But need simpler models
• Look at models for rods and beams
Deformable Rod
• Reference configuration is a cylinder
λ Line of
centre of
y mass
σ
x
Configuration encoded
in a rotor y x, t RR
Technical Part
• Spare details, but:
• Write down an action integral
• Integrate out the coordinates over each disk
• Get (variable) bending moments along the
centre line
• Carry out variational principle
• Get set of equations for the rotor field
• Can apply to static or dynamic configurations
Simplest Equations
• Static configuration, and ignore stretching
• Have rotor equation
dR 1 R
B
d 2
• Find bivector from applied couple and elastic
constants. I(B) is a known linear function of
these mapping bivectors to bivectors
B I 1 R CR
• Integrate to recover curve
x Re1 R
Example
• Even this simple set of
equations can give highly
complex configurations!
Small, linear
deflections build
up to give large
deformations
Summary
• Rotors are a general purpose tool for
handling rotations in arbitrary dimensions
• Computationally more efficient than matrices
• Can be associated with a linear space
• Easy to interpolate
• Have a natural associated calculus
• Form basis for algorithms in elasticity and
computer vision
• All this extends to general groups!
Further Information
• All papers on Cambridge GA group website:
[Link]/~clifford
• Applications of GA to computer science and
engineering are discussed in the proceedings
of the AGACSE 2001 conference.
[Link]/agacse2001
• IMA Conference in Cambridge, 9th Sept 2002
• ‘Geometric Algebra for Physicists’ (Doran +
Lasenby). Published by CUP, soon.
Revised Timetable
• 8.30 – 9.15 Rockwood • 1.30 – 2.00 Doran
Introduction and outline Beyond Euclidean
of geometric algebra Geometry
• 9.15 – 10.00 Mann • 2.00 – 3.00 Hestenes
Illustrating the algebra I Computational Geometry
• 10.00 -10.15 Break • 3.00 – 3.15 Break
• 10.15 – 11.15 Doran • 3.15 – 4.00 Dorst
Applications I Illustrating the algebra II
• 11.15 – 12.00 Lasenby • 4.00 – 4.30 Lasenby
Applications II Applications III
• 4.30 Panel