Rotations in 3D using Geometric Algebra

62
Rotations in 3D using Geometric Algebra Kusal de Alwis Mentor: Laura Iosip Directed Reading Program, Spring 2019

Transcript of Rotations in 3D using Geometric Algebra

Page 1: Rotations in 3D using Geometric Algebra

Rotations in 3D using Geometric Algebra

Kusal de Alwis

Mentor: Laura Iosip

Directed Reading Program, Spring 2019

Page 2: Rotations in 3D using Geometric Algebra

The Problem

Page 3: Rotations in 3D using Geometric Algebra

Overview

οΏ½ Prior Methods for Rotations

οΏ½ What is the Geometric Algebra?

οΏ½ Rotating with Geometric Algebra

οΏ½ Further Applications

Page 4: Rotations in 3D using Geometric Algebra

Prior Methods

Page 5: Rotations in 3D using Geometric Algebra

Rotation Matrix - 2D

Page 6: Rotations in 3D using Geometric Algebra

Rotation Matrix - 3D

Page 7: Rotations in 3D using Geometric Algebra

Rotation Matrix - 3D

Page 8: Rotations in 3D using Geometric Algebra

Quaternions – 3D

Page 9: Rotations in 3D using Geometric Algebra

Quaternions – 3D

Page 10: Rotations in 3D using Geometric Algebra

Quaternions – 3D

Page 11: Rotations in 3D using Geometric Algebra

Octonions – 4D

Page 12: Rotations in 3D using Geometric Algebra

The Geometric Algebra

Page 13: Rotations in 3D using Geometric Algebra

Extension of Rn

οΏ½ Vectors and Scalars

οΏ½ Same old algebraοΏ½ Scalar Multiplication, Addition

οΏ½ Only one augmentation…

Page 14: Rotations in 3D using Geometric Algebra

The Geometric Product

οΏ½ Inner ProductοΏ½ Standard Dot Product

Page 15: Rotations in 3D using Geometric Algebra

The Geometric Product

οΏ½ Inner ProductοΏ½ Standard Dot Product

οΏ½ Exterior ProductοΏ½ Another multiplication scheme

οΏ½ Represents planes

Page 16: Rotations in 3D using Geometric Algebra

The Geometric Product

οΏ½ Inner ProductοΏ½ Standard Dot Product

οΏ½ Exterior ProductοΏ½ Another multiplication scheme

οΏ½ Represents planes

οΏ½ Geometric Product

*Only for vectors

Page 17: Rotations in 3D using Geometric Algebra

Implications of the Geometric Product

𝑒"𝑒# = 𝑒" % 𝑒# + 𝑒" ∧ 𝑒# = 0 + 𝑒" ∧ 𝑒# = 𝑒" ∧ 𝑒#

Page 18: Rotations in 3D using Geometric Algebra

Implications of the Geometric Product

𝑒"𝑒# = 𝑒" % 𝑒# + 𝑒" ∧ 𝑒# = 0 + 𝑒" ∧ 𝑒# = 𝑒" ∧ 𝑒#

Page 19: Rotations in 3D using Geometric Algebra

Implications of the Geometric Product

𝑒"𝑒# = 𝑒" % 𝑒# + 𝑒" ∧ 𝑒# = 0 + 𝑒" ∧ 𝑒# = 𝑒" ∧ 𝑒#

𝑒" 𝑒" + 𝑒# = 𝑒"𝑒" + 𝑒"𝑒# = (𝑒" % 𝑒" + 𝑒" ∧ 𝑒") + (𝑒" % 𝑒# + 𝑒" ∧ 𝑒#) = 1 + 𝑒" ∧ 𝑒#

Page 20: Rotations in 3D using Geometric Algebra

Multivectors in G3

Page 21: Rotations in 3D using Geometric Algebra

Multivectors in G3

Page 22: Rotations in 3D using Geometric Algebra

Multivectors in G3

Page 23: Rotations in 3D using Geometric Algebra

Multivectors in G3

Page 24: Rotations in 3D using Geometric Algebra

Multivectors in G3

Page 25: Rotations in 3D using Geometric Algebra

Basis of Gn

Rn

οΏ½ 𝑒"οΏ½ 𝑒#οΏ½ 𝑒,οΏ½ 𝑒-οΏ½ …

οΏ½ 𝑒.

οΏ½ n-dimensional space

Page 26: Rotations in 3D using Geometric Algebra

Basis of Gn

Rn

οΏ½ 𝑒"οΏ½ 𝑒#οΏ½ 𝑒,οΏ½ 𝑒-οΏ½ …

οΏ½ 𝑒.

οΏ½ n-dimensional space

Gn

οΏ½ 1

