rotations, rotations, and more...

269
Rotations, rotations, and more rotations … Marc De Graef, CMU AFOSR MURI FA9550-12-1-0458 CMU, 7/8/15 1 AN OVERVIEW OF ROTATION REPRESENTATIONS AND THE RELATIONS BETWEEN THEM

Upload: phamthien

Post on 09-Mar-2018

247 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotations, rotations,and more rotations …Marc De Graef, CMU

AFOSR MURI FA9550-12-1-0458 CMU, 7/8/151

AN OVERVIEW OF ROTATION REPRESENTATIONS AND THE RELATIONS BETWEEN THEM

Page 2: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Outline2D rotations

3D rotations

7 rotation representations

Conventions (places where you can go wrong…)

Motivation

2

Page 3: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Outline2D rotations

3D rotations

7 rotation representations

Conventions (places where you can go wrong…)

Motivation

2

PREPRINT: “Tutorial: Consistent Representations of and Conversions between 3D Rotations,” D. Rowenhorst, A.D. Rollett, G.S. Rohrer,

M. Groeber, M. Jackson, P.J. Konijnenberg, M. De Graef, MSMSE, under review (2015).

Page 4: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

3

Page 5: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

3

Page 6: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

x

0

y0✓

3

Page 7: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

x

0

y0✓

✓e0x

e0y

◆=

✓cos ✓ sin ✓� sin ✓ cos ✓

◆✓ex

ey

◆! e0

i

= Rp

ij

ej

3

Page 8: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

x

0

y0✓

✓e0x

e0y

◆=

✓cos ✓ sin ✓� sin ✓ cos ✓

◆✓ex

ey

◆! e0

i

= Rp

ij

ej

Rpij = e0i · ej

3

Page 9: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

Rotating the reference frame while keeping the object constant is known as a passive rotation.

x

0

y0✓

✓e0x

e0y

◆=

✓cos ✓ sin ✓� sin ✓ cos ✓

◆✓ex

ey

◆! e0

i

= Rp

ij

ej

Rpij = e0i · ej

3

Page 10: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

Rotating the reference frame while keeping the object constant is known as a passive rotation.

x

0

y0✓

✓e0x

e0y

◆=

✓cos ✓ sin ✓� sin ✓ cos ✓

◆✓ex

ey

◆! e0

i

= Rp

ij

ej

Rpij = e0i · ej

Assumptions: Cartesian reference frame, right-handed; positive rotation is counter-clockwise

3

Page 11: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

4

Page 12: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

x

0

y0✓

4

Page 13: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

x

0

y0✓

4

Page 14: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

x

0

y0✓ r = r0ie

0i = rjej

4

Page 15: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

x

0

y0✓ r = r0ie

0i = rjej

= r0iRpijej

= (Rp)Tjir0iej

4

Page 16: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

x

0

y0✓ r = r0ie

0i = rjej

= r0iRpijej

= (Rp)Tjir0iej

! rj = (Rp)Tjir0i

4

Page 17: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

x

y

x

0

y0✓ r = r0ie

0i = rjej

= r0iRpijej

= (Rp)Tjir0iej

! rj = (Rp)Tjir0i

! r0i = Rpijrj

4

Page 18: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

The passive matrix converts the old coordinates into the new coordinates by left-multiplication.

x

y

x

0

y0✓ r = r0ie

0i = rjej

= r0iRpijej

= (Rp)Tjir0iej

! rj = (Rp)Tjir0i

! r0i = Rpijrj

4

Page 19: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

5

Page 20: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

x

y2D Rotations

⇢cos↵

⇢ sin↵

↵⇢ (a, b)

5

Page 21: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

x

y2D Rotations

⇢cos↵

⇢ sin↵

↵⇢ (a, b)

(a0, b0)✓

⇢cos(↵+

✓)

⇢ sin(↵+ ✓)

5

Page 22: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

(a, b) = ⇢(cos↵, sin↵)

x

y2D Rotations

⇢cos↵

⇢ sin↵

↵⇢ (a, b)

(a0, b0)✓

⇢cos(↵+

✓)

⇢ sin(↵+ ✓)

5

Page 23: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

(a, b) = ⇢(cos↵, sin↵)

x

y2D Rotations

⇢cos↵

⇢ sin↵

↵⇢ (a, b)

(a0, b0)✓

⇢cos(↵+

✓)

⇢ sin(↵+ ✓)

#(a0, b0) = ⇢(cos(↵+ ✓), sin(↵+ ✓))

5

Page 24: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

(a, b) = ⇢(cos↵, sin↵)

x

y2D Rotations

⇢cos↵

⇢ sin↵

↵⇢ (a, b)

Rotating the object while keeping the reference frame constant is known as an active rotation.

(a0, b0)✓

⇢cos(↵+

✓)

⇢ sin(↵+ ✓)

#(a0, b0) = ⇢(cos(↵+ ✓), sin(↵+ ✓))

5

Page 25: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

6

Page 26: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations(a0, b0) = ⇢(cos(↵+ ✓), sin(↵+ ✓))

= ⇢(cos↵ cos ✓ � sin↵ sin ✓, cos↵ sin ✓ + sin↵ cos ✓)

= (a cos ✓ � b sin ✓, a sin ✓ + b cos ✓)

!✓

a0

b0

◆=

✓cos ✓ � sin ✓sin ✓ cos ✓

◆✓ab

6

Page 27: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations(a0, b0) = ⇢(cos(↵+ ✓), sin(↵+ ✓))

= ⇢(cos↵ cos ✓ � sin↵ sin ✓, cos↵ sin ✓ + sin↵ cos ✓)

= (a cos ✓ � b sin ✓, a sin ✓ + b cos ✓)

!✓

a0

b0

◆=

✓cos ✓ � sin ✓sin ✓ cos ✓

◆✓ab

r0 = Ra(✓)r = Rp(�✓)r

6

Page 28: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations

Ra= (Rp

)

T=

✓cos ✓ � sin ✓sin ✓ cos ✓

(a0, b0) = ⇢(cos(↵+ ✓), sin(↵+ ✓))

= ⇢(cos↵ cos ✓ � sin↵ sin ✓, cos↵ sin ✓ + sin↵ cos ✓)

= (a cos ✓ � b sin ✓, a sin ✓ + b cos ✓)

!✓

a0

b0

◆=

✓cos ✓ � sin ✓sin ✓ cos ✓

◆✓ab

r0 = Ra(✓)r = Rp(�✓)r

6

Page 29: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations: Summary

7

Page 30: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations: SummaryRa

(✓) =

✓cos ✓ � sin ✓sin ✓ cos ✓

7

Page 31: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations: Summary

Rp(✓) =

✓cos ✓ sin ✓� sin ✓ cos ✓

◆= (Ra

(✓))T

Ra(✓) =

✓cos ✓ � sin ✓sin ✓ cos ✓

7

Page 32: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations: Summary

Rp(✓) =

✓cos ✓ sin ✓� sin ✓ cos ✓

◆= (Ra

(✓))T

Ra(✓) =

✓cos ✓ � sin ✓sin ✓ cos ✓

Active: r0 = Ra(✓)r

7

Page 33: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

2D Rotations: Summary

Rp(✓) =

✓cos ✓ sin ✓� sin ✓ cos ✓

◆= (Ra

(✓))T

Ra(✓) =

✓cos ✓ � sin ✓sin ✓ cos ✓

Active: r0 = Ra(✓)r

Passive: r0 = Rp(✓)r = Ra(�✓)r

e0i = Rpij(✓)ej

7

Page 34: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Example

(2,3)

45°

(2,3)

45°

-45°

8

Page 35: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleACTIVE

(2,3)

45°

(2,3)

45°

-45°

8

Page 36: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleACTIVE PASSIVE

(2,3)

45°

(2,3)

45°

-45°

8

Page 37: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex NumbersPOLAR REPRESENTATION

GRAPHICAL REPRESENTATION

9

Page 38: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex NumbersPOLAR REPRESENTATION

z = ⇢ei✓ = ⇢(cos ✓ + i sin ✓)

a = ⇢ cos ✓; b = ⇢ sin ✓; ⇢ = |z|; ✓ = tan

�1 b

a

GRAPHICAL REPRESENTATION

9

Page 39: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex NumbersPOLAR REPRESENTATION

z = ⇢ei✓ = ⇢(cos ✓ + i sin ✓)

a = ⇢ cos ✓; b = ⇢ sin ✓; ⇢ = |z|; ✓ = tan

�1 b

a

x

iy

a

b

GRAPHICAL REPRESENTATION

9

Page 40: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex NumbersPOLAR REPRESENTATION

z = ⇢ei✓ = ⇢(cos ✓ + i sin ✓)

a = ⇢ cos ✓; b = ⇢ sin ✓; ⇢ = |z|; ✓ = tan

�1 b

a

x

iy

a

b

GRAPHICAL REPRESENTATION CONNECTION TO ROTATIONSei✓z

9

Page 41: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex NumbersPOLAR REPRESENTATION

z = ⇢ei✓ = ⇢(cos ✓ + i sin ✓)

a = ⇢ cos ✓; b = ⇢ sin ✓; ⇢ = |z|; ✓ = tan

�1 b

a

x

iy

a

b

GRAPHICAL REPRESENTATION CONNECTION TO ROTATIONSei✓z

z =1p2(1 + i); ✓ =

4

ei✓z =

✓1p2(1 + i)

◆2

= i

9

Page 42: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex NumbersPOLAR REPRESENTATION

z = ⇢ei✓ = ⇢(cos ✓ + i sin ✓)

