Descartes' Discovery
Local and Global Coordinates: 2D
Going from Global to Local
Local and Global Coordinates: 3D
Stepping Outside the Box
Application: Creating Coordinates
Here and There: Points and Vectors in 2D
Points and Vectors
What's the Difference?
Vector Fields
Length of a Vector
Combining Points
Independence
Dot Product
Orthogonal Projections
Inequalities
Lining Up: 2D Lines
Defining a Line
Parametric Equation of a Line
Implicit Equation of a Line
Explicit Equation of a Line
Converting Between Parametric and Implicit Equations
Distance of a Point to a Line
The Foot of a Point
A Meeting Place: Computing Intersections
Changing Shapes: Linear Maps in 2D
Skew Target Boxes
The Matrix Form
Linear Spaces
Scalings
Reflections
Rotations
Shears
Projections
Areas and Linear Maps: Determinants
Composing Linear Maps
More on Matrix Multiplication
Matrix Arithmetic Rules
2 x 2 Linear Systems
Skew Target Boxes Revisited
The Matrix Form
A Direct Approach: Cramer's Rule
Gauss Elimination
Pivoting
Unsolvable Systems
Underdetermined Systems
Homogeneous Systems
Undoing Maps: Inverse Matrices
Defining a Map
A Dual View
Moving Things Around: Affine Maps in 2D
Coordinate Transformations
Affine and Linear Maps
Translations
More General Affine Maps
Mapping Triangles to Triangles
Composing Affine Maps
Eigen Things
Fixed Directions
Eigenvalues
Eigenvectors
Striving for More Generality
The Geometry of Symmetric Matrices
Quadratic Forms
Repeating Maps
3D Geometry
From 2D to 3D
Cross Product
Lines
Planes
Scalar Triple Product
Application: Lighting and Shading
Linear Maps in 3D
Matrices and Linear Maps
Linear Spaces
Scalings
Reflections
Shears
Rotations
Projections
Volumes and Linear Maps: Determinants
Combining Linear Maps
Inverse Matrices
More on Matrices
Affine Maps in 3D
Affine Maps
Translations
Mapping Tetrahedra
Parallel Projections
Homogeneous Coordinates and Perspective Maps
Interactions in 3D
Distance between a Point and a Plane
Distance between Two Lines
Lines and Planes: Intersections
Intersecting a Triangle and a Line
Reflections
Intersecting Three Planes
Intersecting Two Planes
Creating Orthonormal Coordinate Systems
Gauss for Linear Systems
The Problem
The Solution via Gauss Elimination
Homogeneous Linear Systems
Inverse Matrices
LU Decomposition
Determinants
Least Squares
Application: Fitting Data to a Femoral Head
Alternative System Solvers
The Householder Method
Vector Norms
Matrix Norms
The Condition Number
Vector Sequences
Iterative System Solvers: Gauss-Jacobi and Gauss-Seidel
General Linear Spaces
Basic Properties of Linear Spaces
Linear Maps
Inner Products
Gram-Schmidt Orthonormalization
A Gallery of Spaces
Eigen Things Revisited
The Basics Revisited
The Power Method
Application: Google Eigenvector
Eigenfunctions
The Singular Value Decomposition
The Geometry of the 2 x 2 Case
The General Case
SVD Steps
Singular Values and Volumes
The Pseudoinverse
Least Squares
Application: Image Compression
Principal Components Analysis
Breaking It Up: Triangles
Barycentric Coordinates
Affine Invariance
Some Special Points
2D Triangulations
A Data Structure
Application: Point Location
3D Triangulations
Putting Lines Together: Polylines and Polygons
Polylines
Polygons
Convexity
Types of Polygons
Unusual Polygons
Turning Angles and Winding Numbers
Area
Application: Planarity Test
Application: Inside or Outside?
Conics
The General Conic
Analyzing Conics
General Conic to Standard Position
Curves
Parametric Curves
Properties of Bezier Curves
The Matrix Form
Derivatives
Composite Curves
The Geometry of Planar Curves
Moving along a Curve
Appendix A: Glossary
Appendix B: Selected Exercise Solutions
Bibliography
Index
Exercises appear at the end of each chapter.