# An Introduction to NURBS

**With Historical Perspective**

**By**

- David Rogers, The United States Naval Academy, Annapolis, Maryland, U.S.A.

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.

View full description### Audience

Computer graphics professionals and CAD designers of all kinds, including: engineering designers, architectural engineers, professionals in engineering, scientific visualization, animation, and game development.

### Book information

- Published: July 2000
- Imprint: MORGAN KAUFMANN
- ISBN: 978-1-55860-669-2

### Table of Contents

Preface Chapter 1 - Curve and Surface Representation1.1 Introduction1.2 Parametric CurvesExtension to Three Dimensions Parametric Line1.3 Parametric Surfaces1.4 Piecewise Surfaces 1.5 Continuity Geometric Continuity Parametric ContinuityHistorical Perspective - BĂ©zier Curves: A.R. ForrestChapter 2 - BĂ©zier Curves2.1 BĂ©zier Curve DeffnitionBĂ©zier Curve Algorithm2.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 CurvesDegree Raising SubdivisionHistorical Perspective - B-splines: Richard F. RiesenfeldChapter 3 - B-spline Curves3.1 B-spline Curve DeffnitionProperties of B-spline Curves3.2 Convex Hull Properties of B-spline Curves 3.3 Knot Vectors 3.4 B-spline Basis FunctionsB-spline Curve Controls3.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 CurvesStart and End Points Start and End Point Derivatives Controlling Start and End Points Multiple Coincident Vertices Pseudovertices3.10 B-spline Curve Derivatives 3.11 B-spline Curve Fitting 3.12 Degree Elevation Algorithms3.13 Degree ReductionBĂ©zier Curve Degree Reduction3.14 Knot Insertion and B-spline Curve Subdivision 3.15 Knot RemovalPseudocode3.16 Reparameterization Historical Perspective - Subdivision: Tom Lyche, Elaine Cohen and Richard F. RiesenfeldChapter 4 - Rational B-spline Curves4.1 Rational B-spline Curves (NURBS Curves)Characteristics of NURBS4.2 Rational B-spline Basis Functions and CurvesOpen Rational B-spline Basis Functions and Curves Periodic Rational B-spline Basis Functions and Curves4.3 Calculating Rational B-spline Curves 4.4 Derivatives of NURBS Curves 4.5 Conic Sections Historical Perspective - Rational B-splines: Lewis C. KnappChapter 5 - BĂ©zier Surfaces5.1 Mapping Parametric Surfaces5.2 BĂ©zier Surfaces Matrix Representation5.3 BĂ©zier Surface Derivatives 5.4 Transforming Between Surface Descriptions Historical Perspective - Nonuniform Rational B-splines: Kenneth J. VersprilleChapter 6 - B-spline Surfaces6.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. RogersChapter 7 - Rational B-spline Surfaces7.1 Rational B-spline Surfaces (NURBS)7.2 Characteristics of Rational B-spline SurfacesEffects of positive homogeneous weighting factors on a single vertex Effects of negative homogeneous weighting factors Effects of internally nonuniform knot vector Reparameterization7.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 SurfacesDevelopable Surfaces7.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 EffortAppendicesA B-spline Surface File FormatB Problems and Projects C AlgorithmsReferencesIndex