a = ⇢ cos ✓; b = ⇢ sin ✓; ⇢ = |z|; ✓ = tan

�1 b

a

x

iy

a

b

GRAPHICAL REPRESENTATION CONNECTION TO ROTATIONSei✓z

z =1p2(1 + i); ✓ =

4

ei✓z =

✓1p2(1 + i)

◆2

= i

9

Page 43: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex NumbersPOLAR REPRESENTATION

z = ⇢ei✓ = ⇢(cos ✓ + i sin ✓)

a = ⇢ cos ✓; b = ⇢ sin ✓; ⇢ = |z|; ✓ = tan

�1 b

a

x

iy

a

b

GRAPHICAL REPRESENTATION CONNECTION TO ROTATIONSei✓z

z =1p2(1 + i); ✓ =

4

ei✓z =

✓1p2(1 + i)

◆2

= i

2D ROTATION = MULTIPLICATION BY A UNIT COMPLEX NUMBER9

Page 44: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

3D Rotations

10

Page 45: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

In 3D, we need a rotation axis, and an angle ω (we ignore the case of a rotation axis that does not go through the origin)

For the axis, we can specify a set of three direction cosines, and this requires the choice of a reference frame and a handedness.

3D Rotations

10

Page 46: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

In 3D, we need a rotation axis, and an angle ω (we ignore the case of a rotation axis that does not go through the origin)

For the axis, we can specify a set of three direction cosines, and this requires the choice of a reference frame and a handedness.

3D Rotations

ex

ey

ez

β1β2

β3 n

10

Page 47: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

In 3D, we need a rotation axis, and an angle ω (we ignore the case of a rotation axis that does not go through the origin)

For the axis, we can specify a set of three direction cosines, and this requires the choice of a reference frame and a handedness.

3D Rotations

ˆn = (cos�1, cos�2, cos�3)

cos

2 �1 + cos

2 �2 + cos

2 �3 = 1

ex

ey

ez

β1β2

β3 n

10

Page 48: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

In 3D, we need a rotation axis, and an angle ω (we ignore the case of a rotation axis that does not go through the origin)

For the axis, we can specify a set of three direction cosines, and this requires the choice of a reference frame and a handedness.

3D Rotations

ˆn = (cos�1, cos�2, cos�3)

cos

2 �1 + cos

2 �2 + cos

2 �3 = 1

Axis-angle pair: (

ˆn,!)Representation 1:

ex

ey

ez

β1β2

β3 n

10

Page 49: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Core rotation conventions

11

Page 50: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Core rotation conventions

11

Convention 1: When dealing with 3D rotations,

all cartesian reference frames will be right-handed.

Page 51: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Core rotation conventions

11

Convention 1: When dealing with 3D rotations,

all cartesian reference frames will be right-handed.

Convention 2: A rotation angle ! is taken to be positive

for a counterclockwise rotation when viewing from the end

point of the axis unit vector

ˆ

n towards the origin.

Page 52: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Core rotation conventions

11

Convention 1: When dealing with 3D rotations,

all cartesian reference frames will be right-handed.

Convention 2: A rotation angle ! is taken to be positive

for a counterclockwise rotation when viewing from the end

point of the axis unit vector

ˆ

n towards the origin.

Convention 3: Rotations will be interpreted in the passive sense.

Page 53: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Core rotation conventions

11

Convention 1: When dealing with 3D rotations,

all cartesian reference frames will be right-handed.

Convention 2: A rotation angle ! is taken to be positive

for a counterclockwise rotation when viewing from the end

point of the axis unit vector

ˆ

n towards the origin.

Convention 3: Rotations will be interpreted in the passive sense.

Convention 4: In !@n, the angle ! lies in the interval [0,⇡].

Page 54: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Core rotation conventions

11

Convention 1: When dealing with 3D rotations,

all cartesian reference frames will be right-handed.

Convention 2: A rotation angle ! is taken to be positive

for a counterclockwise rotation when viewing from the end

point of the axis unit vector

ˆ

n towards the origin.

Convention 3: Rotations will be interpreted in the passive sense.

Convention 4: In !@n, the angle ! lies in the interval [0,⇡].

Convention 5: Euler angle triplets ✓ = ('1,�,'2) use the Bunge convention,

with angular ranges '1 2 [0, 2⇡], � 2 [0,⇡], and '2 2 [0, 2⇡].

Page 55: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler has shown that any 3D rotation can be decomposed into a sequence of, at the most, three separate rotations around mutually perpendicular rotation axes, which are usually chosen to be the cartesian coordinate axes.

One can pick three different axes, (xyz) in any order, so that produces a total of 6 possible angle triplets, commonly known as Tait-Bryan angles (heading-elevation-bank; yaw-pitch-roll; …)

Or, one picks axes with the first and third around the same name axis, e.g. (zxz) or (yxy); the resulting angle triplets are known as Euler angles.

Euler angles, like latitude and longitude on the sphere, suffer from a degeneracy at certain points, which is an undesirable and sometimes problematic property.

Euler angle representation

12

Page 56: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle representation

13

Page 57: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle representationBunge convention (zxz) : ('1,�,'2)

13

Page 58: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle representationBunge convention (zxz) : ('1,�,'2)

xy

z

13

Page 59: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle representationBunge convention (zxz) : ('1,�,'2)

xy

z

x’

y’

z’

'1

13

Page 60: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle representationBunge convention (zxz) : ('1,�,'2)

xy

z

x’

y’

z’

'1 x’’

y’’

z’’

13

Page 61: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle representationBunge convention (zxz) : ('1,�,'2)

xy

z

x’

y’

z’

'1 x’’

y’’

z’’

x’’’

y’’’z’’’

'2

13

Page 62: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle representationBunge convention (zxz) : ('1,�,'2)

xy

z

x’

y’

z’

'1 x’’

y’’

z’’

x’’’

y’’’z’’’

'2

✓ = ('1,�,'2)13

Page 63: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle space

14

Page 64: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle space

M�

M�

)

�S

�S

S

14

Page 65: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle space

M�

M�

)

�S

�S

S

This is a periodic space !!!! This is a periodic space !!!! This is a periodic space !!!! This is a14

Page 66: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler angle space

M�

M�

)

�S

�S

S

14

Page 67: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler to rotation matrix

Page 68: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler to rotation matrix

Page 69: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler to rotation matrix

Page 70: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler to rotation matrix

Page 71: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Euler to rotation matrix

Note the minus sign!!!

Page 72: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Contradiction ?

Page 73: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Contradiction ?

Page 74: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Contradiction ?

Page 75: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Contradiction ?

Page 76: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Contradiction ?

Page 77: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Contradiction ?

So, which one is it ?

Page 78: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Contradiction ?

So, which one is it ?

Page 79: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Contradiction ?

So, which one is it ?

This is counterintuitive, but mathematically correct !!!

Page 80: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Motivation

17

Page 81: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

MotivationOver the years, I have found ambiguities in the rules for combining two rotations, as well as discrepancies in the transformation equations between rotation representations.

17

Page 82: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

MotivationOver the years, I have found ambiguities in the rules for combining two rotations, as well as discrepancies in the transformation equations between rotation representations.

In addition, the concept of Fundamental Zone appears to be ill understood by the community.

17

Page 83: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

MotivationOver the years, I have found ambiguities in the rules for combining two rotations, as well as discrepancies in the transformation equations between rotation representations.

In addition, the concept of Fundamental Zone appears to be ill understood by the community.

So, around the time of the 3D conference in Annecy, we decided to have a small-scale round-robin to see whether or not we all agree on the various rotation representations…

17

Page 84: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

MotivationOver the years, I have found ambiguities in the rules for combining two rotations, as well as discrepancies in the transformation equations between rotation representations.

In addition, the concept of Fundamental Zone appears to be ill understood by the community.

So, around the time of the 3D conference in Annecy, we decided to have a small-scale round-robin to see whether or not we all agree on the various rotation representations…

Tony Rollett, Greg Rohrer, Dave Rowenhorst, Mike Jackson, Mike Groeber, Peter Konijnenberg, and myself.

17

Page 85: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

MotivationOver the years, I have found ambiguities in the rules for combining two rotations, as well as discrepancies in the transformation equations between rotation representations.

In addition, the concept of Fundamental Zone appears to be ill understood by the community.

So, around the time of the 3D conference in Annecy, we decided to have a small-scale round-robin to see whether or not we all agree on the various rotation representations…

Tony Rollett, Greg Rohrer, Dave Rowenhorst, Mike Jackson, Mike Groeber, Peter Konijnenberg, and myself.

Warm-up question: for the Euler angle triplet below, compute all the alternative rotation representations.

17

Page 86: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

MotivationOver the years, I have found ambiguities in the rules for combining two rotations, as well as discrepancies in the transformation equations between rotation representations.

In addition, the concept of Fundamental Zone appears to be ill understood by the community.

So, around the time of the 3D conference in Annecy, we decided to have a small-scale round-robin to see whether or not we all agree on the various rotation representations…

Tony Rollett, Greg Rohrer, Dave Rowenhorst, Mike Jackson, Mike Groeber, Peter Konijnenberg, and myself.

Warm-up question: for the Euler angle triplet below, compute all the alternative rotation representations.

✓ = (2.721670, 0.148401, 0.148886) rad = (155.940�, 8.50275�, 8.53054�)

17

Page 87: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

No two participants agreed on all representations!

mostly discrepancies in signs

Surprise…

18

Page 88: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

No two participants agreed on all representations!

mostly discrepancies in signs

Surprise…

Table 1: Axis-Angle Results