οΏ½ 𝑒", 𝑒#, 𝑒,, … , 𝑒.οΏ½ 𝑒" ∧ 𝑒#, 𝑒" ∧ 𝑒,, … 𝑒" ∧ 𝑒., 𝑒# ∧ 𝑒,, 𝑒# ∧ 𝑒-, … 𝑒# ∧ 𝑒. …𝑒.1" ∧ 𝑒.οΏ½ 𝑒" ∧ 𝑒# ∧ 𝑒,, 𝑒" ∧ 𝑒# ∧ 𝑒-, …

οΏ½ …

οΏ½ 𝑒" ∧ 𝑒# ∧ 𝑒, ∧ 𝑒- ∧ β‹―βˆ§ 𝑒.1" ∧ 𝑒.

οΏ½ 2n-dimensional space

Page 27: Rotations in 3D using Geometric Algebra

Rotations in Gn

Page 28: Rotations in 3D using Geometric Algebra

Projections & Rejections

οΏ½ Unit a normal to a plane, Arbitrary v

Page 29: Rotations in 3D using Geometric Algebra

Projections & Rejections

οΏ½ Unit a normal to a plane, Arbitrary v

οΏ½ ProjectionοΏ½ 𝑣4 = π‘Ž % 𝑣 π‘Ž

οΏ½ RejectionοΏ½ 𝑣βˆ₯ = 𝑣 βˆ’ 𝑣4 = 𝑣 βˆ’ π‘Ž % 𝑣 π‘Ž

Page 30: Rotations in 3D using Geometric Algebra

Reflection

οΏ½ Reflect v on plane perpendicular to a

οΏ½ 𝑣 = 𝑣βˆ₯ + 𝑣4

Page 31: Rotations in 3D using Geometric Algebra

Reflection

οΏ½ Reflect v on plane perpendicular to a

οΏ½ 𝑣 = 𝑣βˆ₯ + 𝑣4οΏ½ 𝑅9 𝑣 = 𝑣βˆ₯ βˆ’ 𝑣4

Page 32: Rotations in 3D using Geometric Algebra

Reflection

οΏ½ Reflect v on plane perpendicular to a

οΏ½ 𝑣 = 𝑣βˆ₯ + 𝑣4οΏ½ 𝑅9 𝑣 = 𝑣βˆ₯ βˆ’ 𝑣4 π‘Ž % 𝑣 =

12 (π‘Žπ‘£ + π‘£π‘Ž)

Page 33: Rotations in 3D using Geometric Algebra

Reflection

οΏ½ Reflect v on plane perpendicular to a

οΏ½ 𝑣 = 𝑣βˆ₯ + 𝑣4οΏ½ 𝑅9 𝑣 = 𝑣βˆ₯ βˆ’ 𝑣4

= 𝑣 βˆ’ π‘Ž % 𝑣 π‘Ž βˆ’ π‘Ž % 𝑣 π‘Ž

= 𝑣 βˆ’ 2 π‘Ž % 𝑣 π‘Ž

= 𝑣 βˆ’ 212 π‘Žπ‘£ + π‘£π‘Ž π‘Ž = 𝑣 βˆ’ π‘Žπ‘£π‘Ž βˆ’ π‘£π‘Ž# = 𝑣 βˆ’ π‘Žπ‘£π‘Ž βˆ’ 𝑣

= βˆ’π‘Žπ‘£π‘Ž

π‘Ž % 𝑣 =12 (π‘Žπ‘£ + π‘£π‘Ž)

Page 34: Rotations in 3D using Geometric Algebra

Rotation via Double Reflection

Page 35: Rotations in 3D using Geometric Algebra

Rotation via Double Reflection

Page 36: Rotations in 3D using Geometric Algebra

Rotation via Double Reflection

Page 37: Rotations in 3D using Geometric Algebra

Rotation via Double Reflection

π‘…π‘œπ‘‘#=(𝑣) = 𝑅> 𝑅9 𝑣 = 𝑅> βˆ’π‘Žπ‘£π‘Ž = βˆ’π‘ βˆ’π‘Žπ‘£π‘Ž 𝑏 = π‘π‘Žπ‘£π‘Žπ‘

Page 38: Rotations in 3D using Geometric Algebra

Rotation via Double Reflection

π‘…π‘œπ‘‘#=(𝑣) = 𝑅> 𝑅9 𝑣 = 𝑅> βˆ’π‘Žπ‘£π‘Ž = βˆ’π‘ βˆ’π‘Žπ‘£π‘Ž 𝑏 = π‘π‘Žπ‘£π‘Žπ‘

