Graphics Reference
In-Depth Information
extent contains the non-zero extent of the implicit function. The implicit function values at the mesh
vertices are then interpolated along mesh edges to estimate the location of points that lie on the implicit
surface. Polygonal fragments are then constructed in each cell of the mesh by using any surface points
located on the edges of that mesh cell [
10
].
The best known implicit primitive is often referred to as the
metaball
and is defined by a central
point (
C
), a radius of influence (
R
), a density function (
f
), and a threshold value (
T
). All points in space
that are within a distance
R
from
C
are said to have a density of
f
(
distance
(
P
,
C
)/
R
) with respect to the
metaball (where
distance
(
P
,
C
) computes the distance between
P
and
C
and where
distance
(
P
,
C
)/
R
is
the
normalized distance
). The set of points for which
f
(
distance
(
P
,
C
)/
R
)
T ¼
0 (implicitly) defines
the surface,
S
.
because that is the distance at which the function,
f
, evaluates to the threshold value. Desirable
attributes of the function,
f
, are
f
(0.0)
¼
1.0,
f
(0.5)
¼
0.5,
f
(1.0)
¼
0.0, and
f´
(0.0)
¼ f´
(1.0)
¼
0.0.
s
4
9
17
9
s
22
9
s
6
4
2
f ðsÞ¼
1
(12.1)
Two generalizations of this formulation are useful. The first uses the weighted sum of a number of
implicit surface primitives so that the surface-defining implicit function becomes a smooth blend of the
FðPÞ¼
S
w
i
f
i
ðPÞT
(12.2)
The weights are arbitrarily specified by the user to construct some desired surface. If all of the weights,
w
i
, are one, then the implicit primitives are summed. Because the standard density function has zero
slope at one, the primitives will blend together smoothly. Using negative weights will create smooth
concavities. Several concavities can be created by making the weight more negative. Integer weights
are usually sufficient for most applications, but noninteger weights can also be used (see
Figure 12.2
).
The second generalization provides more primitives with which the user can build interesting
objects. Most primitives are distance based, and most of those are offset surfaces. Typical primitives
use the same formulation as the metaball but allow a wider range of central elements. Besides a single
normalized
distance
R
1
r
T
S
C
0
0
r/R
1
f
FIGURE 12.1
The metaball and a sample density function.
Search WWH ::
Custom Search