Person x y z Angle

DeGraef 0.020992 0.071809 0.997197 164.513710

Rowenhorst MISSING MISSING MISSING MISSING

DREAM3D 0.02099191 0.07180921 0.9971974 164.51373

Rollett 0.02099190 0.071809206 0.9971974 164.51373

Rohrer 0.02099190 0.071809247 0.9971980 164.51373

Konijnenberg -0.020992 -0.071809 -0.997197 164.51373

18

Page 89: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

19

Page 90: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Table 1: Rodrigues Results

Person x y z

DeGraef 0.154384 0.528118 7.333844

Rowenhorst MISSING MISSING MISSING

DREAM3D 0.154384 0.528118 7.333844

Rollett 0.154384 0.528118 7.333848

Rohrer MISSING MISSING MISSING

Konijnenberg -0.154384 -0.528118 -7.333848

19

Page 91: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Table 1: Rodrigues Results

Person x y z

DeGraef 0.154384 0.528118 7.333844

Rowenhorst MISSING MISSING MISSING

DREAM3D 0.154384 0.528118 7.333844

Rollett 0.154384 0.528118 7.333848

Rohrer MISSING MISSING MISSING

Konijnenberg -0.154384 -0.528118 -7.333848

Table 1: Quaternion Results

Person w x y z

DeGraef 0.134732 -0.020801 -0.071154 -0.988105

Rowenhorst 0.134732 -0.020801 -0.071154 -0.988105

DREAM3D 0.134732 0.020801 0.071154 0.988105

Rollett 0.134732 0.020801 0.071154 0.988105

Rohrer MISSING MISSING MISSING MISSING

Konijnenberg 0.134732 -0.020801 -0.071154 -0.988105

19

Page 92: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

20

Page 93: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Everybody agrees on the rotation matrix:

0

@�0.962829 0.269219 0.021933�0.263299 �0.953569 0.1462210.060280 0.135011 0.989009

1

A

20

Page 94: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

These results indicate that something is clearly incorrect.

Everybody agrees on the rotation matrix:

0

@�0.962829 0.269219 0.021933�0.263299 �0.953569 0.1462210.060280 0.135011 0.989009

1

A

20

Page 95: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

These results indicate that something is clearly incorrect.

It took me pretty much the entire 2014 Summer to

figure out how to resolve this problem.

Everybody agrees on the rotation matrix:

0

@�0.962829 0.269219 0.021933�0.263299 �0.953569 0.1462210.060280 0.135011 0.989009

1

A

20

Page 96: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

These results indicate that something is clearly incorrect.

It took me pretty much the entire 2014 Summer to

figure out how to resolve this problem.

Everybody agrees on the rotation matrix:

0

@�0.962829 0.269219 0.021933�0.263299 �0.953569 0.1462210.060280 0.135011 0.989009

1

A

20

So, who turned out to be completely correct?

Page 97: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

These results indicate that something is clearly incorrect.

It took me pretty much the entire 2014 Summer to

figure out how to resolve this problem.

Everybody agrees on the rotation matrix:

0

@�0.962829 0.269219 0.021933�0.263299 �0.953569 0.1462210.060280 0.135011 0.989009

1

A

20

So, who turned out to be completely correct?

Peter Konijnenberg.

Everybody else had at least one inconsistency. . .

Page 98: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

The solution to the problem is that we need to agree on one more convention;

We will introduce a number, P, which is equal to +1 or -1; in the rotations library, you can chose which one to use, but once you make that choice, everything else is fixed, including the rotation interpretation.

In the remainder of this talk, we will use modified definitions that include P; all these relations are implemented in DREAM.3D 6.0.0, with the choice P=+1 (set at compile time)

Core rotation conventions

Page 99: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

3D Rotation Representations

22

Page 100: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

The axis-angle pair is essentially useless for computational purposes…

3D Rotation Representations

22

Page 101: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

The axis-angle pair is essentially useless for computational purposes…

Based on the axis-angle pair, we can introduce a series of representations/parameterizations based on the general form:

3D Rotation Representations

22

Page 102: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

The axis-angle pair is essentially useless for computational purposes…

Based on the axis-angle pair, we can introduce a series of representations/parameterizations based on the general form:

3D Rotation Representations

n̂f(!)

22

Page 103: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

The axis-angle pair is essentially useless for computational purposes…

Based on the axis-angle pair, we can introduce a series of representations/parameterizations based on the general form:

3D Rotation Representations

n̂f(!)

f must be a well-behaved monotonic function of the angle

22

Page 104: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

The axis-angle pair is essentially useless for computational purposes…

Based on the axis-angle pair, we can introduce a series of representations/parameterizations based on the general form:

3D Rotation Representations

n̂f(!)

f must be a well-behaved monotonic function of the angle

All rotation representations of this form are known as neo-Eulerian representations [Frank]

rotation vector

Rodrigues-Frank vector

Homochoric vector

quaternion vector part

stereographic vector22

Page 105: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

The axis-angle pair is essentially useless for computational purposes…

Based on the axis-angle pair, we can introduce a series of representations/parameterizations based on the general form:

3D Rotation Representations

n̂f(!)

f must be a well-behaved monotonic function of the angle

All rotation representations of this form are known as neo-Eulerian representations [Frank]

rotation vector

Rodrigues-Frank vector

Homochoric vector

quaternion vector part

stereographic vector22

�P n̂!

�P n̂ tan!

2

�P n̂ sin!

2

�P n̂ tan!

4

�P n̂

3

4(! � sin!)

� 13

Page 106: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

The axis-angle pair is essentially useless for computational purposes…

Based on the axis-angle pair, we can introduce a series of representations/parameterizations based on the general form:

3D Rotation Representations

n̂f(!)

f must be a well-behaved monotonic function of the angle

All rotation representations of this form are known as neo-Eulerian representations [Frank]

rotation vector

Rodrigues-Frank vector

Homochoric vector

quaternion vector part

stereographic vector22

�P n̂!

�P n̂ tan!

2

�P n̂ sin!

2

�P n̂ tan!

4

�P n̂

3

4(! � sin!)

� 13

axis-angle pair

(�P ˆn,!)

Page 107: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Straight multiplication is not used very often

3D Rotations

Rodrigues vector is very important, but computationally, a 180° rotation can be problematic because the tan function produces infinity …

We’ll deal with quaternions on the following slides; they require a bit of explanation…

The homochoric representation only makes sense after you understand quaternions

23

very useful for visualization of rotations and textures

�P n̂!

�P n̂ tan!

2

�P n̂ sin!

2

�P n̂ tan!

4

�P n̂

3

4(! � sin!)

� 13

Page 108: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

neo-Eulerian scaling functions

0.0 0.5 1.0 1.5 2.0 2.5 3.00.0

0.5

1.0

1.5

2.0

2.5

3.0

Rotation angle ω

Neo

-eul

eria

n fu

nctio

n f (ω)

Page 109: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex numbers and rotations in 3D?try z = a+ ib+ jc with i2 = j2 = �1 and ij = �ji

25

Page 110: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex numbers and rotations in 3D?

Turns out that one can get very far with this definition, except for the fact that it is impossible to obtain a multiplicative inverse (in other words, if z represents a rotation, then there would not necessarily be an opposite rotation...)

try z = a+ ib+ jc with i2 = j2 = �1 and ij = �ji

25

Page 111: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex numbers and rotations in 3D?

Turns out that one can get very far with this definition, except for the fact that it is impossible to obtain a multiplicative inverse (in other words, if z represents a rotation, then there would not necessarily be an opposite rotation...)

In 1844, W.R. Hamilton discovered that adding another term solved the problem; he introduced the notion of quaternions (meaning numbers with 4 components); quaternion multiplication is non-commutative.

try z = a+ ib+ jc with i2 = j2 = �1 and ij = �ji

25

Page 112: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Complex numbers and rotations in 3D?

Turns out that one can get very far with this definition, except for the fact that it is impossible to obtain a multiplicative inverse (in other words, if z represents a rotation, then there would not necessarily be an opposite rotation...)

In 1844, W.R. Hamilton discovered that adding another term solved the problem; he introduced the notion of quaternions (meaning numbers with 4 components); quaternion multiplication is non-commutative.

try z = a+ ib+ jc with i2 = j2 = �1 and ij = �ji

25

q = q0 + q1i + q2j + q3k

Page 113: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternionsq = a+ ib+ jc+ kd

i2 = j2 = k2 = �1

ij = �ji = k jk = �kj = i ki = �ik = j

26

Page 114: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternionsq = a+ ib+ jc+ kd

i2 = j2 = k2 = �1

ij = �ji = k jk = �kj = i ki = �ik = j

quaternion multiplication is non-commutative

26

Page 115: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternionsq = a+ ib+ jc+ kd

i2 = j2 = k2 = �1

ij = �ji = k jk = �kj = i ki = �ik = j

quaternion multiplication is non-commutative

q = [a, b, c, d] a is the scalar part, (b, c, d) the vector part

26

Page 116: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternionsq = a+ ib+ jc+ kd

i2 = j2 = k2 = �1

ij = �ji = k jk = �kj = i ki = �ik = j

quaternion multiplication is non-commutative

q = [a, b, c, d] a is the scalar part, (b, c, d) the vector part

q = [a,q] q = bi + cj + dk

26

Page 117: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternionsq = a+ ib+ jc+ kd

i2 = j2 = k2 = �1

ij = �ji = k jk = �kj = i ki = �ik = j

quaternion multiplication is non-commutative

q = [a, b, c, d] a is the scalar part, (b, c, d) the vector part

