24.5 Triangular or Rectangular Patches? 435
24.4 The B-Spline or the Hermite Form?
Cubic B-spline curves are numerically more stable than curves in the piecewise
cubic Hermite form. This comes as no surprise, since some of the Hermite
basis functions are negative, giving rise to numerically unstable nonconvex
combinations. However, there is an argument in favor of the piecev^ise Hermite
form: it stores interpolation points explicitly. In the B-spline form, they must be
computed. Even if this computation is stable, it may produce
roundoff.
A significant argument against the use of the Hermite form points to its
lack of invariance under affine parameter transformations. Everyone who has
programmed the Hermite form has probably experienced the trauma resulting
from miscalculated tangent lengths. A programmer should not be burdened with
the subtleties of the interplay between tangent lengths and parameter interval
lengths.
An important advantage of the B-spline form is storage. For B-spline curves,
one needs a control point array of length L + 2 plus a knot vector array of length
L + 1 for a curve with L data points, resulting in an overall storage requirement
of 4L -h 7 reals.^ For the piecewise Hermite form, one needs a data array of
length IL (position and tangent at each data point) plus a knot vector of length
L -h 1, resulting in a storage requirement of 7L + 1 reals. For surfaces (with
same degrees in u and v for simplicity), the discrepancy becomes even larger:
3(L + 2)^ + 2(L + 1) versus 12L^ + 2(L + 1) reals. (For the Hermite form, we
have to store position, u- and i/-tangents, and twist for each data point.)
When both forms are used for tensor product interpolation, the Hermite form
must solve three sets of linear equations (see Section 15.5) while the B-spline form
must solve only two sets (see Section 15.4).
24.5 Triangular or Rectangular Patches?
Most of the early CAD efforts were developed in the car industry, and this is per-
haps the main reason for the predominance of rectangular patches in most CAD
systems; the first applications of CAD methods to car body design were to the
outer panels such as
roof,
doors, and hood. These parts basically have a rectan-
gular geometry, hence it is natural to break them down into smaller rectangles.
These smaller rectangles were then represented by rectangular patches.
Once a CAD system had been successfully applied to a design problem, it
seemed natural to extend its use to other tasks: the design of the interior car
3 We are not storing knot multiplicities. We would then be able to represent curves that are
only C^, which the cubic Hermite form is not capable of.