rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/quaternions.pdfrotation — outline...

53
Rotation — outline of talk Properties Representations Hamilton’s Quaternions Rotation as Unit Quaternion The Space of Rotations Photogrammetry Closed Form Solution of Absolute Orientation Division Algebras, Quaternion Analysis, Space-Time

Upload: others

Post on 09-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Rotation — outline of talk

• Properties

• Representations

• Hamilton’s Quaternions

• Rotation as Unit Quaternion

• The Space of Rotations

• Photogrammetry

• Closed Form Solution of Absolute Orientation

• Division Algebras, Quaternion Analysis, Space-Time

1

Page 2: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Where do we need Rotation?

• Machine Vision

• Recognition & Orientation

• Graphics, CAD

• Virtual Reality

• Vehicle Attitude

• Robotics

• Spatial Reasoning

• Path Planning — Collision Avoidance

• Protein Folding ...

2

Page 3: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Euclidean Motion

• Translation and rotation

• Preserves distances between points

• Preserves angles between lines

• Preserves handedness

• Preserves dot-products

• Preserves triple products

• Contrast: Reflections, Skewing, Scaling

3

Page 4: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Basic Properties of Rotation

• Euler’s theorem: line of fixed points — rotation axis

• Parallel Axis Theorem

• Rotation of Sphere induces Rotation of Space

• Attitude, Orientation — Rotation Relative to Reference

• Degrees Of Freedom: 3

• Note: Confusing Coincidence!

4

Page 5: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

More Properties of Rotation

• Rotational velocity: easy, vector

• Poisson’s formula: r =ω× r

• Rotational velocities add

• Finite Rotations don’t commute

• n(n− 1)/2 DOF

• Coincidence: n(n− 1)/2 = n for n = 3

• Rotation — not “about axes” — instead “in planes”

• Confusing coincidence also for cross-product

5

Page 6: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Isomorphism Vectors & Skew-Symmetric Matrices

a × b = Ab

A = 0 −az ayaz 0 −ax−ay ax 0

a × b = B a

B = 0 bz −by−bz 0 bxby −bx 0

6

Page 7: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Representations for rotation

(1) Axis and angle: ω and θ — Gibbs vector: ω tan(θ/2)

(2) Euler angles (24 definitions)

(3) Orthonormal matrices — RTR = I and det(R) = +1

(4) “Exponential cross-product” — dR/dθ = ΩR → R = eθΩ

(5) Stereography plus bilinear complex map

(6) Pauli spin matrices

(7) Euler parameters

(8) Unit quaternions

7

Page 8: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Rodrígues’ Formula — Axis and Angle

Rotation about ω through θ:

r′ = cosθ r+ (1− cosθ) (ω · r) ω+ sinθ (ω× r)

8

Page 9: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Exponential cross-product

Rotation about ω through θ:

r = R(θ) r0

dr

dθ= ddθR(θ) r0

dr

dθ= ω× r = Ω r = ΩR(θ) r0

ddθR(θ) r0 = ΩR(θ) r0

for all r0:

ddθR(θ) = ΩR(θ)R(θ) = eθΩ

9

Page 10: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Rodrígues’ Formula — Exponential Cross Product

dR/dθ = ΩR → R = eθΩ

eθΩ = I + θΩ+ 12!(θΩ)2 + 1

3!(θΩ)3 + 1

4!(θΩ)4 + ...

Ω2 = (ω ωT − I) and Ω3 = −ΩeθΩ = I +Ω(θ − θ3

3!+ θ

5

5!+ ...

)+Ω2

(θ2

2!− θ

4

4!+ θ

6

6!+ ...

)

eθΩ = I + (sinθ)Ω+ (1− cosθ)Ω2

eθΩ = cosθ I + (sinθ)Ω+ (1− cosθ) ω ωT

r′ = eθΩ r

r′ = cosθ r+ (1− cosθ) (ω · r) ω+ sinθ (ω× r)

10

Page 11: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Stereographic Projection & Bilinear Map

z′ = az + bc z + d

11

Page 12: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Desirable Properties

• Ability to rotate vectors — or coordinate system

• Ability to compose rotations

• Intuitive, non-redundant representation

• Computational efficiency

• Interpolate orientations

• Averages over range of rotations

• Derivative w.r.t rotation — optimization, LSQ

• Sampling of rotations — uniform and random

• Notion of a space of rotations

12

Page 13: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Problems with Some Representations