q = [0, b, c, d] is a pure quaternion, also known as a versor

q = [a,q] q = bi + cj + dk

26

Page 118: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternionsq = a+ ib+ jc+ kd

i2 = j2 = k2 = �1

ij = �ji = k jk = �kj = i ki = �ik = j

quaternion multiplication is non-commutative

q = [a, b, c, d] a is the scalar part, (b, c, d) the vector part

q = [0, b, c, d] is a pure quaternion, also known as a versor

quaternion norm: |q|2 = q q⇤ = a2 + b2 + c2 + d2

quaternion conjugation: q⇤ = [a,�q]

q = [a,q] q = bi + cj + dk

26

Page 119: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion Operations

27

Page 120: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion Operations[p0, p1, p2, p3] + [q0, q1, q2, q3] = [p0 + q0, p1 + q1, p2 + q2, p3 + q3]

ADDITION

27

Page 121: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion Operations[p0, p1, p2, p3] + [q0, q1, q2, q3] = [p0 + q0, p1 + q1, p2 + q2, p3 + q3]

ADDITION

MULTIPLICATION[p0, p1, p2, p3][q0, q1, q2, q3] = [p0q0 � p1q1 � p2q2 � p3q3,

p0q1 + q0p1 + p2q3 � p3q2,

p0q2 + q0p2 + p3q1 � p1q3,

p0q3 + q0p3 + p1q2 � p2q1]

27

Page 122: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion Operations[p0, p1, p2, p3] + [q0, q1, q2, q3] = [p0 + q0, p1 + q1, p2 + q2, p3 + q3]

ADDITION

[p0,p][q0,q] = [p0q0 � p · q, p0q+ q0p+ p⇥ q]

MULTIPLICATION[p0, p1, p2, p3][q0, q1, q2, q3] = [p0q0 � p1q1 � p2q2 � p3q3,

p0q1 + q0p1 + p2q3 � p3q2,

p0q2 + q0p2 + p3q1 � p1q3,

p0q3 + q0p3 + p1q2 � p2q1]

27

Page 123: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion Operations[p0, p1, p2, p3] + [q0, q1, q2, q3] = [p0 + q0, p1 + q1, p2 + q2, p3 + q3]

ADDITION

[p0,p][q0,q] = [p0q0 � p · q, p0q+ q0p+ p⇥ q]

pq 6= qp

MULTIPLICATION[p0, p1, p2, p3][q0, q1, q2, q3] = [p0q0 � p1q1 � p2q2 � p3q3,

p0q1 + q0p1 + p2q3 � p3q2,

p0q2 + q0p2 + p3q1 � p1q3,

p0q3 + q0p3 + p1q2 � p2q1]

27

Page 124: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion Operations[p0, p1, p2, p3] + [q0, q1, q2, q3] = [p0 + q0, p1 + q1, p2 + q2, p3 + q3]

ADDITION

[p0,p][q0,q] = [p0q0 � p · q, p0q+ q0p+ p⇥ q]

pq 6= qp

MULTIPLICATION[p0, p1, p2, p3][q0, q1, q2, q3] = [p0q0 � p1q1 � p2q2 � p3q3,

p0q1 + q0p1 + p2q3 � p3q2,

p0q2 + q0p2 + p3q1 � p1q3,

p0q3 + q0p3 + p1q2 � p2q1]

27

Page 125: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion Operations[p0, p1, p2, p3] + [q0, q1, q2, q3] = [p0 + q0, p1 + q1, p2 + q2, p3 + q3]

ADDITION

[p0,p][q0,q] = [p0q0 � p · q, p0q+ q0p+ p⇥ q]

pq 6= qp

MULTIPLICATION[p0, p1, p2, p3][q0, q1, q2, q3] = [p0q0 � p1q1 � p2q2 � p3q3,

p0q1 + q0p1 + p2q3 � p3q2,

p0q2 + q0p2 + p3q1 � p1q3,

p0q3 + q0p3 + p1q2 � p2q1]

27

Page 126: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion Operations[p0, p1, p2, p3] + [q0, q1, q2, q3] = [p0 + q0, p1 + q1, p2 + q2, p3 + q3]

ADDITION

[p0,p][q0,q] = [p0q0 � p · q, p0q+ q0p+ p⇥ q]

pq 6= qp

MULTIPLICATION[p0, p1, p2, p3][q0, q1, q2, q3] = [p0q0 � p1q1 � p2q2 � p3q3,

p0q1 + q0p1 + p2q3 � p3q2,

p0q2 + q0p2 + p3q1 � p1q3,

p0q3 + q0p3 + p1q2 � p2q1]

pq + qp = 2[p0q0 � p · q, p0q+ q0p]pq � qp = 2[0,p⇥ q]

27

Page 127: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion Operations[p0, p1, p2, p3] + [q0, q1, q2, q3] = [p0 + q0, p1 + q1, p2 + q2, p3 + q3]

ADDITION

[p0,p][q0,q] = [p0q0 � p · q, p0q+ q0p+ p⇥ q]

INVERSEq�1 = q⇤/|q|2 = [q0,�q]/(q20 + q21 + q22 + q23)

pq 6= qp

MULTIPLICATION[p0, p1, p2, p3][q0, q1, q2, q3] = [p0q0 � p1q1 � p2q2 � p3q3,

p0q1 + q0p1 + p2q3 � p3q2,

p0q2 + q0p2 + p3q1 � p1q3,

p0q3 + q0p3 + p1q2 � p2q1]

pq + qp = 2[p0q0 � p · q, p0q+ q0p]pq � qp = 2[0,p⇥ q]

27

Page 128: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

28

Page 129: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

28

Page 130: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

Scalar part: p0q0 � p · q

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

= 14 �

�3⇥ �1

4

�= 1

28

Page 131: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

Scalar part: p0q0 � p · q

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

= 14 �

�3⇥ �1

4

�= 1

Vector part: p0q+ q0p+ p⇥ q

28

Page 132: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

Scalar part: p0q0 � p · q

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

= 14 �

�3⇥ �1

4

�= 1

Vector part: p0q+ q0p+ p⇥ q

0

1

2

0

@�12�12�12

1

A+1

2

0

@121212

1

A

(0, 0, 0)

28

Page 133: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

Scalar part: p0q0 � p · q

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

= 14 �

�3⇥ �1

4

�= 1

Vector part: p0q+ q0p+ p⇥ q12

12

12

12

12

12

�12

�12

�12

�12

�12

�12

0

1

2

0

@�12�12�12

1

A+1

2

0

@121212

1

A

(0, 0, 0)

28

Page 134: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

Scalar part: p0q0 � p · q

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

= 14 �

�3⇥ �1

4

�= 1

Vector part: p0q+ q0p+ p⇥ q12

12

12

12

12

12

�12

�12

�12

�12

�12

�12

0

1

2

0

@�12�12�12

1

A+1

2

0

@121212

1

A

(0, 0, 0)

28

Page 135: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

Scalar part: p0q0 � p · q

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

= 14 �

�3⇥ �1

4

�= 1

Vector part: p0q+ q0p+ p⇥ q12

12

12

12

12

12

�12

�12

�12

�12

�12

�12

⇥ ⇥ ⇥

0

1

2

0

@�12�12�12

1

A+1

2

0

@121212

1

A

(0, 0, 0)

28

Page 136: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

Scalar part: p0q0 � p · q

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

= 14 �

�3⇥ �1

4

�= 1

Vector part: p0q+ q0p+ p⇥ q12

12

12

12

12

12

�12

�12

�12

�12

�12

�12

⇥ ⇥ ⇥

(0, 0, 0)

0

1

2

0

@�12�12�12

1

A+1

2

0

@121212

1

A

(0, 0, 0)

28

Page 137: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

Scalar part: p0q0 � p · q

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

= 14 �

�3⇥ �1

4

�= 1

Vector part: p0q+ q0p+ p⇥ q12

12

12

12

12

12

�12

�12

�12

�12

�12

�12

⇥ ⇥ ⇥

(0, 0, 0)

0

1

2

0

@�12�12�12

1

A+1

2

0

@121212

1

A

(0, 0, 0) ! pq = [1, 0, 0, 0]

28

Page 138: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

ExampleMultiply the following quaternions: p =

⇥12 ,

12 ,

12 ,

12

⇤and

q =

⇥12 ,

�12 , �1

2 , �12

⇤using the vectorial expression.

Scalar part: p0q0 � p · q

p0 = 12 , q0 = 1

2 , p = [ 12 ,12 ,

12 ] and q = [�1

2 , �12 , �1

2 ]

= 14 �

�3⇥ �1

4

�= 1

Vector part: p0q+ q0p+ p⇥ q12

12

12

12

12

12

�12

�12

�12

�12

�12

�12

⇥ ⇥ ⇥

(0, 0, 0)

0

1

2

0

@�12�12�12

1

A+1

2

0

@121212

1

A

(0, 0, 0) ! pq = [1, 0, 0, 0]

This is to be expected since q = p⇤, so that pp⇤ = |p|2 = 1.

28

Page 139: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Recall that unit complex numbers can be written in exponential form as:

We know that they represent 2D rotations

In the same way, unit quaternions represent 3D rotations

Unit Quaternions

ei✓

|q| = 1

29

Page 140: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Given an axis-angle pair, computing the corresponding quaternion is very easy:

Unit Quaternions

Example: For the axis-angle pair ([111], 120°), what is the quaternion representation for P=-1?

30

(�P ˆn,!) !hcos

!

2

,�P ˆn sin

!

2

i

Page 141: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

