Deprecated v1 guide

Projective geometric algebra for graphics v1

This section is a reference for geometric algebra in graphics. It starts with exterior-algebra and geometric-product foundations, then moves into 2D projective geometric algebra: points, lines, intersections, reflections, motions, shape intersections, and coordinate frames.

The foundation pages build the missing mental model for grades, blades, wedge, and the geometric product. The PGA examples then use ganja's plane-based PGA convention. For 2D pages that means Algebra(2,0,1), grade-1 lines, grade-2 finite points, ^ for wedge,& for vee, and ganja sandwich action with >>>.

Each article starts from a concrete graphics question, keeps the algebraic representative in multivector form, and normalizes only when that clarifies the geometry.

Learning sequence

Articles

  1. 01Foundations: Grades and wedgeScalars, vectors, bivectors, trivectors, blades, multivectors, and wedge as oriented span.
  2. 02Foundations: Geometric product and motionMetric, geometric product, reflection sandwiches, two-reflection rotors, and PGA motion setup.
  3. 03PGA 2D: Points, lines, and homogeneous scaleThe 2D convention: lines, finite points, homogeneous scale, normalization, and incidence.
  4. 04PGA 2D: Meet and joinLine-line meet, point-point join, and finite, ideal, or degenerate result states.
  5. 05PGA 2D: ReflectionsA normalized off-axis line reflects a point and polygon through ganja sandwich action.
  6. 06PGA 2D: Two reflectionsTwo mirrors produce rotations around their meet point or translations from parallel lines.
  7. 07PGA 2D: Motors and exponentialsEven multivectors, generators, half-angles, nilpotent translations, and direct point action.
  8. 08PGA 2D: Shape intersectionsConvex polygon clipping with edge lines, meets, half-space tests, and tolerances.
  9. 09PGA 2D: Frames, coordinates, and change of basisActive motion versus passive frame changes, with world/local/model/view vocabulary.
  10. 10PGA 2D: OverviewA compact synthesis of scale, meet/join, reflections, motors, and frames.

Reference tools

Interactive Checks

Dependency graph

Ideas

  1. Ordinary Euclidean vector
  2. Cartesian coordinates
  3. Basic algebraic manipulation
  4. Cartesian line equation
  5. Euclidean distance and angle
  6. Rigid transform matrix
  7. Oriented span
  8. Vector independence
  9. Projective coordinates as representatives
  10. Convex polygon clipping
  11. Grade
  12. Metric
  13. Wedge product
  14. Geometric object versus coordinate tuple
  15. Homogeneous scale equivalence
  16. Scalar
  17. Vector as grade-1 element
  18. Bivector
  19. Trivector
  20. Blade
  21. Orientation sign
  22. Projective ray
  23. Degenerate result
  24. Collapsed wedge for dependent directions
  25. Wedge bilinearity
  26. Normalization as display choice
  27. Basis bivector
  28. Repeated-vector wedge is zero
  29. Multivector
  30. Near-degenerate numerical sensitivity
  31. Bivector component slots
  32. Grade projection
  33. Unit bivector
  34. Even multivector
  35. Wedge computation rules
  36. Geometric product
  37. Basis-vector square rule
  38. Basis blade
  39. Dot product
  40. Wedge component formula
  41. Bivector addition
  42. Orthogonal basis product
  43. Contraction
  44. Reflection sandwich
  45. Order-dependent vector-bivector product
  46. Metric signature
  47. Reverse
  48. Pseudoscalar
  49. Canonical basis order
  50. Vector product split
  51. Projective null direction e0
  52. Sandwich action
  53. Metric substitution
  54. Rotor
  55. 2D PGA convention
  56. Physical 3D PGA object grades
  57. Geometric product expansion
  58. Bivector square
  59. Ganja.js plane-based PGA convention
  60. 3D PGA convention
  61. 3D line as grade-2 element
  62. 3D point as grade-3 element
  63. Poincare dual
  64. Collect like blades
  65. Homogeneous 1-up visualization
  66. 2D line as grade-1 vector
  67. 2D finite point as grade-2 bivector
  68. Ganja algebra template
  69. Line normal and offset components
  70. Ganja dual operator
  71. Vee product
  72. Point homogeneous weight
  73. Ganja sandwich operator
  74. Dual point representative
  75. Point-line incidence
  76. Ganja blade literal syntax
  77. Unit-normal line
  78. Point chart coordinate extraction
  79. Ideal point
  80. Incidence construction
  81. Line normalization
  82. Incidence pseudoscalar e012
  83. Shared 2D PGA helper functions
  84. Point normalization
  85. Meet
  86. Join
  87. Normalized mirror line
  88. Clipping tolerance
  89. Line-line meet by wedge
  90. 3D rotation axis from point join
  91. Point-point join by vee
  92. Non-convex clipping limitation
  93. Normalized incidence signed distance
  94. Point reflection
  95. Coincident-line meet degeneracy
  96. Parallel lines meet at ideal point
  97. Finite meet normalization
  98. Joined-line incidence check
  99. Clip edge as line join
  100. Subject edge as line join
  101. Coincident-point join degeneracy
  102. Polygon reflection
  103. Nested two-reflection action
  104. Reflection reverses orientation
  105. Meet/join result classification
  106. Half-space test from incidence
  107. Signed area orientation check
  108. Two-reflection motion as even multivector
  109. Two reflections restore orientation
  110. Parallel mirrors translate
  111. Intersecting mirrors rotate
  112. Motor
  113. Candidate clipping vertex from meet
  114. Translation direction from mirror separation
  115. Double-angle rotation from mirrors
  116. Rotation center as mirror meet
  117. Unit motor normalization
  118. Generator
  119. Motor point action
  120. Exponential map to motor
  121. 2D PGA common data shape
  122. Matrix comparison for motor motion
  123. Ideal translation generator
  124. Rotation generator stores center point
  125. Motor half-angle
  126. Nilpotent translation generator
  127. 3D translator along axis
  128. Translator exponential truncation
  129. 3D rotor from line generator
  130. Frame motor
  131. Screw-motion motor
  132. Inverse frame by reverse
  133. Local-to-world active action
  134. Grade-3 point motor action
  135. Passive coordinate change
  136. World/local/model/view vocabulary
  137. View transform as inverse camera frame