• Preface
• Chapter 1 Introduction and Background
• Section 1.1 Mathematical Background
• subSection 1.1.1 Why Affine Geometry?
• subSection 1.1.2 Exercises
• Chapter 2 Polynomial Curves
• Section 2.1 Implementations
• Section 2.2 Bernstein Polynomials and B\351zier Curves
• subSection 2.2.1 Exercises
• Section 2.3 Blossoming
• subSection 2.3.1 de Casteljau Revisited
• subSection 2.3.2 Degree Raising
• subSection 2.3.3 Functional B\351zier Curves
• subSection 2.3.4 Exercises
• subSection 2.3.5 Implementations
• Section 2.4 Multilinear Blossom
• subSection 2.4.1 Exercises
• Section 2.5 Derivatives of B\351zier Curves
• subSection 2.5.1 Exercises
• Section 2.6 Continuity
• subSection 2.6.1 Cubic Hermite Interpolation
• subSection 2.6.2 C1 Continuity and the Blossom
• subSection 2.6.3 C2 Continuity
• subSection 2.6.4 Ck Continuity
• subSection 2.6.5 Exercises
• Section 2.7 Change of Basis
• Section 2.8 Exercises
• Section 2.9 Fast Evaluation
• subSection 2.9.1 Exercises
• subSection 2.9.2 Implementations
• Chapter 3 B-splines
• Section 3.1 Implementations
• Section 3.2 Knot Multiplicity
• subSection 3.2.1 Exercises
• subSection 3.2.2 Implementations
• Section 3.3 Triangle Diagrams
• subSection 3.3.1 Exercises
• Section 3.4 Knot Insertion
• subSection 3.4.1 Implementations
• Section 3.5 B-spline Basis Functions
• subSection 3.5.1 Exercises
• subSection 3.5.2 Implementations
• Section 3.6 Closed B-splines
• Section 3.7 Modeling with Polynomial and Spline Curves: Direct Manipulation
• subSection 3.7.1 Implementations
• Section 3.8 NURBS
• Chapter 4 Surfaces
• Section 4.1 Triangular Surface Patches
• subSection 4.1.1 Blossoming
• subSection 4.1.2 Exercises
• subSection 4.1.3 Derivatives
• subSection 4.1.4 Parametric Continuity
• subSection 4.1.5 Surfaces above the plane
• subSection 4.1.6 Exercises
• subSection 4.1.7 Storing the control points
• subSection 4.1.8 Efficient Evaluation at a Single Point
• Section 4.2 Fast Evaluation on a Grid of Points
• subSection 4.2.1 A Grid of Evaluation Points
• subSection 4.2.2 Implementations
• subSection 4.2.3 3-to-1 Subdivision
• subSection 4.2.4 2-to-1 Subdivision
• subSection 4.2.5 4-to-1 Subdivision
• subSection 4.2.6 Curve Evaluation
• subSection 4.2.7 Cracking Problems
• subSection 4.2.8 Discussion
• subSection 4.2.9 Exercises
• Section 4.3 Tensor-Product Surface Patches
• subSection 4.3.1 The Blossom of a Tensor-Product Surface
• subSection 4.3.2 Derivatives
• subSection 4.3.3 Continuity
• subSection 4.3.4 Tensor-Product B-splines
• subSection 4.3.5 Surfaces Above the Plane
• subSection 4.3.6 Generalizing the Dimension
• subSection 4.3.7 Storage
• Section 4.4 Alternative Evaluation Methods for Tensor Product Surfaces
• subSection 4.4.1 Repeated Bilinear Interpolation
• subSection 4.4.2 Repeated Curve Evaluation: Revisited
• subSection 4.4.3 Recursive Subdivision
• subSection 4.4.4 Curve Evaluation
• subSection 4.4.5 Discussion
• subSection 4.4.6 Exercises
• Bibliography
• Index
• Biography

Stephen Mann
smann@uwaterloo.ca
University of Waterloo | School of Computer Science | 200 University Ave. W. | Waterloo, Ontario Canada | N2L 3G1 | 519.888.4567 | www.cgl.uwaterloo.ca/~smann/