Month 200X, Vol.21, No.X, pp.XX–XX
J. Comput. Sci. & Technol.
3D Morphing using strain field interpolation Han-Bing Yan1 , Shi-Min Hu1 , and Ralph Martin2 1 Computer 2 School
Science, Tsinghua University, Beijing, China
of Computer Science, Cardiff University, Cardiff, UK
E-mail:
[email protected];
[email protected];
[email protected] Received MONTH DATE, YEAR. Abstract
In this paper, we present a new technique based on strain fields to carry out 3D shape
morphing for applications in computer graphics and related areas. Strain is an important geometric quantity used in mechanics to describe the deformation of objects. We apply it in a novel way to analyze and control deformation in morphing. Using position vector fields, the strain field relating source and target shapes can be obtained. By interpolating this strain field between zero and a final desired value we can obtain the position field for intermediate shapes. This method ensures that the 3D morphing process is smooth. Locally, volumes suffer minimal distortion, and no shape jittering or wobbling happens: other methods do not necessarily have these desirable properties. We also show how to control the method so that changes of shape (in particular, size changes) vary linearly with time. Keywords
1
morphing, strain field, interpolation
Introduction
Methods for 3D morphing typically take one of two approaches. The first blends simple volumes
Morphing, or metamorphosis, aims to generate a
in which the initial and final shapes are embed-
smooth shape sequence which transforms a source
ded [2–4]; the initial and final shapes may be em-
shape into a target shape. This technique has be-
bedded in a higher-dimensional volume [5]. The
come increasingly important in computer graphics
other approach is based on manipulating meshes,
for animation and entertainment, and is commonly
which may be 3D surface meshes or volumetric
employed by the special effects industry. Many
meshes. The first approach has the advantage of
morphing techniques have been developed for the
being able to deal objects with different topolo-
2D case [1]. With the introduction of 3D games
gies. However, in most cases, the mesh method ex-
and cartoons, 3D morphing has increased in im-
hibits better results—often, shape boundaries pro-
portance.
duced by the volume based method are not smooth
2
J. Comput. Sci. & Technol., Month 200X, Vol.21, No.X
enough. The method in this paper is based on
tool is strain, which has been used in mechanics
meshes.
for hundreds of years. Our new morphing method
Usually, mesh morphing techniques involve two
is based on this mathematical tool, and as a re-
steps. The first is to find a mapping between source
sult can theoretically guarantee that the morph-
and target objects, which requires that both should
ing process is smooth and uniform, no matter how
be meshed in an equivalent way—they should be
large the difference between the source and target
meshed isomorphically with consistent meshes, i.e.
shapes. The deformation occurring at each point
having a one-to-one correspondence. Having done
of the shape uniformly changes with time. Our re-
this, the second step is to choose a suitable path for
sults verify that our method does not have the dis-
each vertex from its position in the original mesh
pleasing visual effects that often arise when using
to its position in the final mesh, while keeping the
linear interpolation, and indeed many other exist-
connectivity of the mesh the same. The simplest
ing methods, such as squeezing, shrinking and local
(but generally unsuitable) method for finding ver-
self-intersection.
tex paths is to use linear interpolation. Two kinds of meshes may be used in 3D mor-
2
Related Work
phing, surface (triangle) meshes [6,7] and volumetric (tetrahedron) meshes [8]. Surface meshes have
Mesh morphing is an active research area in com-
fewer elements and so methods based on them gen-
puter graphics. Some work [10–13] considers how to
erally take less computational time. Solid meshes
create consistent meshes for pairs of shapes of genus
fill the interior of the shape instead of covering its
zero using a topological merging method. Much
boundary, and have the advantage that methods
work [6,14–17] is based on dissecting the source and
based on them can more easily avoid volume shrink-
target shape into several pieces, and constructing
age, and generally result in less distortion.
a local parameterization for each piece, then using
In this paper, we propose a novel physically-
merging or remeshing methods to create a consis-
based morphing approach for 3D meshes, which is
tent mesh. Praun [18] gives a tracing method which
an extension of a 2D physically based morphing
can dissect the source and target shapes automat-
method we reported earlier [9]. Note that the 3D
ically.
case is much more complex than the 2D case; it also
The above papers focus on the problem of cre-
has more potential applications. We focus in this
ating consistent meshes, and most of them then use
paper on the particular issue of finding paths for
simple linear interpolation methods to find the ver-
the vertices of consistent meshes—finding consis-
tex paths during the morphing process. For objects
tent meshes can be done using existing methods [8].
having very similar shapes, linear interpolation is
The main contribution of our work is the use of
good enough for simple visual effects. However,
an appropriate mathematical tool to quantitatively
for objects undergoing large deformation, especially
describe shape deformation in 3D morphing. This
when bending occurs, linear interpolation always
Han-Bing Yan et al.: Three Dimensional Strain Field Morphing
3
leads to shrinkage of intermediate shapes, which
a global optimization method. Bao et al. [30] used
is visually unacceptable. In [19, 20], Floater and
a physically based method for morphing, like the
Surazhsky proposed the use of barycentric coordi-
present paper, but based on point sampled geome-
nate and mean value interpolation to find suitable
try while we use meshes.
paths. Blanding et al. [21] represented the interi-
A method which can handle source and tar-
ors of 3D shapes using compatible skeletons and
get shapes with large differences is presented in [8].
applied blending to parametric descriptions of the
This method first converts both surface polygon
skeletons.
meshes into a tetrahedral mesh. To perform mor-
Alexa [22] suggested using interpolation of
phing, it then finds a transformation which is lo-
Laplacian coordinates for the morphing path and
cally as similar as possible to the optimal transfor-
discussed how to control morphing locally. Such
mation between each pair of corresponding tetra-
differential methods have also been used to study
hedra. Optimization is used to minimize the dif-
deformation, a similar problem to morphing [23,
ference between the desired transformation, and
24].
Laplacian coordinates are invariant under
the actual transformation which is applied, taking
translation but are not invariant to rotation and
into account the connectivity constraints on adja-
scaling, so the interpolated Laplacian coordinates
cent tetrahedra. This paper also considers how to
need to be modified to obtain good morphing re-
create consistent tetrahedral meshes using a topo-
sults [25].
Sheffer and Kraevoy [26] introduced
logical merging method. Sumner [31] used similar
so called pyramid coordinates into mesh editing
simplex transformation ideas to learn deformations
and morphing. Pyramid coordinates are rotation-
from examples.
invariant, although their use requires the solution
An alternative approach is proposed in [32, 33].
of a non-linear optimization problem. Lipman [27]
In these methods, consistent meshes are not re-
proposed rotation invariant differential coordinates
quired. They dynamically and adaptively change
by defining tangential and normal components of
the connectivity of intermediate meshes, gradu-
the surface, and used them for morphing; this ap-
ally transforming the connectivity from that of the
proach needs to solve two linear equations for each
source model to that of the target. It would seem
intermediate frame. Xu et al. [28] calculate inter-
difficult for this method to get good results for
mediate surface gradients by quaternion interpola-
shapes that differ greatly.
tion, then reconstruct surfaces by solving a Pois-
By using concepts of positive and negative sur-
son equation. This method produces good results
faces, Lee [34] gave a method to parameterize non-
in many cases even when differences between initial
zero genus surfaces and applied it to morphing
and final shapes are large.
models of different genus. Liu and Che also studied
Hu [29] et al. presented a method based on min-
morphing of different genus objects [35, 36].
imization of deformation energy, which is novel in
For further discussions of previous work, the
that it does not use interpolation. However, it is
reader is referred to two excellent 3D morphing sur-
4
J. Comput. Sci. & Technol., Month 200X, Vol.21, No.X
veys by Alexa, and Lazarus [37, 38].
chanics to describe shape deformation for hundreds of years: strain. In this paper, we use the concept
3
Framework of 3D Strain Field Morphing
of strain to describe shape deformation for morphing, and use it as the basis of a new approach to 3D morphing.
The purpose of morphing is to create a smooth
Here, to apply the concepts of strain, we use
deformation process. The path of each vertex in
a solid tetrahedral mesh to represent shape. The
linear interpolation is smooth, so why does it not
inputs to our method are a source mesh and a tar-
produce a visually acceptable result in many cases?
get mesh, which are consistent tetrahedral meshes.
The reason is that used by itself, it does not ensure
Consistent tetrahedral meshes can be created using
that shape change during this process is smooth.
existing methods [8]. The output is a sequence of
A smooth deformation requires not only that each
intermediate meshes forming a morphing sequence.
vertex path should be smooth, but also that shape
The main steps of our method are as follows:
should change in a monotonic manner.
• Compute the strain field between the source
It would seem that previous 3D morphing meth-
shape and target shape.
ods have not used an effective means of analyzing • Interpolate strain to determine the strain
and controlling shape deformation. As we know,
field for each intermediate shape.
deformation is a local infinitesimal quantity. In some cases, points may have very large displace-
• Calculate the intermediate shapes from the
ment but small deformation. For example, strain
intermediate strain fields.
should remain at zero under rigid body motion. In In Section 4, we outline the basic concepts
other cases, there can be large deformation at a point but small displacement. For example, if we stretch a bar by pulling its left and right ends outwards with equal force, the centre is not displaced, but there is still a large deformation at the center (as there is at all other points of the bar). All previous methods, such as barycentric coordinates,
necessary.
Then we explain our 3D strain field
interpolation morphing method in detail in Section 5. Results and future work are discussed in Sections 6 and 7.
4
Preliminaries
Laplacian coordinates, or surface gradients, cannot
Our aim is to make shape deformation during 3D
satisfy simultaneously the requirements for describ-
morphing seem natural and visually appealing. We
ing shape deformation and displacement. Thus,
want the deformation to occur in a uniform man-
previous methods do not provide the correct theo-
ner. But what is deformation? Note carefully that
retical basis to ensure the morphing process is uni-
local deformation at a point is not the same as the
form as desired.
displacement of this point. Points in an object can
In fact, an ideal quantity has been used in me-
have very small deformation although they have
Han-Bing Yan et al.: Three Dimensional Strain Field Morphing
5
moved a long distance, or conversely, they can have
engineering. In 3D, the strain field is a second-
large deformation but small displacement. The key
order tensor field, with 6 independent components
idea is that deformation concerns how much a point
(for homogeneous materials): ǫx , ǫy , ǫz are ten-
is displaced relative to neighboring points. Thus,
sion components, and γ yz , γ zx , γ xy are shear com-
deformation is an infinitesimal quantity. To ana-
ponents. In detail, ǫx ,ǫy , ǫz measure in relative
lyze deformation, we use a tool from mechanics,
terms how much local expansion or shrinkage at
strain. We start by giving definitions of the po-
each point along each coordinate direction. Pos-
sition field and the strain field associated with a
itive values represent expansion and negative val-
shape.
ues represent shrinkage. γ xy represents the relative change in angle between lines initially in the x and y
4.1
Definition of 3D Strain Fields
directions at a given point, and similarly for γ yz and
The positions of all points in a shape comprise a
γ zx . Engineers are often only interested in small de-
field, which we call its position field. In 3D space,
formations, which can be approximately expressed
the position field has three components: [x, y, z].
by a linear relationship between strain and posi-
When a shape moves or deforms, each point on the
tion, for example: ǫx = ∂x /∂x, etc. However, in
shape ends up in a new place [x′ , y ′ , z ′ ].
this work, we need to deal with large deformations,
′
Using ideas from mechanics, the difference between a source shape and a target, or any intermediate shape, can be decomposed into two parts: a rigid body motion, and a deformation. The rigid
so we must use large deformation strain field, or Lagrange strain field, formulae. The relationship between the Lagrange strain field and the position field in 3D is given by:
body motion can be further decomposed into a translation and rotation. In 3D, there are six degrees of freedom for rigid body motion: three for translation and three for rotation. The deformation is separately captured by a strain field, which is independent of rigid body motion. If only rigid body motion happens, without deformation, although each point has displacement, the strain field is zero.
ǫx ǫy ǫz
γ yz γ zx γ xy
=
1 2
′
2 ( ∂x ∂x )
+
′
2 ( ∂y ∂x )
+
′
2 ( ∂z ∂x )
−1
+ + −1 ′ ′ ′ ∂y 2 ∂z 2 1 ∂x 2 2 ( ∂z ) + ( ∂z ) + ( ∂z ) − 1 ′ ′ ′ ′ ′ ′ ∂y ∂y ∂x ∂x ∂z ∂z ∂y ∂z + ∂y ∂z + ∂y ∂z ′ ′ ′ ′ ′ ′ ∂y ∂y ∂x ∂x ∂z ∂z + + ∂z ∂x ∂z ∂x ∂z ∂x ′ ′ ′ ′ ′ ′ 1 2
′
2 ( ∂x ∂y )
∂x ∂x ∂x ∂y
′
2 ( ∂y ∂y )
+
∂y ∂y ∂x ∂y
′
2 ( ∂z ∂y )
+
∂z ∂z ∂x ∂y
(1)
where x, y and z are the position field components
In morphing, we wish to handle large deforma-
before deformation, and x′ , y ′ and z ′ are compo-
tions, whereas in mechanics and mechanical engi-
nents of the position field after deformation. The
neering the deformations are often small. Thus,
displacement field has components u, v, w, and is
here we must use large deformation formulae in-
related to the position field by u = x′ −x, v = y ′ −y,
stead of the small deformation (approximate, lin-
w = z ′ − z.
earised) formulae most often used in mechanical
In the following, the strain field is rep-
6
J. Comput. Sci. & Technol., Month 200X, Vol.21, No.X
Figure 1: Linear Interpolation
Figure 2: Strain Field Interpolation resented in vector form, and we write ε for
when using linear interpolation, and strain field
[εx , εy , εz , γ yz , γ zx , γ xy ]T .
We assume the shape
interpolation, respectively. Each figure shows six
varies from source to target over the time interval
curves for the different components of strain. In
t ∈ [0, 1] and we use a superscript to denote time.
the case of linear interpolation, the curves for ǫz ,
For example, εt means the strain field of the target
γ yz and γ zx almost overlap; in strain field interpo-
shape at time t, so ε1 means the final strain field.
lation, ǫy , ǫz , γ yz and γ zx are nearly identical to zero. In Figure 1, the tip of the elephant’s trunk
4.2
Quantitative Analysis of Strain Fields
becomes smaller in the x-y plane at first, then becomes bigger again. The corresponding linear interpolation strain curves show ǫx and ǫy become
Figures 1 and 2 are two results produced using lin-
negative at first, meaning that the trunk’s tip is
ear interpolation, and strain field interpolation re-
highly compressed. Then the curves rise again, as
spectively. It is clear that the result of strain field
the tip restores its size. This effect is visually un-
interpolation is more natural and uniform: observe
desirable. In contrast, in Figure 2, the elephant’s
the elephant’s trunk. The result in Figure 1 is
trunk deforms uniformly, and the corresponding
poor because the trunk shrinks before expanding
strain curves change in a monotonic way, leading
again. Linear mesh interpolation results in signifi-
to a much more visually desirable result.
cant size changes manifested as shrinkage followed by re-expoansion in this case. This is shown in Fig-
Considering what happens in the case of linear
ure 3, which presents strain curves calculated for a
interpolation shows that strain fields are a pow-
tetrahedron near the tip of the elephant’s trunk,
erful quantitative tool to analyze shape deforma-
Han-Bing Yan et al.: Three Dimensional Strain Field Morphing
7 Strain Field Interpolation
Linear Interpolation 0.2
0.12
0.1
x
0.08
x
0.04
y
0.0
z
-0.2 xy
-0.3
z
0.00
xy
-0.04
yz
-0.4
yz
-0.08
-0.5 0.0
Strain
Strain
y
-0.1
zx
0.2
0.4
0.6
0.8
1.0
zx
-0.12 0.0
0.2
0.4
0.6
0.8
1.0
Time
Time
Figure 3: Strain-Time Curve tion. Going further, if we want a shape to deform
selected near the center of the source and target
gradually, the strain field should change monotoni-
shapes, while B 0 , B 1 , C 0 and C 1 should lie along
cally. Otherwise squeezing or wobbling (oscillations
the shape’s ‘natural’ axes.
in deformation) may happen, as in Figure 1. Our approach not only uses strain fields to analyze deformation, but to control it.
We now place the source and target shapes in a canonical position and orientation, using these
5
Strain Field Morphing
reference points. The source shape is moved until A0 coincides with the origin, the translation vector
We now describe the steps of our new method of carrying out deformation using strain fields.
necessary being T 0 . Next, the source shape is rotated around the origin until B 0 lies on the x axis. Let the rotation axis be R0 , and rotation angle be
5.1
Removing the Rigid Body Motion
α0 . Finally, the source shape is rotated around the
Strain is independent of rigid body motion.
x axis until C 0 is in the x − y plane with positive y
The overall metamorphosis comprises a deforma-
component; the angle of rotation is β 0 . The target
tion plus a rigid body motion, and we firstly sepa-
shape treated is then similarly, with corresponding
rate out the the latter so that we can consider the
parameters T 1 , R1 , α1 and β 1 .
strain by itself. A rigid body has 6 degrees of freedom in 3D space. To factor out the rigid body motion, we
The x, y, z coordinates of A, the y, z coordinates
select three corresponding points on source and
of B, and the z coordinate of C are then fixed dur-
target shapes, A0 , B 0 , C 0 , and A1 , B 1 , C 1 . The
ing the entire deformation process, and the rigid
points chosen to determine the rigid body motion
body component of metamorphosis is added back as
can be selected by the computer automatically, or
a final computation after the deformation has been
interactively by the user. A0 and A1 should be
determined, as will be explained in Section 5.4.
8
J. Comput. Sci. & Technol., Month 200X, Vol.21, No.X
5.2
Intermediate Strain Field Calcula-
for a tetrahedron into discrete form. Using the node
tion
coordinates for each source and target tetrahedron
The strain field for intermediate shapes between the source and target shapes can be calculated using the definitions in Eqn. 1. We use tetrahedral elements, as often used in the finite element method (FEM), to calculate the strain field. Because, unlike engineering analysis, morphing does not re-
in Eqn. 1 and Eqn. 2, the strain field can then be calculated tetrahedron by terahedron. The simplest way to choose a strain field for intermediate shapes is to linearly interpolate the strain (which is not the same as linearly interpolating vertex positions!):
quire high precision results, it is sufficient to use
εt = (1 − t)ε0 + tε1 ;
(4)
linear tetrahedral elements rather than higher order elements. In FEM, the displacement of each point inside an element can be expressed as a convex combination of the displacements of the element’s nodes. The vertex coordinates of a tetrahedron in the source mesh are v i = (xi , y i , z i ), i = 1 . . . 4; in the target mesh, its coordinates are v ′ i = (x′ i , y ′ i , z ′ i ). Any point inside some source or target tetrahedron can be expressed in terms of its vertices and shape functions; for example, for a
note that ε0 is zero. Linear strain interpolation is usually an adequate method, producing good morphing results for most examples and avoiding oscillations in local size over time. However, in some extreme cases, linear strain interpolation gives unequal rates of change of shape over time, even though at each intermediate time the shape itself is good. In Section 5.5, we analyze this problem further, and provide an alternative method of interpolation for such
target tetrahedron:
extreme cases. x′
=
y′ = z′ =
P
P
P
k =1
4N
k
k =1
4N
′ ky k,
k =1
4N
′ kz k.
x′
k,
(2)
5.3
From Strain Field to Position
The above approach gives the required strain
The N k are the shape functions of the element, and
field at any intermediate time. Note that the strain
depend on x, y and z. For linear tetrahedral ele-
field has six components, while the position field
ments, the N k are barycentric coordinates within
has three components. Clearly, as a result, the six
the tetrahedron which can be expressed in the (lin-
components of the strain field cannot be indepen-
ear) form:
dent, and in fact they are connected by a set of N k = ak + bk x + ck y + dk z,
(3)
compatibility conditions [40]. In general, arbitrarily interpolated strain fields will not satisfy these
where ak , bk , ck , dk are functions of the source co-
compatibility conditions and hence do not corre-
ordinates xi , y i and z i —for details, see e.g. [39].
spond to physically realisable position fields. To
Substituting Eqn. 3 into Eqn. 2, and thence into
resolve this issue, we attempt to find that posi-
Eqn. 1, we can convert the strain field calculation
tion field for each intermediate shape whose actual
Han-Bing Yan et al.: Three Dimensional Strain Field Morphing strain field is as close as possible to the interpo-
or z) is defined by:
lated strain field. We define an energy function in
Eqn. 5 which computes the norm of the difference between the interpolated strain field and a physiB jX
cally correct strain field generated by some position field: 1 W = 2
Z
(ε∗ − ε)T · (ε∗ − ε)dΩ.
(5)
Ω is taken over the whole source shape, ε is the interpolated strain field, and ε∗ is calculated from the position field using Eqn 1. We find the position field which minimizes this energy function to give the intermediate shape. This problem can be solved by any multivariate optimization method; note that the variables are the coordinates of all
9
=
∂X t ∂N i ∂x ∂x ∂X t ∂N i ∂y ∂y ∂X t ∂N i ∂z ∂z ∂X t ∂N i ∂y ∂z
+
∂X t ∂N i ∂z ∂y
∂X t ∂N i ∂z ∂x
+
∂X t ∂N i ∂x ∂z
∂X t ∂N i ∂x ∂y
+
∂X t ∂N i ∂y ∂x
.
This non-linear equation can be solved using the Newton-Raphson method. We generally wish to calculate the position field for a series of intermediate shapes. The coordinate vector for the source shape is used as the initial value for iterative calculation of the coordinate vector for the first intermediate shape, and the calculation for each subsequent intermediate shape is initialized using the co-
nodes in the intermediate shape. In practice, for efficiency, we convert this optimisation problem into a set of non-linear equations by setting the derivative of Eqn. 5 to zero. This
ordinate vector of the previous intermediate shape. We use the conjugate gradient method to solve the sparse linear equations in each iterative process. As each step has good initial values, rapid convergence
non-linear equation system can be written as:
is obtained. If the number of intermediate shapes φ(V ) = 0
(6)
required is very small, Eqn. 6 could also be solved by using a continuation method, but in practice,
where V is the coordinate vector of the interme-
simply adding more intermediate shapes is more
diate shape. φ(V ) has the form below, where the
efficient.
overall function is evaluated by summing a function over each tetrahedron in turn: φ(V ) =
X
i=1
m
Z
5.4
(B T ε∗ − B T ε)dΩi .
(7)
Incorporating Rigid Body Motion
Deformations for intermediate shapes were determined by the method previous section. Now, the
Here m is the number of tetrahedra, and B and ǫ are the strain matrix and strain for each separate tetrahedron as appropriate. B can be written as B = [ B1
B2
B3
B4 ]
(8)
appropriate rigid body motion must also be incorporated to give each final intermediate shape in its correct position and orientation. We simply reverse the process given in Section 5.1, adding back a linearly interpolated translation and rotation. First
where B j = [ B jx
B jy
B jz ], and B jX (X = x, y,
we rotate the intermediate shape at time t around
10
J. Comput. Sci. & Technol., Month 200X, Vol.21, No.X line segment P Q in the source shape. Let the coor-
the x axis by the angle: β t = −[(1 − t)β 0 + tβ 1 ].
(9)
0
R = (1 − t)R + tR
coordinates of Q be (ax + dax , ay + day , az + daz ). Let the length of P Q be dS 0 . The corresponding
Then we find the axis of rotation t
dinates of P be (ax , ay , az ), or a for short. Let the
1
line segment in the target shape is P 1 Q1 , of length (10)
dS 1 . The relation between dS 0 and dS 1 is:
and rotate around this axis by the angle αt = −[(1 − t)α0 + tα1 ].
(dS 1 )2 − (dS 0 )2
Finally, the intermediate shape is translated by T t = −[(1 − t)T 0 + tT 1 ],
(12)
giving the desired result.
5.5
(dS 0 )2
(11)
= 2da · E 1 · da
(13)
= da · da
(14)
where da is the vector (dax , day , daz ), and E 1 is the matrix form of the strain field tensor for the target mesh. The general strain field tensor E is of the form:
ǫx E= γ xy
Modified Interpolation Method
Using linear interpolation of strain as described
γ xz
γ xy ǫy γ yz
γ xz γ yz . ǫz
(15)
in Section 5.2 is often adequate to produce good
The length of segment P Q at time t obeys a similar
results. However, in a few extreme cases where the
relation:
deformation is very large, although each interme(dS t )2 − (dS 0 )2 = 2da · E t · da.
diate shape has a good shape, and shape change is monotonic, shape change may occur at an uneven rate over time. The reason for this phenomenon is
(16)
If we want the length of P Q to change linearly with time, we should let:
that Eqn. 1 includes quadratic terms.
dS t − dS 0 = t. dS 1 − dS 0
In fact, many morphing methods suffer from
(17)
non-uniform (and often oscillatory) changes over
Substituting Eqns. 13 and 16 into Eqn. 17, we ob-
time, but unlike other methods, in the case of strain
tain
field morphing we can find a theoretically-based way of compensating for this. The basis of this modification is to force the lengths of edges parallel to the coordinate axes to change linearly with
(dS 0 )2 + 2daE t da = hp
t (dS 0 )2 + 2daE 1 da + (1 − t)dS 0
from mechanics can be found in [39, 40].
2.
(18)
For a line segment parallel to the x axis, da is: da = [dax , 0, 0].
time, which also constrains the length change ratio in other directions. Appropriate background ideas
i
(19)
Substituting Eqn. 19 into Eqn. 18, and using Eqn. 14, we find that:
In essence, the strain field arises due to length changes of line segments. Consider an infinitesimal
ǫx t =
i i 1 hh p t 1 + 2ǫx 1 + (1 − t) 2 − 1 2
(20)
Han-Bing Yan et al.: Three Dimensional Strain Field Morphing
7
Similarly we may show that ǫy t =
1 2
q
t 1 + 2ǫy 1 + (1 − t)
2
−1
11
Discussion and Future Work
(21)
and
In this paper, we have presented a new method ǫz t =
i i 1 hh p t 1 + 2ǫz 1 + (1 − t) 2 − 1 2
for 3D morphing. By making use of the concept (22)
of strain from mechanics to control deformation in
We now use Formulae 20–22 to interpolate the
3D, we have developed an algorithm for 3D morph-
tension strains, while still using linear interpolation
ing based on strain field interpolation. While linear
for shear strains γ xy , γ yz and γ zx . Our experiments
interpolation of strain is often adequate, in cases of
show that in all large deformation cases, this tech-
very large deformations, this produces non-uniform
nique avoids the problem of uneven deformation
rates of deformation over time, and we have further
over time, even for very large deformations, and
given a modified strain interpolation method which
provides good visual results.
can avoid this problem. Experiments show that our method gives very good results which appear nat-
6
Results
ural.
We have applied the technique of strain field
Although our strain field interpolation method
interpolation to various kinds of models, both mor-
gives good results, it has a high computational cost,
phing between two different objects, and morphing
but so do other physically based methods using
processes corresponding to several kinds of funda-
solid meshes. Our future goal is to reduce the cal-
mental deformation of a single object. Typical ex-
culation cost of our method. We envision two ap-
perimental results are shown in Figures 4–6. All ex-
proaches to do this. Firstly, the current method re-
periments were performed on a 3.2GHz Pentium 4
quires all elements of the solid mesh to be processed
computer. Calculation times to produce 30 frames
to compute the deformation. In practice it would
for the simple models in Figures 4 and 5 were 3.4
be much more efficient if we could use a multireso-
and 14.7 seconds; they have 80 and 164 vertices re-
lution method in which strain field interpolation is
spectively. The more complex model in Figure 6
used to ensure the gross deformations of the shape
has about 17000 vertices; it took about 55 minutes
are performed in a plausible manner, while using a
to produce 80 frames.
simpler method such as direct linear interpolation
Our experiments show that the 3D morphing
of geometry to control the fine changes in shape.
results generated by our method are smooth and
A second possibility is to extend our strain field
natural.
No shape jittering or wobbling occurs.
interpolation method to work directly with 3D sur-
The key is the use of strain in our method, which
face meshes rather than solid volume meshes, which
is a powerful tool to describe shape deformation in
would also significantly lower the calculational ex-
an infinitesimal way.
pense.
12
J. Comput. Sci. & Technol., Month 200X, Vol.21, No.X
Figure 4: Twisting a Rod
Figure 5: Helix
Figure 6: Animal Morphing
Han-Bing Yan et al.: Three Dimensional Strain Field Morphing
8
Acknowledgements
13
metamorphosis based on harmonic maps. The Visual Computer, 14(4):166–176, 1998.
We acknowledge Qi-Xing Huang and Qian-Yi Zhou’s help in our work.
We would also like
[7] Aaron WF Lee, David Dobkin, Wim Sweldens,
to thank Bruno Levy for providing the elephant
and Peter Schroder.
model.
morphing.
This work was supported by the Natu-
ral Science Foundation of China (Project Numbers 60225016, 60333010, 60321002) and the National Basic Research Project of China (Project Number 2006CB303106).
Multiresolution mesh
In Proceedings of SIGGRAPH
1999, pages 343–350, 1999. [8] Marc Alexa, Daniel Cohen-Or, and David Levin. As-rigid as-possible shape interpolation.
In Proceedings of SIGGRAPH 2000,
pages 157–164, 2000.
References
[9] Han-Bing Yan, Shi-Min Hu, and Ralph Mar-
[1] George Wolberg. Image morphing: a survey. The Visual Computer, 14(8/9):360–372, 1998.
tin.
Morphing based on strain field inter-
polation. Computer Animation and Virtual Worlds, 15(3-4):443–452, 2004.
[2] Daniel Cohen-Or, Amira Solomovici, and David Levin. Three dimensional distance field
[10] Marc Alexa. Merging polyhedral shapes with
metamorphosis. ACM Transactions on Graph-
scattered features.
ics, 17(2):116–141, 1998.
16(1):26–37, 2000.
[3] Apostolos Lerios, Chase D. Garfinkle, and
The Visual Computer,
[11] James R. Kent, Wayne E. Carlson, and
Marc Levoy. Feature based volume metamor-
Richard E. Parent.
Shape transformation
phosis. Computer Graphics, 29:449–456, 1995.
for polyhedral objects. Computer Graphics, 26(2):47–54, 1992.
[4] Xiang Fang, Hujun Bao, Pheng-Ann Heng, Tien-Tsin Wong, and Qunsheng Peng. Con-
[12] Francis Lazarus and Anne Verroust. Meta-
tinuous field based free-form surface model-
morphosis of cylinder- like objects.
Jour-
ing and morphing. Computer and Graphics,
nal of Visualization and Computer Animation,
25(2):235–243, 2001.
8(3):131–146, 1997. Shape
[13] Avner Shapiro and Ayellet Tal. Polyhedron re-
transformation using variational implicit func-
alization for shape transformation. The Visual
tions.
Computer, 14(8/9):429–444, 1998.
[5] Greg Turk and James F. O’Brien.
In Proceedings of ACM SIGGRAPH
1999, pages 335–342, 1999. [6] Takashi Kanai, Hiromasa Suzuki, and Fumihiko Kimura.
Three-dimensional geometric
[14] Hujun Bao and Qunsheng Peng.
Interac-
tive 3d morphing. Computer Graphics Forum, 17(3):23–30, 1998.
14
J. Comput. Sci. & Technol., Month 200X, Vol.21, No.X
[15] Arthur Gregory, Andrei State, Ming C. Lin,
[22] Marc Alexa. Local control for mesh morph-
Dinesh Manocha, and Mark A. Livingston.
ing. In Proceedings of the International Con-
Feature-based surface decomposition for corre-
ference on Shape Modeling and Applications,
spondence. In Computer Animation 98, pages
pages 209–215, 2001.
64–71, 1998. [23] Marc Alexa. Differential coordinates for local [16] Tong-Yee Lee and Po-Hua Huang.
Fast
and intuitive metamorphosis of 3d polyhe-
mesh morphing and deformation. The Visual Computer, 19(2):105–114, 2003.
dral models using smcc mesh merging scheme. IEEE Trans. Visualizaton Comput Graphics,
[24] Yizhou Yu, Kun Zhou, Dong Xu, Xiaohan Shi, Hujun Bao, Baining Guo, and Heung-Yeung
9(1):85–98, 2003.
Shum. Mesh editing with poisson-based gra[17] Jin-Bey Yu and Jung-Hong Chuang. Consistent mesh parameterizations and its application in mesh morphing. In Computer Graphics
dient field manipulation. ACM Trans. Graphics (Proc. SIGGRAPH2004), 23(3):644–651, 2004.
Workshop 2003, 2003. [18] Emil Praun,
Wim Sweldens,
and Peter
Schroder. Consistent mesh parameterizations. In Proceedings of SIGGRAPH 2001, pages 179–184, 2001.
[25] Olga Sorkine, Daniel Cohen-Or, and Yaron Lipman. Laplacian surface editing. In Proceedings of the Eurographics/ACM SIGGRAPH symposium on Geometry Processing, pages 179–188, 2004.
[19] Michael S. Floater and Craig Gotsman. How to morph tilings injectively. Journal of Computational and Applied Mathematics, 101(1-
[26] Alla Sheffer and Vladislav Kraevoy. Pyramid coordinates for morphing and deformation. In The 2nd International Symposium on 3D Data
2):117–129, 1999.
Processing, Visualization and Transmission, [20] Vitaly Surazhsky and Craig Gotsman. Intrin-
pages 68–75, 2004.
sic morphing of compatible triangulations. In In 4th Bi-National Israel-Korea Conference on
[27] Yaron Lipman, Olga Sorkine, David Levin,
Geometric Modeling and Computer Graphics,
and Daniel Cohen-Or.
Linear rotation-
pages 45–50, Tel Aviv, Israel.
invariant coordinates for meshes. ACM Transactions on Graphics, 24(3):479–487, 2005.
[21] Rob Blanding, George Turkiyyah, Duane Storti, and Mark Ganter.
Skeleton based
[28] Dong Xu, Hongxin Zhang, Qing Wang, and
three-dimensional geometric morphing. Jour-
Hujun Bao. Poisson shape interpolation. In
nal of Computational Geometry: Theory and
Proceedings of ACM Symposium on Solid and
Applications, 15(1-3):129–148, 2000.
Physical Modeling 2005, pages 267–274, 2005.
Han-Bing Yan et al.: Three Dimensional Strain Field Morphing [29] Shi-Min Hu, Chen-Feng Li, and Hhui Zhang.
15
Generating genus-n-to-m mesh morphing us-
Actual morphing: A physical-based approach
ing spherical parameterization.
for blending. In ACM Symposium on Solid
Animation and Virtual Worlds, 17:433–443,
Modeling and Application 2004, 2004.
2006.
[30] Yunfan Bao, Xiaohu Guo, and Hong Qin.
Computer
[35] Li-Gang Liu and Guo-Jin Wang.
Three-
Physically based morphing of point-sampled
dimensional shape blending: intrinsic solu-
surfaces.
tions to spatial interpolation problems. Com-
Computers Animation Virtual
Worlds, 16:509–518, 2005. [31] R.-W Sumner and J Popovic.
puters & Graphics, 23(4):535–545, 1999. Deforma-
tion transfer for triangle meshes.
[36] Wu-Jun Che, Shi-Min Hu, and Ralph R. Mar-
ACM
tin. Skeleton-driven 2d mesh morphing with
Trans. Graphics (Proc. SIGGRAPH 2004),
controllable topological transition. In 17th In-
23(3):399–405, 2004.
ternational Conference on Computer Anima-
[32] Tong-Yee Lee and Chien-Chi Huang. Dynamic and adaptive morphing of three-dimensional mesh using control maps. IEICE Transactions on Information and Systems, 88(3):646–651,
tion and Social Agents, pages 147–154, 2004. [37] Marc Alexa. Recent advances in mesh morphing. Computer Graphics Forum, 21(2):173– 197, 2002.
2005. [38] Francis Lazarus and Anne Verroust. Three[33] Chao-Hung Lin and Tong-Yee Lee.
Meta-
morphosis of 3d polyhedral models us-
dimensional metamorphosis: A survey. The Visual Computer, 14(8/9):373–389, 1998.
ing progressive connectivity transformations. IEEE Transactions on Visualizaton Computer Graphics, 10(6):2–12, 2005. [34] Tong-Yee Lee, Chih-Yuan Yao, Hung-Kuo Chu, Ming-Jen Tai, and Cheng-Chieh Chen.
[39] O.C.Zienkiewicz. The finite element method. McGraw-Hill, 2000. [40] Flugge Wilhelm. Tensor analysis and continuum mechanics. Springer-Verlag, 1972.