Graphics Reference
In-Depth Information
resultant mesh is still embedded. “Small enough” in this case means “less than
/
is the smallest distance from any vertex to any other vertex, or to the
edge between any two other vertices, or to the plane containing any other three
vertices, or from any edge to any nonintersecting edge of the mesh.
A closed, embedded surface mesh is sometimes called a watertight model,
although it's possible to have a model that's intuitively “watertight” without sat-
isfying the definitions for closed-ness, surface-ness, and embedding. As a simple
example, a cube that has an additional square dividing it into two half-cubes is
“watertight,” in the sense that water placed in either of the two “rooms” can't
escape, but it fails the tests of “surface-ness” and embedding. At a more practical
level, it can be convenient to create a video-game model of, say, a robot charac-
ter in which the torso is a polygonal cylinder (with endcaps) and the upper arm
is an open-ended triangular prism that goes through the torso (see Figure 25.12).
Clearly no water can leak from the torso into the upper arm, and this structure
makes it easy to adjust the arm position over some range without worrying about
things matching up perfectly.
2, where
Figure 25.12: A see-through view
of the torso and arm of a simple
robot character.
On the other hand, while modeling and animating the character with this
approach is easy, rendering it, or creating shadows from it, may be quite difficult.
The same goes for models containing T-junctions.
25.3 Mesh Geometry
Figure 25.13: In this simple
model of Earth, a small disk
around the North Pole projects
injectively onto a disk in the hori-
zontal tangent plane to the North
Pole.
From now on, we'll assume we're working with embedded oriented sur-
face meshes, although not necessarily closed meshes—there may be boundary
components.
We've suggested that surface meshes are the discrete analog of smooth sur-
faces, but there are subtleties. On a smooth surface, for instance, at each point P
there's a tangent plane that approximates the surface near P : In a small enough
region around P , projection from the surface to the tangent plane is injective, that
is, no two points in the neighborhood project to the same place on the tangent
plane. Figure 25.13 shows this for the sphere. By contrast, there are quite simple
meshes for which there is no such plane. Figure 25.14 shows an example of a
vertex with the property that no plane passing through it will serve as a “tangent
plane”; projection in any direction is never injective.
The situation shown in Figure 25.14 may seem pathological, but it can arise
quite easily during the gluing together of points obtained from a surface by scan-
ning. A vertex like the one in the figure is said to be “not locally flat”; a locally
flat vertex P is one for which there's a vector n such that projection from the star
of P onto the plane through P with normal n is injective. Generally speaking, ver-
tices that are not locally flat tend to break algorithms; it's a good idea to check that
the vertex normal n assigned to each vertex P of a mesh demonstrates the local
flatness property at P .
The local flatness example demonstrates a general phenomenon: Things that
you know about smooth surfaces don't directly apply to meshes. For instance, the
slices perpendicular to some generic direction d of a smooth surface tend to be
nice, smooth curves, except at isolated “critical” points, where there may be self-
intersections that look like the letter X , as shown in Figure 25.15. By contrast, the
slices of a surface mesh are polygonal curves, and at critical points they can look
very complicated indeed [Ban65].
Figure 25.14: Projection from the
mesh onto any plane passing
through the central red vertex will
not be injective. The large green
vertices are closer to the eye; the
small aqua ones are farther away.
 
 
 
Search WWH ::




Custom Search