An Algebraic Foundation for Object-Oriented Euclidean Geometry
Total Page:16
File Type:pdf, Size:1020Kb
数理解析研究所講究録 1378 巻 2004 年 138-153 138 An Algebraic Foundation for Object-Oriented Euclidean Geometry Leo Dorst and Daniel Fontijne Informatics Institute, University of Amsterdam, The Netherlands Abstract The conformal model of Euclidean geometry in Geometric Algebra pro vides a compact way to characterize Euclidean objects such as spheres, planes, circles, lines, etc. as blades. The algebraic structure of the model provides a ‘grammar’ for these objects and their relationships. In this rather informal paper we explore this grammar, developing a new geO- metric intuition to use it effectively. This results in the identification of two important construction products, the known meet and the new plunge. These provide compact specification techniques to parametrize operators and objects directly in terms of other objects. 1Introduction 1.1 Euclidean Primitives as Subspaces An elegant model for Euclidean geometry was introduced recently [8], called the ‘conformal model’ (since it can support conformal transformations as well, al- though we do not use those in this paper). The idea behind the conformal model is to embed the Euclidean space $E^{n}$ into the Minkowski space $\mathrm{m}^{n+1,1}$ , and the Euclidean metric into the inner product of that Minkowski space. Subspaces of $\mathrm{m}^{n+1,1}$ are blades in its geometric algebra, and easily interpretable as primitive objects in En. The operators of geometric algebra then organize the Euclidean geometry algebraically, and this results in useful ‘data types’ for elementary ge- ometry with well-understood relationships. This technique is metric, and consid- erably extends the common, non-metric, homogeneous coordinate methods for modeling Euclidean geometry. Extensive introductions to this ‘conformal model of Euclidean geometry’ are available [2]. Here we just briefly repeat the main points required for working with it. The paper provides a more intuitive understanding of the modeling method and its advantages. If you would like to play with it, we recommend our interactive tutorial running in GAViewer [2]. 139 1.2 The conformal model in brief First, we extend the Euclidean space with a point at infinity. We represent this as a particular vector of $\mathrm{m}^{n+1,1}$ , and in this paper we denote this vector by the symbol $\infty$ . We represent a general Euclidean point 7 homogeneously by a vector $p\in$ $\mathrm{m}^{n+1,1}$ (not just any vector, see below). We design the inner product of two such $\mathrm{m}^{n+1,1}$ $\mathcal{P}$ $Q$ vectors $p$ and $q$ in through their relationship to Euclidean points , : $\frac{p}{\infty\cdot p}\cdot\frac{q}{\infty\cdot q}=-\frac{1}{2}d_{E}^{2}(\mathcal{P}, Q)$ where $d_{E}$ : $E^{n}\mathrm{x}E^{n}arrow$ $\mathrm{m}$ is the Euclidean distance function. It follows that $p\cdot p=0,$ so Euclidean points are represented as null vectors in the Minkowski space. Note that since the distance between $p$ and oo should be infinite, we have oo . oo $=0,$ so it is a null vector as well. The homogeneous nature of the representation implies that $\alpha p$ may be inter- preted as 7) for any $ce\neq 0.$ In this paper we use normalized points for convenience. We set the normalization as: $\infty\cdot p=-1$ , so : $p \cdot q=-\frac{1}{2}d_{E}^{2}(P, Q)$ . This representation of geometry is coordinate free. In particular there is no need to introduce a particular origin. Still, if we do choose to introduce the Euclidean $\mathrm{r}$ $\mathcal{O}$ $\mathrm{m}^{n+1,1}$ $E^{n}$ origin by a specific vector $0$ in , then a point in which would traditionally be specified using the position vector $\mathrm{p}$ relative to this origin, can be embedded as the vector $p=0$ $+ \mathrm{p}+\frac{1}{2}\mathrm{p}^{2}\infty$ in $\mathrm{R}^{n+1,1}[8].1$ We are especially interested in E3, and when required use an orthogonal basis $\{\mathrm{e}_{1}, \mathrm{e}_{2}, \mathrm{e}_{3}\}$ and pseudoscalar I $3=\mathrm{e}_{1}\Lambda \mathrm{e}_{2}\Lambda \mathrm{e}_{3}$ . 2 Basic Constructions 2.1 Products in geometric algebra The fundamental product in geometric algebra is the geometric product of a vec- tor space $V^{m}$ . It is linear, associative, and scalar-valued for vectors in $V^{m}$ . Prom it can be derived products that are very useful for the geometrically meaningful construction of basic elements. The Grassmann exterior product, invented to represent the ‘extended quan- tities’ that $k$ -dimensional subspaces are, is a natural part of geometric algebra. It is defined in terms of the geometric product as the outer product $\langle\langle A\rangle r\langle B\rangle_{s}\rangle_{r+s}$ (1) A $\Lambda B=\sum_{r,s}$ Normalization varies between authors. Letting $\mathrm{p}$ become large, the dominant term is $\infty\cdot p=-1$ proportional to 1 $\mathrm{o}\mathrm{o}$ , and this is the reason for our choosing the normalization . 140 where $\langle$ . $\rangle_{r}$ takes the grade $r$ part of its argument. For vectors, it is anti-commuta- tive, linear and extended to more factors by associativity. In this paper we mostly restrict ourselves to elements that are factorizable in terms of the outer product. These are called blades, and the number of factors is called the grade of the blade. Two inner products can be defined as the adjoint to the outer product relative to a metric scalar product [3], resulting in $A\rfloor B$ $=$ $\langle(A\rangle_{r}\langle B\rangle_{s}\rangle_{s-r}$ left contraction: $\sum_{r,s}$ $A\lfloor B$ $=$ $\langle(A\rangle_{r}$ $\langle B\rangle_{s}\rangle_{r-}$ , right contraction: $\sum_{r,s}$ If the order of the arguments is chosen well and scalar blades are avoided, we can also use the ‘standard’ inner product of Hestenes denoted by ‘.’, see [3]. We can distribute the inner product with respect to the outer product: a $\iota$ $(B\Lambda C)=(a\cdot B)\Lambda C+B\Lambda(a\cdot C)$ (2) where $a$ is a vector , $B$ and $C$ general blades, and $B=\Sigma_{r}(-1)^{r}\langle B\rangle_{r}$ , or (A $\Lambda B$ ) $\rfloor C=A\rfloor(B\rfloor C)$ (where the use of the left contraction is essential). The dual of an element $A$ of the geometric algebra of the space $\mathrm{m}^{n+1,1}$ is defined as geometric division by a the unit pseudoscalar $I_{n+1,1}=\mathit{0}\Lambda \mathrm{I}_{n}\Lambda\infty$ , with $\mathrm{I}_{n}$ the pseudoscalar of $E^{n}$ . $A^{*}=AI_{n+1,1}^{-1}=A\rfloor I_{n+1,1}^{-1}$ . (3) Please note that $A^{*}*$ is not necessarily equal to $A$ , there is a sign difference of $(-1)^{n(n-1)\oint 2}$ . Duality laws allow conversion between the inner and outer product: $A\rfloor B^{*}=(A\Lambda B)^{*}$ and $A\wedge B^{*}=(A\rfloor B)^{*}$ (4) We also need the purely Euclidean dualization, which we denote by a subtly different star, as $\mathrm{A}^{\star}$ for apure Euclidean blade A. Pure Euclidean blades are always denoted in bold. With the exception of the geometric product, these products are closed on blades: the product of two blades is again a blade [1]. There are also ways of using the geometric product as blade operations, e.g. in projection and the versor product. We get back to that in section 6. 2.2 Direct and dual representation $V^{m}$ $k$ Consider an $m$-dimensional vector space . In this space, vectors $v_{1}\cdots v_{k}$ span a subspace $A$. In geometric algebra, this $k$ -dimensional subspace is directly $\Lambda\cdots\Lambda$ ) $\mathrm{L}1k$ characterized by the blade $A=L$ $1$ , in the sense that: $x\Lambda A=0$ $\Leftrightarrow$ $x\in A$ (5)(51 141 Because of this correspondence we may talk about ‘the subspace $A’$ , in particular the Euclidean point $\mathrm{P}$ $\in E^{n}$ can be denoted by its representing vector $p\in$ $\mathrm{m}^{n+1,1}$ without confusion. The anti-commutative and linear properties of the outer product provide us with orientations and magnitudes for the subspaces, but we do not emphasize those in this paper. Taking the dual of the expression $x\Lambda A=0$ with respect to the pseudoscalar (volume blade) of the total algebra we work in, we see that the same subspace can also be characterized dually by $A^{*}:$ $x\cdot A^{*}=0$ $\Leftrightarrow$ $x\in 4$ (6) We use both characterizations in this paper, and find it necessary to distinguish sharply between them, so please note the difference between the direct character- ization eq.(5) and the dual characterization eq. (6) of a subspace. 2-3 Euclidean spheres and planes as vectors The direct relationship between the Euclidean distance and the inner product makes specification of Euclidean primitives very straightforward. Some examples: $\circ$ Midplane between points $p$ and $q$ $\Rightarrow$ $x$ on the midplane $\Leftrightarrow$ dE $\{x,p)=ds\{x,$ $q)$ $x\cdot p=x\cdot q$ $\Leftrightarrow$ $x\cdot(p-q)=0$ So the vector $p-q$ is the dual representation of the midplane. Note that $(p-q)\cdot(p-q)=d_{E}^{2}(p, q)$ , so this is not a null vector and therefore distinct from the representation of aapoint.point. $\mathrm{o}$ Sphere center $c$ radius $\rho$ $x$ on the sphere $\Leftrightarrow$ $ds\{x,$ $c)=\rho$ $\Rightarrow$ $x \cdot c=-\frac{1}{2}\rho^{2}$ $\Leftrightarrow$ $x \cdot c-\frac{1}{2}\rho^{2}x\cdot\infty=x\cdot(c-\frac{1}{2}\rho^{2}\infty)=0$ c-\frac{1}{2}\rho^{2}x\cdot 0=x\cdot(c-\frac{1}{2}\rho^{2}\infty)=0$ So $c- \frac{1}{2}\rho^{2}\infty$ is the dual sphere.