Graphics Reference
In-Depth Information
Analysis like that for the limit points also shows how to compute the nor-
mal vector at the limit point [HKD93], at least for vertices in sufficiently general
position. (There are configurations for which the limit surface does not have a
well-defined normal, just as there are B-spline curves that have geometric cusps,
despite being parametrically smooth.)
Since both the limiting position and the surface normal are expressible as lin-
ear combinations of a few neighboring vertices, one can solve problems like “Find
me initial vertex positions for this mesh with the property that the limit surface
passes through these points and has these normal vectors at them.” This is the
central problem addressed by Halstead et al.
While the limit surface for subdivision is generally smooth, at exceptional
vertices it may not be curvature-continuous (i.e., the curvature at the limit of an
exceptional vertex may be undefined, or it may not be continuous in a neigh-
borhood of that vertex). One might try to address the surface to be curvature-
continuous through a kind of “surgery”: Remove a small disk around the offending
point and replace it with a smooth surface. But guaranteeing continuity at the seam
is problematic. As an alternative, one can blend between the limit surface and a
smooth replacement, using a blending function that's a sufficiently smooth func-
tion of the distance from the exceptional point and that varies from 0 at the seam to
1 at the center, with all derivatives being 0 both at the seam and at the center. Such
an ad hoc approach requires choosing a radius for the disk and choosing a smooth
shape to blend with, but it can be made to work quite well in practice [Lev06]. A
different approach, based on improving the appearance of the exceptional point
rather than its geometry, is to use the “approximate Catmull-Clark subdivision
surfaces,” or ACC surfaces, developed by Loop and Schaeffer [LS08]. Starting
from the mesh to be subdivided, they develop, for every quad, a bicubic patch
( u , v )
S ( u , v ) that represents the geometry of the limit surface, and two asso-
ciated patches t u ( u , v ) and t v ( u , v ) where the value of t u ( u , v ) approximates the
tangent vector to S in the u direction at ( u , v ) , that is, S ( u , v )
u , and similarly for t v .
These approximate tangent-vector functions can be used to compute an approx-
imate normal that varies smoothly over the surface, that is, that gives the limit
surface the appearance of smoothness when this approximate normal vector is
used in rendering it.
23.4 Modeling with Subdivision Surfaces
We've indicated, in our discussion of Catmull-Clark surfaces, how subdivision
surfaces can be fitted to point and normal data. But when you have a shape in
mind and want to create a model, point and normal data is not available. One
approach is to make a physical model of your shape, scan it, and then fit a surface
to it; this approach is used by many production studios. But as an alternative, one
can model directly with subdivision surfaces.
A typical modeling session starts with a coarse mesh that the user adapts to
have the general shape of the object of interest. The user then subdivides this mesh
and adjusts the locations of some of the resultant vertices. Often the subdivision
process puts the new mesh just about where the user expects, and new vertices
need adjustment only to add detail. After another level of subdivision, the user
adds more detail, etc. At some point, the surface shape is satisfactory and the limit
 
 
Search WWH ::




Custom Search