Graphics Reference
In-Depth Information
24.4 Representing Implicit Functions
While the examples in the preceding section were given in terms of explicit poly-
nomial formulas, such an approach becomes impractical when we want to use
implicit surfaces for modeling particular shapes: What polynomial in three vari-
ables, for instance, has a level set that has the shape of a dolphin? It's clear that
searching for the appropriate degree and coefficients is an intractable task.
Instead, an implicit function is often represented by samples, the values of the
function on a fixed grid of points such as the integer points of the plane or 3-space.
(Such a representation arose naturally from the gathering of regularly spaced data
in scientific experiments or surveying). Of course, knowing a function's values at
integer points does not tell us the values at noninteger points. Indeed, between any
pair of integer points, a function can take on any values at all. It's conventional to
assume that the samples are so closely spaced that between samples, the function
“doesn't do anything funny” so that, for instance, one might assume that between
samples, the function takes on values that are determined by simple combinations
of the values at the sample points (the same way we took values at points of a
polygon mesh in Chapter 9 and extended them to define a function on the entire
mesh). If we consider the plane, for instance, as a polygon mesh (with each poly-
gon being a square), with values known at the vertices, we could interpolate over
the interiors of squares. The methods of Chapter 9 don't help us, because they
assumed that the mesh was made of triangles.
24.4.1 Interpolation Schemes
There are several approaches to extending a function defined on the integer grid
in the plane to a function defined on the whole plane.
24.4.1.1 Conversion to Triangles
A first approach is to convert the mesh of squares into a mesh of triangles, as
shown in Figure 24.6(a), by adding a diagonal to each square. Because there
are two choices for the diagonal (and there's no particular apriori reason for
(a)
(b)
Figure 24.6: (a) The mesh of squares defined by the integer points of the plane can be
converted to a mesh of triangles by drawing a diagonal in each square. (b) It can also be
done in a more symmetric way by adding a vertex at the center of each square (shown as a
small dot) and breaking the square into four triangles.
 
 
 
 
Search WWH ::




Custom Search