Издательство Morgan Kaufmann, 2001, -343 pp.
NonUniform Rational B-Splines, or NURBS, grew out of the pioneering work of Pierre B?zier's development of B?zier curves and surfaces in the late 1960s and early 1970s. Because of their increased power and flexibility, B-spline curves and surfaces rapidly followed. Rational and nonuniform rational B-spline curves and surfaces added both greater flexibility and precision. Especially important is the ability of NURBS to represent conic curves and surfaces precisely. Thus, with NURBS a modeling system can use a single inteal representation for a wide range of curves and surfaces, from straight lines and flat planes to precise circles and spheres as well as intricate piecewise sculptured surfaces. Furthermore, NURBS allow these elements to easily be buried within a more general sculptured surface. This single characteristic of NURBS is key to developing a robust modeling systein, be it for computer aided design of automobiles, aircraft, ships, shoes, shower shampoo bottles, etc., or for an animated character in the latest Hollywood production or computer game, or even as the motion path for that character. As a result, NURBS are the standard of much of tile computer aided design and interactive graphics community.
NURBS often appear mysterious to many people who use them daily. They appear mathematically complex and hence beyond the reach of even professional computer scientists, engineers, graphic artists and animators, to name just a few. To the average student in a computer science or engineering program, they appear to be a deep, dark mathematical puzzle. This need not be true. Yes, there is some mathematics required to truly understand NURBS. It is the purpose of this book to demystify it. Many books and papers on NURBS are replete with theorems, lemmas and corollaries, along with all those weird symbols. Yes, even though I am an aeronautical engineer, they still tu me off. You won't find any in this book. So, how are we going to demystify NURBS? We do this by clearly and simply stating the underlying mathematics, very heavily illustrating the results of that mathematics, and presenting a large number of detailed worked examples.
However, having said that, this is no "NURBS for Dummies" book. The objective is for you to end up with a fundamental understanding of NURBS. First-year college-level mathematics is a sufficient prerequisite. The book is suitable for the working professional with a grounding in collegelevel algebra and a first course in calculus (derivatives). The large number of detailed worked examples makes it quite suitable for self-study. The book can easily serve as the basis for a single-semester course on NURBS at the senior or first-year graduate level.
Because NURBS are parametric curves and surfaces, the first chapter briefly addresses some fundamental properties of parametric curves and surfaces. The second chapter begins the discussion of NURBS by looking at B?zier curves, which laid the original foundation for NURBS. The third chapter introduces nonrational (or standard) B-spline curves and thoroughly discusses two very important aspects of B-splines-knot vectors and basis functions, an understanding of which is fundamental to understanding B-splines and NURBS. Chapter 3 continues by presenting some fundamental tools, specifically degree elevation, degree reduction, knot insertion and curve subdivision, knot removal and reparameterization considerations. Chapter 4 completes the discussion of curves with a thorough presentation of rational B-spline curves, i.e., NURBS. Representation of the conic sections, i.e., circles, ellipses, parabolas and hyperbolas using NURBS, is included.
The discussion of surfaces begins in Chapter 5 with B?zier surfaces, including a short discussion of transformation between surface descriptions. Chapter 6 contains a discussion of nonrational B-spline surfaces, including surface derivatives, fitting, subdivision and faiess using Gaussian curvature. NURBS surfaces are covered in depth in Chapter 7, including bilinear, sweep and blending surfaces. Surfaces of revolution, e.g., cylinders and spheres, are also discussed. The chapter ends with a detailed discussion of a fast B-spline surface algorithm that efficiently allows dynamic real-time manipulation of a single control polygon vertex or even the homogeneous weighting factor at a single control polygon vertex.
The book concludes with three appendices, including a detailed description of a B-spline surface file format, problems illustrating additional aspects of B?zier and B-spline curves and surfaces, and finally more than two dozen pseudocode algorithms for generating B?zier and B-spline curves and surfaces. These algorithms form the basis of a library for calculating B?zier, B-spline and NURBS curves and surfaces.
Curve and Surface Representation
B?zier Curves
B-spline Curves
Rational B-spline Curves
B?zier Surfaces
B-spline Surfaces
Rational B-spline Surfaces
NonUniform Rational B-Splines, or NURBS, grew out of the pioneering work of Pierre B?zier's development of B?zier curves and surfaces in the late 1960s and early 1970s. Because of their increased power and flexibility, B-spline curves and surfaces rapidly followed. Rational and nonuniform rational B-spline curves and surfaces added both greater flexibility and precision. Especially important is the ability of NURBS to represent conic curves and surfaces precisely. Thus, with NURBS a modeling system can use a single inteal representation for a wide range of curves and surfaces, from straight lines and flat planes to precise circles and spheres as well as intricate piecewise sculptured surfaces. Furthermore, NURBS allow these elements to easily be buried within a more general sculptured surface. This single characteristic of NURBS is key to developing a robust modeling systein, be it for computer aided design of automobiles, aircraft, ships, shoes, shower shampoo bottles, etc., or for an animated character in the latest Hollywood production or computer game, or even as the motion path for that character. As a result, NURBS are the standard of much of tile computer aided design and interactive graphics community.
NURBS often appear mysterious to many people who use them daily. They appear mathematically complex and hence beyond the reach of even professional computer scientists, engineers, graphic artists and animators, to name just a few. To the average student in a computer science or engineering program, they appear to be a deep, dark mathematical puzzle. This need not be true. Yes, there is some mathematics required to truly understand NURBS. It is the purpose of this book to demystify it. Many books and papers on NURBS are replete with theorems, lemmas and corollaries, along with all those weird symbols. Yes, even though I am an aeronautical engineer, they still tu me off. You won't find any in this book. So, how are we going to demystify NURBS? We do this by clearly and simply stating the underlying mathematics, very heavily illustrating the results of that mathematics, and presenting a large number of detailed worked examples.
However, having said that, this is no "NURBS for Dummies" book. The objective is for you to end up with a fundamental understanding of NURBS. First-year college-level mathematics is a sufficient prerequisite. The book is suitable for the working professional with a grounding in collegelevel algebra and a first course in calculus (derivatives). The large number of detailed worked examples makes it quite suitable for self-study. The book can easily serve as the basis for a single-semester course on NURBS at the senior or first-year graduate level.
Because NURBS are parametric curves and surfaces, the first chapter briefly addresses some fundamental properties of parametric curves and surfaces. The second chapter begins the discussion of NURBS by looking at B?zier curves, which laid the original foundation for NURBS. The third chapter introduces nonrational (or standard) B-spline curves and thoroughly discusses two very important aspects of B-splines-knot vectors and basis functions, an understanding of which is fundamental to understanding B-splines and NURBS. Chapter 3 continues by presenting some fundamental tools, specifically degree elevation, degree reduction, knot insertion and curve subdivision, knot removal and reparameterization considerations. Chapter 4 completes the discussion of curves with a thorough presentation of rational B-spline curves, i.e., NURBS. Representation of the conic sections, i.e., circles, ellipses, parabolas and hyperbolas using NURBS, is included.
The discussion of surfaces begins in Chapter 5 with B?zier surfaces, including a short discussion of transformation between surface descriptions. Chapter 6 contains a discussion of nonrational B-spline surfaces, including surface derivatives, fitting, subdivision and faiess using Gaussian curvature. NURBS surfaces are covered in depth in Chapter 7, including bilinear, sweep and blending surfaces. Surfaces of revolution, e.g., cylinders and spheres, are also discussed. The chapter ends with a detailed discussion of a fast B-spline surface algorithm that efficiently allows dynamic real-time manipulation of a single control polygon vertex or even the homogeneous weighting factor at a single control polygon vertex.
The book concludes with three appendices, including a detailed description of a B-spline surface file format, problems illustrating additional aspects of B?zier and B-spline curves and surfaces, and finally more than two dozen pseudocode algorithms for generating B?zier and B-spline curves and surfaces. These algorithms form the basis of a library for calculating B?zier, B-spline and NURBS curves and surfaces.
Curve and Surface Representation
B?zier Curves
B-spline Curves
Rational B-spline Curves
B?zier Surfaces
B-spline Surfaces
Rational B-spline Surfaces