Graphics Reference
In-Depth Information
contained in the tangent plane at S . There are two other conventions: In the first,
what we have called the contour is sometimes called the contour generator,
and the term “contour” is reserved for what we would call the visible contour;
in the second, the thing we call the contour is called the fold set, although the
definition for the fold set is somewhat more general, extending to polyhedra as
well as smooth surfaces [Ban74].
In the case of nonsmooth objects like polygonal meshes, notions like “tan-
gent plane” and “normal vector” must be adjusted. One approach is to create a
smoothly varying normal vector field on the surface, one that agrees with the facet
normal at facet centers, for instance, but smoothly blends between them, away
from the centers. This approach works decently, although with this approach it's
easy to have a silhouette point (on the boundary between object and background)
that is not a contour (view ray perpendicular to normal vector), which can lead
to problems. Another approach is to say that at each edge between two facets
there is a whole set of normal vectors, filling in between the normal vectors of
the two facets. A simple version of this is shown in Figure 34.10: Looking end-on
at an edge e , we treat the two adjacent facet normals n 1 and n 2 as points of the
unit sphere; we then find a great-circle arc between them, and say that all vec-
tors along this great-circle arc are normals to the edge e . The only time there's an
ambiguity about which great-circle arc to pick is when the adjacent normals are
opposites; in this case the polyhedral surface is degenerate (the interiors of adja-
cent facets intersect), and the approach fails for such surfaces (just as we cannot,
in the smooth-surface case, handle normal vectors at nonsmooth points).
n e
n 1
n 2
(a)
(b)
Figure 34.10: (a) The collection
of normals at an edge e of a mesh
interpolates between the normals
n 1 and n 2 of the adjacent facets.
(b) Drawing n 1 and n 2 at the ori-
gin, so their tips are on the unit
sphere, we use great-circle inter-
polation to create the set of nor-
mals for the edge e.
This approach can be extended to define a set of normals at a vertex as well:
The normal arcs for each edge adjacent to the vertex link together into a chain
(on the unit sphere); we declare the normal at the vertex to be the interior of this
loop. Once again, there are degenerate cases: Since any simple closed curve on the
sphere is the boundary of two different regions, we must make a choice between
these. If the polyhedral surface is nearly flat at the vertex, then all adjacent normals
are near each other, and we can simply choose the region whose area is smaller.
The degeneracy arises when the two areas are equal. In practice, in meshes derived
from reasonably uniform and fine sampling of smooth surfaces, such vertices do
not often arise.
Polygonal meshes are, generally speaking, a bad starting point for things like
contour extraction, because almost every edge of a mesh represents a sharp change
in the normal vector. In some cases, this results from the polygonalization of a
smooth object. In others, the sharp edge is modeling a sharp edge on the original
object (e.g., a cube). Without further information, it's impossible to tell which kind
of edge is intended. Various researchers have experimented with various thresh-
olds, but you need only consider a finely faceted diamond to realize that there's no
obvious threshold that can work for all objects. It's probably best, as a practical
matter, to allow the modeler of an object to mark certain edges as crease edges,
that is, those across which the normal is supposed to change rapidly, and then treat
all others as smooth edges, or those across which the normal is to be interpolated
smoothly. This is an instance of the principle stated in the introduction, that you
should understand the phenomena and goal of your effort, and only then choose a
rich-enough abstraction and representation to capture the important phenomena.
The “polygonal model” representation of shape was chosen before the advent of
expressive rendering, and it lacks sufficient richness. It's also an instance of the
Meaning principle: The “numbers” in the polygonal model don't have sufficient
meaning attached to them.
 
Search WWH ::




Custom Search