Geometric Algebra

Geometric Algebra

New Advances in Geometric Algebra Chris Doran Astrophysics Group Cavendish Laboratory [email protected] www.mrao.cam.ac.uk/~clifford Outline • History • Introduction to geometric algebra (GA) • Rotors, bivectors and rotations • Interpolating rotors • Computer vision • Camera auto-calibration • Conformal Geometry 28/10/2003 Geometric Computation 2001 2 What is Geometric Algebra? • Geometric Algebra is a universal Language for physics based on the mathematics of Clifford Algebra • Provides a new product for vectors • Generalizes complex numbers to arbitrary dimensions • Treats points, lines, planes, etc. in a single algebra • Simplifies the treatment of rotations • Unites Euclidean, affine, projective, spherical, hyperbolic and conformal geometry 28/10/2003 Geometric Computation 2001 3 History • Foundations of geometric algebra (GA) were laid in the 19th Century • Two key figures: Hamilton and Grassmann • Clifford unified their work into a single algebra • Underused (associated with quaternions) • Rediscovered by Pauli and Dirac for quantum theory of spin • Developed by mathematicians in the 50s and 60s • Reintroduced to physics in the 70s 28/10/2003 Geometric Computation 2001 4 Hamilton Introduced his quaternion algebra in 1844 i2 j2 k2 ijk 1 Generalises complex arithmetic to 3 (4?) dimensions Very useful for rotations, but confusion over the status of vectors 28/10/2003 Geometric Computation 2001 5 Grassmann German schoolteacher 1809-1877 Published the Lineale Ausdehnungslehre in 1844 Introduced the outer product a b b a Encodes a plane segment b a 28/10/2003 Geometric Computation 2001 6 2D Outer Product • Antisymmetry implies a a a a 0 • Introduce basis e1,e2 a a1e1 a2e2 b b1e1 b2e2 • Form product a b a1b2e1 e2 a2b1e2 e1 a1b2 b2a1e1 e2 • Returns area of the plane + orientation. • Result is a bivector • Extends (antisymmetry) to arbitrary vectors 28/10/2003 Geometric Computation 2001 7 Complex Numbers • Have a product for vectors in 2D • Length given by aa • Suggests forming ab a1 a2ib1 b2i a1b1 a2b2 a1b2 b2a1i • Complex multiplication forms the inner and outer products of the underlying vectors! • Clifford generalised this idea 28/10/2003 Geometric Computation 2001 8 Clifford W.K. Clifford 1845-1879 Introduced the geometric product ab a b a b Product of two vectors returns the sum of a scalar and a bivector. Think of this sum as like the real and imaginary parts of a complex number. 28/10/2003 Geometric Computation 2001 9 Properties • Geometric product is associative and distributive abc abc abc ab c ab ac • Square of any vector is a scalar. This implies a b2 a ba b a2 b2 ab ba • Can define inner (scalar) and outer (exterior) products 1 1 a b 2 ab ba a b 2 ab ba 28/10/2003 Geometric Computation 2001 10 2D Algebra • Orthonormal basis is 2D e1,e2 e1 e1 e2 e2 1 e1 e2 0 • Parallel vectors commute e1e1 e1 e1 e1 e1 1 • Orthogonal vectors anticommute since e1e2 e1 e2 e1 e2 e2 e1 e2e1 • Unit bivector has negative square 2 e1 e2 e1e2e1e2 e1e2e2e1 e1e1 1 28/10/2003 Geometric Computation 2001 11 2D Basis Build into a basis for the algebra 1 e1,e2 e1e2 I 1 2 1 scalar vectors bivector The even grade objects form the complex numbers. Map between vectors and complex numbers: y x Iy e1xe1 ye2 e1X X,z z x Iy Xe1 x 28/10/2003 Geometric Computation 2001 12 2D Rotations • In 2D vectors can be rotated using complex phase rotations v expiu v,y u e1x u,x v e1y y e1v e1 expIe1x e1cos I sine1x •But e1Ie1 e1e1e2e1 e2e1 I •Rotation y expIx xexpI 28/10/2003 Geometric Computation 2001 13 3 Dimensions • Now introduce a third vector e3 e1,e2,e3 • These all anticommute e2 e1e2 e2e1 etc. e1 • Have 3 bivectors now e1e2,e2e3,e3e1 e1e2 e3e1 e2e3 28/10/2003 Geometric Computation 2001 14 Bivector Products • Various new products to form in 3D • Product of a vector and a bivector e1e1e2 e2 e1e2e3 e1e2e3 I • Product of two perpendicular bivectors: e2e3e3e1 e2e3e3e1 e2e1 e1e2 •Set i e2e3, j e3e1, k e1e2 • Recover quaternion relations i2 j2 k2 ijk 1 28/10/2003 Geometric Computation 2001 15 3D Pseudoscalar • 3D Pseudoscalar defined by I e1e2e3 • Represents a directed volume element • Has negative square 2 I e1e2e3e1e2e3 e2e3e2e3 1 • Commutes with all vectors e1I e1e1e2e3 e1e2e1e3 e1e2e3e1 Ie1 • Interchanges vectors and planes e1I e2e3 e2e3 Ie2e3 e1 e1 28/10/2003 Geometric Computation 2001 16 3D Basis Different grades correspond to different geometric objects Grade 0 Grade 1 Grade 2 Grade 3 Scalar Vector Bivector Trivector 1 e1,e2,e3 e1e2,e2e3,e3e1 I Generators satisfy Pauli relations eiej ij ijkIek Recover vector (cross) product a b I a b 28/10/2003 Geometric Computation 2001 17 Reflections • Build rotations from reflections • Good example of geometric product – arises in operations b a a nn a a a a nn Image of reflection is n b a a a 2a nn a an nan nan 28/10/2003 Geometric Computation 2001 18 Rotations • Two rotations form a reflection a mnanm mnanm • Define the rotor R mn • This is a geometric product! Rotations given by a RaR R nm • Works in spaces of any dimension or signature • Works for all grades of multivectors A RAR • More efficient than matrix multiplication 28/10/2003 Geometric Computation 2001 19 3D Rotations • Rotors even grade (scalar + bivector in 3D) • Normalised: RR mnnm 1 • Reduces d.o.f. from 4 to 3 – enough for a rotation. • In 3D a rotor is a normalised, even element R B RR 2 B2 1 • Can also write R expB/2 • Rotation in plane B with orientation of B • In terms of an axis R expIn/2 28/10/2003 Geometric Computation 2001 20 Group Manifold • Rotors are elements of a 4D space, normalised to 1 • They lie on a 3-sphere • This is the group manifold • Tangent space is 3D • Can use Euler angles R expe1e2/2expe2e3/2expe1e2/2 • Rotors R and –R define the same rotation • Rotation group manifold is more complicated 28/10/2003 Geometric Computation 2001 21 Lie Groups • Every rotor can be written as expB/2 • Rotors form a continuous (Lie) group • Bivectors form a Lie algebra under the commutator product • All finite Lie groups are rotor groups • All finite Lie algebras are bivector algebras • (Infinite case not fully clear, yet) • In conformal case (later) starting point of screw theory (Clifford, 1870s)! 28/10/2003 Geometric Computation 2001 22 Rotor Interpolation • How do we interpolate between 2 rotations? • Form path between rotors R0 R0 R R0 expB R1 R1 •Find B from expB R0R1 • This path is invariant. If points transformed, path transforms the same way • Midpoint simply R1/2 R0 expB/2 • Works for all Lie groups 28/10/2003 Geometric Computation 2001 23 Interpolation 2 • For rotors in 3D can do even better! R1 • View rotors as unit vectors in 4D • Path is a circle in a plane • Use simple trig’ to get SLERP R0 1 R sin1 R0 sinR1 sin • For midpoint add the rotors and normalise! sin/2 R1/2 R0 R1 sin 28/10/2003 Geometric Computation 2001 24 Interpolation - Applications • Rigid body dynamics – interpolating a discrete series of configurations • Elasticity of a rod or shell • Framing a curve (either Frenet or parallel transport) • Calculus – Relax the norm and write RAR A1 • ψ belongs to a linear space. Has a natural calculus. Very useful in computer vision. 28/10/2003 Geometric Computation 2001 25 Rotor Calculus • Can simplify problems with rotations by relaxing the normalisation and using unnormalised rotors a a/ • ψ belongs to a linear space – has an associated calculus • Start with obvious result A A • Now write a rotation as RAR A1 28/10/2003 Geometric Computation 2001 26 Rotor Calculus 2 • Key result (not hard to prove) 1 1 1 A A • Complete the derivation 1 1 1 1 a b a b ba • Pre-multiply by 1 1 1 a b a b ba 2RaR b •Note the geometric product • Result is a bivector • Useful in many applications 28/10/2003 Geometric Computation 2001 27 Computer Vision • Interested in reconstructing moving scenes from fixed cameras. Various problems: – Self calibration - the camera matrix. (Camera parameters can change easily) – Localization (Establish camera geometry from point matches). – Reconstruction - have to deal with occlusion, etc. • Standard techniques make heavy use of linear algebra (fundamental matrix, epipolar geometry) • Rotor treatment provides better alternatives 28/10/2003 Geometric Computation 2001 28 Camera Auto-calibration • Different camera views of the same scene • Given point matches, recover relative translation and rotation between cameras • Applications – Gait analysis – Motion analysis – Neurogeometry – 3D reconstruction 28/10/2003 Geometric Computation 2001 29 Known Range Data • Start with simplified problem X Xiei Y Yiei Y Yifi X t Y RYR • Minimise least square error n 2 S Xk t RYk R k1 • Get this from a Bayesian argument with Gaussian distribution 1 2 PXi exp Xi ei X 22 28/10/2003 Geometric Computation 2001 30 Known Range Data 2 • Minimise S wrt t and R n 1 k k t n X RY R k1 S 4 n RYk R Xk t 0 k1 • Substitute for t write as e e F 0 F n e Yk e Xk k1 • Solve with an SVD of F • Solution is well known, though derivation extends easily to arbitrary camera numbers 28/10/2003 Geometric Computation 2001 31 Camera Vision • Usually only know projective vectors on camera plane n OA a a n 2 • Choose scale n 1 A a a nn a n OA a n a n n O • Represent line with bivector a n a1 a2 A e1e3 e2e3 a n a3 a3 Homogenous coordinates 28/10/2003 Geometric Computation 2001 32 Noise • Assume camera matrix is known • 2 main

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    58 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us