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.
Muu info
* 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.
Preface xv How a Simple System Was Born 1(12) P. Bezier Introductory Material 13(12) Points and Vectors 13(4) Affine Maps 17(3) Constructing Affine Maps 20(2) Function Spaces 22(2) Problems 24(1) Linear Interpolation 25(18) Linear Inerpolation 25(4) Piecewise Linear Interpolation 29(1) Menelaos Theorem 30(1) Blossoms 31(3) Barycentric Coordinates in the Plane 34(3) Tessellations 37(2) Triangulations 39(2) Problems 41(2) The de Casteljau Algorithm 43(14) Parabolas 43(2) The de Casteljau Algorithm 45(2) Some Properties of Bezier Curves 47(3) The Blossom 50(3) Implementation 53(1) Problems 54(3) The Bernstein Form of a Bezier Curve 57(24) Bernstein Polynomials 57(3) Properties of Bezier Curves 60(2) The Derivatives of a Bezier Curve 62(6) Domain Changes and Subdivision 68(3) Composite Bezier Curves 71(2) Blossom and Polar 73(1) The Matrix Form of a Bezier Curve 74(1) Implementation 75(3) Problems 78(3) Bezier Curve Topics 81(14) Degree Elevation 81(2) Repeated Degree Elevation 83(1) The Variation Diminishing Property 84(1) Degree Reduction 85(1) Nonparametric Curves 86(1) Cross Plots 87(1) Integrals 88(1) The Bezier Form of a Bezier Curve 89(1) The Weisrstrass Approximation Theorem 90(1) Formulas for Bernstein Polynomials 91(1) Implementation 92(1) Problems 93(2) Polynomial Curve Constructions 95(24) Aitkens Algorithm 95(3) Lagrange Polynomials 98(1) The Vandermonde Approach 99(2) Limits of Lagrange Interpolation 101(1) Cubic Hermite Interpolation 102(4) Quintic Hermite Interpolation 106(1) Point-Normal Interpolation 107(1) Least Squares Approximation 108(2) Smoothing Equations 110(2) Designing with Bezier Curves 112(2) The Newton Form and Forward Differencing 114(2) Implementation 116(1) Problems 117(2) B-Spline Curves 119(28) Motivation 120(2) B-Spline Segments 122(4) B-Spline Curves 126(4) Knot Insertion 130(3) Degree Elevation 133(1) Greville Abscissae 134(1) Smoothness 135(5) B-Splines 140(3) B-Spline Basics 143(1) Implementation 144(2) Problems 146(1) Constructing Spline Curves 147(32) Greville Interpolation 147(2) Least Squares Approximation 149(4) Modifying B-Spline Curves 153(1) C2 Cubic Spline Interpolation 154(3) More End Conditions 157(4) Finding a Knot Sequence 161(6) The Minimum Property 167(2) C1 Piecewise Cubic Interpolation 169(5) Implementation 174(2) Problems 176(3) Differential Geometry I 179(12) W. Boehm Parametric Curves and Arc Length 179(2) The Frenet Frame 181(1) Moving the Frame 182(2) The Osculating Circle 184(3) Nonparametric Curves 187(1) Composite Curves 188(3) Geometric Continuity 191(14) Motivation 191(1) The Direct Formulation 192(2) The γ, ν, and β Formulations 194(1) G2 Cubic Splines 195(4) Interpolating G2 Cubic Splines 199(1) Higher-Order Geometric Continuity 200(3) Implementation 203(1) Problems 203(2) Conic Sections 205(22) Projective Maps of the Real Line 205(4) Conics as Rational Quadratics 209(5) A de Casteljau Algorithm 214(1) Derivatives 215(1) The Implicit Form 216(3) Two Classic Problems 219(1) Classification 220(3) Control Vectors 223(1) Implementation 224(1) Problems 225(2) Rational Bezier and B-Spline Curves 227(18) Rational Bezier Curves 227(3) The de Casteljau Algorithm 230(3) Derivatives 233(1) Osculatory Interpolation 234(1) Reparametrization and Degree Elevation 235(3) Control Vectors 238(1) Rational Cubic B-Spline Curves 238(2) Interpolation with Rational Cubics 240(1) Rational B-Splines of Arbitrary Degree 241(1) Implementation 242(1) Problems 243(2) Tensor Product Patches 245(24) Bilinear Interpolation 245(2) The Direct de Casteljau Algorithm 247(3) The Tensor Product Approach 250(3) Properties 253(1) Degree Elevation 254(1) Derivatives 255(3) Blossoms 258(2) Curves on a Surface 260(1) Normal Vectors 261(3) Twists 264(1) The Matrix Form of a Bezier Patch 265(1) Nonparametric Patches 266(1) Problems 267(2) Constructing Polynomial Patches 269(16) Ruled Surfaces 269(1) Coons Patches 270(2) Translational Surfaces 272(2) Tensor Product Interpolation 274(2) Bicubic Hermite Patches 276(2) Least Squares 278(3) Finding Parameter Values 281(1) Shape Equations 282(1) A Problem with Unstructured Data 282(1) Implementation 283(1) Problems 284(1) Composite Surfaces 285(24) Smoothness and Subdivision 285(3) Tensor Product B-Spline Surfaces 288(2) Twist Estimation 290(3) Bicubic Spline Interpolation 293(2) Finding Knot Sequences 295(2) Rational Bezier and B-Spline Surfaces 297(2) Surfaces of Revolution 299(2) Volume Deformations 301(3) CONS and Trimmed Surfaces 304(2) Implementation 306(2) Problems 308(1) Bezier Triangles 309(26) The de Casteljau Algorithm 309(4) Triangular Blossoms 313(2) Bernstein Polynomials 315(1) Derivatives 316(4) Subdivision 320(3) Differentiability 323(3) Degree Elevation 326(1) Nonparametric Patches 326(2) The Multivariate Case 328(2) S-Patches 330(1) Implementation 331(1) Problems 332(3) Practical Aspects of Bezier Triangles 335(14) Rational Bezier Triangles 335(2) Quadrics 337(4) Interpolation 341(1) Cubic and Quintic Interpolants 341(2) The Clough-Tocher Interpolant 343(2) The Powell-Sabin Interpolant 345(1) Least Squares 346(1) Problems 347(2) Differential Geometry II 349(18) W. Boehm Parameteric Surfaces and Arc Element 349(3) The Local Frame 352(1) The Curvature of a Surface Curve 352(2) Meusniers Theorem 354(1) Lines of Curvature 355(2) Gaussian and Mean Curvature 357(1) Eulers Theorem 358(1) Dupins Indicatrix 359(1) Asymptotic Lines and Conjugate Directions 360(1) Ruled Surfaces and Developables 361(2) Nonparametric Surfaces 363(1) Composite Surfaces 364(3) Geometric Continuity for Surfaces 367(10) Introduction 367(1) Triangle-Triangle 368(4) Rectangle-Rectangle 372(1) Rectangle-Triangle 373(1) ``Filling in Rectangular Patches 374(1) ``Filling in Triangular Patches 375(1) Theoretical Aspects 375(1) Problems 376(1) Surfaces with Arbitrary Topology 377(22) Recursive Subdivision Curves 377(3) Doo-Sabin Surfaces 380(3) Catmull-Clark Subdivision 383(3) Midpoint Subdivision 386(1) Loop Subdivision 387(2) √3 Subdivision 389(1) Interpolating Subdivision Surfaces 389(3) Surface Splines 392(2) Triangular Meshes 394(1) Decimation 395(3) Problems 398(1) Coons Patches 399(20) Coons Patches: Bilinearly Blended 400(2) Coons Patches: Partially Bicubically Blended 402(2) Coons Patches: Bicubically Blended 404(2) Piecewise Coons Surfaces 406(1) Two Properties 407(1) Compatibility 408(2) Gordon Surfaces 410(2) Boolean Sums 412(2) Triangular Coons Patches 414(3) Problems 417(2) Shape 419(12) Use of Curvature Plots 419(2) Curve and Surface Smoothing 421(4) Surface Interrogation 425(2) Implementation 427(2) Problems 429(2) Evaluation of Some Methods 431(6) Bezier Curves or B-Spline Curves? 431(1) Spline Curves or B-Spline Curves? 431(1) The Monomial or the Bezier Form? 432(3) The B-Spline or the Hermite Form? 435(1) Triangular or Rectangular Patches? 435(2) Appendix A Quick Reference of Curve and Surface Terms 437(8) Appendix B List of Programs 445(2) Appendix C Notation 447(2) References 449(42) Index 491
Professor Gerald Farin currently teaches in the computer science and engineering department at Arizona State University. He received his doctoral degree in mathematics from the University of Braunschweig, Germany, in 1979. His extensive CAGD experience includes working as a research mathematician in a computer-aided development for Daimler-Benz, serving on the executive committee of the ASU PRISM project, and speaking at a multitude of symposia and conferences. Farin has authored and edited several books and papers, and he is editor-in-chief of Computer Aided Geometric Design.