Cover image for Geometric modeling with splines : an introduction
Title:
Geometric modeling with splines : an introduction
Personal Author:
Publication Information:
Natick, Mass : AK Peters, 2001
ISBN:
9781568811376

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000004802173 QA565 C65 2001 Open Access Book Book
Searching...
Searching...
30000004802215 QA565 C65 2001 Open Access Book Book
Searching...

On Order

Summary

Summary

Written by researchers who have helped found and shape the field, this book is a definitive introduction to geometric modeling. The authors present all of the necessary techniques for curve and surface representations in computer-aided modeling with a focus on how the techniques are used in design. They achieve a balance between mathematical rigor and broad applicability. Appropriate for readers with a moderate degree of mathematical maturity, this book is suitable as an undergraduate or graduate text, or particularly as a resource for self-study.


Author Notes

Cohen, Elaine; Riesenfeld, Richard F.; Elber, Gershon


Reviews 1

Choice Review

Cohen (Univ. of Utah), Riesenfeld (Univ. of Utah), and Elber (Technion, Israel Institute of Technology) offer a thorough introduction to the use of splines to approximate and represent curves and surfaces. The book is designed both as a text and a reference. It begins with a review of the linear algebra that is needed to understand the theory discussed in later chapters. Other basic topics such as conic sections and the Frenet equations are also discussed early on. Later sections cover Bezier curves and surfaces, B-splines (curves and surfaces), tensor product surfaces, and fitting curves and surfaces. The work is generally well written; definitions, theorems, and proofs are clearly presented, and there are also many helpful examples. The index is perhaps a bit brief considering the length of the work, but this is a minor point. Algorithms are represented in pseudo code; some 88 literature references and 98 exercises. Upper-division undergraduates through professionals. J. D. Fehribach Worcester Polytechnic Institute


Table of Contents

