i
i
i
i
i
i
i
i
612 13. Curves and Curved Surfaces
Figure 13.33. Subdivision as refinement and smoothing. The refinement phase creates
new vertices and reconnects to create new triangles, and the smoothing phase computes
new positions for the vertices.
wish, and the original surface representation is compact. An example of
a surface being subdivided is shown in Figure 13.32. Another advantage
is that subdivision rules are simple and easily implemented. A disadvan-
tage is that the analysis of surface continuity often is very mathematically
involved. However, this sort of analysis is often only of interest to those
who wish to create new subdivision schemes, and is out of the scope of this
book—for such details, consult Warren and Weimer’s book [1328] and the
SIGGRAPH course on subdivision [1415].
In general, the subdivision of surfaces (and curves) can be thought of as
a two-phase process [679]. Starting with a polygonal mesh, called the con-
trol mesh, the first phase, called the refinement phase, creates new vertices
and reconnects to create new, smaller triangles. The second, called the
smoothing phase, typically computes new positions for some or all vertices
in the mesh. This is illustrated in Figure 13.33. It is the details of these two
phases that characterize a subdivision scheme. In the first phase, a polygon
can be split in different ways, and in the second phase, the choice of sub-
division rules give different characteristics such as the level of continuity,
and whether the surface is approximating or interpolating.
A subdivision scheme can be characterized by whether it is stationary,
whether it is uniform, and whether it is triangle-based or polygon-based .
A stationary scheme uses the same subdivision rules at every subdivision
step, while a nonstationary may change the rules depending on which step
currently is being processed. The schemes treated below are all stationary.
A uniform scheme uses the same rules for every vertex or edge, while a
nonuniform scheme may use different rules for different vertices or edges.
As an example, a different set of rules is often used for edges that are on the
boundaries of a surface. A triangle-based scheme only operates on triangles,
and thus only generates triangles, while a polygon-based scheme operates
on arbitrary polygons. We will mostly present triangle-based schemes here
because that is what graphics hardware is targeted for, but we will also
briefly cover some well-known polygon-based schemes.