Abstract
A new and useful set of homogeneous coordinates has been discovered for the treatment of Euclidean geometry. They render Euclidean motions not merely linear (as the classical homogeneous coordinates do), but even turn them into orthogonal transformations, through a clever choice of metric in two (not one) additional dimensions.
To take full advantage of this new possibility, a good representation of orthogonal transformations is required. We find that multiple reflections, while classically giving unwieldy expressions involving the dot product, become practical by introducing the more fundamental geometric product (which has the dot product merely as its symmetric part). We obtain a sandwiching operation between products of vectors as our representation of motions, which is not only easily concatenated, but also incorporates the computational advantages of complex numbers and quaternions in a real manner. The antisymmetric part of the geometric product produces a spanning operation that permits the construction of lines, planes, spheres and tangents from vectors. Since the sandwiching operation distributes over this construction, ‘objects’ are fully integrated with ‘motions’, in a structure preserving manner.
Additional techniques such as duality (permitting a universal intersection operation), and the rewriting of operators logarithmically (to obtain quantities that can be interpolated linearly) complete the techniques of what is ultimately a very convenient geometric algebra. It easily incorporates general conformal transformations, and can be implemented to run almost as efficiently as classical homogeneous coordinates. The resulting high-level programming language naturally integrates quantitative computation with the automatic administration of geometric data structures.
Rather than the usual introductions which plow through Clifford algebra before they reach this very useful ‘conformal model’ (if they do at all), this tutorial does the reverse. It structures the new concepts in a manner that shows how each additional sophistication is related to what went before, and how it extends its expressive and computational power. Throughout, the concepts and techniques will be illustrated by interactive visualization software (GAviewer, freely available at www.geometricalgebra.net).
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Doran, C., Lasenby, A.: Geometric Algebra for Physicists. Cambridge University Press, Cambridge (2000)
Dorst, L., Fontijne, D., Mann, S.: Geometric Algebra for Computer Science, An Object-Oriented Approach to Geometry. Morgan Kaufman, San Mateo (2007). Second revised printing 2009. See also www.geometricalgebra.net
Fontijne, D.: Efficient implementation of geometric algebra. Ph.D. Thesis, U. of Amsterdam (2007). See also www.science.uva.nl/~fontijne
Fontijne, D., Dorst, L.: Efficient algorithms for factorization and join of blades. This volume
Hestenes, D.: New tools for computational geometry and the rejuvenation of screw theory. This volume
Hestenes, D., Rockwood, A., Li, H.: System for encoding and manipulating models of objects. US Patent 6,853,964, granted 8 February 2005
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag London
About this chapter
Cite this chapter
Dorst, L. (2010). Tutorial: Structure-Preserving Representation of Euclidean Motions Through Conformal Geometric Algebra. In: Bayro-Corrochano, E., Scheuermann, G. (eds) Geometric Algebra Computing. Springer, London. https://doi.org/10.1007/978-1-84996-108-0_2
Download citation
DOI: https://doi.org/10.1007/978-1-84996-108-0_2
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-84996-107-3
Online ISBN: 978-1-84996-108-0
eBook Packages: Computer ScienceComputer Science (R0)