• Orthonormal matrices: redundant, with complex constraints

• Euler angles: inability to compose rotations, “gimbal lock”

• Gibbs vector: singularity when θ = π

• Axis and angle: inability to compose rotations

• No notion of “space of rotations”

13

Page 14: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Hamilton and division algebras

• Algebraic couples: complex numbers as pair of reals

• Want: multiplicative inverses e.g. z∗/‖z‖2

• Examples: reals, complex numbers

• Expected next: three components (vectors)

• (This was before Gibbs and 3-vectors)

14

Page 15: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Well, Papa, can you multiply triplets?

Brougham bridge — 1843 October 16th

“And here there dawned on me the notion that we must admit, in somesense, a fourth dimension of space for the purpose of calculating withtriples ... An electric circuit seemed to close, and a spark flashed forth.”

15

Page 16: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Hamilton’s quaternions

Insight: Can’t do it with three components

Insight: Need additional square roots of −1

i2 = j2 = k2 = ijk = −1

From which follows:

ij = k, jk = i, and ki = j

ji = −k, kj = −i, and ik = −j

Note: multiplication not commutative

16

Page 17: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Representations of quaternions

(1) Real and three imaginary parts q0 + iqx + jqy + kqz(2) Scalar and 3-vector (q,q)

(3) 4-vector — q

(4) Certain orthogonal 4× 4 matrices Q

(5) Complex composite of two complex numbers

17

Page 18: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Representations of Multiplication

Real and three imaginary parts

(p0 + pxi+ pyj + pzk)(q0 + qxi+ qyj + qzk) =

(p0q0 − pxqx − pyqy − pzqz) +(p0qx + pxq0 + pyqz − pzqy) i+(p0qy − pxqz + pyq0 + pzqx) j+(p0qz + pxqy − pyqx + pzq0) k

Scalar and 3-vector

(p,p) (q,q) = (p q − p · q, p q+ qp+ p× q)

4-vector p0 −px −py −pzpx p0 −pz pypy pz p0 −pxpz −py px p0

q0

qxqyqz

18

Page 19: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Isomorphism — Quaternions and Orthogonal Matrices

p q = P q

where

P =

p0 −px −py −pzpx p0 −pz pypy pz p0 −pxpz −py px p0

P is orthogonal

P is normal if p is a unit quaternion

P is skew-symmetrc if p has zero scalar part

p q = Q p

where

Q =

q0 −qx −qy −qzqx q0 qz −qyqy −qz q0 qxqz qy −qx q0

19

Page 20: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Conjugate, Dot-Product, Norm, and Inverse

Not commutative: p q = q p

Associative: (p q) r = p (q r)

Conjugate: (p,p)∗ = (p,−p) → (pq)∗ = q∗p∗

Dot-product: (p,p) · (q,q) = pq + p · q

Norm: ‖q‖2 = q · q

q q∗ = (q,q) (q,−q) = (q2 + q · q,0) = (q · q) e

So q q∗ = (q · q) e and q∗ q = (q · q) e where e = (1,0)

Multiplicative inverse: q−1 = 1/(q · q) q∗

20

Page 21: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Dot-products of Products

(p q) · (p q) = (p · p)(q · q)

(p q) · (p r) = (p · p)(q · r)

(p q) · r = p · (r q∗)

Quaternions representing Vectors

r = (0, r)

r∗ = −r

r · s = r · s

r s = (−r · s, r× s)

(r s) · t = r · (s t) = [r s t]

r r = −(r · r) e

21

Page 22: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Representation of Rotation using Unit Quaternions

Representing Scalars: (s,0)

Representing Vectors: (0,v)

Quaternion operation that maps from vectors to vectors

r′ = q r q∗

q r q∗ = (Qr)q∗ = (QTQ)r

q · q 0 0 0

0 (q20 + q2

x − q2y − q2

z) 2(qxqy − q0qz) 2(qxqz + q0qy)0 2(qyqx + q0qz) (q2

0 − q2x + q2

y − q2z) 2(qyqz − q0qx)

0 2(qzqx − q0qy) 2(qzqy + q0qz) (q20 − q2

x − q2y + q2

z)

If q is a unit quaternion, the lower right 3× 3 submatrix is orthonormal

22

Page 23: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Properties of the Mapping

r′ = q r q∗

Scalar part: r ′ = r(q · q)

Vector part: r′ = (q2 − q · q) r+ 2(q · r)q+ 2q(q× r)