I Introductionp. 1
1 Review of Basic Conceptsp. 3
1.1 Vector Analysisp. 3
1.1.1 R[superscript 2] and R[superscript 3] as Vector Spacesp. 7
1.2 Linear Transformationsp. 12
1.3 Review of Matrix Propertiesp. 14
1.4 Barycentric Coordinatesp. 18
1.5 Functionsp. 22
1.5.1 Equations of Linesp. 24
1.5.2 Equations of Planesp. 26
1.5.3 Polynomialsp. 29
1.5.4 Rational Functionsp. 32
1.6 Parametric or Vector Functionsp. 34
1.6.1 Function Characteristicsp. 37
II Curvesp. 43
2 Representation Issuesp. 45
2.1 The Other Representation--Data Set Representationp. 46
2.2 Explicit Formulationsp. 47
2.3 Implicit Representationp. 51
2.3.1 Differentiating Implicit Functionsp. 53
2.3.2 Graphing Implicit Functionsp. 54
2.4 Parametric Representationp. 57
2.5 Shape Approximationp. 67
3 Conic Sectionsp. 73
3.1 The Use of Conic Sections in Designp. 73
3.2 Locus of Points Definitionsp. 74
3.2.1 The Circlep. 74
3.2.2 The Ellipsep. 74
3.2.3 The Hyperbolap. 76
3.2.4 The Parabolap. 78
3.3 Conic Sectionsp. 78
3.4 Implicit Quadratic Functions as Conicsp. 82
3.5 5 Point Constructionp. 88
3.6 Using Tangentsp. 91
3.6.1 Blending Formulation Revisitedp. 93
3.7 Conic Arcs as Rational Functionsp. 95
3.8 Piecewise Conic Sectionsp. 106
3.9 Using Homogeneous Coordinates to Represent Conicsp. 107
3.9.1 Extending the Constructive Algorithm to All Conicsp. 107
3.9.2 The Homogeneous Coordinate System and the Projective Planep. 109
4 Differential Geometry for Space Curvesp. 113
4.1 More on Parameterizationsp. 113
4.2 Arc Length Parameterizationp. 115
4.3 Intrinsic Vectors of a Space Curvep. 118
4.4 Frenet Equationsp. 121
4.5 Frenet Equations for Non-Arc Length Parameterizationsp. 127
4.6 Intrinsic Functions on Arbitrary Parameterizationsp. 127
4.7 Piecing together Parametric Curvesp. 131
4.8 Exercisesp. 134
5 Bezier Curves and Bernstein Approximationp. 137
5.1 Constructive Evaluation Curvesp. 138
5.1.1 Derivatives of Constructive Evaluation Curvesp. 140
5.2 Bezier Curvesp. 142
5.2.1 Properties of Bernstein Blending Functionsp. 147
5.2.2 Curve Propertiesp. 150
5.2.3 Derivative Evaluationp. 151
5.2.4 Midpoint Subdivisionp. 154
5.3 Bernstein Approximationp. 155
5.4 Interpolation Using the Bernstein Blending Functionsp. 160
5.4.1 Comparing Bezier Curves and Interpolationp. 161
5.4.2 Comparing Bernstein Approximation to Functions and Interpolationp. 162
5.5 Piecing together Bezier Curvesp. 164
5.6 Adding Flexibility--Degree Raisingp. 166
6 B-Spline Curvesp. 171
6.1 Constructive Piecewise Curvesp. 172
6.2 B-Spline Blending Functionsp. 183
6.2.1 Proof of Equivalence of Constructive Algorithm with Curve Formp. 187
6.3 More Properties of B-Splinesp. 189
6.3.1 Continuity at the Curve Endsp. 199
7 Linear Spaces of B-Splinesp. 205
7.1 Uniform Floating Spline Curvesp. 208
7.2 Spline Space Hierarchyp. 209
7.2.1 Uniform Subdivison Curvesp. 213
7.3 Linear Independence of B-Splinesp. 218
7.4 A Second Lookp. 224
8 Choosing a B-Spline Spacep. 231
8.1 Knot Patternsp. 231
8.1.1 Uniform vs. Nonuniform Knot Vectorsp. 235
8.1.2 End Conditions for B-Spline Curvesp. 236
8.1.3 Computing Uniform Floating B-Splinesp. 242
8.2 Analysis of Lower Degree Curvesp. 246
8.2.1 Quadratic B-Spline Curvesp. 247
8.2.2 Cubic B-Spline Curvesp. 250
8.3 Rational B-Spline Curvesp. 250
8.4 Effects of Multiple Knots vs. Multiple Verticesp. 253
9 Data Fitting with B-Splinesp. 259
9.1 Interpolation with B-Splinesp. 259
9.1.1 C[superscript 2] Cubic Interpolation at Knotsp. 260
9.1.2 Higher-Order Complete Interpolation with B-Splinesp. 264
9.2 Other Positional Interpolation with B-Splinesp. 266
9.2.1 Nodal Interpolationp. 267
9.2.2 Piecewise Cubic Hermite Interpolationp. 268
9.2.3 Generalized Interpolationp. 270
9.3 B-Spline Least Squaresp. 270
9.3.1 Direct Manipulationp. 273
9.4 Schoenberg Variation Diminishing Splinesp. 274
9.5 Quasi-Interpolationp. 279
9.5.1 Variation Diminishing Splines and B-Spline Curvesp. 283
9.6 Multiresolution Decompostionp. 284
9.6.1 Multiresolution Curve Editingp. 286
9.6.2 Constraints and Multiresolution Curve Editingp. 288
10 Other Polynomial Bases for Interpolationp. 291
10.1 Position Interpolationp. 292
10.1.1 Hermite Interpolationp. 295
10.2 Generalized Hermite Interpolationp. 302
10.3 Piecewise Methodsp. 306
10.3.1 Piecewise Hermite Interpolationp. 308
10.4 Parametric Extensionsp. 312
11 Other Derivations of B-Splinesp. 317
11.1 Higher-Dimensional Volumetric Projectionsp. 317
11.2 Divided Difference Formulationp. 322
11.2.1 Divided Differencesp. 322
11.2.2 Divided Differences for B-Splinesp. 328
11.3 Fast Evaluation of Polynomials Using Divided Differencesp. 332
11.3.1 Fast Calculations with Bezier Curvesp. 334
11.3.2 Fast Evaluation of B-Spline Curvesp. 334
11.4 Inverse Fourier Transform Definition of Splinesp. 335
III Surfacesp. 339
12 Differential Geometry for Surfacesp. 341
12.1 Regular Surfacesp. 341
12.2 Tangents to Surfacesp. 348
12.3 First Fundamental Formp. 351
12.3.1 Arc Length of a Curve on a Simple Surfacep. 351
12.3.2 Invariance of the First Fundamental Formp. 354
12.3.3 Angles between Tangent Vectorsp. 355
12.3.4 Surface Area of a Simple Surfacep. 356
12.4 The Second Fundamental Form and Curves in the Surfacep. 358
12.4.1 Examplesp. 368
12.4.2 The Osculating Paraboloidp. 372
12.5 Surfacesp. 377
13 Surface Representationsp. 381
13.1 Surface Representationsp. 381
13.2 Tensor Product Surfacesp. 382
13.3 Evaluating Surfaces and Partial Derivatives and Rendering Isocurvesp. 390
13.3.1 Bezier Surface Evaluationp. 393
13.3.2 Evaluation of Tensor Product B-Spline Surfacesp. 396
13.4 Uniform Refinement for Uniform Floating Spline Surfacesp. 399
13.4.1 Uniform Biquadratic Subdivisionp. 399
13.4.2 Uniform Bicubic Subdivisionp. 402
13.5 Matrix Expansionsp. 404
13.5.1 B-Splines and Bezierp. 404
13.5.2 Bezier to Power Basis Evaluation Using Matricesp. 405
13.5.3 Bicubic Hermite Surface Patchesp. 406
13.5.4 Comparing Coefficients in Bicubic Representationsp. 407
13.6 Other Polynomial-Based Surface Representationsp. 409
13.6.1 Simplex Splinesp. 409
13.6.2 Box Splinesp. 411
13.6.3 Bezier Trianglesp. 411
14 Fitting Surfacesp. 415
14.1 Interpolating Tensor Product Surfacesp. 415
14.2 Interpolation to a Grid of Datap. 416
14.2.1 Nodal Interpolationp. 417
14.2.2 Complete Cubic Spline Interpolationp. 418
14.3 Surface Approximationp. 422
14.3.1 Schoenberg Variation Diminishing Approximationp. 422
14.3.2 Least Squares Surface Data Fittingp. 422
14.4 Interpolating Arbitrary Boundary Curves: A Linear Operator Approachp. 424
14.4.1 Coons Patchesp. 428
14.4.2 Using the Tensor Product Patchp. 432
15 Modeling with B-Spline Surfacesp. 435
15.1 Generalized Cylinder and Extrusionp. 435
15.2 Ruled Surfacesp. 437
15.3 Surface of Revolutionp. 438
15.3.1 The Cylinderp. 439
15.3.2 The Conep. 440
15.3.3 The Truncated Conep. 440
15.4 Sweep Surfacesp. 440
15.5 Normals and Offset Surfacesp. 442
15.5.1 Given Four Sidesp. 443
15.5.2 Floating Surfacep. 445
15.6 Piecing together the Surfacesp. 450
IV Advanced Techniquesp. 457
16 Subdivision and Refinement for Splinesp. 459
16.1 Refinement Theorems and Algorithmsp. 468
16.1.1 Special Case Algorithmp. 475
16.1.2 Subdivision of Bezier Curvesp. 476
16.1.3 A More Efficient Algorithmp. 480
16.2 Convergence of Refinement Strategiesp. 484
16.3 Degree Raising for Splinesp. 489
16.4 Restricted Proof for Bezier Subdivisionp. 492
17 Subdivision and Refinement in Modelingp. 497
17.1 Subdivision of B-Spline Curvesp. 498
17.1.1 General Algorithmp. 498
17.2 Curve Generation with Geometric Subdivisionp. 501
17.3 Curve-Curve Intersectionp. 503
17.4 Surface Refinement and Subdivisionp. 505
17.4.1 A Matrix Approachp. 505
17.5 Rendering Open Surfacesp. 511
17.5.1 Raster Imagesp. 511
17.5.2 Line Drawingsp. 513
17.6 Using Subdivision and Refinement to Implement Design Operationsp. 514
17.6.1 Adding Local Degrees of Freedomp. 514
18 Set Operations to Effect Modelingp. 517
18.1 Intersections as Root Findingp. 519
18.2 Linesp. 520
18.3 Curve-Curve Intersections by Bisectionp. 520
18.4 Intersections with Newton-Raphsonp. 522
18.4.1 Curvesp. 522
18.4.2 Surfacesp. 526
18.5 Intersections of Parametric Curves and Surfacesp. 528
18.5.1 Parametric Curvesp. 528
18.5.2 Spline Intersections: Divide and Conquerp. 528
18.5.3 Curve-Surface Intersectionsp. 529
18.5.4 Ray-Surface Intersectionsp. 531
18.5.5 Surface-Surface Intersectionp. 532
18.6 Boolean Operations on Modelsp. 536
18.6.1 Boolean Operators by Membership Operatorsp. 536
18.6.2 Evaluating Set Membership Functionsp. 539
18.6.3 Boolean Operators by Boundary Classificationp. 540
18.6.4 Computational Considerations in 2D Classificationp. 546
18.6.5 3D Classificationp. 552
18.7 Booleans on Sculptured Objectsp. 554
19 Model Data Structuresp. 557
19.1 The Winged-Edge Data Structurep. 558
19.2 Trimmed Surfacesp. 561
19.3 A Modelp. 563
19.4 Non-Manifold Geometryp. 566
20 Subdivision Surfacesp. 569
20.1 Catmull-Clark Subdivision Surfacesp. 570
20.1.1 Subdivision Curvesp. 570
20.1.2 Regular Quad Mesh Surface Subdivisionp. 572
20.1.3 Arbitrary Grid Surface Subdivisonp. 574
20.1.4 Boundaries, Creases, and Dartsp. 577
20.1.5 Convergencep. 581
20.2 Doo-Sabin Subdivision Surfacesp. 582
20.2.1 Curvesp. 582
20.2.2 Regular Quad Mesh Surface Subdivisionp. 583
20.2.3 Arbitrary Grid Surface Subdivisonp. 584
20.2.4 Boundariesp. 586
20.2.5 Convergencep. 587
20.3 Triangular Subdivision Surfacesp. 587
20.4 Other Types of Subdivision Surfacesp. 589
21 Higher-Dimensional Tensor Product B-Splinesp. 591
21.1 Evaluation and Rendering of Trivariatesp. 592
21.2 Advanced Operations on Trivariatesp. 594
21.3 Constant Sets of Trivariatesp. 596
21.4 Construction of Trivariatesp. 597
21.4.1 Interpolation and Least Squares Fittingp. 599
21.4.2 Traditional Constructorsp. 601
21.5 Warping Using Trivariatesp. 603
21.6 Varying Timep. 604
Bibliographyp. 607
Indexp. 613