cover

Curves and Surfaces for CAGD
A Practical Guide

5th edition

by Gerald Farin

Published by Morgan-Kaufmann

Published 2002
499 pages

ISBN 1-55860-737-4

Table of Contents

1 P. Bezier: How a Simple System Was Born

2 Introductory Material

2.1 Points and Vectors 2.2 Affine Maps 2.3 Linear Interpolation 2.4 Piecewise Linear Interpolation 2.5 Menelaos' Theorem 2.6 Barycentric Coordinates in the Plane 2.7 Tessellations and Triangulations 2.8 Function Spaces 2.9 Problems

3 The de Casteljau Algorithm

3.1 Parabolas 3.2 The de Casteljau Algorithm 3.3 Some Properties of Bezier Curves 3.4 The Blossom 3.5 Implementation 3.6 Problems

4 The Bernstein Form of a Bezier Curve

4.1 Bernstein Polynomials 4.2 Properties of Bezier Curves 4.3 The Derivative of a Bezier Curve 4.4 Higher Order Derivatives 4.5 Derivatives and the de Casteljau Algorithm 4.6 Subdivision 4.7 Blossom and Polar 4.8 The Matrix Form of a Bezier Curve 4.9 Implementation 4.10 Problems

5 Bezier Curve Topics

5.1 Degree Elevation 5.2 Repeated Degree Elevation 5.3 The Variation Diminishing Property 5.4 Degree Reduction 5.5 Nonparametric Curves 5.6 Cross Plots 5.7 Integrals 5.8 The Bezier Form of a Bezier Curve 5.9 The Barycentric Form of a Bezier Curve 5.10 The Weierstrass Approximation Theorem 5.11 Formulas for Bernstein Polynomials 5.12 Implementation 5.13 Problems

6 Polynomial Interpolation

6.1 Aitken's Algorithm 6.2 Lagrange Polynomials 6.3 The Vandermonde Approach 6.4 Limits of Lagrange Interpolation 6.5 Cubic Hermite Interpolation 6.6 Quintic Hermite Interpolation 6.7 The Newton Form and Forward Differencing 6.8 Implementation 6.9 Problems

7 Spline Curves in Bezier Form

7.1 Global and Local Parameters 7.2 Smoothness Conditions 7.3 C1 and C2 Continuity 7.4 Finding a C1 Parametrization 7.5 C1 Quadratic B-spline Curves 7.6 C2 Cubic B-spline Curves 7.7 Finding a Knot Sequence 7.8 Design and Inverse Design 7.9 Implementation 7.10 Problems

8 Piecewise Cubic Interpolation

8.1 C1 Piecewise Cubic Hermite Interpolation 8.2 C1 Piecewise Cubic Interpolation I 8.3 C1 Piecewise Cubic Interpolation II 8.4 Point-Normal Interpolation 8.5 Font Design 8.6 Problems

9 Cubic Spline Interpolation

9.1 The B-spline Form 9.2 The Hermite Form 9.3 End Conditions 9.4 Finding a knot sequence 9.5 The Minimum Property 9.6 Implementation 9.7 Problems

10 B-splines

10.1 Motivation 10.2 Knot Insertion 10.3 The de Boor Algorithm 10.4 Smoothness of B-spline Curves 10.5 The B-spline Basis 10.6 Two Recursion Formulas 10.7 Repeated Knot Insertion 10.8 B-spline Properties 10.9 B-spline Blossoms 10.10 Approximation 10.11 B-spline Basics 10.12 Implementation 10.13 Problems

11 W. Boehm: Differential Geometry I

11.1 Parametric Curves and Arc Length 11.2 The Frenet Frame 11.3 Moving the Frame 11.4 The Osculating Circle 11.5 Nonparametric Curves 11.6 Composite Curves

12 Geometric Continuity

12.1 Motivation 12.2 The Direct Formulation 12.3 The gamma-formulation 12.4 The nu- and beta- formulation 12.5 Comparison 12.6 G2 Cubic Splines 12.7 Interpolating G2 cubic splines 12.8 Local Basis Functions for G2 Splines 12.9 Higher Order Geometric Continuity 12.10 Implementation 12.11 Problems

14 Conic Sections