Preserves dot-products: r′ · s′ = r · s → r′ · s′ = r · s

Preserves triple products: (r′ · s′) · t′ = (r · s) · t → [r’ s’ t’] = [r s t]

Composition: p (q r q∗) p∗ = (p q) r (q∗ p∗) = (p q) r (p q)∗

23

Page 24: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Relation with Rodrígues formula

r′ = (q2 − q · q) r+ 2(q · r)q+ 2q(q× r)

r′ = cosθ r+ (1− cosθ) (ω · r) ω+ sinθ (ω× r)

q parallel to ω

(q2 − q · q) = cosθ, 2‖q‖2 = (1− cosθ), and 2q‖q‖ = sinθ.

q = cos(θ/2), ‖q‖ = sin(θ/2)

Conclusion: q = (cos(θ/2), ω sin(θ/2))

Note that −q represents the same mapping as q —

since (−q) r (−q)∗ = q r q∗

24

Page 25: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Photogrammetry

Absolute orientation (3D to 3D) — range data

Relative orientation (2D to 2D) — binocular stereo

Exterior orientation (3D to 2D) — passive navigation

Interior orientation (2D to 3D) — camera calibration

25

Page 26: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Absolute Orientation

26

Page 27: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Absolute Orientation

Given corresponding coordinates measured in two coordinate systems— determine transformation between coordinate systems

OR

Given corresponding coordinates before and after motion— determine rotation, translation.

Model rr = R(rl)+ r0

Find (best-fit) rotation R(...) and translation r0.

given sets of corresponding rli and rri

27

Page 28: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Least Squares Approach

28

Page 29: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Finding the Translation

Minimizen∑i=1

∥∥rri −(R(rli)+ r0

)∥∥2

Set derivative w.r.t r0 equal to zero.

2n∑i=1

(rri − (R(rli)+ r0)

) = 0

n∑i=1

rri − R n∑i=1

rli

= n r0

1n

n∑i=1

rri − R 1n

n∑i=1

rli

= r0

Solution for translation: r0 = rr − R (rl)

29

Page 30: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Finding the Rotation

Minimizen∑i=1

∥∥r′ri − R(r′li)∥∥2

where r′ri = rri − rr and r′li = rli − rl

n∑i=1

∥∥r′ri∥∥2 − 2

n∑i=1

r′ri · R(r′li)+n∑i=1

∥∥r′li∥∥2

Maximizen∑i=1

r′ri · R(r′li)

“Differentiate w.r.t. R(...)” ???

30

Page 31: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Finding the Best-Fit Rotation

Maximizen∑i=1

r′ri · R(r′li)

n∑i=1

(qr′li q∗) · r′ri

n∑i=1

(qr′li) · (r′ri q)

n∑i=1

(Rli q) · (Rri q)

qT

n∑i=1

RliTRri

q

subject to q · q = 1

31

Page 32: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Best-Fit Rotation

Maximize qT N q subject to q · q = 1

Where N =n∑i=1

RliTRri

Use Lagrange Multiplier to incorporate constraint

Maximize qT N q + λ (1− q · q)

Differentiate w.r.t. q (!) — Set result equal to zero:

2N q − 2λ q = 0

Eigenvector corresponding to largest eigenvalue of a

4× 4 real symmetric matrix N constructed from elements of

M =n∑i=1

r′lir′riT

an asymmetric 3× 3 real matrix.

32

Page 33: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Characteristic equation

λ4 + c3λ3 + c2λ2 + c1λ+ c0 = 0

Simplifies, since:

c3 = Trace(N) = 0

c2 = −2Trace(MTM)

c1 = −8 det(M)

c0 = det(N)

33

Page 34: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Other applications

• Relative Orientation,

• Camera Calibration

• Manipulator Kinematics

• Manipulator Fingerprinting

• Spacecraft Dynamics

34

Page 35: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Desirable Properties

• Ability to rotate vectors — or coordinate system

• Ability to compose rotations

• Intuitive, non-redundant representation

• Computational efficiency

• Interpolate orientations

• Averages over range of rotations

• Derivative w.r.t rotation — optimization, LSQ

• Sampling of rotations — uniform and random

• Notion of a space of rotations

12

Page 36: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

36

Page 37: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

37

Page 38: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Relative Orientation — binocular stereo

35

Page 39: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Manipulator kinematic equations

38

Page 40: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Computational Issues