quaternion vector

Given an axis-angle pair, computing the corresponding quaternion is very easy:

Unit Quaternions

Example: For the axis-angle pair ([111], 120°), what is the quaternion representation for P=-1?

30

(�P ˆn,!) !hcos

!

2

,�P ˆn sin

!

2

i

Page 142: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

quaternion vector

Given an axis-angle pair, computing the corresponding quaternion is very easy:

Unit Quaternions

Example: For the axis-angle pair ([111], 120°), what is the quaternion representation for P=-1?

30

! = 120� =2⇡

3

(�P ˆn,!) !hcos

!

2

,�P ˆn sin

!

2

i

Page 143: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

quaternion vector

Given an axis-angle pair, computing the corresponding quaternion is very easy:

Unit Quaternions

Example: For the axis-angle pair ([111], 120°), what is the quaternion representation for P=-1?

30

! = 120� =2⇡

3! cos

3

=

1

2

, sin⇡

3

=

p3

2

(�P ˆn,!) !hcos

!

2

,�P ˆn sin

!

2

i

Page 144: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

quaternion vector

Given an axis-angle pair, computing the corresponding quaternion is very easy:

Unit Quaternions

Example: For the axis-angle pair ([111], 120°), what is the quaternion representation for P=-1?

30

! = 120� =2⇡

3! cos

3

=

1

2

, sin⇡

3

=

p3

2

hcos

!

2

, sin!

2

ˆni=

"1

2

,

p3

2

1p3

(1, 1, 1)

#! q =

1

2

,1

2

,1

2

,1

2

(�P ˆn,!) !hcos

!

2

,�P ˆn sin

!

2

i

Page 145: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Equivalent Rotations

31

q(!) =hcos

!

2

,�P ˆn sin

!

2

i

q(2⇡ + !) =hcos(⇡ +

!

2

),�P ˆn sin(⇡ +

!

2

)

i;

=

h� cos

!

2

, P ˆn sin

!

2

i;

= �hcos

!

2

,�P ˆn sin

!

2

i;

= �q(!).

Page 146: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Equivalent Rotations

q and �q describe the same rotation.

31

q(!) =hcos

!

2

,�P ˆn sin

!

2

i

q(2⇡ + !) =hcos(⇡ +

!

2

),�P ˆn sin(⇡ +

!

2

)

i;

=

h� cos

!

2

, P ˆn sin

!

2

i;

= �hcos

!

2

,�P ˆn sin

!

2

i;

= �q(!).

Page 147: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion multiplication and P

pq ⌘ [p0q0 � p · q, q0p+ p0q+ Pp⇥ q]

Page 148: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion multiplication and P

P=+1 produces the traditional definition P=-1 is an alternative definition, already

discussed by Hamilton in 1844.

pq ⌘ [p0q0 � p · q, q0p+ p0q+ Pp⇥ q]

Page 149: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion multiplication and P

P=+1 produces the traditional definition P=-1 is an alternative definition, already

discussed by Hamilton in 1844.

quaternion rotation operator Lq(r) ⌘ vec (q[0, r]q⇤)

pq ⌘ [p0q0 � p · q, q0p+ p0q+ Pp⇥ q]

Page 150: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion multiplication and P

Lp(r) ⌘�p20 � ||p||2

�r+ 2(p · r)p+ 2Pp0(p⇥ r)

P=+1 produces the traditional definition P=-1 is an alternative definition, already

discussed by Hamilton in 1844.

quaternion rotation operator Lq(r) ⌘ vec (q[0, r]q⇤)

pq ⌘ [p0q0 � p · q, q0p+ p0q+ Pp⇥ q]

Page 151: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Quaternion multiplication and P

Lp(r) ⌘�p20 � ||p||2

�r+ 2(p · r)p+ 2Pp0(p⇥ r)

P=+1 produces the traditional definition P=-1 is an alternative definition, already

discussed by Hamilton in 1844.

quaternion rotation operator Lq(r) ⌘ vec (q[0, r]q⇤)

pq ⌘ [p0q0 � p · q, q0p+ p0q+ Pp⇥ q]

For a quaternion p describing a passive rotation (i.e. all the rotation conventions), this operator produces the passive

rotation components of r.

Page 152: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit Quaternions and Rotations

Consider the vector v = [1, 1, 1], and put ✓ = ⇡/2, with ˆq = [0, 0, 1]n̂

33

P = �1

Page 153: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit Quaternions and Rotations

Consider the vector v = [1, 1, 1], and put ✓ = ⇡/2, with ˆq = [0, 0, 1]

qvq⇤ = [cos

4

, 0, 0, sin⇡

4

] [0, 1, 1, 1] [cos⇡

4

, 0, 0,� sin

4

]

= [

1p2

, 0, 0,1p2

] [

1p2

, 0,p2,

1p2

]

= [0,�1, 1, 1]

33

P = �1

Page 154: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit Quaternions and Rotations

Consider the vector v = [1, 1, 1], and put ✓ = ⇡/2, with ˆq = [0, 0, 1]

qvq⇤ = [cos

4

, 0, 0, sin⇡

4

] [0, 1, 1, 1] [cos⇡

4

, 0, 0,� sin

4

]

= [

1p2

, 0, 0,1p2

] [

1p2

, 0,p2,

1p2

]

= [0,�1, 1, 1]

Therefore the rotated vector v0has components [�1, 1, 1].

33

P = �1

Page 155: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit Quaternions and Rotations

Consider the vector v = [1, 1, 1], and put ✓ = ⇡/2, with ˆq = [0, 0, 1]

qvq⇤ = [cos

4

, 0, 0, sin⇡

4

] [0, 1, 1, 1] [cos⇡

4

, 0, 0,� sin

4

]

= [

1p2

, 0, 0,1p2

] [

1p2

, 0,p2,

1p2

]

= [0,�1, 1, 1]

Therefore the rotated vector v0has components [�1, 1, 1].

The nice thing is that this works for any rotation axis!

33

P = �1

Page 156: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotation Representations

34

Page 157: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotation Representations

34

Representation 1:

Representation 2:

Representation 3:

Representation 4: Rotation matrix: Rij

Representation 5: Homochoric vector h

Representation 6: Cubochoric vector c

Representation 7: Euler Angles ✓

Axis-angle pair: (�P ˆn,!)

Rodrigues vector: ⇢ = �P ˆn tan

!2

Unit quaternion:

⇥cos

!2 ,�P ˆn sin

!2

Page 158: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotation Representations

34

Others, not used frequently in MSE: Cayley-Klein parameters, geometric algebra rotors, homographies, Pauli matrices, …

Representation 1:

Representation 2:

Representation 3:

Representation 4: Rotation matrix: Rij

Representation 5: Homochoric vector h

Representation 6: Cubochoric vector c

Representation 7: Euler Angles ✓

Axis-angle pair: (�P ˆn,!)

Rodrigues vector: ⇢ = �P ˆn tan

!2

Unit quaternion:

⇥cos

!2 ,�P ˆn sin

!2

Page 159: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotation Transformations

35

Page 160: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotation Transformations# from \ to ! e o a r q h c

e – X X X X a ah

o X – X e X a ah

a o X – X X X h

r o a X – a X h

q X X X X – X h

h ao a X a a – Xc hao ha h ha ha X –

Table 1: Table of direct (X) and indirect transformation routines between ro-

tation representations, which are identified by single letters: Euler angles (e);

rotation/orientation matrix (o); axis-angle pair (a); Rodrigues-Frank vector (r);

unit quaternion (q); homochoric vector (h); and cubochoric vector (c).

35

Page 161: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotation Transformations# from \ to ! e o a r q h c

e – X X X X a ah

o X – X e X a ah

a o X – X X X h

r o a X – a X h

q X X X X – X h

h ao a X a a – Xc hao ha h ha ha X –

Table 1: Table of direct (X) and indirect transformation routines between ro-

tation representations, which are identified by single letters: Euler angles (e);

rotation/orientation matrix (o); axis-angle pair (a); Rodrigues-Frank vector (r);

unit quaternion (q); homochoric vector (h); and cubochoric vector (c).

21 direct conversion routines

35

Page 162: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotation Transformations: Example

The axis-angle pair (

ˆn,!) can be obtained from the Bunge Euler angles by using

the following relation:

(

ˆn,!) =

✓�P

⌧t cos �,�P

⌧t sin �,�P

⌧sin�,↵

◆(1)

where

t = tan

�2 ; � =

12 ('1 + '2); � =

12 ('1 � '2);

⌧ =

pt2 + sin

2 �; ↵ = 2arctan ⌧. (2)

If ↵ > ⇡, then the axis angle pair is given by:

(

ˆn,!) =

✓P

⌧t cos �,

P

⌧t sin �,

P

⌧sin�, 2⇡ � ↵

◆. (3)

Function: eu2ax

36

Page 163: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit quaternion sphere

37

Page 164: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit quaternion sphere

37

The set of all 3x3 rotation matrices (which are orthogonal matrices) is commonly known as SO(3) [Special Orthogonal 3x3 matrices, where “Special” means that the determinant of the matrix is +1].

Page 165: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit quaternion sphere

x

2 + y

2 + z

2 = 1 represents a sphere in 3D space

37

The set of all 3x3 rotation matrices (which are orthogonal matrices) is commonly known as SO(3) [Special Orthogonal 3x3 matrices, where “Special” means that the determinant of the matrix is +1].

Page 166: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit quaternion sphere

x

2 + y

2 + z

2 = 1 represents a sphere in 3D space

! q20 + q21 + q22 + q23 = 1 represents a sphere in 4D space

