Английская Википедия:Conformal geometric algebra
Conformal geometric algebra (CGA) is the geometric algebra constructed over the resultant space of a map from points in an Шаблон:Math-dimensional base space Шаблон:Math to null vectors in Шаблон:Math. This allows operations on the base space, including reflections, rotations and translations to be represented using versors of the geometric algebra; and it is found that points, lines, planes, circles and spheres gain particularly natural and computationally amenable representations.
The effect of the mapping is that generalized (i.e. including zero curvature) [[n-sphere|Шаблон:Math-spheres]] in the base space map onto Шаблон:Math-blades, and so that the effect of a translation (or any conformal mapping) of the base space corresponds to a rotation in the higher-dimensional space. In the algebra of this space, based on the geometric product of vectors, such transformations correspond to the algebra's characteristic sandwich operations, similar to the use of quaternions for spatial rotation in 3D, which combine very efficiently. A consequence of rotors representing transformations is that the representations of spheres, planes, circles and other geometrical objects, and equations connecting them, all transform covariantly. A geometric object (a Шаблон:Math-sphere) can be synthesized as the wedge product of Шаблон:Math linearly independent vectors representing points on the object; conversely, the object can be decomposed as the repeated wedge product of vectors representing Шаблон:Math distinct points in its surface. Some intersection operations also acquire a tidy algebraic form: for example, for the Euclidean base space Шаблон:Math, applying the wedge product to the dual of the tetravectors representing two spheres produces the dual of the trivector representation of their circle of intersection.
As this algebraic structure lends itself directly to effective computation, it facilitates exploration of the classical methods of projective geometry and inversive geometry in a concrete, easy-to-manipulate setting. It has also been used as an efficient structure to represent and facilitate calculations in screw theory. CGA has particularly been applied in connection with the projective mapping of the everyday Euclidean space Шаблон:Math into a five-dimensional vector space Шаблон:Math, which has been investigated for applications in robotics and computer vision. It can be applied generally to any pseudo-Euclidean space - for example, Minkowski space Шаблон:Math to the space Шаблон:Math.
Construction of CGA
Notation and terminology
In this article, the focus is on the algebra <math>\mathcal G(4,1)</math> as it is this particular algebra that has been the subject of most attention over time; other cases are briefly covered in a separate section. The space containing the objects being modelled is referred to here as the base space, and the algebraic space used to model these objects as the representation or conformal space. A homogeneous subspace refers to a linear subspace of the algebraic space.
The terms for objects: point, line, circle, sphere, quasi-sphere etc. are used to mean either the geometric object in the base space, or the homogeneous subspace of the representation space that represents that object, with the latter generally being intended unless indicated otherwise.Шаблон:Refn Algebraically, any nonzero null element of the homogeneous subspace will be used, with one element being referred to as normalized by some criterion.
Boldface lowercase Latin letters are used to represent position vectors from the origin to a point in the base space. Italic symbols are used for other elements of the representation space.
Base and representation spaces
The base space Шаблон:Math is represented by extending a basis for the displacements from a chosen origin and adding two basis vectors Шаблон:Math and Шаблон:Math orthogonal to the base space and to each other, with Шаблон:Math and Шаблон:Math, creating the representation space <math>\mathcal G(4,1)</math>.
It is convenient to use two null vectors Шаблон:Math and Шаблон:Math as basis vectors in place of Шаблон:Math and Шаблон:Math, where Шаблон:Math, and Шаблон:Math. It can be verified, where Шаблон:Math is in the base space, that:
- <math>\begin{array}{lllll}
{n_\text{o}}^2 & = 0 \qquad n_\text{o} \cdot n_\infty & = -1 \qquad & n_\text{o} \cdot \mathbf{x} & = 0 \\ {n_\infty}^2 & = 0 \qquad n_\text{o} \wedge n_\infty & = e_{-}e_{+} \qquad & n_\infty \cdot \mathbf{x} & = 0
\end{array}</math>
These properties lead to the following formulas for the basis vector coefficients of a general vector Шаблон:Math in the representation space for a basis with elements Шаблон:Math orthogonal to every other basis element:
- The coefficient of Шаблон:Math for Шаблон:Math is Шаблон:Math
- The coefficient of Шаблон:Math for Шаблон:Math is Шаблон:Math
- The coefficient of Шаблон:Math for Шаблон:Math is Шаблон:Math.
Mapping between the base space and the representation space
The mapping from a vector in the base space (being from the origin to a point in the affine space represented) is given by the formula:Шаблон:Refn
- <math> g : \mathbf{x} \mapsto n_\text{o} + \mathbf{x} + \tfrac{1}{2} \mathbf{x}^2 n_\infty </math>
Points and other objects that differ only by a nonzero scalar factor all map to the same object in the base space. When normalisation is desired, as for generating a simple reverse map of a point from the representation space to the base space or determining distances, the condition Шаблон:Math may be used.
The forward mapping is equivalent to:
- first conformally projecting Шаблон:Math from Шаблон:Math onto a unit 3-sphere in the space Шаблон:Math (in 5-D this is in the subspace Шаблон:Math);
- then lift this into a projective space, by adjoining Шаблон:Math, and identifying all points on the same ray from the origin (in 5-D this is in the subspace Шаблон:Math);
- then change the normalisation, so the plane for the homogeneous projection is given by the Шаблон:Math co-ordinate having a value Шаблон:Math, i.e. Шаблон:Math.
Inverse mapping
An inverse mapping for Шаблон:Math on the null cone is given (Perwass eqn 4.37) by
- <math>X \mapsto \mathcal{P}^\perp_{n_\infty \wedge n_\text{o}}\left( \frac{X}{- X \cdot n_\infty}\right)</math>
This first gives a stereographic projection from the light-cone onto the plane Шаблон:Math, and then throws away the Шаблон:Math and Шаблон:Math parts, so that the overall result is to map all of the equivalent points Шаблон:Math to Шаблон:Math.
Origin and point at infinity
The point Шаблон:Math in Шаблон:Math maps to Шаблон:Math in Шаблон:Math, so Шаблон:Math is identified as the (representation) vector of the point at the origin.
A vector in Шаблон:Math with a nonzero Шаблон:Math coefficient, but a zero Шаблон:Math coefficient, must (considering the inverse map) be the image of an infinite vector in Шаблон:Math. The direction Шаблон:Math therefore represents the (conformal) point at infinity. This motivates the subscripts Шаблон:Math and Шаблон:Math for identifying the null basis vectors.
The choice of the origin is arbitrary: any other point may be chosen, as the representation is of an affine space. The origin merely represents a reference point, and is algebraically equivalent to any other point. As with any translation, changing the origin corresponds to a rotation in the representation space.
Geometrical objects
Basis
Together with <math>I_5 = e_{123}E
</math> and <math>1
</math>, these are the 32 basis blades of the algebra. The Flat Point Origin is written as an outer product because the geometric product is of mixed grade.(<math>E=e_+e_-</math>).
Elements | Geometric Concept |
---|---|
Point and Dual Sphere | |
<math>e_i ,n_0 ,n_\infty</math> | Without <math>n_0</math> is Dual Plane |
Point Pair | |
<math>e_{ij}
</math> |
Bivector |
<math>e_{i}n_0
</math> |
Tangent vector |
<math>e_in_\infty</math> | Direction vector (plus Bivector is Dual Line) |
<math>E=n_o\wedge n_\infty</math> | Flat Point Origin * |
Circle | |
<math>e_1e_2e_3 = I_3</math> | 3D Pseudoscalar |
<math>e_{ij}n_0</math> | Tangent Bivector |
<math>e_{ij}n_\infty</math> | Direction Bivector (plus <math>e_iE
</math> is the Line) |
<math>e_iE</math> | |
Sphere | |
<math>e_{ij}E
</math> |
|
<math>e_in_0
</math> |
Without <math>e_in_0
</math>is the Plane |
<math>e_in_\infty
</math> |
As the solution of a pair of equations
Given any nonzero blade Шаблон:Math of the representing space, the set of vectors that are solutions to a pair of homogeneous equations of the form[1]
- <math>X^2 = 0</math>
- <math>X \wedge A = 0</math>
is the union of homogeneous 1-d subspaces of null vectors, and is thus a representation of a set of points in the base space. This leads to the choice of a blade Шаблон:Math as being a useful way to represent a particular class of geometric objects. Specific cases for the blade Шаблон:Math (independent of the number of dimensions of the space) when the base space is Euclidean space are:
- a scalar: the empty set
- a vector: a single point
- a bivector: a pair of points
- a trivector: a generalized circle
- a 4-vector: a generalized sphere
- etc.
These each may split into three cases according to whether Шаблон:Math is positive, zero or negative, corresponding (in reversed order in some cases) to the object as listed, a degenerate case of a single point, or no points (where the nonzero solutions of Шаблон:Math exclude null vectors).
The listed geometric objects (generalized [[n-sphere|Шаблон:Math-spheres]]) become quasi-spheres in the more general case of the base space being pseudo-Euclidean.[2]
Flat objects may be identified by the point at infinity being included in the solutions. Thus, if Шаблон:Math, the object will be a line, plane, etc., for the blade Шаблон:Math respectively being of grade 3, 4, etc.
As derived from points of the object
A blade Шаблон:Math representing of one of this class of object may be found as the outer product of linearly independent vectors representing points on the object. In the base space, this linear independence manifests as each point lying outside the object defined by the other points. So, for example, a fourth point lying on the generalized circle defined by three distinct points cannot be used as a fourth point to define a sphere.
odds
- Points in e123 map onto the null cone—the null parabola if we set <math>r \cdot n_\infty = -1</math>.
- We can consider the locus of points in e123 s.t. in conformal space <math>g(\mathbf{x}) \cdot A = 0</math>, for various types of geometrical object A.
- We start by observing that <math>g(\mathbf{a}) \cdot g(\mathbf{b}) = -\tfrac12 \| \mathbf{a} - \mathbf{b} \|^2 </math>
compare:
- x. a = 0 => x perp a; x.(a∧b) = 0 => x perp a and x perp b
- x∧a = 0 => x parallel to a; x∧(a∧b) = 0 => x parallel to a or to b (or to some linear combination)
the inner product and outer product representations are related by dualisation
- x∧A = 0 <=> x . A* = 0 (check—works if x is 1-dim, A is n-1 dim)
g(x) . A = 0
- A point: the locus of x in R3 is a point if A in R4,1 is a vector on the null cone.
- (N.B. that because it's a homogeneous projective space, vectors of any length on a ray through the origin are equivalent, so g(x).A =0 is equivalent to g(x).g(a) = 0).
- A sphere: the locus of x is a sphere if A = S, a vector off the null cone.
- If <math display="block">\mathbf{S} = g(\mathbf{a}) - \tfrac12 \rho^2 \mathbf{e}_\infty</math> then S.X = 0 => <math> -\tfrac12 (\mathbf{a}-\mathbf{x})^2 + \tfrac12 \rho^2 = 0 </math>
- these are the points corresponding to a sphere
- for a vector S off the null-cone, which directions are hyperbolically orthogonal? (cf Lorentz transformation pix)
- in 2+1 D, if S is (1,a,b), (using co-ords e-, {e+, ei}), the points hyperbolically orthogonal to S are those euclideanly orthogonal to (-1,a,b)—i.e., a plane; or in n dimensions, a hyperplane through the origin. This would cut another plane not through the origin in a line (a hypersurface in an n-2 surface), and then the cone in two points (resp. some sort of n-3 conic surface). So it's going to probably look like some kind of conic. This is the surface that is the image of a sphere under g.
- for a vector S off the null-cone, which directions are hyperbolically orthogonal? (cf Lorentz transformation pix)
- A plane: the locus of x is a plane if A = P, a vector with a zero no component. In a homogeneous projective space such a vector P represents a vector on the plane no=1 that would be infinitely far from the origin (ie infinitely far outside the null cone), so g(x).P =0 corresponds to x on a sphere of infinite radius, a plane.
- In particular:
- <math>\mathbf{P} = \hat{\mathbf{a}} + \alpha \mathbf{e}_\infty </math> corresponds to x on a plane with normal <math>\hat{\mathbf{a}}</math> an orthogonal distance α from the origin.
- <math>\mathbf{P} = g(\mathbf{a}) - g(\mathbf{b})</math> corresponds to a plane half way between a and b, with normal a - b
- circles
- tangent planes
- lines
- lines at infinity
- point pairs
Transformations
- reflections
- It can be verified that forming P g(x) P gives a new direction on the null-cone, g(x' ), where x' corresponds to a reflection in the plane of points p in R3 that satisfy g(p) . P = 0.
- g(x) . A = 0 => P g(x) . A P = 0 => P g(x) P . P A P (and similarly for the wedge product), so the effect of applying P sandwich-fashion to any the quantities A in the section above is similarly to reflect the corresponding locus of points x, so the corresponding circles, spheres, lines and planes corresponding to particular types of A are reflected in exactly the same way that applying P to g(x) reflects a point x.
This reflection operation can be used to build up general translations and rotations:
- translations
- Reflection in two parallel planes gives a translation,
- <math>g(\mathbf{x}^\prime) = \mathbf{P}_\beta \mathbf{P}_\alpha \; g(\mathbf{x}) \; \mathbf{P}_\alpha \mathbf{P}_\beta</math>
- If <math>\mathbf{P}_\alpha = \hat{\mathbf{a}} +\alpha \mathbf{e}_\infty</math> and <math>\mathbf{P}_\beta = \hat{\mathbf{a}} +\beta \mathbf{e}_\infty</math> then <math>\mathbf{x}^\prime = \mathbf{x} + 2 (\beta-\alpha) \hat{\mathbf{a}}</math>
- rotations
- <math>g(\mathbf{x}^\prime) = \hat{\mathbf{b}}\hat{\mathbf{a}} \; g(\mathbf{x}) \; \hat{\mathbf{a}}\hat{\mathbf{b}}</math> corresponds to an x' that is rotated about the origin by an angle 2 θ where θ is the angle between a and b -- the same effect that this rotor would have if applied directly to x.
- general rotations
- rotations about a general point can be achieved by first translating the point to the origin, then rotating around the origin, then translating the point back to its original position, i.e. a sandwiching by the operator <math>\mathbf{TR{\tilde{T}}}</math> so
- <math>g (\mathcal{G}x) = \mathbf{TR{\tilde{T}}} \; g(\mathbf{x}) \; \mathbf{T\tilde{R}\tilde{T}}</math>
- screws
- the effect a screw, or motor, (a rotation about a general point, followed by a translation parallel to the axis of rotation) can be achieved by sandwiching g(x) by the operator <math>\mathbf{M} = \mathbf{T_2T_1R{\tilde{T_1}}}</math>.
- M can also be parametrised <math>\mathbf{M} = \mathbf{T^\prime R^\prime}</math> (Chasles' theorem)
- inversions
- an inversion is a reflection in a sphere – various operations that can be achieved using such inversions are discussed at inversive geometry. In particular, the combination of inversion together with the Euclidean transformations translation and rotation is sufficient to express any conformal mapping – i.e. any mapping that universally preserves angles. (Liouville's theorem).
- dilations
- two inversions with the same centre produce a dilation.
Generalizations
History
Conferences and journals
There is a vibrant and interdisciplinary community around Clifford and Geometric Algebras with a wide range of applications. The main conferences in this subject include the International Conference on Clifford Algebras and their Applications in Mathematical Physics (ICCA) and Applications of Geometric Algebra in Computer Science and Engineering (AGACSE) series. A main publication outlet is the Springer journal Advances in Applied Clifford Algebras.
Notes
References
Bibliography
Books
- Hestenes et al (2000), in G. Sommer (ed.), Geometric Computing with Clifford Algebra. Springer Verlag. Шаблон:ISBN (Google books) (http://geocalc.clas.asu.edu/html/UAFCG.html Hestenes website)
- Hestenes (2001), in E. Bayro-Corrochano & G. Sobczyk (eds.), Advances in Geometric Algebra with Applications in Science and Engineering, Springer Verlag. Шаблон:ISBN Google books
- Old Wine in New Bottles (pp. 1–14)
- Hestenes (2010), in E. Bayro-Corrochano and G. Scheuermann (2010), Geometric Algebra Computing in Engineering and Computer Science. Springer Verlag. Шаблон:ISBN (Google books).
- Doran, C. and Lasenby, A. (2003), Geometric algebra for physicists, Cambridge University Press. Шаблон:ISBN §10.2; p. 351 et seq
- Dorst, L. et al (2007), Geometric Algebra for Computer Science, Morgan-Kaufmann. Шаблон:ISBN Chapter 13; p. 355 et seq
- Vince, J. (2008), Geometric Algebra for Computer Graphics, Springer Verlag. Шаблон:ISBN Chapter 11; p. 199 et seq
- Perwass, C. (2009), Geometric Algebra with Applications in Engineering, Springer Verlag. Шаблон:ISBN §4.3: p. 145 et seq
- Bayro-Corrochano, E. and Scheuermann G. (2010, eds.), Geometric Algebra Computing in Engineering and Computer Science. Springer Verlag. Шаблон:ISBN pp. 3–90
- Bayro-Corrochano (2010), Geometric Computing for Wavelet Transforms, Robot Vision, Learning, Control and Action. Springer Verlag. Шаблон:ISBN Chapter 6; pp. 149–183
- Dorst, L. and Lasenby, J. (2011, eds.), Guide to Geometric Algebra in Practice. Springer Verlag, pp. 3–252. Шаблон:ISBN.
- Шаблон:Cite book
Online resources
- Wareham, R. (2006), Computer Graphics using Conformal Geometric Algebra, PhD thesis, University of Cambridge, pp. 14–26, 31—67
- Bromborsky, A. (2008), Conformal Geometry via Geometric Algebra (Online slides)
- Dell’Acqua, A. et al (2008), 3D Motion from structures of points, lines and planes, Image and Vision Computing, 26 529–549
- Dorst, L. (2010), Tutorial: Structure-Preserving Representation of Euclidean Motions through Conformal Geometric Algebra, in E. Bayro-Corrochano, G. Scheuermann (eds.), Geometric Algebra Computing, Springer Verlag.
- Colapinto, P. (2011), VERSOR Spatial Computing with Conformal Geometric Algebra, MSc thesis, University of California Santa Barbara
- Macdonald, A. (2013), A Survey of Geometric Algebra and Geometric Calculus. (Online notes) §4.2: p. 26 et seq.
- on the motor algebra over ℝn+1:
- Eduardo Bayro Corrochano (2001), Geometric computing for perception action systems: Concepts, algorithms and scientific applications. (Google books)