Composition: p q

(p,p)(q,q) = (pq − p · q, pq+ qp+ p× q)

16 ×s and 12 +s

Compare: 3× 3 matrix product 27 ×s and 18 +s

Rotating vector: q r q∗

r′ = (q2 − q · q) r+ 2 (q · r)q+ 2q (q× r)

22 ×s and 16 +s

r′ = r+ 2q (q× r)+ 2 q× (q× r)

15 ×s and 12 +s

Compare: 3× 3 matrix-vector product 9 ×s and 6 +s

39

Page 41: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Renormalizing

Nearest unit quaternion — q/√

q · q

Nearest orthonormal matrix — M(MTM)−1/2

40

Page 42: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Space of rotations

Space of rotations — S3 with antipodal points identified

Space of rotations — projective space P3

Sampling: regular and random

Finite rotation groups — Platonic solids 12, 24, 60 elements

Getting finer sampling — sub-dividing the simplex

If qi is a group, so is q′i, where q′i = q0qi

41

Page 43: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Finite Rotation Groups

a = (√5− 1)/4, b = 1/2, c = 1/√

2, d = (√5+ 1)/4

Rotation group of the tetrahedron

(1, 0, 0, 0) (0, 1, 0, 0) (0, 0, 1, 0) (0, 0, 0, 1)(b, b, b, b) (b, b, b, −b) (b, b, −b, b) (b, b, −b, −b)(b, −b, b, b) (b, −b, b, −b) (b, −b, −b, b) (b, −b, −b, −b)Rotation group of the hexahedron / octahedron

(1, 0, 0, 0) (0, 1, 0, 0) (0, 0, 1, 0) (0, 0, 0, 1)(0, 0, c, c) (0, 0, c, −c) (0, c, 0, c) (0, c, 0, −c)(0, c, c, 0) (0, c, −c, 0) (c, 0, 0, c) (c, 0, 0, −c)(c, 0, c, 0) (c, 0, −c, 0) (c, c, 0, 0) (c, −c, 0, 0)(b, b, b, b) (b, b, b, −b) (b, b, −b, b) (b, b, −b, −b)(b, −b, b, b) (b, −b, b, −b) (b, −b, −b, b) (b, −b, −b, −b)

42

Page 44: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Finite Rotation Groups

a = (√5− 1)/4, b = 1/2, c = 1/√

2, d = (√5+ 1)/4

Rotation group of the dodecahderon / icosahedron

(1, 0, 0, 0) (0, 1, 0, 0) (0, 0, 1, 0) (0, 0, 0, 1)(0, a, b, d) (0, a, b, −d) (0, a, −b, d) (0, a, −b, −d)(0, b, d, a) (0, b, d, −a) (0, b, −d, a) (0, b, −d, −a)(0, d, b, a) (0, d, a, −b) (0, d, −a, b) (0, d, −a, −b)(a, 0, d, b) (a, 0, d, −b) (a, 0, −d, b) (a, 0, −d, −b)(b, 0, a, d) (b, 0, a, −d) (b, 0, −a, d) (b, 0, −a, −d)(d, 0, b, a) (d, 0, b, −a) (d, 0, −b, a) (d, 0, −b, −a)(a, b, 0, d) (a, b, 0, −d) (a, −b, 0, d) (a, −b, 0, −d)(b, d, 0, a) (b, d, 0, −a) (b, −d, 0, a) (b, −d, 0, −a)(d, a, 0, b) (d, a, 0, −b) (d, −a, 0, b) (d, −a, 0, −b)(a, d, b, 0) (a, d, −b, 0) (a, −d, b, 0) (a, −d, −b, 0)(b, a, d, 0) (b, a, −d, 0) (b, −a, d, 0) (b, −a, −d, 0)(d, b, a, 0) (d, b, −a, 0) (d, −b, a, 0) (d, −b, −a, 0)(b, b, b, b) (b, b, b, −b) (b, b, −b, b) (b, b, −b, −b)(b, −b, b, b) (b, −b, b, −b) (b, −b, −b, b) (b, −b, −b, −b)

43

Page 45: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Division algebras

Recursive definition of multiplication and conjugation

Conjugation: (a, b)∗ = (a∗,−b)

Multiplication: (a, b)(c, d) = (ac − db∗, a∗ d+ c b)

Real, Complex, Quaternion, Octonion, Sedenions, ...

R, C, H, O ...

Cayley numbers order n have 2n components

