Graphics Reference
In-Depth Information
This apparent contradiction—the defining functions are similar, but the
implicit curves or surfaces are different—can be resolved, in part, by scaling: If
we insist that we consider only functions F and level sets F = c with the property
that the gradient, at each point of the level set, has magnitude at least 1, then an
alteration of F by some small enough amount
δ
results in a motion of the level sur-
face that's O (
) . For acquired data, guaranteeing this property of the gradient may
be infeasible. For cases where we are building implicit functions ourselves, it may
be feasible. But if our interest in implicits is in their ability to represent chang-
ing topologies as the level value changes, then at the topology-changing level, we
must have a point where the gradient is zero (so the assumption that the magnitude
is greater than one is violated). In short, although it's possible to make guarantees
of correctness for certain classes of implicit functions, in practice the hypotheses
may be unenforceable or impractical.
δ
24.5 Other Representations of Implicit
Functions
Implicit surfaces are sometimes referred to as “blobbies,” because it's so easy,
with functions like F ( x , y , z )= x 2 + y 2 + z 2 , to create small blobs. Indeed, radially
symmetric functions, translated to various points and summed, allow one to create
multiple blobs. If z = f ( r ) is a rapidly decreasing function of r with f ( 0 )= 1,
then we can define
F ( P )=
i
f (
P i
) ,
P
(24.15)
which will be a function with maxima at or near the points P i (assuming that
they're far enough apart), and the level set at level c = 0. 9, for instance, will
consist of approximately spherical blobs around the P i . If two of the points P i are
very close, then their associated blobs will merge into a single larger blob, and
this idea is the basis for modeling shapes with implicit functions: By choosing the
points P i carefully, we can build up a shape as a sum of blobs. This approach to
modeling has been very thoroughly investigated [BW90, WGG99]; Bloomenthal's
book [BW97b] provides a great many details. One approach, in which blobs blend
in a very predictable way, was developed by Wyvill et al. [WMW86]. Critical to
its success is finding a function f with the property that when blobs merge, the
volume of the resultant blob is approximately the sum of the individual volumes.
If we consider an implicit function F as not defining a surface where F = 0,
but rather a volume (the points P where F ( P )
0), then there are further opera-
tions we can consider. For instance, if F and G both define shapes, then max( F , G )
defines the union of the shapes (the max is positive only if one of the two functions
is positive), while min( F , G ) defines the intersection. Unfortunately, the function
max( F , G ) is not necessarily smooth, even if F and G are. Since smoothness is
often important in guaranteeing the quality of results for implicit surfaces, these
functions are sometimes replaced by smooth approximations; with these smooth
approximations, we get approximations of the union and intersection of shapes.
By starting from simple shapes, defined by individual functions, and combining
them with operations like translation, rotation, smooth-max, smooth-min, etc., we
can create implicit representations of quite complex shapes (Figure 24.8 shows an
example). Wyvill [BEG98] describes this blob tree approach in detail.
 
 
Search WWH ::




Custom Search