Interactive Control of Component-based Morphing

Yonghong Zhao, Hong-Yang Ong, Tiow-Seng Tan and Yongguan Xiao

National University of Singapore


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


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.




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)

Last updated @ March 2004