Course notes Geometric Algebra for Computer Graphics, SIGGRAPH 2019 (2002.04509v2)
Abstract: What is the best representation for doing euclidean geometry on computers? These notes from a SIGGRAPH 2019 short course entitled "Geometric algebra for computer graphics" introduce projective geometric algebra (PGA) as a modern framework for this task. PGA features: uniform representation of points, lines, and planes; robust, parallel-safe join and meet operations; compact, polymorphic syntax for euclidean formulas and constructions; a single intuitive sandwich form for isometries; native support for automatic differentiation; and tight integration of kinematics and rigid body mechanics. PGA includes vector, quaternion, dual quaternion, and exterior algebras as sub-algebras, simplifying the learning curve and transition path for experienced practitioners. On the practical side, it can be efficiently implemented, while its rich syntax enhances programming productivity. The basic ideas are introduced in the 2D context and developed selectively for 3D. Advantages to traditional approaches are collected in a table at the end. The article aims to be a self-contained introduction for practitioners of euclidean geometry and includes numerous examples, formulas, figures, and tables.