14.1 Projective Maps of the Real Line 14.2 Conics as Rational Quadratics 14.3 A de Casteljau Algorithm 14.4 Derivatives 14.5 The Implicit Form 14.6 Two Classic Problems 14.7 Classification 14.8 Control Vectors 14.9 Implementation 14.10 Problems

15 Rational Bezier and B-spline Curves

15.1 Rational Bezier Curves 15.2 The de Casteljau Algorithm 15.3 Derivatives 15.4 Osculatory Interpolation 15.5 Reparametrization and Degree Elevation 15.6 Control Vectors 15.7 Rational Cubic B-spline Curves 15.8 Interpolation with Rational Cubics 15.9 Rational B-splines of Arbitrary Degree 15.10 Implementation 15.11 Problems

16 Tensor Product Patches

16.1 Bilinear Interpolation 16.2 The Direct de Casteljau Algorithm 16.3 The Tensor Product Approach 16.4 Properties 16.5 Degree Elevation 16.6 Derivatives 16.7 Blossoms 16.8 Normal Vectors 16.9 Twists 16.10 The Matrix Form of a Bezier Patch 16.11 Nonparametric Patches 16.12 Tensor Product Interpolation 16.13 Bicubic Hermite Patches 16.14 Implementation 16.15 Problems

17 Composite Surfaces and Spline Interpolation

17.1 Smoothness and Subdivision 17.2 Tensor Product B-spline Surfaces 17.3 Twist Estimation 17.4 Bicubic Spline Interpolation 17.5 Finding Knot Sequences 17.6 Rational Bezier and B-spline Surfaces 17.7 Surfaces of Revolution 17.8 Volume Deformations 17.9 CONS and Trimmed Surfaces 17.10 Implementation 17.11 Problems

18 Bezier Triangles

18.1 The de Casteljau Algorithm 18.2 Triangular Blossoms 18.3 Bernstein Polynomials 18.4 Derivatives 18.5 Subdivision 18.6 Differentiability 18.7 Degree Elevation 18.8 Nonparametric Patches 18.9 Rational Bezier Triangles 18.10 Quadrics 18.11 Interpolation 18.11.1 Cubic and quintic interpolants 18.11.2 The Clough-Tocher interpolant 18.11.3 The Powell-Sabin interpolant 18.12 Implementation 18.13 Problems

19 Geometric Continuity for Surfaces

19.1 Introduction 19.2 Triangle-Triangle 19.3 Rectangle-Rectangle 19.4 Rectangle-Triangle 19.5 ``Filling in'' Rectangular Patches 19.6 ``Filling in'' Triangular Patches 19.7 Theoretical Aspects 19.8 Problems

20 Surfaces with Arbitrary Topology

20.1 Doo-Sabin Surfaces 20.2 Interpolation 20.3 S-Patches 20.4 Surface Splines 20.5 Problems

20 Coons Patches

20.1 Ruled Surfaces 20.2 Coons Patches: Bilinearly Blended 20.3 Coons Patches: Partially Bicubically Blended 20.4 Coons Patches: Bicubically Blended 20.5 Piecewise Coons Surfaces 20.6 Problems

21 Coons Patches: Additional Material

21.1 Compatibility 21.2 Control Nets from Coons Patches 21.3 Translational Surfaces 21.4 Gordon Surfaces 21.5 Boolean Sums 21.6 Triangular Coons Patches 21.7 Implementation 21.8 Problems

22 W. Boehm: Geometry II

22.1 Parametric Surfaces and Arc Element 22.2 The Local Frame 22.3 The Curvature of a Surface Curve 22.4 Meusnier's Theorem 22.5 Lines of Curvature 22.6 Gaussian and Mean Curvature 22.7 Euler's Theorem 22.8 Dupin's Indicatrix 22.9 Asymptotic Lines and Conjugate Directions 22.10 Ruled Surfaces and Developables 22.11 Nonparametric Surfaces 22.12 Composite Surfaces

23 Interrogation and Smoothing

23.1 Use of Curvature Plots 23.2 Curve and Surface Smoothing 23.3 Surface Interrogation 23.4 Implementation 23.5 Problems

24 Evaluation of Some Methods

24.1 Bezier Curves or B-spline Curves? 24.2 Spline Curves or B-spline Curves? 24.3 The Monomial or the Bezier Form? 24.4 The B-spline or the Hermite Form? 24.5 Triangular or Rectangular Patches?

25 Quick Reference of Curve and Surface Terms