37

The set of all 3x3 rotation matrices (which are orthogonal matrices) is commonly known as SO(3) [Special Orthogonal 3x3 matrices, where “Special” means that the determinant of the matrix is +1].

Page 167: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit quaternion sphere

x

2 + y

2 + z

2 = 1 represents a sphere in 3D space

! q20 + q21 + q22 + q23 = 1 represents a sphere in 4D space

This sphere, S3, represents all 3D rotations (unit quaternions)

37

The set of all 3x3 rotation matrices (which are orthogonal matrices) is commonly known as SO(3) [Special Orthogonal 3x3 matrices, where “Special” means that the determinant of the matrix is +1].

Page 168: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit quaternion sphere

x

2 + y

2 + z

2 = 1 represents a sphere in 3D space

! q20 + q21 + q22 + q23 = 1 represents a sphere in 4D space

This sphere, S3, represents all 3D rotations (unit quaternions)

But, there is a complicating factor: q and �q represent the same rotation!

37

The set of all 3x3 rotation matrices (which are orthogonal matrices) is commonly known as SO(3) [Special Orthogonal 3x3 matrices, where “Special” means that the determinant of the matrix is +1].

Page 169: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit quaternion sphere

x

2 + y

2 + z

2 = 1 represents a sphere in 3D space

! q20 + q21 + q22 + q23 = 1 represents a sphere in 4D space

This sphere, S3, represents all 3D rotations (unit quaternions)

But, there is a complicating factor: q and �q represent the same rotation!

Hence, S3 represents a “double covering” of all rotations.

37

The set of all 3x3 rotation matrices (which are orthogonal matrices) is commonly known as SO(3) [Special Orthogonal 3x3 matrices, where “Special” means that the determinant of the matrix is +1].

Page 170: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit quaternion sphere

x

2 + y

2 + z

2 = 1 represents a sphere in 3D space

! q20 + q21 + q22 + q23 = 1 represents a sphere in 4D space

This sphere, S3, represents all 3D rotations (unit quaternions)

But, there is a complicating factor: q and �q represent the same rotation!

Hence, S3 represents a “double covering” of all rotations.

It is su�cient to consider only unit quaternions in one hemisphere,

say q0 � 0.

37

The set of all 3x3 rotation matrices (which are orthogonal matrices) is commonly known as SO(3) [Special Orthogonal 3x3 matrices, where “Special” means that the determinant of the matrix is +1].

Page 171: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Unit quaternion sphere

x

2 + y

2 + z

2 = 1 represents a sphere in 3D space

! q20 + q21 + q22 + q23 = 1 represents a sphere in 4D space

This sphere, S3, represents all 3D rotations (unit quaternions)

But, there is a complicating factor: q and �q represent the same rotation!

Hence, S3 represents a “double covering” of all rotations.

It is su�cient to consider only unit quaternions in one hemisphere,

say q0 � 0.We will call this the Northern quaternion hemisphere.

37

The set of all 3x3 rotation matrices (which are orthogonal matrices) is commonly known as SO(3) [Special Orthogonal 3x3 matrices, where “Special” means that the determinant of the matrix is +1].

Page 172: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

38

Page 173: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D

38

Page 174: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D

38

Page 175: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D

38

Page 176: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D

S

38

Page 177: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D

Projection: 1D line segment, “equator” points at the ends.

S

38

Page 178: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D 3D

Projection: 1D line segment, “equator” points at the ends.

S

38

Page 179: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D 3D

Projection: 1D line segment, “equator” points at the ends.

S S

38

Page 180: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D 3D

Projection: 1D line segment, “equator” points at the ends.

S SProjection: 2D disk, bounded by an equatorial circle

38

Page 181: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D 3D 4D

Projection: 1D line segment, “equator” points at the ends.

S SProjection: 2D disk, bounded by an equatorial circle

38

Page 182: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D 3D 4D

Projection: 1D line segment, “equator” points at the ends.

S SProjection: 2D disk, bounded by an equatorial circle

?

38

Page 183: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D 3D 4D

Projection: 1D line segment, “equator” points at the ends.

S SProjection: 2D disk, bounded by an equatorial circle

?

Projection: 3D ball, bounded by an equatorial sphere

38

Page 184: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (equal angle)

2D 3D 4D

Projection: 1D line segment, “equator” points at the ends.

S SProjection: 2D disk, bounded by an equatorial circle

Projection: 3D ball, bounded by an equatorial sphere

38

Page 185: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (2D)2D

Projection: 1D line segment, “equator” points at the ends.

S

39

Page 186: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (2D)2D

Projection: 1D line segment, “equator” points at the ends.

S

Circle radius r = 1,

point (x, y) with x

2+ y

2= 1

39

Page 187: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (2D)2D

Projection: 1D line segment, “equator” points at the ends.

S

Circle radius r = 1,

point (x, y) with x

2+ y

2= 1

xp =x

1 + y

39

Page 188: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (2D)2D

Projection: 1D line segment, “equator” points at the ends.

S

Circle radius r = 1,

point (x, y) with x

2+ y

2= 1

We will only project points from the Northern hemi-circle (y>0); Projection point : (0,-1)

xp =x

1 + y

39

Page 189: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (3D)3D

SProjection: 2D disk, bounded by an equatorial circle

40

Page 190: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (3D)3D

SProjection: 2D disk, bounded by an equatorial circle

Sphere radius r = 1,

point (x, y, z) with x

2+ y

2+ z

2= 1

40

Page 191: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (3D)3D

SProjection: 2D disk, bounded by an equatorial circle

Sphere radius r = 1,

point (x, y, z) with x

2+ y

2+ z

2= 1

! (xp, yp) =

✓x

1 + z

,

y

1 + z

40

Page 192: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (3D)3D

SProjection: 2D disk, bounded by an equatorial circle

Sphere radius r = 1,

point (x, y, z) with x

2+ y

2+ z

2= 1

We will only project points from the Northern hemi-sphere (z>0); Projection point: (0,0,-1)

! (xp, yp) =

✓x

1 + z

,

y

1 + z

40

Page 193: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)4D

?

Projection: 3D ball, bounded by an equatorial sphere

Projection point: (�1, 0, 0, 0) “South Pole”;

Northern hemi-hypersphere: q0 � 0;

Equatorial sphere: q0 = 0 ! ! = 180

�.

q0 = cos

!2 , so q0 � 0 means 0 ! ⇡

41

Page 194: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)4D

Projection: 3D ball, bounded by an equatorial sphere

Projection point: (�1, 0, 0, 0) “South Pole”;

Northern hemi-hypersphere: q0 � 0;

Equatorial sphere: q0 = 0 ! ! = 180

�.

q0 = cos

!2 , so q0 � 0 means 0 ! ⇡

41

Page 195: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)4D

Projection: 3D ball, bounded by an equatorial sphere

Hypersphere radius r = 1,point (q0, q1, q2, q3) with q20 + q21 + q22 + q23 = 1

Projection point: (�1, 0, 0, 0) “South Pole”;

Northern hemi-hypersphere: q0 � 0;

Equatorial sphere: q0 = 0 ! ! = 180

�.

q0 = cos

!2 , so q0 � 0 means 0 ! ⇡

41

Page 196: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)4D

Projection: 3D ball, bounded by an equatorial sphere

Hypersphere radius r = 1,point (q0, q1, q2, q3) with q20 + q21 + q22 + q23 = 1

(xp, yp, zp) =

✓q1

1 + q0,

q2

1 + q0,

q3

1 + q0

Projection point: (�1, 0, 0, 0) “South Pole”;

Northern hemi-hypersphere: q0 � 0;

Equatorial sphere: q0 = 0 ! ! = 180

�.

q0 = cos

!2 , so q0 � 0 means 0 ! ⇡

41

Page 197: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)

42

Page 198: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)

42

Page 199: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)

42

Page 200: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)

i

-i

j-j

k

-k

1

42

Page 201: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)

i

-i

j-j

k

-k

1

(xp, yp, zp) =

✓q1

1 + q0,

q2

1 + q0,

q3

1 + q0

42

Page 202: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)

i

-i

j-j

k

-k

1

(xp, yp, zp) =

✓q1

1 + q0,

q2

1 + q0,

q3

1 + q0

I = (1, 0, 0, 0) ! (xp, yp, zp) = (0, 0, 0)

42

Page 203: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)

i

-i

j-j

k

-k

1

(xp, yp, zp) =

✓q1

1 + q0,

q2

1 + q0,

q3

1 + q0

j = (0, 0, 1, 0) ! (xp, yp, zp) = (0, 1, 0)

I = (1, 0, 0, 0) ! (xp, yp, zp) = (0, 0, 0)

42

Page 204: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)

i

-i

j-j

k

-k

1The identity rotation is represented at the origin of the SP sphere; 180° rotations around the cartesian axes are represented by the “pure” imaginary units i, j, and k.

(xp, yp, zp) =

✓q1

1 + q0,

q2

1 + q0,

q3

1 + q0

j = (0, 0, 1, 0) ! (xp, yp, zp) = (0, 1, 0)

I = (1, 0, 0, 0) ! (xp, yp, zp) = (0, 0, 0)

42

Page 205: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Stereographic Projection (4D)

The notation i, j, k for the cartesian basis vectors stems directly from the fact that “ai+bj+ck” is the vector part of a quaternion !

i

-i

j-j

k

-k

1The identity rotation is represented at the origin of the SP sphere; 180° rotations around the cartesian axes are represented by the “pure” imaginary units i, j, and k.

(xp, yp, zp) =

✓q1

1 + q0,

q2

