SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Geometric Algebra




Vitor Fernando Pamplona
Cross Product in nD?
• Why not?
  – V1 = (1.0, 2.0, 3.0, 4.0)
  – V2 = (-2.0, -3.0, -4.0, -5.0)


                               V1×V2=? ?


                  I       J      K       Q
                1,00    2,00   3,00    4,00    =   ???
               -2,00   -3,00   -4,00   -5,00
A language for geometry

               Geometric      Algebraic
               Concepts       Language



• Magnitude - size
                              3D       4,20
• Direction -orientation
• Sense - negative/positive
                                      35º
• Grade - dimension             CCW
                                            x
What we need?
• n-dimensional geometric language

• Represent the object grade

• Operate across different dimensions

• Geometrically intuitive

• Without limits

• Coordinate free

• Efficient

• Unify other algebras
Product of Vectors ?

                       vv = ?

                   v   vv = 3 e1  2 e2 ∗ 3 e1  2 e2 
                       vv = 9 e1 e1  6 e1 e2  6 e2 e1  4 e2 e2

   e2
        e1                   e1 e1 = ?
                             e1 e2 = ?
    v =3, 2                e2 e1 = ?
    v =3 e12 e2             e2 e2 = ?
Gibbs (Vector Algebra)
                       vv = 9 e1 e1  6 e1 e2  6 e2 e1  4 e2 e2



                   v
                                    {   ei⋅e j = 1      i = j
                                    ei⋅e j = e j⋅ei = 0  i ≠ j 

   e2
        e1
                       vv = 9  4 = 13
    v =3, 2
                       v ⋅v = 3,2 ∗ 3,2
    v =3 e12 e2       v⋅ v = 3 ∗ 3  2 ∗ 2        dot product

                       v ⋅ v = 13
Clifford (Geometric Algebra)
                       vv = 9 e1 e1  6 e1 e2  6 e2 e1  4 e2 e2



                   v
                                  {    ei ⋅e j = 1     i = j
                                   ei⋅e j  e j⋅ei = 0  i ≠ j 

   e2
        e1                   ei ⋅e j = −e j⋅e i      Anticomutivity

    v =3, 2
                       vv = 9 e1 e1  6 e1 e2 − 6 e1 e2  4 e2 e2
    v =3 e12 e2
                       vv = 9  4 = 13

                         Inner product
The Goal: Outer Product
• What's e1e2 ?
                                         e2
   – It isn't a scalar
   – It isn't a vector
                                         O               e1
                                              e1 ∧ e 2
                                                         2D
• It's a plane, a vector space (blade)                   CCW
                                         e2
• Called Bivector or 2-vector

                                         O               e1
• Outer products span                         e2 ∧ e 1
Inner product (dot)
• Outer product spans

                 1 e1 ∧  2 e2 =  1 ∗  2 e1 e2

                v
                        vv = 9 e1 e1  6 e1 e2 − 6 e1 e2  4 e2 e2

  e2
                        vv = 9  4 = 13
       e1


• Inner product projects
                     12 e1 e2 ⋅ e2 = 12 e1
Geometric Product
                     v
                               vv = 9 e 1 e 1  6 e 1 e 2 − 6 e 1 e 2  4 e 2 e 2

    e2
                               vv = 9  4 = 13
         e1


{      e i ⋅e j = 1      i = j 
 e i ⋅e j  e j ⋅e i = 0  i ≠ j 
                                                   v ∥u
                                                  v ⊥u
                                                            
                                                            
                                                                 v ∧ u = 0
                                                                 v ⋅ u = 0

                                vu = v ⋅u  v ∧ u


                         Inner product           Outer product
Contraction Inner Product
• Generalizes inner product to Blades
• Complement of the orthogonal projection

                                        a


               a B=
                               a B

                                            B

• Generalizing geometric product

                      vu = v    uv ∧ u
History of Geometric Algebra
                               Synthetic Geometry
300 BC                               Euclid

         Analitic Geometric
1637        Descartes

1798     Complex Álgebra                            1844
          Wessel, Gauss        1843                   Exterior Algebra
                                Quaternions              Grassman
                                 Hamilton
1854     Matrix Álgebra
            Cayley               1881                         1878
1878     Determinants             Vector Algebra     Clifford Algebra
           Sylvester                  Gibbs               Clifford

                  1890 Tensor Algebra                          1923
                                                                 Differential Forms
                              Ricci
1928     Spin Algebra                                                 E. Cartan
         Pauli, Dirac
                                          Geometric Algebra
Multivector
• Unique structure


      v ℜ3=                                  Scalar
              e 1   e2   e 3            Vectors
              e 1 e2   e1 e 3   e2 e3   2-Blades
              e 1 e2 e3                     3-Blades




• Outer product spans
• Inner product projects
Operations on Multivectors
• Graduated Involution

                  v k = −1k ∗ v k
                  

• Reverse
                  v k = −1k k − 1/ 2 ∗ v k
                                                   vu = uv
                                                     


• Conjugation
                        
                        
                  v k =v =v

• Inverse
                             v
                  v −1 =
                           ∣v ∣ ²
Operations on Multivectors (cont)
• Angle between vectors
                                     v ⋅u
                          cos  =
                                    ∣ ∣∣ ∣
                                     v u

• Pseudoscalar
   – Dimensional limit

                         ps ℜ 3=1∗e 1∧e 2 ∧e 3


• Dual
                            A= Ã k∗ ps
Operations on Multivectors (cont 2)
• Meet
             C =A∩B

• Join
             C =A∪B

• Sum and difference

             C =AB        C = A− B

• Nabla = Symmetric difference

             v 1 ∇ v 2=majorGrade v 1∗v 2 
Future Readings              [Dorst, 02a] [Vaz, 97]


• Projection of blades and Rejection

• Reflection

• Rotors

• Models
  – Homogeneous model / Plücker coordinates
  – Conformal model

• Quaternions
GA Frameworks
• GAViewer: Geometric algebra computations and visualize

• GAP: Geometric Algebra Package [Zaharia, 03]

• GAIGEN: Code generator to Geometric Algebra [Fontijne]

• GluCat: template classes to Clifford algebras

• GAGL: Geometric Algebra to OpenGL

• GEOMA: C++ Template Classes for Geometric Algebras
Multivector Implementations
• GAGL
                                          scalar , e 1 , e 2 , e 3 ,
   – Vector[8]                         e 1 ∧e 2 , e 1∧e 3 , e 2 ∧e 3 ,
   – Only in 3D.                                 e 1∧e 2 ∧e 3

• GEOMA
   – Matrix [2k][2k] where k = grade

• GluCat: ??

• GAP     scalar , e 1 , e 2 , e 3 , e 1 ∧e 2 , e 1∧e 3 , e 2 ∧e 3 , e 1∧e 2 ∧e 3
                                    EBLADE              EBLADE       EBLADE

                        HMV                    HMV                       HMV
Clean Multivector Implementation
• Think OO with low memory usage

• Two Classes
   – GAMultivector
   – GASpace

• Inside GAMultivector
   – double[length]: where length is a compile time method

                                 n
                      length=1∑ C n , k
                                k =1
Performance Aspects
• 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
                                           FAST
•    3DLA: Linear Algebra
•    3DGA: Geometric Algebra
                                     ELEGANCE
•    4DLA: Homogeneous coordinates
•    4DGA: Homogeneous model
•    5DGA: Conformal model
So...


“... that it provides a single, simple mathematical framework
    which eliminates the plethora of diverse mathematical
               descriptions and techniques...”


                                   [McRobie and Lasenby, 1999]
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

Más contenido relacionado

La actualidad más candente

Mathematical Modeling for Practical Problems
Mathematical Modeling for Practical ProblemsMathematical Modeling for Practical Problems
Mathematical Modeling for Practical ProblemsLiwei Ren任力偉
 
GATE Engineering Maths : Limit, Continuity and Differentiability
GATE Engineering Maths : Limit, Continuity and DifferentiabilityGATE Engineering Maths : Limit, Continuity and Differentiability
GATE Engineering Maths : Limit, Continuity and DifferentiabilityParthDave57
 
Inner product spaces
Inner product spacesInner product spaces
Inner product spacesEasyStudy3
 
Solving linear homogeneous recurrence relations
Solving linear homogeneous recurrence relationsSolving linear homogeneous recurrence relations
Solving linear homogeneous recurrence relationsDr. Maamoun Ahmed
 
Graph theory
Graph theoryGraph theory
Graph theoryKumar
 
Lecture 5 Pattern Projection Techniques
Lecture 5   Pattern Projection TechniquesLecture 5   Pattern Projection Techniques
Lecture 5 Pattern Projection TechniquesJoaquim Salvi
 
Matlab on basic mathematics
Matlab on basic mathematicsMatlab on basic mathematics
Matlab on basic mathematicsmonauweralam1
 
Breast cancer detection through histopathology image classification
Breast cancer detection through histopathology image classificationBreast cancer detection through histopathology image classification
Breast cancer detection through histopathology image classificationdataalcott
 
Lecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation MaximizationLecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation Maximizationbutest
 
Complex Numbers 1 - Math Academy - JC H2 maths A levels
Complex Numbers 1 - Math Academy - JC H2 maths A levelsComplex Numbers 1 - Math Academy - JC H2 maths A levels
Complex Numbers 1 - Math Academy - JC H2 maths A levelsMath Academy Singapore
 
Group homomorphism
Group homomorphismGroup homomorphism
Group homomorphismNaliniSPatil
 
Singular Value Decompostion (SVD)
Singular Value Decompostion (SVD)Singular Value Decompostion (SVD)
Singular Value Decompostion (SVD)Isaac Yowetu
 
FDM Numerical solution of Laplace Equation using MATLAB
FDM Numerical solution of Laplace Equation using MATLABFDM Numerical solution of Laplace Equation using MATLAB
FDM Numerical solution of Laplace Equation using MATLABAya Zaki
 

La actualidad más candente (20)

Mathematical Modeling for Practical Problems
Mathematical Modeling for Practical ProblemsMathematical Modeling for Practical Problems
Mathematical Modeling for Practical Problems
 
GATE Engineering Maths : Limit, Continuity and Differentiability
GATE Engineering Maths : Limit, Continuity and DifferentiabilityGATE Engineering Maths : Limit, Continuity and Differentiability
GATE Engineering Maths : Limit, Continuity and Differentiability
 
Graph representation
Graph representationGraph representation
Graph representation
 
Inner product spaces
Inner product spacesInner product spaces
Inner product spaces
 
Solving linear homogeneous recurrence relations
Solving linear homogeneous recurrence relationsSolving linear homogeneous recurrence relations
Solving linear homogeneous recurrence relations
 
Graph theory
Graph theoryGraph theory
Graph theory
 
Vector Calculus.
Vector Calculus.Vector Calculus.
Vector Calculus.
 
Nfa to-dfa
Nfa to-dfaNfa to-dfa
Nfa to-dfa
 
Lecture25
Lecture25Lecture25
Lecture25
 
Lecture 5 Pattern Projection Techniques
Lecture 5   Pattern Projection TechniquesLecture 5   Pattern Projection Techniques
Lecture 5 Pattern Projection Techniques
 
graph theory
graph theorygraph theory
graph theory
 
Matlab on basic mathematics
Matlab on basic mathematicsMatlab on basic mathematics
Matlab on basic mathematics
 
Breast cancer detection through histopathology image classification
Breast cancer detection through histopathology image classificationBreast cancer detection through histopathology image classification
Breast cancer detection through histopathology image classification
 
Intro
IntroIntro
Intro
 
Lecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation MaximizationLecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation Maximization
 
Complex Numbers 1 - Math Academy - JC H2 maths A levels
Complex Numbers 1 - Math Academy - JC H2 maths A levelsComplex Numbers 1 - Math Academy - JC H2 maths A levels
Complex Numbers 1 - Math Academy - JC H2 maths A levels
 
Group homomorphism
Group homomorphismGroup homomorphism
Group homomorphism
 
Functional analysis
Functional analysis Functional analysis
Functional analysis
 
Singular Value Decompostion (SVD)
Singular Value Decompostion (SVD)Singular Value Decompostion (SVD)
Singular Value Decompostion (SVD)
 
FDM Numerical solution of Laplace Equation using MATLAB
FDM Numerical solution of Laplace Equation using MATLABFDM Numerical solution of Laplace Equation using MATLAB
FDM Numerical solution of Laplace Equation using MATLAB
 

Similar a Geometric Algebra: A Unified Framework for Geometry

Understand Of Linear Algebra
Understand Of Linear AlgebraUnderstand Of Linear Algebra
Understand Of Linear AlgebraEdward Yoon
 
Lesson03 Dot Product And Matrix Multiplication Slides Notes
Lesson03    Dot  Product And  Matrix  Multiplication Slides NotesLesson03    Dot  Product And  Matrix  Multiplication Slides Notes
Lesson03 Dot Product And Matrix Multiplication Slides NotesMatthew Leingang
 
Lesson 12: Linear Independence
Lesson 12: Linear IndependenceLesson 12: Linear Independence
Lesson 12: Linear IndependenceMatthew Leingang
 
X2 T08 03 inequalities & graphs
X2 T08 03 inequalities & graphsX2 T08 03 inequalities & graphs
X2 T08 03 inequalities & graphsNigel Simmons
 
Lesson32 Second Order Difference Equations Slides
Lesson32   Second Order Difference Equations SlidesLesson32   Second Order Difference Equations Slides
Lesson32 Second Order Difference Equations SlidesMatthew Leingang
 
Eigenvalues in a Nutshell
Eigenvalues in a NutshellEigenvalues in a Nutshell
Eigenvalues in a Nutshellguest9006ab
 
3.1 Quadratic Functions and Models
3.1 Quadratic Functions and Models3.1 Quadratic Functions and Models
3.1 Quadratic Functions and Modelssmiller5
 
Lesson 26: Optimization II: Data Fitting
Lesson 26: Optimization II: Data FittingLesson 26: Optimization II: Data Fitting
Lesson 26: Optimization II: Data FittingMatthew Leingang
 
General Math Lesson 3
General Math Lesson 3General Math Lesson 3
General Math Lesson 3alicelagajino
 
Jawapan modul ulangkaji berfokus online
Jawapan modul ulangkaji berfokus onlineJawapan modul ulangkaji berfokus online
Jawapan modul ulangkaji berfokus onlineNasrul Zairi
 
Arc lengthparametrization
Arc lengthparametrizationArc lengthparametrization
Arc lengthparametrizationDivya Anand
 
Geometric Algebra 2: Applications
Geometric Algebra 2: ApplicationsGeometric Algebra 2: Applications
Geometric Algebra 2: ApplicationsVitor Pamplona
 
Lesson 9: Gaussian Elimination
Lesson 9: Gaussian EliminationLesson 9: Gaussian Elimination
Lesson 9: Gaussian EliminationMatthew Leingang
 
2.8 Function Operations and Composition
2.8 Function Operations and Composition2.8 Function Operations and Composition
2.8 Function Operations and Compositionsmiller5
 
Do Wide and Deep Networks Learn the Same Things: Uncovering How Neural Networ...
Do Wide and Deep Networks Learn the Same Things: Uncovering How Neural Networ...Do Wide and Deep Networks Learn the Same Things: Uncovering How Neural Networ...
Do Wide and Deep Networks Learn the Same Things: Uncovering How Neural Networ...Sungchul Kim
 
Lesson 22: Optimization I (Section 10 Version)
Lesson 22: Optimization I (Section 10 Version)Lesson 22: Optimization I (Section 10 Version)
Lesson 22: Optimization I (Section 10 Version)Matthew Leingang
 

Similar a Geometric Algebra: A Unified Framework for Geometry (20)

Midterm I Review
Midterm I ReviewMidterm I Review
Midterm I Review
 
Understand Of Linear Algebra
Understand Of Linear AlgebraUnderstand Of Linear Algebra
Understand Of Linear Algebra
 
Lesson03 Dot Product And Matrix Multiplication Slides Notes
Lesson03    Dot  Product And  Matrix  Multiplication Slides NotesLesson03    Dot  Product And  Matrix  Multiplication Slides Notes
Lesson03 Dot Product And Matrix Multiplication Slides Notes
 
Lesson 12: Linear Independence
Lesson 12: Linear IndependenceLesson 12: Linear Independence
Lesson 12: Linear Independence
 
X2 T08 03 inequalities & graphs
X2 T08 03 inequalities & graphsX2 T08 03 inequalities & graphs
X2 T08 03 inequalities & graphs
 
Lesson32 Second Order Difference Equations Slides
Lesson32   Second Order Difference Equations SlidesLesson32   Second Order Difference Equations Slides
Lesson32 Second Order Difference Equations Slides
 
Eigenvalues in a Nutshell
Eigenvalues in a NutshellEigenvalues in a Nutshell
Eigenvalues in a Nutshell
 
3.1 Quadratic Functions and Models
3.1 Quadratic Functions and Models3.1 Quadratic Functions and Models
3.1 Quadratic Functions and Models
 
Lesson 26: Optimization II: Data Fitting
Lesson 26: Optimization II: Data FittingLesson 26: Optimization II: Data Fitting
Lesson 26: Optimization II: Data Fitting
 
General Math Lesson 3
General Math Lesson 3General Math Lesson 3
General Math Lesson 3
 
Jawapan modul ulangkaji berfokus online
Jawapan modul ulangkaji berfokus onlineJawapan modul ulangkaji berfokus online
Jawapan modul ulangkaji berfokus online
 
Arc lengthparametrization
Arc lengthparametrizationArc lengthparametrization
Arc lengthparametrization
 
Geometric Algebra 2: Applications
Geometric Algebra 2: ApplicationsGeometric Algebra 2: Applications
Geometric Algebra 2: Applications
 
Lesson 9: Gaussian Elimination
Lesson 9: Gaussian EliminationLesson 9: Gaussian Elimination
Lesson 9: Gaussian Elimination
 
2.8 Function Operations and Composition
2.8 Function Operations and Composition2.8 Function Operations and Composition
2.8 Function Operations and Composition
 
Proj Stat
Proj StatProj Stat
Proj Stat
 
Do Wide and Deep Networks Learn the Same Things: Uncovering How Neural Networ...
Do Wide and Deep Networks Learn the Same Things: Uncovering How Neural Networ...Do Wide and Deep Networks Learn the Same Things: Uncovering How Neural Networ...
Do Wide and Deep Networks Learn the Same Things: Uncovering How Neural Networ...
 
Lesson 22: Optimization I (Section 10 Version)
Lesson 22: Optimization I (Section 10 Version)Lesson 22: Optimization I (Section 10 Version)
Lesson 22: Optimization I (Section 10 Version)
 
Quantum Logic
Quantum LogicQuantum Logic
Quantum Logic
 
Do you know the line
Do you know the lineDo you know the line
Do you know the line
 

Más de Vitor Pamplona

Tailored Displays to Compensate for Visual Aberrations - SIGGRAPH Presentation
Tailored Displays to Compensate for Visual Aberrations - SIGGRAPH PresentationTailored Displays to Compensate for Visual Aberrations - SIGGRAPH Presentation
Tailored Displays to Compensate for Visual Aberrations - SIGGRAPH PresentationVitor Pamplona
 
CATRA: Interactive Measuring and Modelling of Cataracts
CATRA: Interactive Measuring and Modelling of CataractsCATRA: Interactive Measuring and Modelling of Cataracts
CATRA: Interactive Measuring and Modelling of CataractsVitor Pamplona
 
Netra at Mobile Health Expo NYC
Netra at Mobile Health Expo NYCNetra at Mobile Health Expo NYC
Netra at Mobile Health Expo NYCVitor Pamplona
 
Unusual apps: NETRA and CATRA
Unusual apps: NETRA and CATRAUnusual apps: NETRA and CATRA
Unusual apps: NETRA and CATRAVitor Pamplona
 
Photorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
Photorealistic Models for Pupil Light Reflex and Iridal Pattern DeformationPhotorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
Photorealistic Models for Pupil Light Reflex and Iridal Pattern DeformationVitor Pamplona
 
NETRA on SIGGRAPH 2010
NETRA on SIGGRAPH 2010NETRA on SIGGRAPH 2010
NETRA on SIGGRAPH 2010Vitor Pamplona
 
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...Vitor Pamplona
 
Introdução ao Algoritmo Photon Mapping
Introdução ao Algoritmo Photon MappingIntrodução ao Algoritmo Photon Mapping
Introdução ao Algoritmo Photon MappingVitor Pamplona
 
Algoritmo de Photon Mapping
Algoritmo de Photon MappingAlgoritmo de Photon Mapping
Algoritmo de Photon MappingVitor Pamplona
 
Performance Analysis: C vs CUDA
Performance Analysis: C vs CUDAPerformance Analysis: C vs CUDA
Performance Analysis: C vs CUDAVitor Pamplona
 
Propagação de Incerteza em Medições
Propagação de Incerteza em MediçõesPropagação de Incerteza em Medições
Propagação de Incerteza em MediçõesVitor Pamplona
 
Turbinando sua Carreira: mestrado, devo encarar essa?
Turbinando sua Carreira: mestrado, devo encarar essa?Turbinando sua Carreira: mestrado, devo encarar essa?
Turbinando sua Carreira: mestrado, devo encarar essa?Vitor Pamplona
 
Criando Projetos Open Source
Criando Projetos Open SourceCriando Projetos Open Source
Criando Projetos Open SourceVitor Pamplona
 

Más de Vitor Pamplona (20)

SciBr foundation 2017
SciBr foundation 2017SciBr foundation 2017
SciBr foundation 2017
 
SciBr foundation 2018
SciBr foundation 2018SciBr foundation 2018
SciBr foundation 2018
 
Defesa de Tese
Defesa de TeseDefesa de Tese
Defesa de Tese
 
Tailored Displays to Compensate for Visual Aberrations - SIGGRAPH Presentation
Tailored Displays to Compensate for Visual Aberrations - SIGGRAPH PresentationTailored Displays to Compensate for Visual Aberrations - SIGGRAPH Presentation
Tailored Displays to Compensate for Visual Aberrations - SIGGRAPH Presentation
 
CATRA: Interactive Measuring and Modelling of Cataracts
CATRA: Interactive Measuring and Modelling of CataractsCATRA: Interactive Measuring and Modelling of Cataracts
CATRA: Interactive Measuring and Modelling of Cataracts
 
Netra at Mobile Health Expo NYC
Netra at Mobile Health Expo NYCNetra at Mobile Health Expo NYC
Netra at Mobile Health Expo NYC
 
Unusual apps: NETRA and CATRA
Unusual apps: NETRA and CATRAUnusual apps: NETRA and CATRA
Unusual apps: NETRA and CATRA
 
Free software basics
Free software basicsFree software basics
Free software basics
 
Photorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
Photorealistic Models for Pupil Light Reflex and Iridal Pattern DeformationPhotorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
Photorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
 
NETRA on SIGGRAPH 2010
NETRA on SIGGRAPH 2010NETRA on SIGGRAPH 2010
NETRA on SIGGRAPH 2010
 
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
 
Introdução ao Algoritmo Photon Mapping
Introdução ao Algoritmo Photon MappingIntrodução ao Algoritmo Photon Mapping
Introdução ao Algoritmo Photon Mapping
 
Algoritmo de Photon Mapping
Algoritmo de Photon MappingAlgoritmo de Photon Mapping
Algoritmo de Photon Mapping
 
Performance Analysis: C vs CUDA
Performance Analysis: C vs CUDAPerformance Analysis: C vs CUDA
Performance Analysis: C vs CUDA
 
Anotação de Imagens
Anotação de ImagensAnotação de Imagens
Anotação de Imagens
 
Propagação de Incerteza em Medições
Propagação de Incerteza em MediçõesPropagação de Incerteza em Medições
Propagação de Incerteza em Medições
 
Turbinando sua Carreira: mestrado, devo encarar essa?
Turbinando sua Carreira: mestrado, devo encarar essa?Turbinando sua Carreira: mestrado, devo encarar essa?
Turbinando sua Carreira: mestrado, devo encarar essa?
 
Criando Projetos Open Source
Criando Projetos Open SourceCriando Projetos Open Source
Criando Projetos Open Source
 
O Mundo Open Source
O Mundo Open SourceO Mundo Open Source
O Mundo Open Source
 
Mobile 3D Game Engine
Mobile 3D Game EngineMobile 3D Game Engine
Mobile 3D Game Engine
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Geometric Algebra: A Unified Framework for Geometry

  • 2. Cross Product in nD? • Why not? – V1 = (1.0, 2.0, 3.0, 4.0) – V2 = (-2.0, -3.0, -4.0, -5.0) V1×V2=? ? I J K Q 1,00 2,00 3,00 4,00 = ??? -2,00 -3,00 -4,00 -5,00
  • 3. A language for geometry Geometric Algebraic Concepts Language • Magnitude - size 3D 4,20 • Direction -orientation • Sense - negative/positive 35º • Grade - dimension CCW x
  • 4. What we need? • n-dimensional geometric language • Represent the object grade • Operate across different dimensions • Geometrically intuitive • Without limits • Coordinate free • Efficient • Unify other algebras
  • 5. Product of Vectors ? vv = ? v vv = 3 e1  2 e2 ∗ 3 e1  2 e2  vv = 9 e1 e1  6 e1 e2  6 e2 e1  4 e2 e2 e2 e1 e1 e1 = ? e1 e2 = ? v =3, 2 e2 e1 = ? v =3 e12 e2 e2 e2 = ?
  • 6. Gibbs (Vector Algebra) vv = 9 e1 e1  6 e1 e2  6 e2 e1  4 e2 e2 v { ei⋅e j = 1 i = j ei⋅e j = e j⋅ei = 0  i ≠ j  e2 e1 vv = 9  4 = 13 v =3, 2 v ⋅v = 3,2 ∗ 3,2 v =3 e12 e2 v⋅ v = 3 ∗ 3  2 ∗ 2 dot product v ⋅ v = 13
  • 7. Clifford (Geometric Algebra) vv = 9 e1 e1  6 e1 e2  6 e2 e1  4 e2 e2 v { ei ⋅e j = 1 i = j ei⋅e j  e j⋅ei = 0  i ≠ j  e2 e1 ei ⋅e j = −e j⋅e i Anticomutivity v =3, 2 vv = 9 e1 e1  6 e1 e2 − 6 e1 e2  4 e2 e2 v =3 e12 e2 vv = 9  4 = 13 Inner product
  • 8. The Goal: Outer Product • What's e1e2 ? e2 – It isn't a scalar – It isn't a vector O e1 e1 ∧ e 2 2D • It's a plane, a vector space (blade) CCW e2 • Called Bivector or 2-vector O e1 • Outer products span e2 ∧ e 1
  • 9. Inner product (dot) • Outer product spans  1 e1 ∧  2 e2 =  1 ∗  2 e1 e2 v vv = 9 e1 e1  6 e1 e2 − 6 e1 e2  4 e2 e2 e2 vv = 9  4 = 13 e1 • Inner product projects  12 e1 e2 ⋅ e2 = 12 e1
  • 10. Geometric Product v vv = 9 e 1 e 1  6 e 1 e 2 − 6 e 1 e 2  4 e 2 e 2 e2 vv = 9  4 = 13 e1 { e i ⋅e j = 1 i = j  e i ⋅e j  e j ⋅e i = 0  i ≠ j  v ∥u v ⊥u   v ∧ u = 0 v ⋅ u = 0 vu = v ⋅u  v ∧ u Inner product Outer product
  • 11. Contraction Inner Product • Generalizes inner product to Blades • Complement of the orthogonal projection a a B= a B B • Generalizing geometric product vu = v uv ∧ u
  • 12. History of Geometric Algebra Synthetic Geometry 300 BC Euclid Analitic Geometric 1637 Descartes 1798 Complex Álgebra 1844 Wessel, Gauss 1843 Exterior Algebra Quaternions Grassman Hamilton 1854 Matrix Álgebra Cayley 1881 1878 1878 Determinants Vector Algebra Clifford Algebra Sylvester Gibbs Clifford 1890 Tensor Algebra 1923 Differential Forms Ricci 1928 Spin Algebra E. Cartan Pauli, Dirac Geometric Algebra
  • 13. Multivector • Unique structure v ℜ3=  Scalar   e 1   e2   e 3 Vectors   e 1 e2   e1 e 3   e2 e3 2-Blades   e 1 e2 e3 3-Blades • Outer product spans • Inner product projects
  • 14. Operations on Multivectors • Graduated Involution v k = −1k ∗ v k  • Reverse v k = −1k k − 1/ 2 ∗ v k   vu = uv  • Conjugation     v k =v =v • Inverse v v −1 = ∣v ∣ ²
  • 15. Operations on Multivectors (cont) • Angle between vectors v ⋅u cos  = ∣ ∣∣ ∣ v u • Pseudoscalar – Dimensional limit ps ℜ 3=1∗e 1∧e 2 ∧e 3 • Dual A= Ã k∗ ps
  • 16. Operations on Multivectors (cont 2) • Meet C =A∩B • Join C =A∪B • Sum and difference C =AB C = A− B • Nabla = Symmetric difference v 1 ∇ v 2=majorGrade v 1∗v 2 
  • 17. Future Readings [Dorst, 02a] [Vaz, 97] • Projection of blades and Rejection • Reflection • Rotors • Models – Homogeneous model / Plücker coordinates – Conformal model • Quaternions
  • 18. GA Frameworks • GAViewer: Geometric algebra computations and visualize • GAP: Geometric Algebra Package [Zaharia, 03] • GAIGEN: Code generator to Geometric Algebra [Fontijne] • GluCat: template classes to Clifford algebras • GAGL: Geometric Algebra to OpenGL • GEOMA: C++ Template Classes for Geometric Algebras
  • 19. Multivector Implementations • GAGL scalar , e 1 , e 2 , e 3 , – Vector[8] e 1 ∧e 2 , e 1∧e 3 , e 2 ∧e 3 , – Only in 3D. e 1∧e 2 ∧e 3 • GEOMA – Matrix [2k][2k] where k = grade • GluCat: ?? • GAP scalar , e 1 , e 2 , e 3 , e 1 ∧e 2 , e 1∧e 3 , e 2 ∧e 3 , e 1∧e 2 ∧e 3 EBLADE EBLADE EBLADE HMV HMV HMV
  • 20. Clean Multivector Implementation • Think OO with low memory usage • Two Classes – GAMultivector – GASpace • Inside GAMultivector – double[length]: where length is a compile time method n length=1∑ C n , k k =1
  • 21. Performance Aspects • 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 FAST • 3DLA: Linear Algebra • 3DGA: Geometric Algebra ELEGANCE • 4DLA: Homogeneous coordinates • 4DGA: Homogeneous model • 5DGA: Conformal model
  • 22. So... “... that it provides a single, simple mathematical framework which eliminates the plethora of diverse mathematical descriptions and techniques...” [McRobie and Lasenby, 1999]
  • 23. 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