28 CHAPTER 2 An Integral Approach to Uniform Subdivision
2.1 A Subdivision Scheme for B-splines
Chapter 1 introduced a simple method for constructing a smooth curve that fol-
lowed a control polygon
p with m + 1 vertices. The B
´
ezier curve p[x] associated
with
p is a parametric curve of degree m that approximates p as x varies from 0
to 1. For small values of m, the B
´
ezier technique works well. However, as m grows
large (say,
m > 20), B
´
ezier curves begin to exhibit some undesirable properties. In
particular, the Bernstein basis functions
B
m
[x] are supported over the entire interval
[0, 1]. Therefore, modifying any one of the control points in p induces a change to
the entire curve
p[x]. Moreover, subdividing p[x] using the de Casteljau algorithm
requires
O[m
2
] computations.
One solution to this problem is to construct a collection of B
´
ezier curves, say
of degree three, that approximate the shape of
p. The resulting composite curve is
a piecewise polynomial curve. This modification allows local control of the com-
posite curve in the sense that modifying one B
´
ezier curve in the collection does
not necessarily induce a change in the entire curve. Moreover, subdividing the
O[m]
B
´
ezier curves of degree three can be done in O[m] time. Because in many applica-
tions it is desirable for this composite curve to be smooth (i.e., have a continuous
derivative), any method for representing
p[x] as a collection of B
´
ezier curves must
ensure that the control polygons for consecutive B
´
ezier curves meet smoothly.
An alternative approach is to construct a set of smooth piecewise polyno-
mial basis functions that behave like the Bernstein basis functions. Instead of being
globally supported, each basis function is locally supported. For example, if the
associated curve
p[x] is defined on the interval [0, m], the i th basis function is sup-
ported only over a small subrange, say
[i − 2, i + 2] for cubic splines. Taking linear
combinations of these smooth basis functions automatically yields a smooth curve
p[x]. The advantage of this approach is that there is no need to manage each poly-
nomial piece of
p[x] explicitly; smoothness of the entire curve p[x] is guaranteed by
construction.
The canonical example of such smooth piecewise polynomial basis functions
is the B-spline basis functions. If the breakpoints between each polynomial piece
(i.e., the knots) are placed at the integers, the curve formed by taking linear com-
binations of these basis functions is a uniform B-spline. Uniform B-splines are a
fundamental tool in a number of areas, including numerical analysis, finite element
methods, geometric design, and computer graphics. The success story of B-splines
in geometric design starts with the landmark publications by De Boor [37, 38].
Bartels et al. [9] give an extensive introduction to the various remarkable proper-
ties and algorithms associated with B-splines.