π‘π‘Ž π‘Žπ‘ = 𝑏 π‘Žπ‘Ž 𝑏 = 𝑏𝑏 = 1, π‘π‘Ž = (π‘Žπ‘)1"

Page 39: Rotations in 3D using Geometric Algebra

Rotation via Double Reflection

π‘…π‘œπ‘‘#=(𝑣) = 𝑅> 𝑅9 𝑣 = 𝑅> βˆ’π‘Žπ‘£π‘Ž = βˆ’π‘ βˆ’π‘Žπ‘£π‘Ž 𝑏 = π‘π‘Žπ‘£π‘Žπ‘

π‘π‘Ž π‘Žπ‘ = 𝑏 π‘Žπ‘Ž 𝑏 = 𝑏𝑏 = 1, π‘π‘Ž = (π‘Žπ‘)1"

π‘…π‘œπ‘‘#=(𝑣) = (π‘Žπ‘)1"π‘£π‘Žπ‘

Page 40: Rotations in 3D using Geometric Algebra

Rotors

𝑅 = 𝑒𝑣 = 𝑒 % 𝑣 + 𝑒 ∧ 𝑣 = 𝑒 𝑣 𝑒AB

Page 41: Rotations in 3D using Geometric Algebra

Rotors

𝑅 = 𝑒𝑣 = 𝑒 % 𝑣 + 𝑒 ∧ 𝑣 = 𝑒 𝑣 𝑒AB

Page 42: Rotations in 3D using Geometric Algebra

Rotors

𝑅 = 𝑒𝑣 = 𝑒 % 𝑣 + 𝑒 ∧ 𝑣 = 𝑒 𝑣 𝑒ABπ‘Žπ‘ = π‘Ž 𝑏 𝑒AB = 𝑒=B

Page 43: Rotations in 3D using Geometric Algebra

Rotors

𝑅 = 𝑒𝑣 = 𝑒 % 𝑣 + 𝑒 ∧ 𝑣 = 𝑒 𝑣 𝑒AB

π‘Žπ‘ = π‘Ž 𝑏 𝑒AB = 𝑒=B

π‘…π‘œπ‘‘#= 𝑣 = π‘Žπ‘ 1"π‘£π‘Žπ‘ = 𝑒1=B𝑣𝑒=B

Page 44: Rotations in 3D using Geometric Algebra

Rotors

𝑅 = 𝑒𝑣 = 𝑒 % 𝑣 + 𝑒 ∧ 𝑣 = 𝑒 𝑣 𝑒AB

π‘Žπ‘ = π‘Ž 𝑏 𝑒AB = 𝑒=B

π‘…π‘œπ‘‘#= 𝑣 = π‘Žπ‘ 1"π‘£π‘Žπ‘ = 𝑒1=B𝑣𝑒=B

π‘…π‘œπ‘‘A,B 𝑣 = 𝑒1A#B𝑣𝑒

A#B

Page 45: Rotations in 3D using Geometric Algebra

Relating back

𝑅 = 𝑒𝑣 = 𝑒 % 𝑣 + 𝑒 ∧ 𝑣= 𝑀 + π‘₯𝑒" ∧ 𝑒# + 𝑦𝑒# ∧ 𝑒, + 𝑧𝑒" ∧ 𝑒,

Page 46: Rotations in 3D using Geometric Algebra

Relating back

𝑅 = 𝑒𝑣 = 𝑒 % 𝑣 + 𝑒 ∧ 𝑣 π‘ž = 𝑀 + π‘₯𝑖 + 𝑦𝑗 + π‘§π‘˜= 𝑀 + π‘₯𝑒" ∧ 𝑒# + 𝑦𝑒# ∧ 𝑒, + 𝑧𝑒" ∧ 𝑒,

Page 47: Rotations in 3D using Geometric Algebra

Relating back

𝑅 = 𝑒𝑣 = 𝑒 % 𝑣 + 𝑒 ∧ 𝑣 π‘ž = 𝑀 + π‘₯𝑖 + 𝑦𝑗 + π‘§π‘˜

𝑒" ∧ 𝑒# = 𝑖 𝑒# ∧ 𝑒, = 𝑗 𝑒" ∧ 𝑒, = π‘˜

= 𝑀 + π‘₯𝑒" ∧ 𝑒# + 𝑦𝑒# ∧ 𝑒, + 𝑧𝑒" ∧ 𝑒,

Page 48: Rotations in 3D using Geometric Algebra

Relating back

𝑅 = 𝑒𝑣 = 𝑒 % 𝑣 + 𝑒 ∧ 𝑣 π‘ž = 𝑀 + π‘₯𝑖 + 𝑦𝑗 + π‘§π‘˜

