Book contents
- Frontmatter
- Contents
- Preface
- I Introduction
- II Transformations and Viewing
- III Lighting, Illumination, and Shading
- IV Averaging and Interpolation
- V Texture Mapping
- VI Color
- VII Bézier Curves
- VIII B-Splines
- IX Ray Tracing
- X Intersection Testing
- XI Radiosity
- XII Animation and Kinematics
- A Mathematics Background
- B RayTrace Software Package
- Bibliography
- Index
- Plate section
VIII - B-Splines
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- I Introduction
- II Transformations and Viewing
- III Lighting, Illumination, and Shading
- IV Averaging and Interpolation
- V Texture Mapping
- VI Color
- VII Bézier Curves
- VIII B-Splines
- IX Ray Tracing
- X Intersection Testing
- XI Radiosity
- XII Animation and Kinematics
- A Mathematics Background
- B RayTrace Software Package
- Bibliography
- Index
- Plate section
Summary
This chapter covers uniform and nonuniform B-splines, including rational B-splines (NURBS). B-splines are widely used in computer-aided design and manufacturing and are supported by OpenGL. B-splines are a powerful tool for generating curves with many control points and provide many advantages over Bézier curves – especially because a long, complicated curve can be specified as a single B-spline. Furthermore, a curve designer has much flexibility in adjusting the curvature of a B-spline curve, and B-splines can be designed with sharp bends and even “corners.” In addition, it is possible to translate piecewise Bézier curves into B-splines and vice versa. B-splines do not usually interpolate their control points, but it is possible to define interpolating B-splines. Our presentation of B-splines is based on the Cox–de Boor definition of blending functions, but the blossoming approach to B-splines is also presented.
The reader is warned that this chapter is a mix of introductory topics and more advanced, specialized topics. You should read at least the first parts of Chapter VII before this chapter. Sections VIII.1–VIII.4 give a basic introduction to B-splines. The next four sections cover the de Boor algorithm, blossoming, smoothness properties, and knot insertion; these sections are fairly mathematical and should be read in order. If you wish, you may skip these mathematical sections at first, for the remainder of the chapter can be read largely independently. Section VIII.9 discusses how to convert a piecewise Bézier curves into a B-spline. The very short Section VIII.10 discusses degree elevation.
- Type
- Chapter
- Information
- 3D Computer GraphicsA Mathematical Introduction with OpenGL, pp. 200 - 232Publisher: Cambridge University PressPrint publication year: 2003