11
(Guest Editors) The Eurographics Association and Blackwell Publishers 1998. Published by Blackwell Publishers, 108 Cowley Road, Oxford OX4 1JF, UK and 350 Main Street, Malden, MA 02148, USA. Interactive 3D Morphing Hujun Bao and Qunsheng Peng State Key Lab. of CAD & CG, Zhejiang University, Hangzhou, 310027, P.R.China Abstract A new 3D morphing algorithm for polyhedral objects with the same genus is presented in the paper. Our main contribution is an efficient and general algorithm for setting up the vertex correspondence between the polyhedra. The proposed algorithm first interactively partitions the two original polyhedra into the same number of polygonal patches, the patch correspondence is also established during partitioning. Each pair of corresponding patches is then parametrized and resampled by using the harmonic maps. A feature polyhedron is finally constructed for each original polyhedron, and the vertex correspondence between each original polyhedron and its feature polyhedron is automatically established following a cluster scheme. The shape transition between the original polyhedral models is accomplished by composing three successive transformations using their feature polyhedra as the bridges. Experimental results demonstrate that our algorithm is very robust, and can deal with very general cases (non-zero genus polyhedral cases). 1. Introduction In recent years, 3D morphing techniques have been widely applied in the computer animation systems, and have been successfully employed to produce some special effects in the entertainment industry. The main idea behind 3D morphing techniques is the geometric deformation. The early deformation techniques are specially designed for 3D shape modeling. In 1984, Barr 1 proposed a deformation algorithm, which defines the transformation matrix as a function of the positions of the points on the objects. The hierarchical B-spline deformation technique, proposed by Forsey et al 2 , provides an efficient way for locally modifying the shape of a B-spline surface. FFD 3 , another excellent deformation algorithm, adopts a 3D lattice as an auxiliary tool. A Bezier volume, defined over the lattice, is then constructed to transmit the displacement of the vertices of the lattice to the points on the embedded objects. Variations of this technique have been reported in recent years 4,5,6 , while many other deformation techniques were also proposed to shape objects or perform shape deformations 7,8 . Nevertheless, in computer animation, users often need to define a transition transformation between two objects so that the shape of one object will deform and gradually change to that of another object. This shape transition is commonly recognized as morphing. Morphing can be performed in two or three dimension. 2D morphing generates the transformation of a 2D image into another one. A correspondence between feature points or line segments on the two images is first specified to establish a mapping between pixels of the two images. Both the color and the position of the corresponding pixels are then interpolated to generate the in-between images. Generally, the studies on the 2D morphing techniques are mainly concentrated on how to set up the mapping. The mesh-based morphing algorithm and the field morphing algorithm are the most successful methods 9,10,11 . Since no 3D geometric information is involved in generating the intermediate images, 2D morphing usually suffers from unrealistic transformation between two images. The view morphing algorithm provided an excellent solution to this problem by defining the camera transformations in the conventional 2D morphing technique 12 . A complete solution to this problem is 3D morphing. Compared with 2D morphing, 3D morphing is very difficult to be performed between two objects with different topologies. Several papers have addressed this topic 13,14,15,16,17,18 . Hong et al. 13 presented an algorithm for polyhedral objects by matching the faces of the objects with closest centroids. Kent et al. 14 proposed an algorithm for polyhedra with zero-genus, which produces two intermediate models with the same shape as their original ones, but with different number of vertices. This is achieved by projecting the original models onto a sphere and conforming their

Interactive 3D Morphing

Embed Size (px)

Citation preview

(Guest Editors)

The Eurographics Association and Blackwell Publishers 1998. Published by BlackwellPublishers, 108 Cowley Road, Oxford OX4 1JF, UK and 350 Main Street, Malden, MA02148, USA.

Interactive 3D Morphing

Hujun Bao and Qunsheng Peng

State Key Lab. of CAD & CG, Zhejiang University, Hangzhou, 310027, P.R.China

