1.3 Subdivision 19
with functions, piecewise polynomials are a particularly common and practical
choice. Piecewise polynomial functions provide a convenient and efficient method
of defining smooth curved shapes. In addition, the mathematics of the resulting
geometry is well understood. On the other hand, iterated affine transformations
define a richer class of shapes using the very simple concept of iterative transforma-
tions. However, analyzing the behavior of the final limit shapes can be extremely
challenging.
Subdivision captures the best of both methods. Using subdivision, a curve is
defined as the limit of an increasingly faceted sequence of polygons. Each poly-
gon is related to a successor by a simple linear transformation that provides an
increasingly accurate approximation to the final limit curve. In most applications,
a sufficiently dense polygon can be used in place of the final limit curve without
any noticeable error.
Remarkably, many of the traditional shapes used in geometric design can be
defined using subdivision. As the previous section illustrated, B
´
ezier curves have a
very simple subdivision method, the de Casteljau algorithm. The solutions to many
variational problems and partial differential equations can also be expressed using
subdivision. Moreover, many new shapes useful in geometric design are defined
only in terms of subdivision. The rest of this section introduces the basic mechanics
of subdivision in terms of a simple example: piecewise linear splines.
1.3.1 Piecewise Linear Splines
Our approach is to introduce piecewise linear splines in terms of their polynomial
definition and later propose a functional analog of the collage property. This prop-
erty leads to a simple multiresolution rendering method for piecewise linear splines.
Consider the piecewise linear function of the form
n[x] = c[x + 1] − 2c[x] + c[x − 1],
where c[x] is the truncated linear function that is x if x ≥0 and zero if x < 0.
For
x /∈ [−1, 1], the function n[x] is identically zero. At x == 0, n[x] is exactly one.
Elsewhere,
n[x] varies linearly. Therefore, n[x] is the unit hat function. Figure 1.18
shows plots of
c[x] and n[x], respectively.
Replacing the parameter
x in the function n[x] by x − i has the effect of translat-
ing the unit hat function
i units to the right. Figure 1.19 plots the functions n[x −i]
over the parameter range x ∈ [−2, 2] for various integer values of i . Now, consider