Book Description
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 complexoften a lot of effort is required to bring about even modest performance enhancements. Although linear algebra is an efficient way to specify lowlevel computations, it is not a suitable highlevel 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, timeeffective, and performanceenhancing 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.
* 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
Table of Contents
 Cover
 Title Page
 Copyright
 List of Figures
 List of Tables
 List of Programming Examples
 Preface
 Table of Contents
 Chapter 1: Why geometric algebra?

Part I: Geometric algebra

Chapter 2: Spanning oriented subspaces
 2.1 Vector Spaces
 2.2 Oriented Line Elements
 2.3 Oriented Area Elements
 2.4 Oriented Volume Elements
 2.5 Quadvectors in 3D are Zero
 2.6 Scalars Interpreted Geometrically
 2.7 Applications
 2.8 Homogeneous Subspace Representation
 2.9 The Graded Algebra of Subspaces
 2.10 Summary of Outer Product Properties
 2.11 Further Reading
 2.12 Exercises
 2.13 Programming Examples and Exercises

Chapter 3: Metric products of subspaces
 3.1 Sizing Up Subspaces
 3.2 From Scalar Product to Contraction
 3.3 Geometric Interpretation of the Contraction
 3.4 The Other Contraction ⌊
 3.5 Orthogonality and Duality
 3.6 Orthogonal Projection of Subspaces
 3.7 The 3D Cross Product
 3.8 Application: Reciprocal Frames
 3.9 Further Reading
 3.10 Exercises
 3.11 Programming Examples and Exercises

Chapter 4: Linear transformations of subspaces
 4.1 Linear Transformations of Vectors
 4.2 Outermorphisms: Linear Transformations of Blades
 4.3 Linear Transformation of the Metric Products
 4.4 Inverses of Outermorphisms
 4.5 Matrix Representations
 4.6 Summary
 4.7 Suggestions For Further Reading
 4.8 Structural Exercises
 4.9 Programming Examples and Exercises

Chapter 5: Intersection and union of subspaces
 5.1 The Phenomenology of Intersection
 5.2 Intersection Through Outer Factorization
 5.3 Relationships Between Meet and Join
 5.4 Using Meet and Join
 5.5 Join and Meet are Mostly Linear
 5.6 Quantitative Properties of the Meet
 5.7 Linear Transformation of Meet and Join
 5.8 Offset Subspaces
 5.9 Further Reading
 5.10 Exercises
 5.11 Programming Examples and Exercises
 Chapter 6: The fundamental product of geometric algebra

Chapter 7: Orthogonal transformations as versors
 7.1 Reflections of Subspaces
 7.2 Rotations of Subspaces
 7.3 Composition of Rotations
 7.4 The Exponential Representation of Rotors
 7.5 Subspaces As Operators
 7.6 Versors Generate Orthogonal Transformations
 7.7 The Product Structure of Geometric Algebra
 7.8 Further Reading
 7.9 Exercises
 7.10 Programming Examples and Exercises
 Chapter 8: Geometric differentiation

Chapter 2: Spanning oriented subspaces

Part II: Models of geometries
 Chapter 9: Modeling geometries
 Chapter 10: The vector space model

Chapter 11: The homogeneous model
 11.1 Homogeneous Representation Space
 11.2 All Points are Vectors
 11.3 All Lines are 2Blades
 11.4 All Planes are 3Blades
 11.5 kFlats as (k + 1)Blades
 11.6 Direct and Dual Representations of Flats
 11.7 Incidence Relationships
 11.8 Linear Transformations: Motions and More
 11.9 CoordinateFree Parameterized Constructions
 11.10 Metric Products in the Homogeneous Model
 11.11 Further Reading
 11.12 Exercises
 11.13 Programming Examples and Exercises
 Chapter 12: Applications of the homogeneous model

Chapter 13: The conformal model
 13.1 The Conformal Model
 13.2 Euclidean Transformations As Versors
 13.3 Flats and Directions
 13.4 Application: General Planar Reflection
 13.5 Rigid Body Motions
 13.6 Application: Interpolation of Rigid Body Motions
 13.7 Application: Differential Planar Reflections
 13.8 Further Reading
 13.9 Exercises
 13.10 Programming Examples and Exercises
 Chapter 14: New primitives for euclidean geometry
 Chapter 15: Constructions in euclidean geometry
 Chapter 16: Conformal operators
 Chapter 17: Operational models for geometries

Part III: Implementing geometric algebra
 Chapter 18: Implementation issues

Chapter 19: Basis blades and operations
 19.1 Representing Unit Basis Blades With Bitmaps
 19.2 The Outer Product of Basis Blades
 19.3 The Geometric Product of Basis Blades in An Orthogonal Metric
 19.4 The Geometric Productofbasis Blades in Nonorthogonal Metrics
 19.5 The Metric Products of Basis Blades
 19.6 Commutator Product of Basis Blades
 19.7 GradeDependent Signs On Basis Blades
 Chapter 20: The linear products and operations
 Chapter 21: Fundamental algorithms for nonlinear products
 Chapter 22: Specializing the structure for efficiency
 Chapter 23: Using the geometry in a raytracing application
 Metrics and null vectors
 Contractions and other inner products
 Subspace products retrieved
 Common equations
 Bibliography
 Index
 Instructions for Online Access
Product Information
 Title: Geometric Algebra for Computer Science
 Author(s):
 Release date: July 2010
 Publisher(s): Morgan Kaufmann
 ISBN: 9780123694652