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 Introduction | p. 1 |
1 Review of Basic Concepts | p. 3 |
1.1 Vector Analysis | p. 3 |
1.1.1 R[superscript 2] and R[superscript 3] as Vector Spaces | p. 7 |
1.2 Linear Transformations | p. 12 |
1.3 Review of Matrix Properties | p. 14 |
1.4 Barycentric Coordinates | p. 18 |
1.5 Functions | p. 22 |
1.5.1 Equations of Lines | p. 24 |
1.5.2 Equations of Planes | p. 26 |
1.5.3 Polynomials | p. 29 |
1.5.4 Rational Functions | p. 32 |
1.6 Parametric or Vector Functions | p. 34 |
1.6.1 Function Characteristics | p. 37 |
II Curves | p. 43 |
2 Representation Issues | p. 45 |
2.1 The Other Representation--Data Set Representation | p. 46 |
2.2 Explicit Formulations | p. 47 |
2.3 Implicit Representation | p. 51 |
2.3.1 Differentiating Implicit Functions | p. 53 |
2.3.2 Graphing Implicit Functions | p. 54 |
2.4 Parametric Representation | p. 57 |
2.5 Shape Approximation | p. 67 |
3 Conic Sections | p. 73 |
3.1 The Use of Conic Sections in Design | p. 73 |
3.2 Locus of Points Definitions | p. 74 |
3.2.1 The Circle | p. 74 |
3.2.2 The Ellipse | p. 74 |
3.2.3 The Hyperbola | p. 76 |
3.2.4 The Parabola | p. 78 |
3.3 Conic Sections | p. 78 |
3.4 Implicit Quadratic Functions as Conics | p. 82 |
3.5 5 Point Construction | p. 88 |
3.6 Using Tangents | p. 91 |
3.6.1 Blending Formulation Revisited | p. 93 |
3.7 Conic Arcs as Rational Functions | p. 95 |
3.8 Piecewise Conic Sections | p. 106 |
3.9 Using Homogeneous Coordinates to Represent Conics | p. 107 |
3.9.1 Extending the Constructive Algorithm to All Conics | p. 107 |
3.9.2 The Homogeneous Coordinate System and the Projective Plane | p. 109 |
4 Differential Geometry for Space Curves | p. 113 |
4.1 More on Parameterizations | p. 113 |
4.2 Arc Length Parameterization | p. 115 |
4.3 Intrinsic Vectors of a Space Curve | p. 118 |
4.4 Frenet Equations | p. 121 |
4.5 Frenet Equations for Non-Arc Length Parameterizations | p. 127 |
4.6 Intrinsic Functions on Arbitrary Parameterizations | p. 127 |
4.7 Piecing together Parametric Curves | p. 131 |
4.8 Exercises | p. 134 |
5 Bezier Curves and Bernstein Approximation | p. 137 |
5.1 Constructive Evaluation Curves | p. 138 |
5.1.1 Derivatives of Constructive Evaluation Curves | p. 140 |
5.2 Bezier Curves | p. 142 |
5.2.1 Properties of Bernstein Blending Functions | p. 147 |
5.2.2 Curve Properties | p. 150 |
5.2.3 Derivative Evaluation | p. 151 |
5.2.4 Midpoint Subdivision | p. 154 |
5.3 Bernstein Approximation | p. 155 |
5.4 Interpolation Using the Bernstein Blending Functions | p. 160 |
5.4.1 Comparing Bezier Curves and Interpolation | p. 161 |
5.4.2 Comparing Bernstein Approximation to Functions and Interpolation | p. 162 |
5.5 Piecing together Bezier Curves | p. 164 |
5.6 Adding Flexibility--Degree Raising | p. 166 |
6 B-Spline Curves | p. 171 |
6.1 Constructive Piecewise Curves | p. 172 |
6.2 B-Spline Blending Functions | p. 183 |
6.2.1 Proof of Equivalence of Constructive Algorithm with Curve Form | p. 187 |
6.3 More Properties of B-Splines | p. 189 |
6.3.1 Continuity at the Curve Ends | p. 199 |
7 Linear Spaces of B-Splines | p. 205 |
7.1 Uniform Floating Spline Curves | p. 208 |
7.2 Spline Space Hierarchy | p. 209 |
7.2.1 Uniform Subdivison Curves | p. 213 |
7.3 Linear Independence of B-Splines | p. 218 |
7.4 A Second Look | p. 224 |
8 Choosing a B-Spline Space | p. 231 |
8.1 Knot Patterns | p. 231 |
8.1.1 Uniform vs. Nonuniform Knot Vectors | p. 235 |
8.1.2 End Conditions for B-Spline Curves | p. 236 |
8.1.3 Computing Uniform Floating B-Splines | p. 242 |
8.2 Analysis of Lower Degree Curves | p. 246 |
8.2.1 Quadratic B-Spline Curves | p. 247 |
8.2.2 Cubic B-Spline Curves | p. 250 |
8.3 Rational B-Spline Curves | p. 250 |
8.4 Effects of Multiple Knots vs. Multiple Vertices | p. 253 |
9 Data Fitting with B-Splines | p. 259 |
9.1 Interpolation with B-Splines | p. 259 |
9.1.1 C[superscript 2] Cubic Interpolation at Knots | p. 260 |
9.1.2 Higher-Order Complete Interpolation with B-Splines | p. 264 |
9.2 Other Positional Interpolation with B-Splines | p. 266 |
9.2.1 Nodal Interpolation | p. 267 |
9.2.2 Piecewise Cubic Hermite Interpolation | p. 268 |
9.2.3 Generalized Interpolation | p. 270 |
9.3 B-Spline Least Squares | p. 270 |
9.3.1 Direct Manipulation | p. 273 |
9.4 Schoenberg Variation Diminishing Splines | p. 274 |
9.5 Quasi-Interpolation | p. 279 |
9.5.1 Variation Diminishing Splines and B-Spline Curves | p. 283 |
9.6 Multiresolution Decompostion | p. 284 |
9.6.1 Multiresolution Curve Editing | p. 286 |
9.6.2 Constraints and Multiresolution Curve Editing | p. 288 |
10 Other Polynomial Bases for Interpolation | p. 291 |
10.1 Position Interpolation | p. 292 |
10.1.1 Hermite Interpolation | p. 295 |
10.2 Generalized Hermite Interpolation | p. 302 |
10.3 Piecewise Methods | p. 306 |
10.3.1 Piecewise Hermite Interpolation | p. 308 |
10.4 Parametric Extensions | p. 312 |
11 Other Derivations of B-Splines | p. 317 |
11.1 Higher-Dimensional Volumetric Projections | p. 317 |
11.2 Divided Difference Formulation | p. 322 |
11.2.1 Divided Differences | p. 322 |
11.2.2 Divided Differences for B-Splines | p. 328 |
11.3 Fast Evaluation of Polynomials Using Divided Differences | p. 332 |
11.3.1 Fast Calculations with Bezier Curves | p. 334 |
11.3.2 Fast Evaluation of B-Spline Curves | p. 334 |
11.4 Inverse Fourier Transform Definition of Splines | p. 335 |
III Surfaces | p. 339 |
12 Differential Geometry for Surfaces | p. 341 |
12.1 Regular Surfaces | p. 341 |
12.2 Tangents to Surfaces | p. 348 |
12.3 First Fundamental Form | p. 351 |
12.3.1 Arc Length of a Curve on a Simple Surface | p. 351 |
12.3.2 Invariance of the First Fundamental Form | p. 354 |
12.3.3 Angles between Tangent Vectors | p. 355 |
12.3.4 Surface Area of a Simple Surface | p. 356 |
12.4 The Second Fundamental Form and Curves in the Surface | p. 358 |
12.4.1 Examples | p. 368 |
12.4.2 The Osculating Paraboloid | p. 372 |
12.5 Surfaces | p. 377 |
13 Surface Representations | p. 381 |
13.1 Surface Representations | p. 381 |
13.2 Tensor Product Surfaces | p. 382 |
13.3 Evaluating Surfaces and Partial Derivatives and Rendering Isocurves | p. 390 |
13.3.1 Bezier Surface Evaluation | p. 393 |
13.3.2 Evaluation of Tensor Product B-Spline Surfaces | p. 396 |
13.4 Uniform Refinement for Uniform Floating Spline Surfaces | p. 399 |
13.4.1 Uniform Biquadratic Subdivision | p. 399 |
13.4.2 Uniform Bicubic Subdivision | p. 402 |
13.5 Matrix Expansions | p. 404 |
13.5.1 B-Splines and Bezier | p. 404 |
13.5.2 Bezier to Power Basis Evaluation Using Matrices | p. 405 |
13.5.3 Bicubic Hermite Surface Patches | p. 406 |
13.5.4 Comparing Coefficients in Bicubic Representations | p. 407 |
13.6 Other Polynomial-Based Surface Representations | p. 409 |
13.6.1 Simplex Splines | p. 409 |
13.6.2 Box Splines | p. 411 |
13.6.3 Bezier Triangles | p. 411 |
14 Fitting Surfaces | p. 415 |
14.1 Interpolating Tensor Product Surfaces | p. 415 |
14.2 Interpolation to a Grid of Data | p. 416 |
14.2.1 Nodal Interpolation | p. 417 |
14.2.2 Complete Cubic Spline Interpolation | p. 418 |
14.3 Surface Approximation | p. 422 |
14.3.1 Schoenberg Variation Diminishing Approximation | p. 422 |
14.3.2 Least Squares Surface Data Fitting | p. 422 |
14.4 Interpolating Arbitrary Boundary Curves: A Linear Operator Approach | p. 424 |
14.4.1 Coons Patches | p. 428 |
14.4.2 Using the Tensor Product Patch | p. 432 |
15 Modeling with B-Spline Surfaces | p. 435 |
15.1 Generalized Cylinder and Extrusion | p. 435 |
15.2 Ruled Surfaces | p. 437 |
15.3 Surface of Revolution | p. 438 |
15.3.1 The Cylinder | p. 439 |
15.3.2 The Cone | p. 440 |
15.3.3 The Truncated Cone | p. 440 |
15.4 Sweep Surfaces | p. 440 |
15.5 Normals and Offset Surfaces | p. 442 |
15.5.1 Given Four Sides | p. 443 |
15.5.2 Floating Surface | p. 445 |
15.6 Piecing together the Surfaces | p. 450 |
IV Advanced Techniques | p. 457 |
16 Subdivision and Refinement for Splines | p. 459 |
16.1 Refinement Theorems and Algorithms | p. 468 |
16.1.1 Special Case Algorithm | p. 475 |
16.1.2 Subdivision of Bezier Curves | p. 476 |
16.1.3 A More Efficient Algorithm | p. 480 |
16.2 Convergence of Refinement Strategies | p. 484 |
16.3 Degree Raising for Splines | p. 489 |
16.4 Restricted Proof for Bezier Subdivision | p. 492 |
17 Subdivision and Refinement in Modeling | p. 497 |
17.1 Subdivision of B-Spline Curves | p. 498 |
17.1.1 General Algorithm | p. 498 |
17.2 Curve Generation with Geometric Subdivision | p. 501 |
17.3 Curve-Curve Intersection | p. 503 |
17.4 Surface Refinement and Subdivision | p. 505 |
17.4.1 A Matrix Approach | p. 505 |
17.5 Rendering Open Surfaces | p. 511 |
17.5.1 Raster Images | p. 511 |
17.5.2 Line Drawings | p. 513 |
17.6 Using Subdivision and Refinement to Implement Design Operations | p. 514 |
17.6.1 Adding Local Degrees of Freedom | p. 514 |
18 Set Operations to Effect Modeling | p. 517 |
18.1 Intersections as Root Finding | p. 519 |
18.2 Lines | p. 520 |
18.3 Curve-Curve Intersections by Bisection | p. 520 |
18.4 Intersections with Newton-Raphson | p. 522 |
18.4.1 Curves | p. 522 |
18.4.2 Surfaces | p. 526 |
18.5 Intersections of Parametric Curves and Surfaces | p. 528 |
18.5.1 Parametric Curves | p. 528 |
18.5.2 Spline Intersections: Divide and Conquer | p. 528 |
18.5.3 Curve-Surface Intersections | p. 529 |
18.5.4 Ray-Surface Intersections | p. 531 |
18.5.5 Surface-Surface Intersection | p. 532 |
18.6 Boolean Operations on Models | p. 536 |
18.6.1 Boolean Operators by Membership Operators | p. 536 |
18.6.2 Evaluating Set Membership Functions | p. 539 |
18.6.3 Boolean Operators by Boundary Classification | p. 540 |
18.6.4 Computational Considerations in 2D Classification | p. 546 |
18.6.5 3D Classification | p. 552 |
18.7 Booleans on Sculptured Objects | p. 554 |
19 Model Data Structures | p. 557 |
19.1 The Winged-Edge Data Structure | p. 558 |
19.2 Trimmed Surfaces | p. 561 |
19.3 A Model | p. 563 |
19.4 Non-Manifold Geometry | p. 566 |
20 Subdivision Surfaces | p. 569 |
20.1 Catmull-Clark Subdivision Surfaces | p. 570 |
20.1.1 Subdivision Curves | p. 570 |
20.1.2 Regular Quad Mesh Surface Subdivision | p. 572 |
20.1.3 Arbitrary Grid Surface Subdivison | p. 574 |
20.1.4 Boundaries, Creases, and Darts | p. 577 |
20.1.5 Convergence | p. 581 |
20.2 Doo-Sabin Subdivision Surfaces | p. 582 |
20.2.1 Curves | p. 582 |
20.2.2 Regular Quad Mesh Surface Subdivision | p. 583 |
20.2.3 Arbitrary Grid Surface Subdivison | p. 584 |
20.2.4 Boundaries | p. 586 |
20.2.5 Convergence | p. 587 |
20.3 Triangular Subdivision Surfaces | p. 587 |
20.4 Other Types of Subdivision Surfaces | p. 589 |
21 Higher-Dimensional Tensor Product B-Splines | p. 591 |
21.1 Evaluation and Rendering of Trivariates | p. 592 |
21.2 Advanced Operations on Trivariates | p. 594 |
21.3 Constant Sets of Trivariates | p. 596 |
21.4 Construction of Trivariates | p. 597 |
21.4.1 Interpolation and Least Squares Fitting | p. 599 |
21.4.2 Traditional Constructors | p. 601 |
21.5 Warping Using Trivariates | p. 603 |
21.6 Varying Time | p. 604 |
Bibliography | p. 607 |
Index | p. 613 |