Geometric Algebra 2: Applications

2,541 views

Published on

UFRGS seminar in Geometric Algebra

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,541
On SlideShare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
56
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Geometric Algebra 2: Applications

  1. 1. Geometric Algebra Part 2: Applications and the state of the art  “... provides a single, simple mathematical framework which  eliminates the plethora of diverse mathematical descriptions and  techniques” [McRobie and Lasenby, 1999] Vitor Fernando Pamplona
  2. 2. Review: Geometric Product • Outer product spans e2 2D  1 e1 ∧  2 e2 = 1  2 e1 e2 • Inner product projects O e1  12 e1 ∧ e2 ⋅ e2 =  12 e1 e1 ∧ e2 • Geometric Product vu = v ⋅u  v ∧ u Inner product Outer product
  3. 3. Review: Multivector • Unique n­dimensional structure vℜ 3 =  Scalar   e1   e2   e3 Vector   e1 e2   e1 e3   e2 e3 2­Blade   e1 e2 e3 3­Blade mv 3 = 3 e1 ∧ e3 − 2 e2 ∧ e3
  4. 4. Overview • Homogeneous Model • Conformal Model • Meet / Join • Framework Gaigen • nD­Voronoi Diagram • CliffoSor: GA processor • Physical Modelling using GA • Future Readings
  5. 5. Homogeneous Model • Generalization to homogeneous coordinates of VA • Affine and projective transformations • Adds one dimension to working space • There are no changes in basic operations e0 e0 p p p q P P Q R² R² pΛq
  6. 6. Conformal Model • Adds 2 new orthogonal dimensions e0 e∞ • It is a Minkowski space. • Changes some operations e2 =1 ∞ e2=−1 0 e∞⋅e0=0 • Euclidean to Conformal GA Model a =0, ∞ ,  x ,  y , z =1, 1/2 a 2 ,a x ,a y ,a z C= p11∧p22∧p333∧ e∞ E =p ∧ p2∧ p ∧ p4 N 1 ∧p ∧p
  7. 7. Meet and Join
  8. 8. Framework Gaigen • Geometric Algebra C/C++ Code Generator • Version 1.0 released 1,5 years ago.  • Generates the same code of GAP framework.  • 8­Dimensional Limit. • Free Software :: http://gaigen.sourceforge.net • From Daniel Fontijne at University of Amsterdan • Version 2.0 will generate Java code too. 
  9. 9. Why an nD­Voronoi Diagram? • Raytracer benchmark [Fontijne, D. & Dorst,2003] Model Implem. Full Rend Time (s) Memory (MB) 3DLA Standard 1.00 6.2 3DGA Gaigen 2.56 6.7 4DLA Standard 1.05 6.4 4DGA Gaigen 2.97 7.7 5DGA Gaigen 5.71 9.9 • 3DLA: Linear Algebra • 3DGA: Geometric Algebra • 4DLA: Homogeneous coordinates • 4DGA: Homogeneous model • 5DGA: Conformal model
  10. 10. Edelsbrunner's idea  • Algorithm VoronoiDiagram edelsbrunner(Points S) O 1. Create a new orthogonal dimension  2. Build the paraboloid R n− 1 http://www.ics.uci.edu/~eppstein/junkyard/nn.html 2 x n= ∑ x i i= 0 3. For each point P 4. P' = projection of P on the paraboloid R 5. H  = the hyperplane tangent to paraboloid R in P' 6. End for 7. Project the upper­envelope of H's on initial dimension.
  11. 11. Edelsbrunner with Geometric Algebra 1. D+2 Geometric Algebra Solution ... edelsbrunner(Points S) • e Edelsbrunner paraboloid    ∞ 1. New dimension  Homogeneous model e 0 2. Build paraboloid R • 3. For each point p 4. p'= proj. of p on R 5. H= tangent to R in p' 2. Step 2 is not needed 6. End for 7. Proj. the upper­envelope  4. Project p on R p  p '=  p 2 e∞    2 p 2 e∞ p H T= p '∧d u a l  ∧ p ∣∣∗ 1 4 p 2 5. Find hyperplane tangent  p 
  12. 12. Edelsbrunner with Geometric Algebra 7. Project the upper­envelope of  ... edelsbrunner(Points S) hyperplanes on the d­2  1. New dimension  dimension. 2. Build paraboloid R 3. For each point p backTracking(hypercube F)  4. p'= proj. of p on R 1. if (lowestGrade(F) == 2) 5. H= tangent to R in p' 2. F=meet(F,each out of stack HP) 6. End for 3. add lowestGrade(F) to Voronoi. 7. Proj. the upper­envelope  4. else  5. for each out of stack HP Flag: Hierarchy of half­ 6. F=meet(F, HP) 7. BackTracking(F) spaces with the lowest  8. F = removeLowestGrade(F) level is a pair of points.  backTracking(hypercube bounding box)
  13. 13. The Benchmark  42  points in 2D 16 points in 2D Qhull 0.004 + /­ 0.001 0.003 + /­ 0.000 Zaharia 32.127 + /­ 0.546 1.512 + /­ 0.005 Pam plona 0.592 + /­ 0.006 0.080 + /­ 0.004 ● Time in seconds ● Each test was performed 5 times ● Test Architecture: ● Processor: Athlon 64, 2800+, 1800Mhz, 97% Free ● Memory: 1 GB RAM / 600 MB Free ● OS: Gentoo Linux, install from Stage 1. ● Qhull version: 3.1­r1 ● Zaharia GAP version
  14. 14. Problems  ● Precision problems ● Work with high precision numbers: 10­16 ... 10 8 ● Easy to get Double.NAN ● Easy to get unreported edges ● Infinity edges, no bounding box ● Work with higher dimensions? ● Need backtracking algorithm?  ● Search Hyperplane neighbors?  ● Kd­trees, Quadtrees, Octrees 
  15. 15. CliffoSor • Parallel Embedded Architecture for GA. • Multiplications, additions in 4D and 3D rotations. • Operations in Parallel • Gaigen 1.0 vs CliffoSor – Gaigen: 256 clock cycles – CliffoSor: 64 clock cycles – Test made with 500.000 geometric products.
  16. 16. Physical Modelling using GA • Particle Dynamics without GA • Rigid Body Dynamics with GA • Collision Detection with GA – Bounding Spheres – Segment Triangle Intersection • Collision Response with GA • Conclusions – Mathematics simplification in the collision detection  – Needs experience with GA
  17. 17. Physical Modelling: Future Works • Hardware parallelism – outer, inner and geometric products • Advanced Collision Detection: – Oct­trees – Sphere­trees
  18. 18. Future Works • CGA in Computer Vision • Clifford Fourier Transform • Derivatives and Integrals • Generalization of Quaternions • Inverse Kinematics with dual of Quaternions • Interpolation with CGA • Mesh deformation
  19. 19. References • Dorst, L. & Mann, S. Geometric algebra: a computational framework for geometrical  applications (part II: aplications) IEEE Computer Graphics and Applications, 2002, 1 • Dorst, L. & Mann, S. Geometric algebra: a computational framework for geometrical  applications (part I: algebra) IEEE Computer Graphics and Applications, 2002, 1, 24­31 • Fontijne, D. & Dorst, L. Modeling 3D Euclidean Geometry IEEE Computer Graphics and  Applications, 2003 • Macdonald, A. A Survey of Geometric Algebra and Geometric Calculus, 2005 • Vaz, J.J. A álgebra geométrica do espaço euclidiano e a teoria de Pauli Revista  Brasileira de Ensino de Física, 1997, 19, 234­259 • Zaharia, M.D. & Dorst, L. The Interface Spec. and Implementation Internals of a  Program Module for Geometric Algebra University of Amsterdam, 2003

×