Geometric Algebra for Computer Science
An Object-Oriented Approach to GeometryBy
- Leo Dorst, Informatics Institute, Faculty of Sciences, University of Amsterdam, The Netherlands
- Daniel Fontijne, Intelligent Autonomous Systems, University of Amsterdam, The Netherlands
- Stephen Mann, University of Waterloo, Ontario, Canada
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 UniversityGeometric 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 GAs 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 AuthorsLeo 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 Masters 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.
Professionals working in fields requiring complex geometric computation such as robotics, computer graphics, and computer games. Students in graduate or advanced undergraduate programs in computer science.
Published: April 2007
Imprint: Morgan Kaufmann