1 + q0,

q3

1 + q0

j = (0, 0, 1, 0) ! (xp, yp, zp) = (0, 1, 0)

I = (1, 0, 0, 0) ! (xp, yp, zp) = (0, 0, 0)

42

Page 206: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 3D (equal area)

43

Page 207: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 3D (equal area)This point is at infinity …

43

Page 208: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 3D (equal area)

Unit radius 3D sphere ! 2D disk

This point is at infinity …

43

Page 209: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 3D (equal area)

(X,Y ) ! (x, y, z) =

X

r1� X

2 + Y

2

4, Y

r1� X

2 + Y

2

4,

X

2 + Y

2

2� 1

!

(x, y, z) ! (X,Y ) =

x

r2

1� z

, y

r2

1� z

!

Unit radius 3D sphere ! 2D disk

This point is at infinity …

43

Page 210: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 3D (equal area)

(X,Y ) ! (x, y, z) =

X

r1� X

2 + Y

2

4, Y

r1� X

2 + Y

2

4,

X

2 + Y

2

2� 1

!

(x, y, z) ! (X,Y ) =

x

r2

1� z

, y

r2

1� z

!

Unit radius 3D sphere ! 2D disk

This point is at infinity …

Usually, only one hemisphere is projected this way, to avoid an infinite plot and large distortions.

43

Page 211: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 3D (equal area)

(X,Y ) ! (x, y, z) =

X

r1� X

2 + Y

2

4, Y

r1� X

2 + Y

2

4,

X

2 + Y

2

2� 1

!

(x, y, z) ! (X,Y ) =

x

r2

1� z

, y

r2

1� z

!

Unit radius 3D sphere ! 2D disk

This point is at infinity …

Usually, only one hemisphere is projected this way, to avoid an infinite plot and large distortions.A patch on the sphere will be distorted upon projection, but the projected patch will have the same surface area as the original patch.

43

Page 212: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 4D (equal “area”)

44

P = �1

Page 213: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 4D (equal “area”)Unit radius 4D sphere ! 3D ball

44

P = �1

Page 214: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 4D (equal “area”)Unit radius 4D sphere ! 3D ball

Quaternion Northern hemisphere ! 3D ball

44

P = �1

Page 215: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 4D (equal “area”)Unit radius 4D sphere ! 3D ball

Quaternion Northern hemisphere ! 3D ball

q = (q0, q1, q2, q3);

=

⇣cos

!

2

, sin!

2

ˆn⌘

0 ! ⇡

q0 � 0

44

P = �1

Page 216: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 4D (equal “area”)Unit radius 4D sphere ! 3D ball

Quaternion Northern hemisphere ! 3D ball

q = (q0, q1, q2, q3);

=

⇣cos

!

2

, sin!

2

ˆn⌘

0 ! ⇡

q0 � 0

44

P = �1

Page 217: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 4D (equal “area”)Unit radius 4D sphere ! 3D ball

Quaternion Northern hemisphere ! 3D ball

q = (q0, q1, q2, q3);

=

⇣cos

!

2

, sin!

2

ˆn⌘

0 ! ⇡

q0 � 0

Lambert projection: ! h = (x, y, z) =

ˆn�34 (! � sin!)

� 13

44

P = �1

Page 218: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 4D (equal “area”)Unit radius 4D sphere ! 3D ball

Quaternion Northern hemisphere ! 3D ball

Representation 5: Homochoric vector h

q = (q0, q1, q2, q3);

=

⇣cos

!

2

, sin!

2

ˆn⌘

0 ! ⇡

q0 � 0

Lambert projection: ! h = (x, y, z) =

ˆn�34 (! � sin!)

� 13

44

P = �1

Page 219: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Lambert Projection 4D (equal “area”)Unit radius 4D sphere ! 3D ball

Quaternion Northern hemisphere ! 3D ball

Representation 5: Homochoric vector h

q = (q0, q1, q2, q3);

=

⇣cos

!

2

, sin!

2

ˆn⌘

0 ! ⇡

q0 � 0

Inverse projection: there is no analytical inverse . . .

Lambert projection: ! h = (x, y, z) =

ˆn�34 (! � sin!)

� 13

44

P = �1

Page 220: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Inversion of homochoric coordinatesDefine a 16-component constant vector � with components listed in the tablebelow; set h = |h|2; if h = 0, then (n̂,!) = ([0, 0, 1], 0). Otherwise, set h0 =h/

ph and compute the sum:

s =16X

i=1

�i hi�1;

The axis angle pair is then given by (n̂,!) = (h0, 2 arccos(s)).

i �4i+1 �4i+2 �4i+3 �4i+4

0 1.000000000001885 -0.500000000219485 -0.024999992127593 -0.0039287015447811 -0.000815270153545 -0.000200950042612 -0.000023979867761 -0.0000820286892662 0.000124487150421 -0.000174911421482 0.000170348193414 -0.0001206206500413 0.000059719705869 -0.000019807567240 0.000003953714684 -0.000000365550014

Table 1: Coe�cients �i needed for the conversion from homochoric coordinates

to axis angle pair.

45

Page 221: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Consider the Bunge Euler angle triplet ✓ = (⇡/2, 0, 0), i.e., a counterclockwise

rotation by 90

�around the e3 axis.

46

Page 222: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Consider the Bunge Euler angle triplet ✓ = (⇡/2, 0, 0), i.e., a counterclockwise

rotation by 90

�around the e3 axis.

We set P = +1 to obtain:

• Passive rotation matrix:

↵✓ =

0

@0 1 0�1 0 00 0 1

1

A ;

• Quaternion:

q✓ =

✓1p2, 0, 0,� 1p

2

◆;

• Axis-angle pair:(n̂,!)✓ = ([001̄], 90�) ;

• Rodrigues-Frank vector:⇢✓ = (0, 0,�1) ;

• Homochoric vector:h✓ = (0, 0,�0.7536693) .

46

Page 223: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Consider the Bunge Euler angle triplet ✓ = (⇡/2, 0, 0), i.e., a counterclockwise

rotation by 90

�around the e3 axis.

We set P = +1 to obtain:

• Passive rotation matrix:

↵✓ =

0

@0 1 0�1 0 00 0 1

1

A ;

• Quaternion:

q✓ =

✓1p2, 0, 0,� 1p

2

◆;

• Axis-angle pair:(n̂,!)✓ = ([001̄], 90�) ;

• Rodrigues-Frank vector:⇢✓ = (0, 0,�1) ;

• Homochoric vector:h✓ = (0, 0,�0.7536693) .

P = �10

@0 1 0�1 0 00 0 1

1

A

✓1p2, 0, 0,

1p2

([001], 90�)

(0, 0, 1)

(0, 0, 0.7536693)46

Page 224: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Cubochoric representation

47

Page 225: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Since the unit quaternion sphere is already mapped onto a 3D ball by the homochoric representation, all that is left to do is mapping the homochoric representation onto a cubic grid, using an equal-volume mapping (Lambert-style).

Cubochoric representation

47

Page 226: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Since the unit quaternion sphere is already mapped onto a 3D ball by the homochoric representation, all that is left to do is mapping the homochoric representation onto a cubic grid, using an equal-volume mapping (Lambert-style).

Cubochoric representation

(a) (b)

xy

z

xy

z

47

Page 227: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

48

Page 228: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

48

Page 229: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

48

Page 230: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

48

Page 231: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

To get the correct cube volume, put a0 = ⇡23; a =

⇣⇡5

6

⌘ 16; � =

p⇡/6

48

Page 232: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Cubochoric representation

49

D. Rosca, A. Morawiec, and M. De Graef. “A new method of constructing a grid in the space of 3D rotations and its applications to texture analysis”. Modeling and Simulations in Materials Science and Engineering 22, 075013 (2014).

Page 233: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Cubochoric representation

Representation 6: Cubochoric vector c

49

D. Rosca, A. Morawiec, and M. De Graef. “A new method of constructing a grid in the space of 3D rotations and its applications to texture analysis”. Modeling and Simulations in Materials Science and Engineering 22, 075013 (2014).

Page 234: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Cubochoric representation

Representation 6: Cubochoric vector c

The cubochoric vector representation has no easy relationship with the others

due to the non-linear multi-step process to compute the components of the

vector c.

49

D. Rosca, A. Morawiec, and M. De Graef. “A new method of constructing a grid in the space of 3D rotations and its applications to texture analysis”. Modeling and Simulations in Materials Science and Engineering 22, 075013 (2014).

Page 235: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Cubochoric representation

Representation 6: Cubochoric vector c

The cubochoric vector representation has no easy relationship with the others

due to the non-linear multi-step process to compute the components of the

vector c.

But, this di�culty is more than o↵set by the advantages gained in terms of

uniform sampling. We will come back to this after we talk about combinations

of rotations.

49

D. Rosca, A. Morawiec, and M. De Graef. “A new method of constructing a grid in the space of 3D rotations and its applications to texture analysis”. Modeling and Simulations in Materials Science and Engineering 22, 075013 (2014).

Page 236: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotations & Crystal Symmetry

50

Page 237: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

To understand when two rotations are equivalent, we need to have a prescription for combining two rotations into one.

Rotations & Crystal Symmetry

50

Page 238: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

To understand when two rotations are equivalent, we need to have a prescription for combining two rotations into one.

For active rotations, we simply multiply the rotation matrices, writing them from right to left… Consider active rotation R followed by O:

Rotations & Crystal Symmetry

50

Page 239: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

To understand when two rotations are equivalent, we need to have a prescription for combining two rotations into one.

