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

Rotations in 3D using Geometric Algebra

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

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