Loss of properties:

Ordering, Commutativity, Associativity, Lack of zero divisors...

44

Page 46: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Hermaphrodite Monster

Tait’s view of:

Gibbs’ vector analysis — dot-product and cross-product

Hamilton’s quaternions and Grassman algebra of extensions

45

Page 47: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Esoterica

Existence of Division Algebras

There exists (n) pointwise linearly independent smooth vector fields for then-sphere only when (n + 1) = 1,2,4,8 — this can be shown to imply thatdivision algebras over the reals can only occur for these dimensions.

Quaternion analysis (alá complex analysis)

Application to space-time (Relativity)

“Time is said to have only one dimension, and space to have three dimensions.... The mathematical quaternion partakes of both these elements; in technicallanguage it may be said to be ‘time plus space’...”

Clifford algebras

Bott periodicity

46

Page 48: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Evangelists

www.quaternion.com

Space-time: (i t, r) = (i t, x,y, z)

47

Berthold K.P. Horn
Placed Image
Page 49: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

String Theory

Octonions explain some curious features of string theory:

Lagrangian for classical superstring involves relationships between vectorsand spinors in Minkowski spacetime which holds only in 3, 4, 6, and 10 di-mensions (i.e. 2 more than the dimensions of R, C, H, O ...)

Can treat spinor as pair of elements of corresponding division algebra

Q: How many dimensions does superstring theory postulate?

A: More than the villainous inconstancy of man’s disposition is able to bear(Shakespeare).

48

Page 50: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

Parting thoughts

The real numbers are the dependable breadwinner of the family, the com-plete ordered field we all rely on.

The complex numbers are a slightly flashier but still respectable youngerbrother: not ordered, but algebraically complete.

The quaternions, being noncommutative, are the eccentric cousin who isshunned at important family gatherings.

But the octonions are the crazy old uncle nobody lets out of the attic: theyare nonassociative.

From: “The Octonions” by John C. BaezDepartment of MathematicsUniversity of CaliforniaRiverside CA 92521

49

Page 51: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

References

Euler, L. (1752) “Decouverte d’un nouveau principe de mécanique,”in Opera omnia, Ser. secunda, Vol. 5, Orell Füsli Turici, Lausannae.

Euler, L. (1758) “Du Mouvement de rotation des crops solides autourd’un axe variable” in Opera omnia, Ser. secunda, Vol. 8, Orell FüsliTurici, Lausannae.

Hamilton, W.R. (1844) “On quaternions; or on a new system of imag-inaries in algebra,” itemitalic Philosophical Magazine, Vol. 25, July

Cayley, A. (1845) “On Certain Results Relating to Quaterions,” Philo-sophical Magazine, Vol. 26, Feb.

Hamilton, W.R. (1899) Elements of Quaternions, Vols. 1 & 2, ChelseaPublishing, New York

50

Page 52: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

References

Salamin, E. (1979) “Application of Quaternions to Computation withRotations,” Stanford AI Lab Internal Working Paper.

Goldstein, H. (1980) Classical Mechanics, (2nd ed.), Chapter 4, Addison-Wesley, Reading, MA

Taylor, R.H. (1982) “Planning and Execution of Straight Line Manip-ulator Trajetcories.” in Robot Motion: Planning and Control (MichaelBrady et al. eds.), MIT Press

Brou, P. (1984) “Using the Gaussian Image to Find the Orientationof Objects,” IJ Robotics Research, Vol. 3, No. 4, winter.

Canny, J. (1984) “Collision Detection for Moving Polyhedra,” MIT AIMemo 806, October.

Shoemake, K. (1985) “Animating Rotation with Quaternion Curves”ACM, Vol. 19, No. 3, July

51

Page 53: Rotation — outline of talkpeople.csail.mit.edu/bkph/talkfiles/Quaternions.pdfRotation — outline of talk •Properties •Representations •Hamilton’s Quaternions •Rotation

References

Horn, B.K.P. (1986) Robot Vision (section 18.10), MIT Press & McGraw-Hill

Horn, B.K.P. (1987) “Closed From Solution of Absolute Orientationusing Unit Quaternions”, JOSA A, Vol. 4, No. 4, April.

Horn, B.K.P. (1991) “Relative Orientation Revisited,” JOSA A, Vol. 8,October.

Horn, B.K.P. (2000) “Tsai’s Camera Calibration Method Revisited,” —on my web page

52