Within the last decade, Geometric Algebra (GA) has emerged as a powerful alternative to classical matrix algebra as a comprehensive conceptual language and computational system for computer science. This book will serve as a standard introduction and reference to the subject for students and experts alike. As a textbook, it provides a thorough grounding in the fundamentals of GA, with many illustrations, exercises and applications. Experts will delight in the refreshing perspective GA gives to every topic, large and small.
-David Hestenes, Distinguished research Professor, Department of Physics, Arizona State University
Geometric Algebra is becoming increasingly important in computer science. This book is a comprehensive introduction to Geometric Algebra with detailed descriptions of important applications. While requiring serious study, it has deep and powerful insights into GA's usage. It has excellent discussions of how to actually implement GA on the computer.
-Dr. Alyn Rockwood, CTO, FreeDesign, Inc. Longmont, Colorado
Until recently, almost all of the interactions between objects in virtual 3D worlds have been based on calculations performed using linear algebra. Linear algebra relies heavily on coordinates, however, which can make many geometric programming tasks very specific and complex-often a lot of effort is required to bring about even modest performance enhancements. Although linear algebra is an efficient way to specify low-level computations, it is not a suitable high-level language for geometric programming.
Geometric Algebra for Computer Science presents a compelling alternative to the limitations of linear algebra. Geometric algebra, or GA, is a compact, time-effective, and performance-enhancing way to represent the geometry of 3D objects in computer programs. In this book you will find an introduction to GA that will give you a strong grasp of its relationship to linear algebra and its significance for your work. You will learn how to use GA to represent objects and perform geometric operations on them. And you will begin mastering proven techniques for making GA an integral part of your applications in a way that simplifies your code without slowing it down.
Features
Explains GA as a natural extension of linear algebra and conveys its significance for 3D programming of geometry in graphics, vision, and robotics.
Systematically explores the concepts and techniques that are key to representing elementary objects and geometric operators using GA.
Covers in detail the conformal model, a convenient way to implement 3D geometry using a 5D representation space.
Presents effective approaches to making GA an integral part of your programming.
Includes numerous drills and programming exercises helpful for both students and practitioners.
Companion web site includes links to GAViewer, a program that will allow you to interact with many of the 3D figures in the book, and Gaigen 2, the platform for the instructive programming exercises that conclude each chapter.
About the Authors
Leo Dorst is Assistant Professor of Computer Science at the University of Amsterdam, where his research focuses on geometrical issues in robotics and computer vision. He earned M.Sc. and Ph.D. degrees from Delft University of Technology and received a NYIPLA Inventor of the Year award in 2005 for his work in robot path planning.
Daniel Fontijne holds a Master's degree in artificial Intelligence and is a Ph.D. candidate in Computer Science at the University of Amsterdam. His main professional interests are computer graphics, motion capture, and computer vision.
Stephen Mann is Associate Professor in the David R. Cheriton School of Computer Science at the University of Waterloo, where his research focuses on geometric modeling and computer graphics. He has a B.A. in Computer Science and Pure Mathematics from the University of California, Berkeley, and a Ph.D. in Computer Science and Engineering from the University of Washington.
* The first book on Geometric Algebra for programmers in computer graphics and entertainment computing
* Written by leaders in the field providing essential information on this new technique for 3D graphics
* This full colour book includes a website with GAViewer, a program to experiment with GA
[1]
Ron Goldman,et al.
Illicit expressions in vector algebra
,
1985,
TOGS.
[2]
Stephen Mann,et al.
Geometric Algebra: A Computational Framework for Geometrical Applications (Part 2)
,
2002,
IEEE Computer Graphics and Applications.
[3]
David Hestenes.
New Foundations for Classical Mechanics
,
1986
.
[4]
Robert William Genese Henry George Forder,et al.
The calculus of extension
,
1960
.
[5]
Ken Shoemake,et al.
Animating rotation with quaternion curves
,
1985,
SIGGRAPH.
[6]
Leo Dorst.
Analyzing the behaviours of a car: a study in abstraction of goal-directed motions
,
1998,
IEEE Trans. Syst. Man Cybern. Part A.
[7]
Leo Dorst,et al.
Geometric algebra: A computational framework for geometrical applications (Part I: Algebra)
,
2002
.
[8]
D. Hestenes,et al.
Clifford Algebra to Geometric Calculus
,
1984
.
[9]
Olivier D. Faugeras,et al.
The geometry of multiple images - the laws that govern the formation of multiple images of a scene and some of their applications
,
2001
.
[10]
Leo Dorst,et al.
The making of GABLE: a geometric algebra learning environment in Matlab
,
2001
.
[11]
Bodo Rosenhahn,et al.
Pose Estimation in Conformal Geometric Algebra Part I: The Stratification of Mathematical Spaces
,
2005,
Journal of Mathematical Imaging and Vision.
[12]
Tristan Needham,et al.
Visual Complex Analysis
,
1997
.
[13]
Ian R. Porteous,et al.
Geometric differentiation for the intelligence of curves and surfaces
,
1994
.
[14]
Marc Alexa,et al.
Competitive Runtime Performance for Inverse Kinematics Algorithms using Conformal Geometric Algebra
,
2006,
Eurographics.
[15]
Pierre Anglès.
Construction de revêtements du groupe conforme d’un espace vectoriel muni d’une «métrique» de type $(p, q)$
,
1980
.
[16]
W. Forstner,et al.
Uncertain Geometry with Circles, Spheres and Conics
,
2006
.
[17]
Bodo Rosenhahn,et al.
Pose Estimation in Conformal Geometric Algebra Part II: Real-Time Pose Estimation Using Extended Feature Concepts
,
2005,
Journal of Mathematical Imaging and Vision.
[18]
David Hestenes,et al.
Grassmann’s Vision
,
1996
.
[19]
Ron Goldman.
On the algebraic and geometric foundations of computer graphics
,
2002,
TOGS.
[20]
Bodo Rosenhahn,et al.
Target Calibration and Tracking Using Conformal Geometric Algebra
,
2006,
PSIVT.
[21]
Joan Lasenby,et al.
Using Geometric Algebra for Optical Motion Capture
,
2001
.
[22]
Joan Lasenby,et al.
New Geometric Methods for Computer Vision: An Application to Structure and Motion Estimation
,
1998,
International Journal of Computer Vision.
[23]
L. Dorst,et al.
Geometric Algebra for Subspace Operations
,
2001
.
[24]
Pertti Lounesto,et al.
Clifford Algebras with Numeric and Symbolic Computations
,
1996
.
[25]
E. Folke Bolinder,et al.
Clifford Numbers and Spinors
,
1993
.
[26]
Krzysztof Czarnecki,et al.
Generative programming - methods, tools and applications
,
2000
.
[27]
Zhengyou Zhang,et al.
A Flexible New Technique for Camera Calibration
,
2000,
IEEE Trans. Pattern Anal. Mach. Intell..
[28]
Eduardo Bayro-Corrochano,et al.
A Unified Language for Computer Vision and Robotics
,
1997,
AFPAC.
[29]
J. G. Semple,et al.
Algebraic Projective Geometry
,
1953
.
[30]
Gian-Carlo Rota,et al.
On the Exterior Calculus of Invariant Theory
,
1985
.
[31]
Paul H. J. Kelly,et al.
Runtime Code Generation in C++ as a Foundation for Domain-Specific Optimisation
,
2003,
Domain-Specific Program Generation.
[32]
C. Doran,et al.
Geometric Algebra for Physicists
,
2003
.
[33]
P. Lounesto.
Clifford Algebras and Spinors
,
1997
.
[34]
Tom Davis,et al.
Opengl programming guide: the official guide to learning opengl
,
1993
.
[35]
D. Hestenes.
The design of linear algebra and geometry
,
1991
.
[36]
Jorge Stolfi,et al.
Oriented projective geometry
,
1987,
SCG '87.