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.
翻译:在计算机上进行欧几里得几何的最佳表述方式是什么?这些说明来自名为“计算机图形的几何代数”的SIGGRAPH 2019短程课程,其中题为“计算机图形的几何代数”的注解将投影几何代数(PGA)作为这一任务的现代框架。PGA的特征:对点、线和飞机的统一表述;强大、平行安全的组合和相会操作;对欧几里得公式和构造的紧凑、多形态的合成税;单一的异种直观三明治形式;对自动区分的本土支持;以及运动学和僵硬体机理的紧密整合。PGA包括矢量、四氟、双四环和外部代数作为子代数,简化有经验的从业人员的学习曲线和过渡路径。在实际方面,它可以有效地实施,而其丰富的合成税则能提高方案拟订的生产率。在2D背景下引入基本思想,并为3D有选择地发展了3D。对传统方法的倾向性支持和僵硬体机械的严格结合。文章的目的是要成为矢量的自我测量图和多种化的图表。