For active rotations, we simply multiply the rotation matrices, writing them from right to left… Consider active rotation R followed by O:

Rotations & Crystal Symmetry

50

Sa = OaRa

Page 240: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

To understand when two rotations are equivalent, we need to have a prescription for combining two rotations into one.

For active rotations, we simply multiply the rotation matrices, writing them from right to left… Consider active rotation R followed by O:

Rotations & Crystal Symmetry

50

Sa = OaRa

Sp = (Sa)T = (OaRa)T = (Ra)T (Oa)T = RpOp

Page 241: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

To understand when two rotations are equivalent, we need to have a prescription for combining two rotations into one.

For active rotations, we simply multiply the rotation matrices, writing them from right to left… Consider active rotation R followed by O:

Rotations & Crystal Symmetry

50

Sa = OaRa

Sp = (Sa)T = (OaRa)T = (Ra)T (Oa)T = RpOp

FOR PASSIVE ROTATIONS, WE WRITE THE MATRICES LEFT TO RIGHT !

Page 242: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

For a given crystal symmetry, there are multiple equivalent rotations/orientations to any given rotation/orientation.

Only rotational symmetry elements are important, since rotations never change the handedness of an object.

This means that for point group we only need to consider the point group .

The pure rotation point groups are:

Rotations & Crystal Symmetry

4

m3̄2

m432

1, 2, 222, 4, 422, 3, 32, 6, 622, 23, and 432

51

Page 243: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotations & Crystal Symmetry

1 1, 1̄2 2, m, 2/m222 222, mm2, mmm4 4, 4̄, 4/m422 422, 4mm, 4̄2m, 4/mmm3 3, 3̄32 32, 3m, 3̄m6 6, 6̄, 6/m622 622, 6mm, 6̄m2, 6/mmm23 23, m3432 432, 4̄3m, m3̄m.

52

Page 244: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotations & Crystal Symmetry

1 1, 1̄2 2, m, 2/m222 222, mm2, mmm4 4, 4̄, 4/m422 422, 4mm, 4̄2m, 4/mmm3 3, 3̄32 32, 3m, 3̄m6 6, 6̄, 6/m622 622, 6mm, 6̄m2, 6/mmm23 23, m3432 432, 4̄3m, m3̄m.

No symmetry

52

Page 245: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Cyclic

Cyclic

Cyclic

Cyclic

Rotations & Crystal Symmetry

1 1, 1̄2 2, m, 2/m222 222, mm2, mmm4 4, 4̄, 4/m422 422, 4mm, 4̄2m, 4/mmm3 3, 3̄32 32, 3m, 3̄m6 6, 6̄, 6/m622 622, 6mm, 6̄m2, 6/mmm23 23, m3432 432, 4̄3m, m3̄m.

No symmetry

52

Page 246: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Dihedral

Dihedral

Dihedral

Dihedral

Cyclic

Cyclic

Cyclic

Cyclic

Rotations & Crystal Symmetry

1 1, 1̄2 2, m, 2/m222 222, mm2, mmm4 4, 4̄, 4/m422 422, 4mm, 4̄2m, 4/mmm3 3, 3̄32 32, 3m, 3̄m6 6, 6̄, 6/m622 622, 6mm, 6̄m2, 6/mmm23 23, m3432 432, 4̄3m, m3̄m.

No symmetry

52

Page 247: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Tetrahedral

Dihedral

Dihedral

Dihedral

Dihedral

Cyclic

Cyclic

Cyclic

Cyclic

Rotations & Crystal Symmetry

1 1, 1̄2 2, m, 2/m222 222, mm2, mmm4 4, 4̄, 4/m422 422, 4mm, 4̄2m, 4/mmm3 3, 3̄32 32, 3m, 3̄m6 6, 6̄, 6/m622 622, 6mm, 6̄m2, 6/mmm23 23, m3432 432, 4̄3m, m3̄m.

No symmetry

52

Page 248: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

OctahedralTetrahedral

Dihedral

Dihedral

Dihedral

Dihedral

Cyclic

Cyclic

Cyclic

Cyclic

Rotations & Crystal Symmetry

1 1, 1̄2 2, m, 2/m222 222, mm2, mmm4 4, 4̄, 4/m422 422, 4mm, 4̄2m, 4/mmm3 3, 3̄32 32, 3m, 3̄m6 6, 6̄, 6/m622 622, 6mm, 6̄m2, 6/mmm23 23, m3432 432, 4̄3m, m3̄m.

No symmetry

52

Page 249: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Simple example: point group 4

Rotations & Crystal Symmetry

53

P = �1

Page 250: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Simple example: point group 4

Rotations & Crystal Symmetry

53

P = �1

q1 = (1, 0, 0, 0) ;

q2 =

✓1p2, 0, 0,

1p2

◆;

q3 = (0, 0, 0, 1) ;

q4 =

✓1p2, 0, 0,

�1p2

◆.

Page 251: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Simple example: point group 4

Rotations & Crystal Symmetry

53

P = �1

120�@[111] : p =

✓1

2,1

2,1

2,1

2

q1 = (1, 0, 0, 0) ;

q2 =

✓1p2, 0, 0,

1p2

◆;

q3 = (0, 0, 0, 1) ;

q4 =

✓1p2, 0, 0,

�1p2

◆.

Page 252: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Simple example: point group 4

Rotations & Crystal Symmetry

53

P = �1

120�@[111] : p =

✓1

2,1

2,1

2,1

2

q1 = (1, 0, 0, 0) ;

q2 =

✓1p2, 0, 0,

1p2

◆;

q3 = (0, 0, 0, 1) ;

q4 =

✓1p2, 0, 0,

�1p2

◆.

q1p =

✓1

2,1

2,1

2,1

2

◆;

q2p =

✓0, 0,

1p2,1p2

◆;

q3p =

✓1

2,1

2,�1

2,�1

2

◆;

q4p =

✓1p2,1p2, 0, 0

◆.

Page 253: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Simple example: point group 4

Rotations & Crystal Symmetry

53

P = �1

120�@[111] : p =

✓1

2,1

2,1

2,1

2

q1 = (1, 0, 0, 0) ;

q2 =

✓1p2, 0, 0,

1p2

◆;

q3 = (0, 0, 0, 1) ;

q4 =

✓1p2, 0, 0,

�1p2

◆.

q1p =

✓1

2,1

2,1

2,1

2

◆;

q2p =

✓0, 0,

1p2,1p2

◆;

q3p =

✓1

2,1

2,�1

2,�1

2

◆;

q4p =

✓1p2,1p2, 0, 0

◆.

120�@[111]

180�@[011]

120�@[11̄1̄]

90�@[100]

Page 254: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

FZ = a subset of the rotation group SO(3) that describes all rotations that are unique for a given crystal symmetry.

Preference is given to a closed and bounded (i.e., compact) subset, which is also known as the asymmetric domain.

FZs can be defined for each of the seven rotation representations that we introduced earlier.

The FZ for one rotation representation does not necessarily map one-to-one onto the FZ of another rotation representation!!!

FZs are easiest to handle in the Rodrigues representation, where they are always bounded by planar surfaces.

The FZ shape depends on the rotation symmetry group.

Fundamental Zones

54

Page 255: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Dihedral groups: 2n-sided prism with top and bottom facets

perpendicular to the [001] axis, at distance of tan[⇡/(2n)] fromthe origin, and 2n square prism faces at distance 1.

55

Cyclic groups: planes perpendicular to the [001] axis,

at distance of tan[⇡/(2n)] from the origin.

Page 256: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Dihedral groups: 2n-sided prism with top and bottom facets

perpendicular to the [001] axis, at distance of tan[⇡/(2n)] fromthe origin, and 2n square prism faces at distance 1.

422

55

Cyclic groups: planes perpendicular to the [001] axis,

at distance of tan[⇡/(2n)] from the origin.

Page 257: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Tetrahedral group: regular octahedron with faces normal to the

three-fold axes at distance tan[⇡/6].

56

Page 258: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Tetrahedral group: regular octahedron with faces normal to the

three-fold axes at distance tan[⇡/6].

23

56

Page 259: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Octahedral group: truncated cube with six octagonalfaces at tan[⇡/4], and eight triangular faces at distancetan[⇡/6].

432

57

Page 260: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Octahedral FZ in Euler Space

58

Page 261: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

M�

M�

)

�S

�S

S

Octahedral FZ in Euler Space

58

Page 262: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

M�

M�

)

�S

�S

S

Octahedral FZ in Euler Space

ϕ2

ϕ1

Φ

0

54.7356°

π

π/4

58

Page 263: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Octahedral Euler FZ converted to Rodrigues Space

59

Page 264: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Octahedral Euler FZ converted to Rodrigues Space

59

Page 265: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Octahedral Rodrigues FZ converted to Euler Space

60

Page 266: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Octahedral Rodrigues FZ converted to Euler Space

60

Page 267: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

Rotation Transformations

If you want to convert the library to another language (e.g., Matlab or IDL)

then you can verify that the conversion is correct by means of a test program

that runs all possible combinations of two and three rotation conversions against

a list of input rotations. All results must match the reference results for both

P = ±1 in order to pass the “correct implementation” test.

2 P values, 75 rotations, 42 binary tests, 203 ternary tests.

Total 36, 750 tests.

61

FORTRAN-90, C/C++ (DREAM.3D), MATLAB, IDL

Page 268: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

62

Page 269: Rotations, rotations, and more rotationsmuri.materials.cmu.edu/wp-content/uploads/2015/06/3Drotations.pdf · Rotations, rotations, and more rotations ... Euler angle representation

QUESTIONS ?

62