Издательство Morgan Kaufmann, 1987, -485 pp.
This book began as a set of tutorial notes introducing some of the major concepts in the mathematical literature on splines to people working in computer graphics. We intended to introduce terminology, notation, and basic results in an intuitive fashion, assuming only a background of beginning calculus and a little linear algebra, and selecting material that appeared most applicable to computer graphics. We have tried not to be too formal- the reader will find occasional ' 'arguments," but no proofs. (For rigor, the references by de Boor and Schumaker, given in Chapter 1, are to be studied.) We hoped that such an introduction would enable those working in graphics to make use of the mathematical literature for further study.
In keeping with these introductory and graphics-related goals, we have concentrated on parametric spline curves and parametric, tensor-product spline surfaces. These have become standard tools in the field. More recent subjects, such as multivariate splines and free-form solids modeling, have not been covered, since they are areas of active research beyond the scope of this book.
The easiest decisions were those about the topics to be covered. It proved harder to fix upon a notation that was consistent throughout the book, pedagogically defensible, and in accord with most of the literature. We experimented with at least three distinct schemes. In the end, we settled on a major notational system, used throughout the B-spline and Beta-spline material, and a minor system, used in our discussion of Bezier techniques. This is somewhat in keeping with a similar notational split to be found between the B-/Beta-spline and Bezier literatures.
The most difficult decisions, however, causing the longest discussions, conceed the use of terminology. Not only does the terminology in the graphics literature on splines often conflict with that used in the mathematical literature, but various authors within each field contradict each other in their use of terms. To a mathematician, a "B-spline" is a particular type of spline basis function. To a graphics person, the term "B-spline" suggests a parametric spline, composed of a sum of the mathematician's spline basis functions that have been scaled by a sequence of control vertices. The graphics person's terminology of "B-spline basis function," on the other hand, seems to the mathematician as redundant as "liverwurst sausage." The use of "cardinal" is particularly individual. To one author it denotes a type of basis function; to another author it suggests a constructive technique for producing C 1 interpolating splines, and still another may use it to describe a canonical placement of knots. The reader should be aware that each paper in the literature may be phrased in its own local language. We have done what we could to make choices and remain consistent.
Introduction
Preliminaries
Hermite and Cubic Spline Interpolation
A Simple Approximation Technique - Uniform Cubic B-splines
Splines in a More General Setting
The One-Sided Basis
Divided Differences
General B - splines
B-spline Properties
Bezier Curves
Knot Insertion
The Oslo Algorithm
Parametric vs. Geometric Continuity
Uniformly-Shaped Beta-splines
Geometric Continuity, Reparametrization, and the Chain Rule
Continuously-Shaped Beta-splines
An Explicit Formulation for Cubic Beta-splines
Discretely-Shaped Beta -splines
B-spline Representations for Beta-splines
Rendering and Evaluation
Selected Applications
This book began as a set of tutorial notes introducing some of the major concepts in the mathematical literature on splines to people working in computer graphics. We intended to introduce terminology, notation, and basic results in an intuitive fashion, assuming only a background of beginning calculus and a little linear algebra, and selecting material that appeared most applicable to computer graphics. We have tried not to be too formal- the reader will find occasional ' 'arguments," but no proofs. (For rigor, the references by de Boor and Schumaker, given in Chapter 1, are to be studied.) We hoped that such an introduction would enable those working in graphics to make use of the mathematical literature for further study.
In keeping with these introductory and graphics-related goals, we have concentrated on parametric spline curves and parametric, tensor-product spline surfaces. These have become standard tools in the field. More recent subjects, such as multivariate splines and free-form solids modeling, have not been covered, since they are areas of active research beyond the scope of this book.
The easiest decisions were those about the topics to be covered. It proved harder to fix upon a notation that was consistent throughout the book, pedagogically defensible, and in accord with most of the literature. We experimented with at least three distinct schemes. In the end, we settled on a major notational system, used throughout the B-spline and Beta-spline material, and a minor system, used in our discussion of Bezier techniques. This is somewhat in keeping with a similar notational split to be found between the B-/Beta-spline and Bezier literatures.
The most difficult decisions, however, causing the longest discussions, conceed the use of terminology. Not only does the terminology in the graphics literature on splines often conflict with that used in the mathematical literature, but various authors within each field contradict each other in their use of terms. To a mathematician, a "B-spline" is a particular type of spline basis function. To a graphics person, the term "B-spline" suggests a parametric spline, composed of a sum of the mathematician's spline basis functions that have been scaled by a sequence of control vertices. The graphics person's terminology of "B-spline basis function," on the other hand, seems to the mathematician as redundant as "liverwurst sausage." The use of "cardinal" is particularly individual. To one author it denotes a type of basis function; to another author it suggests a constructive technique for producing C 1 interpolating splines, and still another may use it to describe a canonical placement of knots. The reader should be aware that each paper in the literature may be phrased in its own local language. We have done what we could to make choices and remain consistent.
Introduction
Preliminaries
Hermite and Cubic Spline Interpolation
A Simple Approximation Technique - Uniform Cubic B-splines
Splines in a More General Setting
The One-Sided Basis
Divided Differences
General B - splines
B-spline Properties
Bezier Curves
Knot Insertion
The Oslo Algorithm
Parametric vs. Geometric Continuity
Uniformly-Shaped Beta-splines
Geometric Continuity, Reparametrization, and the Chain Rule
Continuously-Shaped Beta-splines
An Explicit Formulation for Cubic Beta-splines
Discretely-Shaped Beta -splines
B-spline Representations for Beta-splines
Rendering and Evaluation
Selected Applications