Computer-aided design systems originally offered only simple primitives (spheres, cylinders, polytopes, etc.) as building blocks for the creation of composite objects. Now such systems provide spline primitives as well for the construction of free form curves and surfaces. In addition, splines provide an important class of functions for approximation in areas such as finite element methods and numerical data fitting.
This course presents a general introduction to spline theory and recent developments
in techniques for representing, manipulating and rendering curves and surfaces
constructed from splines in a graphics environment. Applications of interest
include computer-aided design, synthetic image generation and animation.
An Introduction to Splines for Use in Computer Graphics and Computer-Aided
Design, by R. Bartels, J. Beatty and B. Barsky; A Practical Guide to Splines,
by C. de Boor, Springer-Verlag; Curves and Surfaces for Computer Aided Geometric
Design, by G. Farin, Academic Press; Fundamentals of Computer Aided Geometric
Design, by J. Hoschek and D. Lasser; Computer Graphics, by D. Hearn and M.P.
Baker and relevant journal articles.
A review of linear and affine spaces. Introduction to polynomials, polynomial bases, multi-linear and multi-affine functions. The mathematical description of curves and surface as parametric mappings.
Piecewise polynomials. Conditions of mathematical continuity. Bernstein poly-nomials and B-spline basis functions. The properties of nonnegativity, compact support, variation diminishing, partition of unity. Evaluation algorithms: de Casteljau, de Boor, and forward differencing.
Degree raising, knot insertion, degree reduction, and knot removal. Sweeps, extrusions, revolutions, and hierarchies. Manipulation methods.
Tensor-products, triangular-patches, and geometric continuity. Interpolation, approximation, and network filling. Tessellation and ray tracing.