i
i
i
i
i
i
i
i
408 16. Implicit Modeling
be compressed in the interpenetration region and will inflate in the propagation
region. The equation for h
i
is formed in two parts by two cubic polynomials that
are designed to join at r = r
i
/2, where the slope is zero:
c =
4(w
i
k − 4M
i
)
w
3
i
,
d =
4(3M
i
− w
i
k)
w
2
i
,
h
i
(r)=cr
3
+ dr
2
+ kr if r ∈ [0,w
i
/2],
h
i
(r)=
4M
i
w
3
i
(r −w
i
)
2
(4r − w
i
)
3
if r ∈ [w
i
/2,w
i
].
It is desirable that we have C
1
-continuity as we move from the interpenetra-
tion to the propagation region. Thus, h
i
(0) = k in Figure 16.26, is the directional
derivative of s
i
at the junction (marked as p
0
in Figure 16.25). As indicated in
Equation (16.7), s
i
= −f
i
in the interpenetration region, thus:
k = ∇(f
i
,p
0
)
PCM is only an approximation to a properly deformed surface, but it is an
attractive algorithm due to its simplicity.
16.8 The BlobTree
The BlobTree is a method that employs a tree structure that extended the CSG
tree to include various blending operations using skeletal primitives (Wyvill et
al., 1999). A system with similar capabilities, the Hyperfun project, used a spe-
cialized language to describe F-rep objects (Adzhiev et al., 1999).
In the BlobTree system, models are defined by expressions that combine im-
plicit primitives and the operators ∪ (union), ∩ (intersection), − (difference),
+ (blend), (super-elliptic blend), and w (warp). The BlobTree is not only the
data structure built from these expressions but also a way of visualizing the struc-
ture of the models. The operators listed above are binary with the exception of
warp, which is a unary operator. In general it is more efficient to use n-ary rather
than binary operators. The BlobTree incorporates affine transformations as nodes
so that it is also a scene graph and primitives (e.g., skeletons) form the leaf nodes.