## The NURBS BookUntil recently B-spline curves and surfaces (NURBS) were principally of interest to the computer aided design community, where they have become the standard for curve and surface description. Today we are seeing expanded use of NURBS in modeling objects for the visual arts, including the film and entertainment industries, art, and sculpture. NURBS are now also being used for modeling scenes for virtual reality applications. These applications are expected to increase. Consequently, it is quite appropriate for The.N'URBS Book to be part of the Monographs in Visual Communication Series. B-spline curves and surfaces have been an enduring element throughout my pro fessional life. The first edition of Mathematical Elements for Computer Graphics, published in 1972, was the first computer aided design/interactive computer graph ics textbook to contain material on B-splines. That material was obtained through the good graces of Bill Gordon and Louie Knapp while they were at Syracuse University. A paper of mine, presented during the Summer of 1977 at a Society of Naval Architects and Marine Engineers meeting on computer aided ship surface design, was arguably the first to examine the use of B-spline curves for ship design. For many, B-splines, rational B-splines, and NURBS have been a bit mysterious. |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

Curve and Surface Basics | 1 |

12 Power Basis Form of a Curve | 5 |

13 Bezier Curves | 9 |

14 Rational Bezier Curves | 25 |

15 Tensor Product Surfaces | 34 |

EXERCISES | 43 |

BSpline Basis Functions | 47 |

22 Definition and Properties of Bspline Basis Functions | 50 |

92 Global Interpolation | 363 |

922 GLOBAL CURVE INTERPOLATION WITH END DERIVATIVES SPECIFIED | 369 |

923 CUBIC SPLINE CURVE INTERPOLATION | 370 |

924 GLOBAL CURVE INTERPOLATION WITH FIRST DERIVATIVES SPECIFIED | 372 |

925 GLOBAL SURFACE INTERPOLATION | 375 |

93 Local Interpolation | 381 |

932 LOCAL PARABOLIC CURVE INTERPOLATION | 387 |

933 LOCAL RATIONAL QUADRATIC CURVE INTERPOLATION | 391 |

23 Derivatives of Bspline Basis Functions The derivative of a basis function is given by | 59 |

24 Further Properties of the Basis Functions | 63 |

25 Computational Algorithms | 67 |

EXERCISES | 78 |

Bspline Curves and Surfaces | 81 |

33 The Derivatives of a Bspline Curve | 91 |

34 Definition and Properties of Bspline Surfaces | 100 |

35 Derivatives of a Bspline Surface | 110 |

EXERCISES | 116 |

Rational Bspline Curves and Surfaces | 117 |

43 Derivatives of a NURBS Curve | 125 |

44 Definition and Properties of NURBS Surfaces | 128 |

45 Derivatives of a NURBS Surface | 136 |

EXERCISES | 138 |

Fundamental Geometric Algorithms | 141 |

53 Knot Refinement | 161 |

54 Knot Removal | 178 |

55 Degree Elevation | 187 |

56 Degree Reduction | 211 |

EXERCISES | 226 |

Advanced Geometric Algorithms | 228 |

62 Surface Tangent Vector Inversion | 234 |

63 Transformations and Projections of Curves and Surfaces | 235 |

64 Reparameterization of NURBS Curves and Surfaces | 240 |

65 Curve and Surface Reversal | 262 |

66 Conversion Between Bspline and Piecewise Power Basis Forms | 264 |

EXERCISES | 278 |

73 The Quadratic Rational Bezier Arc | 290 |

74 Infinite Control Points | 294 |

75 Construction of Circles | 297 |

76 Construction of Conies | 309 |

77 Conic Type Classification and Form Conversion | 319 |

78 Higher Order Circles | 325 |

EXERCISES | 329 |

83 The General Cylinder | 333 |

84 The Ruled Surface | 336 |

85 The Surface of Revolution | 339 |

86 Nonuniform Scaling of Surfaces | 347 |

87 A Threesided Spherical Surface | 350 |

Curve and Surface Fitting | 360 |

934 LOCAL CUBIC CURVE INTERPOLATION | 394 |

935 LOCAL BICUBIC SURFACE INTERPOLATION | 398 |

94 Global Approximation | 404 |

941 LEAST SQUARES CURVE APPROXIMATION | 406 |

942 WEIGHTED AND CONSTRAINED LEAST SQUARES CURVE FITTING | 412 |

943 LEAST SQUARES SURFACE APPROXIMATION | 418 |

944 APPROXIMATION TO WITHIN A SPECIFIED ACCURACY | 423 |

95 Local Approximation | 436 |

951 LOCAL RATIONAL QUADRATIC CURVE APPROXIMATION | 437 |

952 LOCAL NONRATIONAL CUBIC CURVE APPROXIMATION | 440 |

EXERCISES | 451 |

103 Skinned Surfaces | 456 |

104 Swept Surfaces | 471 |

105 Interpolation of a Bidirectional Curve Network | 484 |

106 Coons Surfaces | 495 |

112 Control Point Repositioning | 510 |

113 Weight Modification | 517 |

1131 MODIFICATION OF ONE CURVE WEIGHT | 519 |

1132 MODIFICATION OF TWO NEIGHBORING CURVE WEIGHTS | 525 |

1133 MODIFICATION OF ONE SURFACE WEIGHT | 530 |

114 Shape Operators | 532 |

1142 FLATTENING | 541 |

1143 BENDING | 546 |

115 Constraintbased Curve and Surface Shaping | 554 |

1152 CONSTRAINTBASED SURFACE MODIFICATION | 561 |

123 NURBS Within the Standards | 579 |

l232 STEP | 582 |

1233 PHIGS | 584 |

124 Data Exchange to and from a NURBS System | 585 |

132 Data Types and Portability | 593 |

133 Data Structures | 595 |

134 Memory Allocation | 600 |

135 Error Control | 606 |

136 Utility Routines | 612 |

137 Arithmetic Routines | 615 |

138 Example Programs | 617 |

139 Additional Structures | 622 |

1310 System Structure | 625 |

REFERENCES | 628 |

### Common terms and phrases

algorithm approximation array assume B-spline curve basis functions Bernstein polynomials Bezier curve Bezier form Bezier segment Chapter chord length circle circular arc coefficients compute conic constraints control polygon convex hull coordinate cubic curve curve interpolation curve or surface curves and surfaces Cw(u defined degree elevation degree reduced denote direction ellipse equations error example geometric global hence homogeneous space hyperbola infinite control points Input internal knots knot insertion knot refinement knot removal knot span knot vector linear matrix method multiplicity nonrational nonzero NURBS curve NURBS surface obtain Output parabola parameterization patch PHIGS piecewise Piegl plane polynomial power basis form projection pth-degree quadratic curve rational Bezier reparameterization repositioning routine ruled surface section curves shape shown in Figure shows space specified spline surface interpolation surface of revolution tangent three-dimensional three-dimensional space ui+i unclamping vspan warping weights yields