AbstractA new 3D morphing algorithm for polyhedral objects with the same genus is presented in the paper. Our maincontribution is an efficient and general algorithm for setting up the vertex correspondence between the polyhedra.The proposed algorithm first interactively partitions the two original polyhedra into the same number of polygonalpatches, the patch correspondence is also established during partitioning. Each pair of corresponding patches isthen parametrized and resampled by using the harmonic maps. A feature polyhedron is finally constructed for eachoriginal polyhedron, and the vertex correspondence between each original polyhedron and its feature polyhedronis automatically established following a cluster scheme. The shape transition between the original polyhedralmodels is accomplished by composing three successive transformations using their feature polyhedra as thebridges. Experimental results demonstrate that our algorithm is very robust, and can deal with very general cases(non-zero genus polyhedral cases).

1. Introduction

In recent years, 3D morphing techniques have been widelyapplied in the computer animation systems, and have beensuccessfully employed to produce some special effects inthe entertainment industry. The main idea behind 3Dmorphing techniques is the geometric deformation.

The early deformation techniques are specially designedfor 3D shape modeling. In 1984, Barr1 proposed adeformation algorithm, which defines the transformationmatrix as a function of the positions of the points on theobjects. The hierarchical B-spline deformation technique,proposed by Forsey et al2, provides an efficient way forlocally modifying the shape of a B-spline surface. FFD3,another excellent deformation algorithm, adopts a 3Dlattice as an auxiliary tool. A Bezier volume, defined overthe lattice, is then constructed to transmit the displacementof the vertices of the lattice to the points on the embeddedobjects. Variations of this technique have been reported inrecent years 4,5,6, while many other deformation techniqueswere also proposed to shape objects or perform shapedeformations7,8. Nevertheless, in computer animation, usersoften need to define a transition transformation betweentwo objects so that the shape of one object will deform andgradually change to that of another object. This shapetransition is commonly recognized as morphing.

Morphing can be performed in two or three dimension.2D morphing generates the transformation of a 2D imageinto another one. A correspondence between feature pointsor line segments on the two images is first specified toestablish a mapping between pixels of the two images. Boththe color and the position of the corresponding pixels arethen interpolated to generate the in-between images.Generally, the studies on the 2D morphing techniques aremainly concentrated on how to set up the mapping. Themesh-based morphing algorithm and the field morphingalgorithm are the most successful methods9,10,11. Since no3D geometric information is involved in generating theintermediate images, 2D morphing usually suffers fromunrealistic transformation between two images. The viewmorphing algorithm provided an excellent solution to thisproblem by defining the camera transformations in theconventional 2D morphing technique12. A completesolution to this problem is 3D morphing. Compared with2D morphing, 3D morphing is very difficult to beperformed between two objects with different topologies.Several papers have addressed this topic13,14,15,16,17,18. Honget al. 13 presented an algorithm for polyhedral objects bymatching the faces of the objects with closest centroids.Kent et al. 14 proposed an algorithm for polyhedra withzero-genus, which produces two intermediate models withthe same shape as their original ones, but with differentnumber of vertices. This is achieved by projecting theoriginal models onto a sphere and conforming their

The Eurographics Association and Blackwell Publishers 1998.

topologies to a common topology. Since the producedmodels own an identical topology, a mapping between theoriginal models can be conveniently constructed. However,due to its star-shaped projection mode, the algorithm cannotdeal with some general cases though several methods weredesigned for transforming a polyhedron to a star-shapedone. Kaul et al. 15 adopted the Minkowski sum to transforma pair of polyhedral models, the transformation is obtainedby gradually scaling one polyhedron from 0 to 1 whilesimultaneously scaling the other from 1 to 0. Based on thevolumetric representation of the original models, Payne etal. 16 interpolated the volume pixels to generate anisosurface of an intermediate model. Galin et al. 17 usedMinkovski sums and metaball technique to solve the 3Dshape transition, and Lerios et al. 18 extended the 2D fieldmorphing algorithm to define the morphing function. The above works show that the diversity of the topologyof the two objects raises a key issues in 3D morphing. Inthis paper, we will present a 3D morphing algorithm fortwo polyhedral objects with the same genus. In order toestablish the vertex correspondence between the twooriginal polyhedral models, we first conduct a localparametrization of each model. Two feature polyhedralobjects with the same number of vertices are then generatedconforming to the topology of the original models and thefeatures on the original models. The shape transition isachieved by composing the following three maps: mappingthe first polyhedron to its feature polyhedron, then from thefirst feature polyhedron to the second feature polyhedronand finally from the second feature polyhedron to thesecond polyhedron. An intermediate shape can begenerated interpolating each pair of the correspondingvertices defined by the map.

