Morphological Modeling and Deformation of 3D Objects: by Samuel Boivin, André Gagalowicz and Youichi Horry
Morphological Modeling and Deformation of 3D Objects: by Samuel Boivin, André Gagalowicz and Youichi Horry
of 3D Objects
by
Samuel Boivin*, André Gagalowicz* and Youichi Horry**
{Samuel.Boivin|Andre.Gagalowicz}@inria.fr,
ABSTRACT
This paper describes a new set of techniques based upon laws of object composition for
the modeling and animation of deformable objects. They present some similarities with
logical or morphological operations. This method is unique because the volume of the
merged object is held constant with respect to its constituents. Composition from two
objects is allowed for general shapes which may have very different topologies. These
techniques are applied towards shapes which are approximated by a polyhedral
description. When integrated into a modeler, they can be used as modeling tools,
animation tools, deformation tools or even morphing tools depending on how they are
handled. One of the advantages of these tools is that the user may easily deduce the
procedure to follow in order to obtain a given result.
1 INTRODUCTION
Deformable objects are useful to make striking animations (i.e. human form merged
with a creature’s body, liquids, many solid objects...). In the real world, such objects
may be considered as incompressible. Animators of 2D cel animations are always taking
care of volume conservation in their drawings. Many techniques were proposed for
modeling and animating such 3D deformable objects [1, 3, 4, 10, 11, 13, 14, 15, 17], but
1
they are not designed to control volume conservation. On the other hand, non
deformable objects (i.e. robots, mechanical ones...) are rather easy to animate; we have
just to translate and rotate the parts of the objects. In this paper, we propose a new
method which is able to model and animate deformable objects. We keep the total
volume of the objects constant (i.e. we suppose that they are incompressible).
Volume preserving deformations could be convenient in the design of packaging
containers which must have a precise volume such as perfume bottles and could provide
relatively a simple tool for animating objects such as limbs and prostethic devices which
can be deformed while bending. These tools could also be useful in industrial design
where one could explore the variety of deformations possible on a fixed volume of raw
material. It produces a clay modeler in essence (see figure 0) which could be used as
such in a graphical modeling system.
appropriate normalization factors for the combined objects. Volume control during
object deformation could also have applications in biology for the qualitative
visualization of models such as cell division (mitosis) and cell fusion (lymphocyte
function).
One can conserve volume but it is also easy to allow a tunable degree of
incompressibility simply be changing Eq (1) to include an extra scaling factor . This way,
one can control the degree of stretching which could be useful in the development of
compressible models that could be used for visualizing cardiac function, etc...
Figure 0: Fusion of two natural clay shapes (top) and simulation of this fusion using our techhnique
(bottom)
2
1.1 Previous Work
Many techniques have been already developed to create and animate complex objects.
Using the composition of simple primitives, more complex objects can be obtained; for
example using metaballs ([19], [22], [23]) or CSG ([20], [24], [25]). Surfaces of smooth
shapes can be generated by patches such as B-splines ([3], [1]). They can be
approximated by a vertex/edge/facet network which allows them to be mixed with
surfaces obtained by other methods. By moving control points of the patches, surfaces
can be readily animated. Implicit surfaces are another way to create and animate smooth
shapes. They can simulate smooth fusions between objects([13], [14], [15]). A different
manner of constructing a complex shape is to deform a preexisting one with a given
deformation tool (Free-Form Deformations [11], [4]). Then, the tool can be animated
(Animated Free-Form Deformation [8]). Interesting animated shapes may also be
obtained through the metamorphosis from one shape to another one ([7], [10], [21]) or
by using composition laws between two shapes. As an example, in reference 9, the
Another technique which is closely related to this work allows the composition of two
interpenetrating shapes when one of the objects is a star-shaped [16].
morphological modeling operators consist of the “fusion” and the “difference” operators
which correspond to erosion and dilation in mathematical morphology. The fusion
operator generates an object with a volume which is equal to the sum of the volumes of
two input objects. The difference operator generates an object with a volume which is
equal to the difference between the volumes of the two. Using a combination of both
operators, we demonstrate how to deform objects while keeping their volume constant.
These new deformation tools are called morphological deformation operators. One goal
3
locations of the various objects that we compose by any combination of morphological
modeling operators. Various applications of the volume preverving operators are shown
in Figures 1-6.
On Figure 1, we show the composition of two shapes, the result of which, called fusion,
is such that the result object contains the union of A and B, and has a volume equal to
the sum of volume of A and B. This shape seems more appealing than the union of the
Figure 1:
1 Fusion of two toruses (the two input toruses are shown respectively in
green and red, and the result of fusion in blue)
On Figure 2, the difference between A and B is such that the result volume is equal to
the difference of the two volumes, and contains the logical difference between A and B.
Figure 2: Difference between Object A (green) and Object B (red), presented in blue
4
On Figure 3, object B (in red) is used to deform object A (green) is such a way that the
volume of A remains constant, but the deformation produced is monitored by the shape
of B.
Figure 3:
: Attraction of Object A (green) by Object B (red), shown in blue
On Figure 4, object B is used to repell object A, but the deformation produced, once
again, does not change the volume of A.
Figure 4:
: Repulsion of Object A (green) by Object B (red), shown in blue
5
On Figure 5, object B is filled up by a part of the volume of A, and then separated from
A. The resulting volume of A is equal to the difference between the original volume of A
and the volume of B.
Figure 6 presents several images corresponding to the morphing of a single sphere onto a
set of five disjoint spheres (very different topology). Morphing is performed
automatically in 3D, and the volume of the morphed object varies linearly during the
sequence.
Let us give now a more precise definition of these various operators, presented above.
! the fusion
the fusion of two objects is such that the fused objects have a volume equal to the sum of
the two initial volumes (close to a logical union in CSG).
6
! the difference
The difference between two objects produces another one which has a volume equal to
the difference between the two former volumes (negative volumes are allowed,
corresponding to their existence in a negative world as in Astrophysics). This difference
is close to what we obtain when we compute the intersection between two objects and
suppress it from them. More precisely, when we consider the difference between A and
B, we suppose that A has a positive mass, B, a negative one; if they come to contact, the
mass of the smallest object is anihilated by the corresponding one of the other object so
that these two parts dissappear. What remains is the signed difference between the two.
Based upon these two fundamental operators which can be also related to the dilation
and the erosion in mathematical morphology, we invented new operators which are
volume invariant deformation operators : given an object shape, they can easily change
this shape while keeping its volume constant:
! the repulsion
the repulsion operator uses a shape B to deform a shape A in such a way that the A
shape gets pushed away by B . One gets such effects when modeling clay while pushing
a rigid object B inside the clay mass of A.
! the attraction
the attraction operator, on the contrary, uses a shape B to allure the shape of A towards
B. One would get such a shape starting from a clay object (shape A) and pushing it
(possibly partially) with your thumb inside a mold having a shape B .
! the separation
the separation operator corresponds to the case when you cut the part of shape A that
you used to fill up the B shape (possibly partially) in the attraction manipulation, from its
main part. This way, you finish with two parts, one contained in B and the rest of A that
was not used.
Now, how can we do this? The outline of the current procedure is as follows.
In section 2, we describe the morphological modeling operators which consist of the
fusion operator and the difference operator . We shall show two forms of the difference
operator which are denoted by the subscripts -inf and -sup respectively. It is also possible
to construct other difference operators which would behave between the two limits
obtained by those two. In section 3, the detail of the fusion operation is described.
As it is the fondamental operator (all others are deduced from that one), we will describe
7
it in more details when compared to the others. In section 4, after introducing negative
volumes, the detail of the difference operator is shown. In section 5, we demonstrate the
performance of combinations of these modeling operators. Conclusions and future
research directions are summerized in section 6. Some properties of the morphological
The fusion and the difference operators do not commute. The result of the fusion
between shapes A and B is such that it contains both A and B and has a volume which is
Both operate such that the volume obtained is equal to the difference between the two
volumes. The specific properties of inf and sup will be discussed in section 4. On the
basis of these three modeling operators we define the following deformation operators :
(A|B)|B = A|B
and have some similarities with the "opening" (AB) and "closing" (A B and A|B) operators
8
3 THE FUSION OPERATOR
3.1 Outline of The Method
Let A and B be three-dimensional objects. Our aim is to create an object C such that :
- C contains A and B
- the volume of C is equal to the volume of A plus the volume of B
We suppose that each input object is a regular closed surface (otherwise, we cannot
define its volume) and is described by a set of vertices and facets (polyhedral
approximation). The fused object C has the same description. There are no constraints on
the geometry or topolgy of A or B. They can have sharp edges and holes (this property
differs from implicit function modeling).
A Υ B and the volume A B is equal to that of A Ι B . The fused object C is the union
of A Υ B and of a layer which covers A Υ B , the volume of the layer being equal to
A Ι B . In 3.2, we introduce the fusion center which drives the direction from where the
volume of A Ι B will be transported to the surface of A Υ B . Such transport is done by
Starting from objects A and B (Figure 1 : green object and red object), the steps leading
to fused object C are listed below:
(1) First, we scan the 3D space around the fusion center. We then deform
objects A and B, as shown in Figure 9 , to accomodate the transported
volume. Their surfaces will be used to construct fused object C by simply
computing the logical union between deformed A and B (discussed in section
3.3).
9
complete surface of fused object C is thus obtained as shown in Figure 1:
blue object (discussed in section 3.5 ).
10
for simplicity we shall simply refer to the operator as .
Figure 7: Influence of the position of the fusion center H on the displacement of volume of A Ι B
11
3.3 Interval Composition and Construction of the Surface
Figure 9: Example of how the shared volume A Ι B is locally transported to the outside
A) , will produce a local fusion of A and B which brings the fused surface to ρ(θ, φ) such
that:
Previous work [16], started from a simple object (i.e. tetrahedron) which includes H
inside, formula (1) was applied for each vertex. Each vertex was then displaced to the
point at a distance of ρ(θ, φ) from H in direction (θ, φ). Polygons of the object were then
subdivided and formula (1) was applied for the adapted vertices again. This procedure
was continued until the curvature becomes larger than a given threshold. This technique
required that the fusion center H should be inside A Ι B and the objects should be star-
shaped. The resultant number of polygons and vertices obtained depended on the
threshold controling the curvature.
12
These restrictions can be avoided by deforming the input graphs of A and B, which
allows to keep the control of the surface obtained. We compute the deformation of A by
B, the deformation of B by A. The result of the fusion is locally ( among the two
possibilities, for each tube) the solution which contains the other one. It is thus, the
union of deformed A and deformed B.
The procedure is : draw a ray starting from H and hitting each vertex V of
object A, determine all intersecting intervals with A and B , as it is done in conventional
ray tracing [25]. This is illustrated in Figure 10. At the point where the ray is exiting the
volume modify its location due to the transport of volume between the objects via
Equation (1). Volume is transported as follows. First, compute A Υ B (light blue),
A Ι B (yellow) and the free space A Υ B (purple) between the vertex V and the fusion
center H. For illustration purposes we will not consider what is outside location V even
if there are still other A and(or) B intervals due to complex folding of the objects and we
assume that the space is empty after location V. In other words the vextex V denotes the
outmost vertex of our demonstration object.
The volume of each A Ι B interval is transported to the nearest available free
space interval located between itself and V. If the volume of free space is smaller than
that of A Ι B (case of (b) in Figure 10), the free space is occupied and the difference
between the volume of A Ι B and the free space is transported to the next available free
space, and this procedure is iterated until all the volume of A Ι B is placed.
Finally, when all intersection intervals have been treated, we determine the
displacement of the vextex V to V’ which is such that the interval VV’ corresponds to
the amount of volume of the intersection A Ι B which has still not been placed in the
available free space between H and V. If the ray is getting IN the volume at location V,
do not move point V. The same operation is then performed similarily for all vertices of
B.
Remark: if the space after location V is occupied by A intervals and VV’ intersects
some of them, the case will be treated by the self-intersection procedure explained below.
If the deformation of B locally passes V’ (for example, if a B interval goes further than
V, and is containing V), V’ will be simply deleted later by the computation of the union
13
of deformed A and deformed B.
Figure 10 shows two examples of interval composition in the
fusion case. The result of such a fusion is shown in Figure 1, when
Figure 10: Two examples of interval composition in the case of the fusion operator.
Shaded triangles denote surfaces at which the ray from H exits volume A (green) and
volume B(red). V is the vertex of A which is considered and the only one which will be
displaced. We also show the displacement of V to V' . In case (a) the shared volume is
smaller than the free space. In case (b) it is bigger than the free space; the difference
between the shared volume and the volume of free space already used is transported to the
In general we keep the same graph for A and B, but simply the locations of the
vertices are displaced. An exception occurs when there are self-intersections. Self-
intersections are possible as we deal with general surfaces as illustrated in figure
11. The problem of self-intersection is solved using the intersection procedure
14
explained in 3.4 (for A intersecting B). We compute the intersection curves and
produce the modified graph of A (or B), which includes this curve, and delete all
inside polygons of A (or B).
It is interesting to note that the fusion of A and B can have a topology which differs
drastically from those of A and B.
Figure 12. One level of subdivision of an intersecting triangle (red) and corresponding
Object C is the union of deformed A and deformed B. The technique used is classical,
and based upon [20], [24].
15
In order to obtain a more precise fusion, refining the intersection zone might be useful.
We first subdivide the intersecting triangles. In order to avoid T-junctions (which break
the closed surface property), the neighboring triangles should be also subdivided. It is
done for the three possible schemes shown in Figure 12.
4 DIFFERENCE OPERATOR
We now propose a type of "dual" operator to fusion: given two shapes A and B,
we construct a shape C = A B such that the volume of C is equal to the volume of A
minus the volume of B. In order to do so, we authorize negative volumes (masses) with
the assumption (as in astrophysics) that negative and positive mass cannot coexist in the
same portion of space. As for the fusion case, the operation is performed with respect to
a center of fusion/difference H.
- If A and B do not intersect, then A B is simply A (with positive volume) and B
with negative volume.
- If B is inside A, it is simply the logical operator (A – B).
- If A and B intersect, we propose two different operators A infB and A supB
(which perform both the same operation in the two former situations).
and the furthest from A when the volume of the result is negative (as illustrated
in Figure 13).
-The result of A supB is the furthest from B when the volume of the result is
positive and the closest to A when the volume of the result is negative (as
illustrated in Figure 15).
As in the fusion case, we consider small cones around H. Having considered
volume constraints, we have to solve mainly a 1D interval composition operation. We
describe the interval composition of the difference operators in sections 4.1 and 4.2 . The
3D result is obtained by applying the former interval compositions and by using the
proper boolean operation on the deformed objects in a similar manner to the fusion case.
16
4.1 Difference Operator A infB
The property of the inf operator is that the result of A infB is the closest to B
(which has a negative weight) when the volume of A is bigger than the volume of B, that
is, when the result is a positive volume. In the other case (the volume of A smaller than
the volume of B) the result obtained is the furthest from A, which also means that it is
the closest to B (algebrically).
The interval composition depending on the relative sign and positions of A and B
(there are 5 cases) is presented in Figure 13. The bars represent the intervals occupied
by A or B, and the results are shown as light blue(positive) or green(negative) intervals.
On the left, the A interval is bigger than the B interval and the result is a positive interval.
When A and B intersect, the interval A Ι B is set to zero. The rest (or part of the rest)
of the B volume and the similar A part (annihilated by B) are presented in red. On the
right of Figure 13, we treat the case when A interval is smaller than B interval; we use
the same procedure and the same color conventions. The result is presented in green
(negative volume). Figure 14 presents the result of this composition in the 2D case.
Figure 13: Interval composition rule for the construction of A infB. Positive results are
shown in blue, negative one in green. The red parts are those of A and B which were mutually
destroyed. The white parts are the parts of A or B which were either destroyed as intersecting
parts or remained untouched. The result is the closest to B when interval of A is bigger than
17
Figure 14: 2D results of A infB composition.
We have to point out that in cases (1) and (5) of Figure 13, the volume transfer is
performed (in red), though A and B intervals are disconnected, but we know that
globally A volume and B volume intersect (difference with the first case of the previous
paragraph).
A infB can be visualized either when the result is positive (case of volume of A bigger
than volume of B) but also when it is negative (volume of A smaller than volume of B):
we simply visualize it in a dual (negative) subspace, so that both cases are useful for
object modeling.
We are once again in the case when A and B intersect globally. This other
difference operator is such that the result of A supB is the furthest from B when volume
A is bigger than B, and closest to A when the volume of A is smaller than B (which also
means that it is the furthest from B algebraically). Figure 16 shows a 2D result of the
A sup B composition similarly to Figure 14 for A infB. The interval composition is
presented in Figure 15 (we use the same color conventions as in Figure 13) . We can
verify that the interval results are different from those of Figure 13.
18
Figure 15. Interval composition rules for the construction of A sup B. The result is the
furthest from B when the interval of A is bigger than that of B, and closest to A when the
shape deformations which have the properties of keeping the volume constant.
B attracts the shape of A so strongly that it pulls a part of volume of A out of it. We
believe that this operator has a lot of potential in order to model cell divisions as in
genetics. An example of separation operator is produced in Figure 5.
20
(suppose volume of A is bigger than volume of B), we first compute a similarity factors:
V A − VB
s=3 where V A is the volume of A and V B the volume of B
VA
and we perform the similarity of center H and facter s on A so that the volume of A
becomes the same as that of B. (We use the same basic idea as in [9, 10]).
Then we apply the fusion operation to :
C(t) = ((1 - t) 1/3 * A) ((t)1/3 * B) (2)
and we vary t from 0 to 1 (as in [16]).
This operation is such that the volume of C(t) is always equal to the volume of A
(normalized) or B. The important difference with [16] is that we can apply this morphing
for any pair of A and B shapes (see Figure 6).
If we do not normalize the objects, 3D morphing using (2) is such that the volume of
C(t) varies linearly from that of A (t=0) to that of B(t=1).
21
might also be challenging. Another direction of extension of our work is to consider not
only a composition center H, but also many of them, describing a line, a curve, or even a
surface.
REFERENCES
22
Graphics Proceedings, 26, pp. 47-54.
[11] T.W.Sederberg, S.R.Parry. "Free-Form Deformation of Solid Geometric Models"
Proc. SIGGRAPH '86 (Dallas, Texas, Aug 18-22, 1986) In Computer Graphics
Proceedings, 20, pp. 151-160.
[12] R.Szeliski, D.Tonnesen. "Surface Modeling with Oriented Particle Systems" Proc.
SIGGRAPH '92 (Chicago, Illinois, July 26-31, 1992). In Computer Graphics
Proceedings, 26, pp. 185-194.
[13] B.Wyvill, C.McPheeters. "Animating Soft Objects" In The Visual Computer,
volume 2, pp. 235-242, 1986.
[14] B.Wyvill, J.Bloomenthal, T.Beier, J.Blinn, A.Rockwood. "Modeling and Animating
with Implicit Surfaces" In Siggraph Course Notes, volume 23, 1990.
[15] G.Wyvill, C.McPheeters, B.Wyvill. "Data Structure for Soft Objects" In The Visual
Computer, volume 2, pp. 235-242, Springer Verlag 1986.
[16] P.Decaudin, A.Gagalowicz. "Fusion of 3D shapes" In Fifth Eurographics Workshop
on Animation and Simulation, Oslo, Norway, September 1994.
[17] J.Serra, “Image Analysis and Mathematical Morphology”, Academic Press, New
York 1982.
[18] E. L. Lloyd, "On Triangulations of a Set of Points in the Plane", Proc. 18th Annu.
IEEE Sympos. Found. Comput. Sci., pp.228-240, 1977.
[19] T. Nishita and E. Nakamae, "A Method for Displaying Metaballs by using Bezier
Clipping, Computer Graphics Forum, "Eurographics '94 Conference issue", volume 13,
Eurographics, Basil Blackwell Ltd, pp.271-280.
[20] C.M.Hoffmann, "Geometric and Solid Modeling. An Introduction", Morgan
Kaufmann, California, 1989.
[21] A.Lerios, C.D.Garfinkle, M.Levoy "Feature-Based Volume Metamorphosis", Proc.
SIGGRAPH '95 (LosAngeles, California, Aug 6-11, 1995). In Computer Graphics
Proceedings, pp.449-456.
[22] Takushi Fujita and Katsuhiko Hirota and Kouichi Murakami, "Representation of
Splashing Water Using Metaball Model (in Japanese)", Fujitsu volume 41, pp.159-165,
1990
23
[23] Jianhua Shen and Daniel Thalmann, "Interactive Shape Design Using Metaballs and
Splines", Implicit Surfaces '95, 1995.
[24] D.H.Laidlaw, W.B.Trumbore, J.F.Hughes, "Constructive Solid Geometry for
Polyhedral Objects", Proc. SIGGRAPH'86 (Dallas, Texas, Aug 18-22), pp.161-170.
[25] S.D.Roth, "Ray Casting for Modeling Solids", Computer Graphics and Image
Processing volume 18, pp.109-144, 1982.
[26] K.Weiler, P.Atherton, “Hidden Surface Removal Using Polygon Area Sorting”,
Computer Graphics volume 11, pp.214, 1977.
24
Appendix: Relation Between A inf B and A sup B
It happens that both operators are dual (as erosion and dilatation in
mathematical
morphology). If we take the dual of A inf B, that we denote A inf B, (it corresponds to
simply changing the sign of the volume), we see that A inf B, when B < A, (and when
the sign of the result is changed) corresponds exactly to the case B sup A, A < B.
Similarily A inf B, A < B corresponds to B sup A, B < A (compare Figures 13 and 15).
The dual of a shape (sign volume inversion) can be also interpreted as shape (as there
is no difference between inf and sup), so that we have :
These relations mainly express the fact that if you visualize a negative volume coming
from the difference between two shapes A and B, this volume looks the same as the
positive volume of B minus A.
25