Key Features
* Presents vital information with applications in many different areas: CAD, scientific visualization, animation, computer games, and more.
* Facilitates accessiblity to anyone with a knowledge of first-year undergraduate mathematics.
* Details specific NURBS-based techniques, including making cusps with B-spline curves and conic sections with rational B-spline curves.
* Presents all important algorithms in easy-to-read pseudocode-useful for both implementing them and understanding how they work.
* Provides C-code implementations of worked examples at http://www.mkp.com/nurbs.
* Includes complete references to additional NURBS resources.
Description
The latest from a computer graphics pioneer, An Introduction to NURBS is the ideal resource for anyone seeking a theoretical and practical understanding of these very important curves and surfaces. Beginning with Bézier curves, the book develops a lucid explanation of NURBS curves, then does the same for surfaces, consistently stressing important shape design properties and the capabilities of each curve and surface type. Throughout, it relies heavily on illustrations and fully worked examples that will help you grasp key NURBS concepts and deftly apply them in your work. Supplementing the lucid, point-by-point instructions are illuminating accounts of the history of NURBS, written by some of its most prominent figures.
Whether you write your own code or simply want deeper insight into how your computer graphics application works, An Introduction to NURBS will enhance and extend your knowledge to a degree unmatched by any other resource.
Readership
Computer graphics professionals and CAD designers of all kinds, including: engineering designers, architectural engineers, professionals in engineering, scientific visualization, animation, and game development.
An Introduction to NURBS, 1st Edition
Preface
Chapter 1 - Curve and Surface Representation
1.1 Introduction
1.2 Parametric Curves
Extension to Three Dimensions
Parametric Line
1.3 Parametric Surfaces
1.4 Piecewise Surfaces
1.5 Continuity
Geometric Continuity
Parametric Continuity
Historical Perspective - Bézier Curves: A.R. Forrest
Chapter 2 - Bézier Curves
2.1 Bézier Curve Deffnition
Bézier Curve Algorithm
2.2 Matrix Representation of Bézier Curves
2.3 Bézier Curve Derivatives
2.4 Continuity Between Bézier Curves
2.5 Increasing the Flexibility of Bézier Curves
Degree Raising
Subdivision
Historical Perspective - B-splines: Richard F. Riesenfeld
Chapter 3 - B-spline Curves
3.1 B-spline Curve Deffnition
Properties of B-spline Curves
3.2 Convex Hull Properties of B-spline Curves
3.3 Knot Vectors
3.4 B-spline Basis Functions
B-spline Curve Controls
3.5 Open B-spline Curves
3.6 Nonuniform B-spline Curves
3.7 Periodic B-spline Curves
3.8 Matrix Formulation of B-spline Curves
3.9 End Conditions For Periodic B-spline Curves
Start and End Points
Start and End Point Derivatives
Controlling Start and End Points
Multiple Coincident Vertices
Pseudovertices
3.10 B-spline Curve Derivatives
3.11 B-spline Curve Fitting
3.12 Degree Elevation
Algorithms
3.13 Degree Reduction
Bézier Curve Degree Reduction
3.14 Knot Insertion and B-spline Curve Subdivision
3.15 Knot Removal
Pseudocode
3.16 Reparameterization
Historical Perspective - Subdivision: Tom Lyche, Elaine Cohen and Richard F. Riesenfeld
Chapter 4 - Rational B-spline Curves
4.1 Rational B-spline Curves (NURBS Curves)
Characteristics of NURBS
4.2 Rational B-spline Basis Functions and Curves
Open Rational B-spline Basis Functions and Curves
Periodic Rational B-spline Basis Functions and Curves
4.3 Calculating Rational B-spline Curves
4.4 Derivatives of NURBS Curves
4.5 Conic Sections
Historical Perspective - Rational B-splines: Lewis C. Knapp
Chapter 5 - Bézier Surfaces
5.1 Mapping Parametric Surfaces
5.2 Bézier Surfaces
Matrix Representation
5.3 Bézier Surface Derivatives
5.4 Transforming Between Surface Descriptions
Historical Perspective - Nonuniform Rational B-splines: Kenneth J. Versprille
Chapter 6 - B-spline Surfaces
6.1 B-spline Surfaces
6.2 Convex Hull Properties
6.3 Local Control
6.4 Calculating Open B-spline Surfaces
6.5 Periodic B-spline Surfaces
6.6 Matrix Formulation of B-spline Surfaces
6.7 B-spline Surface Derivatives
6.8 B-spline Surface Fitting
6.9 B-spline Surface Subdivision
6.10 Gaussian Curvature and Surface Fairness
Historical Perspective - Implementation: David F. Rogers
Chapter 7 - Rational B-spline Surfaces
7.1 Rational B-spline Surfaces (NURBS)
7.2 Characteristics of Rational B-spline Surfaces
Effects of positive homogeneous weighting factors on a single vertex
Effects of negative homogeneous weighting factors
Effects of internally nonuniform knot vector
Reparameterization
7.3 A Simple Rational B-spline Surface Algorithm
7.4 Derivatives of Rational B-spline Surfaces
7.5 Bilinear Surfaces
7.6 Sweep Surfaces
7.7 Ruled Rational B-spline Surfaces
Developable Surfaces
7.8 Surfaces of Revolution
7.9 Blending Surfaces
7.10 A Fast Rational B-spline Surface Algorithm
Naive Algorithms
A More Effcient Algorithm
Incremental Surface Calculation
Measure of Computational Effort
Appendices
A B-spline Surface File Format
B Problems and Projects
C Algorithms
References
Index