This paper is organized as follows. The second sectionlays down some mathematical backgrounds of 3Dmorphing. Section 3 gives an overview our algorithm.Section 4 provides a way for constructing a parametrizationfor a polyhedron. In section 5 and section 6, we propose analgorithm for matching the feature vertices and constructingthe feature polyhedron of a polyhedral object. Themorphing algorithm is described in section 7. Section 8 andSection 9 show some experimental results and giveconclusions.

2. Mathematical backgrounds

As we know, a valid polyhedron satisfies the Euler formula:

GFEV 2=+−

where V, E and F are the numbers of the vertices, edges andfaces of the polyhedron, respectively. G is its genus. A pairof polyhedral objects or manifolds are said to behomeomorphic or topologically equivalent, if there exists acontinuous, invertible and one-to-one map, known ashomemorphism, between their surfaces.

In mathematics, the following result has already beenrecognized: the polyhedra with the same genus arehomeomorphic. Unfortunately, although the existenceproof is provided, it is still difficult to construct ahomeomorphism between two homeomorphic polyhedra. Ifthe homeomorphism between two polyhedral objects hasbeen constructed, the shape transition from one polyhedronto the other can be easily created interpolating the locationsof the corresponding points on the surfaces of thepolyhedral models. Therefore, the 3D morphing problemcan be decomposed into two sub-problems: • Vertex correspondence • Interpolation

In practice, if the polyhedra own the same number ofvertices, the correspondence can be easily established.Once the correspondence has been created, an interpolationscheme can be adopted to generate the intermediate models.One problem in the interpolation is to find an interpolationscheme to avoid self-intersection during the shapetransition. In this paper, our efforts will be focused onestablishing the vertex correspondence between thepolyhedral objects instead of constructing ahomeomorphism. Actually, this is a sufficient solution tothe problem, and enough for our application.

3. Outline of our algorithm

As the given polyhedral objects usually own differentnumber of vertices, it is very difficult to establish the vertexcorrespondence directly between them. Kent et al. createdthe correspondence by projecting the original polyhedralmodels onto a unit sphere��. Since star-shaped polyhedraare assumed, the projection can be easily implemented.However, the algorithm cannot perform 3D morphingbetween polyhedral models with non-zero genus.

The essence of the work by Kent is that it adopts a sphereas a unified intermediate surface for resampling eachoriginal polyhedron. Similarly, the basic idea behind ourmethod is to introduce a polyhedron for each originalpolyhedron to provide a bridge to establish the vertexcorrespondence between the given polyhedra. In thefollowing, to avoid any confusion, we call the introducedpolyhedron as feature polyhedron.

Let A and B be the two given polyhedral objects with thesame genus, A’ and B’ be their feature polyhedra, thevertex correspondence between A and B can be representedas the composition of three maps.

AABABBBA →→→→ = χχχχ $$

where QP→χ represents the vertex correspondence

between the polyhedral objects P and Q. Consistently, theshape transition from A to B can be decomposed into threesteps: morphing A to A’, A’ to B’ and B’ to B. Actually, the

The Eurographics Association and Blackwell Publishers 1998.

first and the third steps are the inverse procedures.

Therefore, the key problem of our method is to constructthe feature polyhedron for each original polyhedron. Wefirst construct a parametrization for each originalpolyhedron using the harmonic maps. The originalpolyhedron is then resampled, and its feature polyhedron isconstructed following a vertex clustering scheme. All thethree vertex correspondences described above are finallyestablished. The details of our algorithm are presented inthe next sections.

