CS 779 Splines and Their Use in Computer Graphics


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.


Mathematical Background

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.

Bezier and B-Spline Curves

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.

Modification and Design

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.

Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: cs-webmaster@cs.uwaterloo.ca | David R. Cheriton School of Computer Science | Faculty of Mathematics

Valid HTML 4.01!Valid CSS! Last modified: Friday, 01-Jun-2012 11:00:33 EDT