You are previewing Curves and Surfaces for CAGD.
O'Reilly logo
Curves and Surfaces for CAGD

Book Description


This fifth edition has been fully updated to cover the many advances made in CAGD and curve and surface theory since 1997, when the fourth edition appeared. Material has been restructured into theory and applications chapters. The theory material has been streamlined using the blossoming approach; the applications material includes least squares techniques in addition to the traditional interpolation methods. In all other respects, it is, thankfully, the same. This means you get the informal, friendly style and unique approach that has made Curves and Surfaces for CAGD: A Practical Guide a true classic.


The book's unified treatment of all significant methods of curve and surface design is heavily focused on the movement from theory to application. The author provides complete C implementations of many of the theories he discusses, ranging from the traditional to the leading-edge. You'll gain a deep, practical understanding of their advantages, disadvantages, and interrelationships, and in the process you'll see why this book has emerged as a proven resource for thousands of other professionals and academics.

* Provides authoritative and accessible information for those working with or developing computer-aided geometric design applications.
* Covers all significant CAGD curve and surface design techniques-from the traditional to the experimental.
* Includes a new chapter on recursive subdivision and triangular meshes.
* Presents topical programming exercises useful to professionals and students alike.
* Offers complete C implementations of many of the book's examples via a companion Web site.

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. The Morgan Kaufmann Series in Computer Graphics and Geometric Modeling
  5. Copyright
  6. Dedication
  7. Preface
  8. Chapter 1: P. Bézier: How a Simple System Was Born
  9. Chapter 2: Introductory Material
    1. 2.1 Points and Vectors
    2. 2.2 Affine Maps
    3. 2.3 Constructing Affine Maps
    4. 2.4 Function Spaces
    5. 2.5 Problems
  10. Chapter 3: Linear Interpolation
    1. 3.1 Linear Interpolation
    2. 3.2 Piecewise Linear Interpolation
    3. 3.3 Menelaos’ Theorem
    4. 3.4 Blossoms
    5. 3.5 Barycentric Coordinates in the Plane
    6. 3.6 Tessellations
    7. 3.7 Triangulations
    8. 3.8 Problems
  11. Chapter 4: The de Casteljau Algorithm
    1. 4.1 Parabolas
    2. 4.2 The de Casteljau Algorithm
    3. 4.3 Some Properties of Bézier Curves
    4. 4.4 The Blossom
    5. 4.5 Implementation
    6. 4.6 Problems
  12. Chapter 5: The Bernstein Form of a Bézier Curve
    1. 5.1 Bernstein Polynomials
    2. 5.2 Properties of Bézier Curves
    3. 5.3 The Derivatives of a Bézier Curve
    4. 5.4 Domain Changes and Subdivision
    5. 5.5 Composite Bézier Curves
    6. 5.6 Blossom and Polar
    7. 5.7 The Matrix Form of a Bézier Curve
    8. 5.8 Implementation
    9. 5.9 Problems
  13. Chapter 6: Bézier Curve Topics
    1. 6.1 Degree Elevation
    2. 6.2 Repeated Degree Elevation
    3. 6.3 The Variation Diminishing Property
    4. 6.4 Degree Reduction
    5. 6.5 Nonparametric Curves
    6. 6.6 Cross Plots
    7. 6.7 Integrals
    8. 6.8 The Bézier Form of a Bézier Curve
    9. 6.9 The Weierstrass Approximation Theorem
    10. 6.10 Formulas for Bernstein Polynomials
    11. 6.11 Implementation
    12. 6.12 Problems
  14. Chapter 7: Polynomial Curve Constructions
    1. 7.1 Aitken’s Algorithm
    2. 7.2 Lagrange Polynomials
    3. 7.3 The Vandermonde Approach
    4. 7.4 Limits of Lagrange Interpolation
    5. 7.5 Cubic Hermite Interpolation
    6. 7.6 Quintic Hermite Interpolation
    7. 7.7 Point-Normal Interpolation
    8. 7.8 Least Squares Approximation
    9. 7.9 Smoothing Equations
    10. 7.10 Designing with Bézier Curves
    11. 7.11 The Newton Form and Forward Differencing
    12. 7.12 Implementation
    13. 7.13 Problems
  15. Chapter 8: B-Spline Curves
    1. 8.1 Motivation
    2. 8.2 B-Spline Segments
    3. 8.3 B-Spline Curves
    4. 8.4 Knot Insertion
    5. 8.5 Degree Elevation
    6. 8.6 Greville Abscissae
    7. 8.7 Smoothness
    8. 8.8 B-Splines
    9. 8.9 B-Spline Basics
    10. 8.10 Implementation
    11. 8.11 Problems
  16. Chapter 9: Constructing Spline Curves
    1. 9.1 Greville Interpolation
    2. 9.2 Least Squares Approximation
    3. 9.3 Modifying B-Spline Curves
    4. 9.4 C2 Cubic Spline Interpolation
    5. 9.5 More End Conditions
    6. 9.6 Finding a Knot Sequence
    7. 9.7 The Minimum Property
    8. 9.8 C1 Piecewise Cubic Interpolation
    9. 9.9 Implementation
    10. 9.10 Problems
  17. Chapter 10: W. Boehm: Differential Geometry I
    1. 10.1 Parametric Curves and Arc Length
    2. 10.2 The Frenet Frame
    3. 10.3 Moving the Frame
    4. 10.4 The Osculating Circle
    5. 10.5 Nonparametric Curves
    6. 10.6 Composite Curves
  18. Chapter 11: Geometric Continuity
    1. 11.1 Motivation
    2. 11.2 The Direct Formulation
    3. 11.3 The γ, v, and β Formulations
    4. 11.4 G2 Cubic Splines
    5. 11.5 Interpolating G2 Cubic Splines
    6. 11.6 Higher-Order Geometric Continuity
    7. 11.7 Implementation
    8. 11.8 Problems
  19. Chapter 12: Conic Sections
    1. 12.1 Projective Maps of the Real Line
    2. 12.2 Conics as Rational Quadratics
    3. 12.3 A de Casteljau Algorithm
    4. 12.4 Derivatives
    5. 12.5 The Implicit Form
    6. 12.6 Two Classic Problems
    7. 12.7 Classification
    8. 12.8 Control Vectors
    9. 12.9 Implementation
    10. 12.10 Problems
  20. Chapter 13: Rational Bézier and B-Spline Curves
    1. 13.1 Rational Bézier Curves
    2. 13.2 The de Casteljau Algorithm
    3. 13.3 Derivatives
    4. 13.4 Osculatory Interpolation
    5. 13.5 Reparametrization and Degree Elevation
    6. 13.6 Control Vectors
    7. 13.7 Rational Cubic B-Spline Curves
    8. 13.8 Interpolation with Rational Cubics
    9. 13.9 Rational B-Splines of Arbitrary Degree
    10. 13.10 Implementation
    11. 13.11 Problems
  21. Chapter 14: Tensor Product Patches
    1. 14.1 Bilinear Interpolation
    2. 14.2 The Direct de Casteljau Algorithm
    3. 14.3 The Tensor Product Approach
    4. 14.4 Properties
    5. 14.5 Degree Elevation
    6. 14.6 Derivatives
    7. 14.7 Blossoms
    8. 14.8 Curves on a Surface
    9. 14.9 Normal Vectors
    10. 14.10 Twists
    11. 14.11 The Matrix Form of a Bézier Patch
    12. 14.12 Nonparametric Patches
    13. 14.13 Problems
  22. Chapter 15: Constructing Polynomial Patches
    1. 15.1 Ruled Surfaces
    2. 15.2 Coons Patches
    3. 15.3 Translational Surfaces
    4. 15.4 Tensor Product Interpolation
    5. 15.5 Bicubic Hermite Patches
    6. 15.6 Least Squares
    7. 15.7 Finding Parameter Values
    8. 15.8 Shape Equations
    9. 15.9 A Problem with Unstructured Data
    10. 15.10 Implementation
    11. 15.11 Problems
  23. Chapter 16: Composite Surfaces
    1. 16.1 Smoothness and Subdivision
    2. 16.2 Tensor Product B-Spline Surfaces
    3. 16.3 Twist Estimation
    4. 16.4 Bicubic Spline Interpolation
    5. 16.5 Finding Knot Sequences
    6. 16.6 Rational Bézier and B-Spline Surfaces
    7. 16.7 Surfaces of Revolution
    8. 16.8 Volume Deformations
    9. 16.9 CONS and Trimmed Surfaces
    10. 16.10 Implementation
    11. 16.11 Problems
  24. Chapter 17: Bézier Triangles
    1. 17.1 The de Casteljau Algorithm
    2. 17.2 Triangular Blossoms
    3. 17.3 Bernstein Polynomials
    4. 17.4 Derivatives
    5. 17.5 Subdivision
    6. 17.6 Differentiability
    7. 17.7 Degree Elevation
    8. 17.8 Nonparametric Patches
    9. 17.9 The Multivariate Case
    10. 17.10 S-Patches
    11. 17.11 Implementation
    12. 17.12 Problems
  25. Chapter 18: Practical Aspects of Bézier Triangles
    1. 18.1 Rational Bézier Triangles
    2. 18.2 Quadrics
    3. 18.3 Interpolation
    4. 18.4 Cubic and Quintic Interpolants
    5. 18.5 The Clough–Tocher Interpolant
    6. 18.6 The Powell–Sabin Interpolant
    7. 18.7 Least Squares
    8. 18.8 Problems
  26. Chapter 19: W. Boehm: Differential Geometry II
    1. 19.1 Parametric Surfaces and Arc Element
    2. 19.2 The Local Frame
    3. 19.3 The Curvature of a Surface Curve
    4. 19.4 Meusnier’s Theorem
    5. 19.5 Lines of Curvature
    6. 19.6 Gaussian and Mean Curvature
    7. 19.7 Euler’s Theorem
    8. 19.8 Dupin’s Indicatrix
    9. 19.9 Asymptotic Lines and Conjugate Directions
    10. 19.10 Ruled Surfaces and Developables
    11. 19.11 Nonparametric Surfaces
    12. 19.12 Composite Surfaces
  27. Chapter 20: Geometric Continuity for Surfaces
    1. 20.1 Introduction
    2. 20.2 Triangle-Triangle
    3. 20.3 Rectangle-Rectangle
    4. 20.4 Rectangle-Triangle
    5. 20.5 “Filling in” Rectangular Patches
    6. 20.6 “Filling in” Triangular Patches
    7. 20.7 Theoretical Aspects
    8. 20.8 Problems
  28. Chapter 21: Surfaces with Arbitrary Topology
    1. 21.1 Recursive Subdivision Curves
    2. 21.2 Doo–Sabin Surfaces
    3. 21.3 Catmull–Clark Subdivision
    4. 21.4 Midpoint Subdivision
    5. 21.5 Loop Subdivision
    6. 21.6 Subdivision
    7. 21.7 Interpolating Subdivision Surfaces
    8. 21.8 Surface Splines
    9. 21.9 Triangular Meshes
    10. 21.10 Decimation
    11. 21.11 Problems
  29. Chapter 22: Coons Patches
    1. 22.1 Coons Patches: Bilinearly Blended
    2. 22.2 Coons Patches: Partially Bicubically Blended
    3. 22.3 Coons Patches: Bicubically Blended
    4. 22.4 Piecewise Coons Surfaces
    5. 22.5 Two Properties
    6. 22.6 Compatibility
    7. 22.7 Gordon Surfaces
    8. 22.8 Boolean Sums
    9. 22.9 Triangular Coons Patches
    10. 22.10 Problems
  30. Chapter 23: Shape
    1. 23.1 Use of Curvature Plots
    2. 23.2 Curve and Surface Smoothing
    3. 23.3 Surface Interrogation
    4. 23.4 Implementation
    5. 23.5 Problems
  31. Chapter 24: Evaluation of Some Methods
    1. 24.1 Bézier Curves or B-Spline Curves?
    2. 24.2 Spline Curves or B-Spline Curves?
    3. 24.3 The Monomial or the Bézier Form?
    4. 24.4 The B-Spline or the Hermite Form?
    5. 24.5 Triangular or Rectangular Patches?
  32. Quick Reference of Curve and Surface Terms
  33. List of Programs
  34. Notation
  35. References
  36. Index