𝑒" ∧ 𝑒# = 𝑖 𝑒# ∧ 𝑒, = 𝑗 𝑒" ∧ 𝑒, = π‘˜

π‘„π‘’π‘Žπ‘‘π‘’π‘Ÿπ‘›π‘–π‘œπ‘›π‘  βŠ‚ πΊπ‘’π‘œπ‘šπ‘’π‘‘π‘Ÿπ‘–π‘ π΄π‘™π‘”π‘’π‘π‘Ÿπ‘Ž

= 𝑀 + π‘₯𝑒" ∧ 𝑒# + 𝑦𝑒# ∧ 𝑒, + 𝑧𝑒" ∧ 𝑒,

Page 49: Rotations in 3D using Geometric Algebra

Further Applications

Page 50: Rotations in 3D using Geometric Algebra

Linear Algebra – System of Equations

π‘₯" 𝑦"π‘₯# 𝑦#

𝛼𝛽 = 𝑏"

𝑏#

Page 51: Rotations in 3D using Geometric Algebra

Linear Algebra – System of Equations

𝛼π‘₯ + 𝛽𝑦 = 𝑏π‘₯" 𝑦"π‘₯# 𝑦#

𝛼𝛽 = 𝑏"

𝑏#

Page 52: Rotations in 3D using Geometric Algebra

Linear Algebra – System of Equations

𝛼π‘₯ + 𝛽𝑦 = 𝑏

Page 53: Rotations in 3D using Geometric Algebra

Linear Algebra – System of Equations

𝛼π‘₯ + 𝛽𝑦 = 𝑏

𝛼π‘₯ ∧ 𝑦 + 𝛽𝑦 ∧ 𝑦 = 𝑏 ∧ 𝑦

Page 54: Rotations in 3D using Geometric Algebra

Linear Algebra – System of Equations

𝛼π‘₯ + 𝛽𝑦 = 𝑏

𝛼π‘₯ ∧ 𝑦 + 𝛽𝑦 ∧ 𝑦 = 𝑏 ∧ 𝑦

𝑦 ∧ 𝑦 = 0𝛼π‘₯ ∧ 𝑦 = 𝑏 ∧ 𝑦

Page 55: Rotations in 3D using Geometric Algebra

Linear Algebra – System of Equations

𝛼π‘₯ + 𝛽𝑦 = 𝑏

𝛼π‘₯ ∧ 𝑦 + 𝛽𝑦 ∧ 𝑦 = 𝑏 ∧ 𝑦

𝑦 ∧ 𝑦 = 0𝛼π‘₯ ∧ 𝑦 = 𝑏 ∧ 𝑦

𝛼 = >∧XY∧X

Page 56: Rotations in 3D using Geometric Algebra

Linear Algebra – System of Equations

𝛼π‘₯ + 𝛽𝑦 = 𝑏

𝛼π‘₯ ∧ 𝑦 + 𝛽𝑦 ∧ 𝑦 = 𝑏 ∧ 𝑦

𝑦 ∧ 𝑦 = 0𝛼π‘₯ ∧ 𝑦 = 𝑏 ∧ 𝑦

𝛼 = >∧XY∧X

𝛽 = >∧YX∧Y

= Y∧>Y∧X

Page 57: Rotations in 3D using Geometric Algebra

Linear Algebra – System of Equations

π‘₯ ∧ 𝑦 =π‘₯" 𝑦"π‘₯# 𝑦#

Page 58: Rotations in 3D using Geometric Algebra

Linear Algebra – System of Equations

π‘₯ ∧ 𝑦 =π‘₯" 𝑦"π‘₯# 𝑦#

𝛼 =𝑏 ∧ 𝑦π‘₯ ∧ 𝑦

=

𝑏" 𝑦"𝑏# 𝑦#π‘₯" 𝑦"π‘₯# 𝑦#

Page 59: Rotations in 3D using Geometric Algebra

Other Use Cases

οΏ½ Geometric CalculusοΏ½ Calculus in Gn

Page 60: Rotations in 3D using Geometric Algebra

Other Use Cases

οΏ½ Geometric CalculusοΏ½ Calculus in Gn

οΏ½ Homogeneous Geometric AlgebraοΏ½ Represent objects not centered at the originοΏ½ Projective Geometry

Page 61: Rotations in 3D using Geometric Algebra

Other Use Cases

οΏ½ Geometric CalculusοΏ½ Calculus in Gn

οΏ½ Homogeneous Geometric AlgebraοΏ½ Represent objects not centered at the originοΏ½ Projective Geometry

οΏ½ Conformal Geometric AlgebraοΏ½ Better representations of points, lines, spheres, etc.οΏ½ Generalized operations for transformations

Page 62: Rotations in 3D using Geometric Algebra