Abstract |
|
This
paper presents an interactive morphing framework to empower
users to conveniently and effectively control the whole morphing
process. Although research on mesh morphing has reached
a state where most computational problems have been solved in
general, the novelty of our framework lies in the integration
of global-level and local-level user control through the use
of components, and the incorporation of deduction and assistance
in user interaction. Given two polygonal meshes, users can choose
to specify their requirements either at the global level over
components or at the local level within components, whichever
is more intuitive. Based on user specifications, the framework
proposes several techniques to deduce implied correspondences
and add assumed correspondences at both levels. The framework
also supports multi-level interpolation control -- users can
operate on a component as a whole or on its individual vertices
to specify trajectories. On the whole, in the multi-level component-based
framework, users can choose to specify any number of requirements
at each level and the system can complete all other tasks to
produce final morphs. Therefore, user control is greatly enhanced
and even an amateur can use it to design morphing with ease.
Categories
and Subject Descriptors (according to ACM CCS):
I.3.6 [Methodology and Techniques]: Interaction techniques,
I.3.7 [Three-Dimensional Graphics and Realism]: Animation, I.3.8
Application
|
|
FULL-TEXT |
1.
pdf (4.37M) "Interactive
control of component-based morphing", in Proc 2003 SIGGRAPH/Eurographics Symposium
on Computer Animation 2003, July 26--27, California, USA, pp
339-348, pp. 385.
2.
pdf (5.0M) "An
interactive framework for component-based morphing", Ph.D.
dissertation, National Unversity of Singapore, 2003.
|
|
RESULTS |
|
|
1. Trial-and-error morphing design using component
|
|
The user first cut each object into its tail, body and head. Then,
the user paired solely the two heads, and the system produced a
morph accordingly. Realizing that there were six legs in the intermediate
objects, the user then went back to specify two legs for each object
and pair their right legs. Maintaining all previous user specifications,
the system updated the morph correspondingly and produced a better
morph. The whole process took just a few minutes. |
|
|
MPEG-1 format (15.9M) |
|
2. Effective
deduction in genus-1 morphing |
|
The user first decomposed each object into two components, and
then paired the body of the mug with a half of the donut. Because
there are two connections between the two components in each object,
the user then paired one boundary in the mug with one boundary
in the donut. Based on these user specifications, the system completed
other tasks through deduction and the whole morph was completed
in less than 1 minute.
|
|
|
MPEG-1 format (11.2M) |
|
3. Trial-and-error
morphing design at the local level |
|
After cutting each object into three components, the user specified
one pair of components and then the system deduced correspondences
at both the global and the local levels, automatically constructed
compatible patch layouts and produced a morphing accordingly.
Realizing that intermediate shapes were distorted at the top,
the user then visited the local-level correspondence step to add
some local feature pairs. Subsequently, the system respected all
the specifications and produced a better morph.
|
|
|
MPEG-1 format
(19.6M) |
|
4. Group correspondences
|
|
We specify only three correspondences
over component groups and then the complete component correspondence
is obtained. The first one is to pair the front part of the triceratops
with the upper part of the woman; the second pairs their middles;
the third pairs their left halves. Finally, their heads, bodies
and limbs are corresponding while the tail and horns of the triceratops
are mapped to null-components. |
|
MPEG-1 format (4.67M) |
5. Flexible undoing |
|
Given a triceratops and a woman with
their components, the user pairs the front part of the triceratops
with the upper part of the woman in the first specification, and
then pairs their middles in the second specification. Next, the
user undo the first specification and the resulting component correspondences
is exactly the same as if the user only specifies the second one. |
|
MPEG-1 format (5.16M) |
6. Modifying component decomposition
|
|
Given a calf and a cow, the user pairs their tails.
The remaining parts are then naturally paired and form the other
correspondence. Next, the user specifies a head component for each
object by cutting its body, and the updated component correspondences
still contain only two correspondences. The user further pairs their
heads and the updated component correspondences then contain three
correspondences. After the user merges the head and the body of
the cow into one, the component correspondences again contain two
correspondences -- the head and the body of each object are again
in the same correspondence. |
|
MPEG-1 format (6.88M) |
7. Identification
of candidates |
|
The user paired first the bodies and then
the heads of the two objects. Subsequently, when the user picked
a leg of the cow, the system indicated (by blinking) that only the
legs and tail of the triceratops were its candidates. When the user
picked a horn of the cow, the system indicated that only the horns
of the triceratops were its candidates. |
|
MPEG-1 format (3.40M) |
8. Deduction of local-level
correspondences |
Given component correspondences for the two objects, the system
deduced implied local feature pairs at boundaries of components
(shown in orange) and added assumed local feature pairs at tips
and at those boundaries (shown in blue).
|
|
MPEG-1 format (7.19M) |
9. Handling null component
|
|
The triceratops has a tail while the chimpanzee does
not. The user specified a feature line in the chimpanzee's body
to be the counterpart of the boundary where the triceratops' body
connects its tail. The system then automatically generated a component
at the feature line in the chimpanzee and produced a morph where
the tail gradually disappears. |
|
MPEG-1 format (9.34M) |
10. Component keyframe editing
|
|
We combine the morph from a calf to a cow with the
morph from the cow to a triceratops. In each morph, we add two component
keyframes to achieve the walking effect from the calf to the cow
then to the triceratops. |
|
MPEG-1 format (1.00M) |
11. Different
morphing designs using components |
Given the same objects, a rocket and a duckling, the user assigned
different component correspondences and conveniently achieved
two interesting morphs
|
|
MPEG-1 format (6.51M)
|
12. More morphing
results |
|
|
|
|
|
|
|
|
|
13. Attempt
to morphing with genus change |
|
|
|
|
In this morph, the user specifies three
local feature pairs. Two vertices at the poles of the sphere are
each paired with the inner loop of the donut, and these two local
feature pairs are used to represent user requirement about the change
of genus. Besides, another two corresponding feature loops help
the alignment of the objects in the morph. Given these user-specified
local-level correspondences, the framework then automatically creates
compatible patch layouts, and produces the morph. |
|
|
MPEG-1 format (5.80M) |
|
|
|
|
In this morph from a genus-1 object to
a genus-3 object, the user cuts each object into four components
and specifies correspondences over those components. Then, in each
of the two component pairs involving genus change, the user pairs
two vertices of the source component with the inner loop at the
hole of the target component, and specifies another pairs of feature
loops. With these user-specified local-level correspondences, the
framework then cuts corresponding components into compatible patch
layouts, and produces the morph. |
|
|
MPEG-1 format (9.79M) |