Underground system
The system enables morphing between 3D bodies.
Underground provides a solution for geometric (polyhedral) 3D-morphing between
arbitrary bodies without holes
(e.g. bodies that have different numbers of vertices).
Such a solution does not exist in any modeller for 3D-animation,
to our knowledge, and isn't available in a plugin for such a modeller either.
It is easy to use, robust, fast, platform-independent, and thus perfect
for integrating into a plugin for any modeller.
Testing
It is now possible to test the Underground's
performance.
You can see how Underground refines bodies you constructed,
so that they're suitable for morphing in your modeller.
We explain below the process of producing morphing sequences
with the underground system.
Interpolation
First we define when polyhedron interpolation is possible, and
explain how it is performed.
A polyhedron is defined geometrically by
vertices, and the faces that connect them,
the common representation for bodies in 3D graphics.
Interpolation is possible when two bodies correspond.
A correspondence is defined by 2 conditions:
-
There's a 1 to 1
correspondence between the vertex sets of the bodies.
-
The corresponding preserves
edges and faces, i.e. if a face in one of the bodies consists of
vertices 1,2,14, then a face which consists of vertices corresponding to
vertices 1,2,14, exists in the other body.
When these conditions are satisfied, it's possible to interpolate
an intermediate body, for each stage in the sequence.
The stage is defined by a parameter.
First the vertex positions are interpolated (using the same parameter)
according to some interpolation scheme. In other words, vertices
change their positions between the source and the target, and
interpolation consists of a partial such change of position.
When the vertices are positioned, the intermediate body can be formed-
the edge and face arrangement of the source polyhedron, which corresponds
to the target, defines an intermediate set of edges and faces (since
the vertex positions used for them are the interpolated vertex positions)
thus formaing a body.
Process
The process of creating a 3D morphing sequence boils down
to the construction of corresponding bodies.
The input to the underground system are 2 3D-bodies, defined geometrically by
vertices, and the faces that connect them.
The only restriction on these bodies is that they shouldn't
contain holes.
The output consists of 2 bodies, which are
similar to the inputs from a geometric
point of view, but their vertex graphs are refined to correspond
between them.
In other words, the
resulting refined bodies appear unchanged, the refinement preserves
the shapes of the original bodies, but the refined bodies
have corresponding vertex graphs.
The correspondence matches every vertex in one body to a unique
vertex in the other, and every edge between 2 vertices (or face,
typically consisting of 3 vertices) corresponds
to an edge (or face) between the corresponding vertices in the other body.
Underground
The Underground morphing system offers several advantages:
-
Generality - Works for any body without holes.
-
Fitting - Allows to fit together features of the
input bodies.
-
Adaptivity - Fitting is a gradual process, and can be
improved when the need arises. Little work is required for initial
results, and resulting animation sequences can be improved gradually.
-
Locality - Fitting can be limited to certain areas
of a body. Less detailed areas require less attention, and
less work is required to fit them.
-
Robustness - Measures have been taken to avoid the
short edges, as well as other numeric problems,
that plague geometric applications.
This refers both to the algorithm and implementation.
-
Speed - The system is reasonably fast,
See the movie for concrete examples and times.
Fitting
Fitting is an important feature of the Underground. We elaborate
about this feature here.
It's easy to transform a mushroom into a Zebra- there are
no apparent similarities that a viewer expects to see.
However, This is not the case with morphing between chess pieces.
Even without knowing it, a person has a very good idea of what he
expects to see where chess pieces are concerned. For example, as
you can see in the movie, the intermediate chess pieces (i.e. the
interpolated bodies which you see during the transformation between
pieces), all have flat bases. These bases are preserved through the
transformation- if a certain point is on the base in one stage of the
transformation, it doesn't "climb" to the side in another stage. This
isn't a coincidence! The system was designed to preserve such
structures as these flat bases.
Defining fitting information to a computer isn't a trivial task, even
when an animator has a good idea of what he wants.
The underground system enables its user to do this, and
produces morphing sequences which follow such guidelines.
The fitting can be improved and enhanced in areas of the input bodies
that require
a lot of details (such as faces when morphing between people).
Other times the fitting can be left loose, such as when a result in
required quickly, or when detailed fitting isn't required (such as
between a mushroom and a Zebra), or when the system can
produce reasonable fitting automatically (This happenned more than once
when we were making the movie).