xvi Preface
Color Plates I and III: Color Plate I shows the actual hood of a car; Color Plate
III shows how it is represented internally as a collection of parametric surfaces.
The major breakthroughs in CAGD were the theory of Bezier curves and
surfaces, later combined with B-spline methods. Bezier curves and surfaces were
independently developed by
P.
de Casteljau at Citroen and by
P.
Bezier at Renault.
De Casteljau's development, slightly earlier than Bezier's, was never published,
and so the whole theory of polynomial curves and surfaces in Bernstein form
now bears Bezier's name. CAGD became a discipline in its own right after the
1974 conference at the University of Utah (see Barnhill and Riesenfeld [34]).
Several other disciplines have emerged and interacted with CAGD. Compu-
tational geometry is concerned with the analysis of geometric algorithms. An
example would be finding a bound on the time it takes to triangulate a set of
points. Knowledge of such bounds allows a comparison and evaluation of
dif-
ferent algorithms. The literature includes Prepata and Shamos [497] and de Berg
et al.
[135].
Ironically, another book with the term computational geometry in
it is the one by Faux and Pratt
[228].
It was a very influential text, but today, it
would be classified as a CAGD text.
Another related discipline is solid modeling. It is concerned with the repre-
sentation of objects that are enclosed by an assembly of surfaces, mostly very
elementary ones such as planes, cylinders, or tori. The literature includes
Hoff-
mann [327] and Mantyla
[416].
CAGD has also influenced fields such as medical
imaging, geographic information systems, computer gaming, and scientific visu-
alization. It should go without saying that computer graphics is one of the earliest
and most important applications of CAGD; see [238] or [9].
For this fifth edition, the most notable addition is a chapter on subdivision
surfaces that were of academic interest at best when the first edition appeared in
1988.
A recent special issue of the journal Computer Aided Geometric Design
highlights some of the new developments; see
[393], [432], [470], [579], [598],
and
[631].
Other new topics include triangle meshes, more in-depth treatment
of least squares techniques, and pervasive use of the blossoming principle.
Each chapter is concluded by a set of problems. They come in three categories:
simpler exercises at the beginning of each Problem section, harder problems
marked by asterisks, and programming problems marked by "P." Many of these
programming problems use data on the Web site. Students should thus get a better
feeling for "real" situations. In teaching this material, it is essential that students
have access to computing and graphics facilities; practical experience greatly
helps the understanding and appreciation of what might otherwise remain dry
theory.
The C programs on the Web site are my implementations of some (but not
all) of the most important methods described here. The programs were tested for
many examples, but they are not meant to be "industrial strength." In general.