4. Parametrization of a polyhedron

In fact, Kent’s projection scheme can be regarded as a kindof parametrization of a polyhedron��. This fact suggeststhat the vertex correspondence can be established bymatching their projections in the parametric space. In thissection, we discuss the parametrization of a polyhedron.

4.1 Local parametrizations

In order to generate the level-of-detail models of apolyhedron, Eck et al.�� introduced the harmonic maps toconstruct a parametrization with small distortion of a mesh

homemorphic to a disk. Let 3RD ⊂ be a polygonal mesh

homemorphic to a disk, 2RP ⊂ be a convex polygonalregion (Figure 1), if the map g mapping D∂ (the boundary

of D) to P∂ (the boundary of P) is a homeomorphism,

then there is a unique harmonic map between D and P.Although this conclusion has been proved in mathematics,the construction of the harmonic map is not trivial.

Figure 1: The construction of a parametrization of D overP, g maps corner iQ of D to vertex iP of P.

In order to construct a parametrization of D over P, Ecket al. suggested an excellent solution to the harmonic mapbetween D and P by using a piecewise linear approximation.The parametrization of D can be achieved as follows.

We first select n vertices on D∂ as the corners of D,

and assume that the convex polygonal region P also has nvertices. In order to minimize the metric distortion, thesevertices are located on a circle so that the angles subtendedby edges of P are proportional to the arc lengths of theboundary curves of D. By mapping the corners of D to thevertices of P, We then construct g to be a piecewise linearmap that maps each boundary curve of D to thecorresponding edge of P. Let PDh →: be such apiecewise linear map from D to P, which obeys theboundary condition: gh D =∂| . Thus, the problem of the

parametrization of D can be converted to that ofconstruction of the map h. Eck et al.19 introduced thefollowing distortion energy to construct it.

{ }

2

)(,

)()(2

1)( ∑

−=DEdgeji

ij jhihkhE

where each spring constant ijk is defined as a simple

function of the lengths of nearby edges in D. Since theharmonic map h has the property of minimizing the abovedistortion, it can be obtained by solving a sparse linearleast-squares problem.

Because the harmonic map PDh →: is an embedding,

the inverse 1−h exists and is a parametrization of D overP.

4.2 Interactive topology decomposition

Since the given polyhedra may have different number ofvertices, the problem of the vertex correspondence betweenthem becomes very complex. A natural choice is toresample the original polyhedra so that they own the sametopology. In this section, we first segment the originalpolyhedral models into the same number of simple meshesthat are homemorphic to a disk. For clarity, we call themeshes as polygonal patches. The method discussed in theprevious section is then adopted to construct a localparametrization for each patch. Finally, we use theparametrization to resample the corresponding patches andestablish the vertex correspondence.

Eck et al.�� described a partitioning scheme by extendingthe concepts of Voronoi diagrams and Delaunaytriangulations. Since the algorithm automatically chooses aset of site faces on the polyhedron and generates a Voronoidiagram dual to its Delaunay triangulation, it is difficult toknow in prior how many polygonal patches will beproduced. Obviously, it is not a trivial problem to guaranteethat this partitioning scheme produces a fixed number ofpatches for each polyhedron. On the other hand, we can alsointeractively select a fixed number of site faces on eachpolyhedron, and use a multi-source version of Dijkstra’s

P�

PD h P�

P�

P�

P�

Q�

Q�Q�

Q�

Q�

The Eurographics Association and Blackwell Publishers 1998.

algorithm�� for constructing the Voronoi diagram to meetthis requirement. Nevertheless, since the generatedpolygonal patches may have complex shapes, it turns to bea complicated problem to establish the vertexcorrespondence between each pair of corresponding patches.Figure 2 illustrates this fact.

Figure 2: A pair of corresponding patches with differentshapes produced by specifying a fixed number of face siteson two polyhedra.

Our method starts with an interactive procedure todecompose each polyhedron into a fixed number ofquadrilateral patches, the patch correspondence is thencreated during the interaction. A patch is specified byinteractively painting its boundary curves, each of which isrepresented as a set of connected edges of the polyhedron(Figure 3). A boundary curve is calculated as follows. Theuser first picks two points with a mouse on a 2-D projectionof the polyhedron. The program automatically associatesthe nearest vertex of the polyhedron to each of these points.A set of vertices on the polyhedron which lie on the shortestpath�� is then determined. A label number is assigned toeach boundary curve so as to facilitate the establishment ofthe patch correspondence between the two given polyhedra.A vertex on the boundary curve is termed a boundary vertexand assigned to the curve label. Figure 3 shows the steps forpainting a boundary curve.

To determine the shortest path, the program constructs aplane using the line segment through the two specifiedvertices and the current viewing direction. A polygonalmesh that consists of triangles on the polyhedronintersecting with the plane is extracted. The shortest path isobtained by searching the edge set of the polygonal mesh.Because the complexity of the edge set of the mesh is muchlower that that of the polyhedron, the program can providethe user a fast and intuitive feedback. Of course, the user isrequired to adjust the viewing direction during theinteraction so as to construct an appropriate plane and findthe shortest path.

After identifying the boundary curves, we need todetermine each polygonal patch bounded by closed four

boundary curves on the polyhedron. Our algorithm adoptsan iterative scheme to build the patches. At each step, theprogram starts with a randomly chosen face (triangle) notprocessed yet on the polyhedron. This face is selected as theseed of a patch. The patch is then constructed byincrementally adding adjacent faces to the patch until theboundary curves are reached. Each face that has been addedis signed during growth. This step can be convenientlyimplemented making use of the topological information ofthe polyhedron. The whole iteration stops while all the faceshave been processed.

Figure 3: The steps for painting a boundary curve on amesh (polyhedron)

Once a patch has been extracted from the polyhedron, thelabels of its four boundary curves are also detectedaccording to the labels of the boundary vertices. Aparametrization is then set up for the patch using harmonicmaps described in the previous section. Obviously, thepatch correspondence between the two original polyhedralmodels can then be established using the labels of theboundary curves. In practice, we usually choose the numberof the meshes as small as possible conforming to the shapesof the polyhedral models.

5. Feature correspondence

Actually, the patch correspondence has only provided acoarse correspondence between the two given polyhedra. Afine vertex correspondence between the two originalpolyhedra should be established conforming to the patchcorrespondence. In this section, we try to resample eachpair of the corresponding patches so that they own the samenumber of sample points, called feature vertices.Fortunately, the correspondence between the featurevertices can be easily obtained by adopting an affinemapping between their parametric regions (Figure 4).

The current viewing direction

V1

V2

The extracted mesh

V1

V2

The shortest path

The constructed plane

2P1P

2D1D

Face sites

A pair of corresponding patcheswith different shapes

The Eurographics Association and Blackwell Publishers 1998.

our resampling scheme is first performed on theparametric region of a patch, the locations of the featurevertices are then calculated by using the inverse harmonicmap. In general, we uniformly sample the patch, the sampledensity is based on the number of vertices on the patch.Figure 4 describes this resampling scheme. Although theuniform sample scheme is fit for our objective in manyapplications, occasionally we still need to establishcorrespondences between some specified feature vertices ona pair of the corresponding patches.

Figure 4: The procedure of sampling and the featurecorrespondence.

There are two popular ways to specify the featurecorrespondence on a pair of patches. One is mesh-based,and the other adheres to the line segments. In this paper, weuse the mesh-based technique, described by Wolberg 9. Let

1D and 2D be a pair of the corresponding patches, 1R

and 2R be their quadrilateral parametric regions. Two

uniform control meshes of an appropriate resolution (e.g.44× ) that define two planar B-spline (or Bezier) surfaces

are placed on1R and 2R , respectively. The user can then edit

the control meshes by moving, adding or deleting thecontrol points to achieve the desired featurecorrespondences (Figure 4). In order to help the user toobserve the editing results in 3D space, the current editedcontrol meshes over 1R and 2R are simultaneously

mapped onto 1D and 2D . Finally, a one-to-one mapping

between 1R and 2R is automatically established. If we

subdivide the two B-spline patches over 1R and 2R to a

certain density, and map the sample points onto 1D and

2D by the inverse harmonic maps, respectively, the feature

correspondence between 1D and 2D can be easily

created.

Since the sample density for each pair of thecorresponding patches is different, the above sampleprocedure is only performed in the interior of the patch.Each pair of the corresponding boundary curves isuniformly resampled according to their vertex numbers.Obviously, these sampling steps can guarantee that theoriginal polyhedra own the same number of feature vertices,and their feature correspondence can be established.

Figure 5 demonstrates that different featurecorrespondences between a pair of corresponding meshesproduce completely different transformations.

Figure 5: The results of two different featurecorrespondences between two patches. The middle image ineach row is generated interpolating the correspondingfeature vertices on the first and the third patch.

6. Feature polyhedra

Our algorithm tries to construct a new polyhedron foreach original polyhedron that provides a bridge to establishthe vertex correspondence between the polyhedra. Asdiscussed in the previous section, after resampling the twooriginal polyhedra, they have owned the same number offeature vertices, the correspondences between their featurevertices have also been established. Since there is notopological information involved, the featurecorrespondences are not enough to generate the shapetransition. In this section, we introduce a new polyhedron,called a feature polyhedron, to solve this problem.

The feature polyhedron of a polyhedron can be regarded

Subdividing

Editing

P2P1

The parametric regions of a pair corresponding patches

The Eurographics Association and Blackwell Publishers 1998.

as its reconstruction. It is constructed by using the featurevertices and topological information of the originalpolyhedron. Obviously, the shape transition between thetwo feature polyhedra can be easily created interpolatingeach pair of the corresponding feature vertices and usingtheir topologies.

As the original polyhedron and its feature polyhedronmay have different number of the vertices, and their shapesare usually different, we need an efficient algorithm toproduce the shape transition between them. Our algorithmtries to adhere the original vertices to the feature verticesbased on the minimum distance principle to establish theirvertex correspondences. A vertex cluster scheme is used toclassify the vertices of each original polyhedron. In order tokeep the topology of the original polyhedron unchangedduring the shape transition, we perform the vertexclustering on the parametric regions. Let p be a featurevertex, q be an original vertex of the polyhedron, the clustercorresponding to p, denoted by cluster(p), can bedetermined by

−=−=∈

)()(min)()()( vhphqhphqpclusterVv

where h is the harmonic map, V is the vertex set of theoriginal polyhedron.

Of course, the boundary feature vertices need be delt withmore than once because they are related to more than onepatch. Note that the above cluster scheme may produce nullclusters for some feature vertices. For each of such featurevertices, we replace the null cluster by the non-null clusterof its closest feature vertex. Therefore, our cluster schemedefines a correspondence between the vertices of theoriginal polyhedron and its feature vertices. The featurepolyhedron can then be constructed by using the topologyof the original polyhedron.

As some vertices are merged into one feature vertexduring the shape transition, some triangles may bedegenerated into points or edges. Although thesedegenerated triangles contribute nothing in the modelingand rendering phase, they provide information to recoverthe shape of the original polyhedron from its featurepolyhedron.

7. Shape transition

Once the feature polyhedron has been constructed for eachoriginal polyhedral model, we are ready to describe ourshape transition algorithm. As discussed in section 3, theshape transition from A to B can be decomposed into thefollowing three steps:

(a) transform A to its feature polyhedron A’. The vertexset of the intermediate polyhedron is determined as

{ }�

),(),(interp

AVp

AVqpclusterqpq

′∈

∈∈ ,

where )(interp is the interpolation function between

the positions of two corresponding vertices, AV ′ and

AV are the vertex sets of A’ and A, respectively. Its

topology is the same as that of A.(b) transform A’ to the feature polyhedron B’ of B. The

vertex set of the intermediate polyhedron isdetermined as

� verticesfeature ingcorrespond

theofpair a is ),(, ),(interp

AVp

B qpVqqp

′∈

.

BV ′ is the vertex set of B’. Its topology is the same as

that of A’.(c) transform B’ to the second polyhedron B. The vertex

set of the intermediate polyhedron is computed as

{ }�

),( ) ,(interp

BVp

BVqpclusterqqp

′∈

∈∈ .

BV is the vertex set of B. Its topology is the same as

that of B.

Obviously, if the above procedure is inverselyimplemented, we can perform the shape transition from B toA. In addition, we can also interpolate the material andtexture attributes of the original polyhedral models duringthe shape transition. Since we have constructed aparametrization of each polyhedron, this can be easilyimplemented.

8. Implementations and Results

The algorithm has been implemented on SGI workstationplatform based on GL. In order to demonstrate itsefficiency, we construct three examples with differentgenus and different complexity.

Figure 6 shows a head gradually transforming into apolyhedron with shape ‘H’. The genus of the originalpolyhedral models is 0. The two polyhedra are decomposedinto six polygonal patches by regarding ‘H’ as a cube thatconsists of six faces. Their corresponding featurepolyhedral models are illustrated in Figure 6(c) and 6(h).The number of the vertices in the head model is 6195, and3127 for ‘H’ model. The nose tip of the head is transformedto the center of the front face in the ‘H’. The size of thevertex set of the feature polyhedra is 1648. All the imagesare rendered by Z-buffer algorithm with facet shading.

Figure 7 demonstrates the transformation between a bagand a loop with one hole (i.e. 1=G ). They areinteractively decomposed into six polygonal patches.Figure 7(c) and 7(h) shows their feature polyhedral modelswith 2532 vertices. The numbers of vertices in the originalmodels are 2673 and 1649, respectively. Only a coarse

The Eurographics Association and Blackwell Publishers 1998.

correspondence is implemented in this example. Similar toFigure 6, the sequence of the images are rendered by Z-buffer algorithm with facet shading.

In Figure 8, we apply our algorithm to the polyhedralmodels with more than one genus, which are constructed byusing metaballs. Figure 8(b) and 8(e) are theircorresponding feature polyhedra. The sequence is generatedby decomposing the original models into ten polygonalpatches, and rendered by Phong shading technique. Similarto Figure 7, no fine correspondence is involved.

9. Conclusions

We have described a new 3D morphing algorithm fortransforming a polyhedron into another one with the samegenus. In order to establish the vertex correspondencebetween them, our algorithm first interactively partitionsthe original polyhedra into the same number of polygonalpatches. The patch correspondence is also establishedduring the interactive partition. A parametrization is thenconducted for each polygonal patch using the harmonicmap. The feature correspondence is created using a methodsimilar to the image morphing technique. Finally, thefeature polyhedra are constructed as a bridge to transformone polyhedron into another. Unlike the traditional 3Dmorphing algorithm, our method implicitly unfolds theoriginal polyhedra into a 2D graph structure, so it can setup the transformation between a pair of polyhedra withmore than one genus. Experimental results demonstrate thatour algorithm is very robust, and can deal with very generalcases.

Our current implementation mainly focuses on theproblem of the vertex correspondence. The morphing isproduced using a simple interpolation scheme, which mayyield the self-intersection during the shape transition.Future research should examine the problem of self-intersection, and providing the user much more controlduring the shape transition although the presentedalgorithm has made some attempts.

Acknowledgements

We thank the anonymous reviewers for several usefulcomments. This project is supported by the NationalNatural Science Foundation of China.

References

1. A.H.Barr, “Global and local deformations of solidprimitives”, Computer Graphics18(3), pp.21-30(August 1984).

2. D.R.Forsey, R.H.Bartels, “Hierarchical B-splinerefinement”, Computer Graphics 22(4), pp.205-212

(August 1988).

3. T.W.Sederberg, S.R.Parry, “Free-form deformation ofsolid geometric models”, Computer Graphics 20(4),pp.151-160 (August 1986).

4. S.Coquilart, “Extended free-form deformations: asculpturing tool for 3D geometric modeling”,Computer Graphics24(4), pp.187-196 (August 1990).

5. P.Kalra, A.Mangili, N.M.Thalmann et al, “Simulationof facial muscle actions based on rational free formdeformation”, Computer Graphics Forum 2(3), pp.59-69 (September 1992).

6. S.Coquillart, P.Jancene, “Animated free formdeformation: an interactive animation technique”,Computer Graphics 25(4), pp.23-27 (August 1991).

7. F.Lazarus, S.Coquillart, P.Jancene, “Axialdeformations: an intuitive deformation technique”,Computer Aided Design26(8), pp.607-612, (August1994).

8. Y.K.Chang, A.P.Rockwood, “A generalized decasteljau approach to 3D free-form deformation”,Computer Graphics28(3), pp.257-260, (August,1994).

9. G.Wolberg, “Digital image warping”, IEEEComputer Society Press, 1990.

10. T.Beier, S.Neely, “Feature-based image morphing”,Computer Graphics26(2), pp.35-42 (August 1992).

11. S.Y.Lee, K.Y.Chwa, S.Y.Shin, G.Wolberg, “Imagemorphing using snakes and free-form deformations”,Computer Graphics29(3), pp.439-448 (August, 1995).

12. S.M.Seitz, C.R.Dyer, “View morphing”, ComputerGraphics30(3), pp. 21-30 (August,1996).

13. T.Hong, N.M.Thalmann, D.Thalmann, “A generalalgorithm for 3-D shape interpolation in a facet-basedrepresentation”, Proceedings of Graphics Interface’88,pp. 229-235 (1988).

14. J.R.Kent, W.E.Carlson, R.E.Parent, “Shape transitionfor polyhedral objects”, Computer Graphics26(2),pp.47-54 (August, 1992).

15. A.Kaul, J.Rossignac, “Solid-interpolatingdeformations: construction and animation of PIPs”,Proceedings of Eurographics’91, pp.493-506 (August,1991).

16. B.Payne, A.Toga, “Distance field Manipulation of

The Eurographics Association and Blackwell Publishers 1998.

surface models”, IEEE Trans. On Computer Graphics& Applications12(1), pp.65-71 (February 1992).

17. E.Galin, S.Akkouche, “Blob metamorphosis based onMinkovski Sums”, Proceedings of Eurographics’96,pp.143-154 (August, 1996)

18. A.Lerios, C.D.Garfinkle, M.Levoy, “Feature-basedvolume metamorphosis”, Computer Graphics 26(2),pp.449-456 (August, 1992).

19. M.Eck, T.DeRose, T.Duchmp, “Multiresolutionanylysis of arbitrary meshes”, ComputerGraphics29(3), pp.173-182 (August, 1995).

20. A. Aho, J.E. Hopcroft, J.D.Ullman, “Data structureand algorithm”, Addison-Wesley, Reading, Mass,1983.

21. J.D.Chen, Y.J.Han, “Shortest paths on a polyhedron”,Proceedings of the 6th Annual ACM Symposium onComputational Geometry, pp.360-369 (1990).

The Eurographics Association and Blackwell Publishers 1998.

)LJXUH)LJXUH ��� 7KH VKDSH WUDQVLWLRQ EHWZHHQ D KHDG DQG D FKDUDFWHU ‘+’�* ��

(f) (g) (h) (i) (j)

(a) (b) (c) (d) (e)

The Eurographics Association and Blackwell Publishers 1998.

)LJXUH)LJXUH ��� 7KH VKDSH WUDQVLWLRQ EHWZHHQ D EDJ DQG D ORRS �* ��

(a) (b) (c) (d) (e)

(f) (g) (h) (i) (j)

The Eurographics Association and Blackwell Publishers 1998.

)LJXUH)LJXUH ��� 7KH VKDSH WUDQVLWLRQ EHWZHHQ WZR SRO\KHGUDO PRGHOV ZLWK * �

(a) (b) (c)

(d) (e) (f)