Content uploaded by Yangsheng Wang
Author content
All content in this area was uploaded by Yangsheng Wang on Mar 13, 2014
Content may be subject to copyright.
3D Object Modelling for Entertainment Applications
Yi Song
School of Computer Science & IT
University of Nottingham
Nottingham, UK
Yzs@cs.nott.ac.uk
Li Bai
School of Computer Science & IT
University of Nottingham
Nottingham, UK
bai@cs.nott.ac.uk
Yangsheng Wang
Institute of Automation
Chinese Academy of Science
Beijing, China
Yangsheng.wang@ia.ac.cn
ABSTRACT
Recent advances in three-dimensional (3D) data acquisition
techniques have offered an alternative to the traditional 2D
metamorphosis (or morphing) approaches, which gradually
change a source object through intermediate objects into a
target object. In this paper, we approach 3D metamorphosis via
a novel 3D modelling technique, which reconstructs a fairly
complex object with a single B-Spline patch. Our object
representation is compact - over 90% compression rate can be
achieved. Despite such huge amount of data reduction, our
method achieves similar rendering result to that using polygonal
representation. Our approach also allows a one-to-one mapping
from the object space to a common parameter space to be
established, to allow automatic correspondence between a pair
of objects. This way to establishing object correspondence is
advantageous over the common connectivity generation
process, with which, if either the source or target object is
changed, the whole process of establishing correspondences
must be repeated. Several aesthetically pleasing examples of 3D
morphing are demonstrated using the proposed method.
1. INTRODUCTION
Recent theoretical and technical advance in three-dimensional
(3D) data capture has led to a great deal of interest in 3D
metamorphosis. 3D metamorphosis is a smooth transformation
from a source 3D object to a target 3D object. Unlike 2D image
morphing, 3D metamorphosis is independent of viewing or
lighting parameters. Therefore, it is a powerful technique for the
entertainment and animation industry and has therefore become
an active research area in recent years. The primary issue in 3D
metamorphosis is to establish surface correspondence between
the source and target objects automatically. By mapping each
point on the source object to a point on the target object [9], a
smooth transition can be generated by interpolating from the
source to the target object.
A common approach to establishing correspondence
between two objects is to generate a common connectivity,
which is generally accomplished by decomposing each object
into several patches, embedding the patches into a 2D
parametric domain, and finally merging the corresponding
embeddings to form a common mesh [12,14,15]. This approach
has three drawbacks. First, since objects are represented as
dense polygon meshes, e.g., the target object (car seat) in Figure
11 containing 75,232 points (149,044 polygons),
the large data set is difficult to manipulate. Second, the
differences in size, scale, and topology between the source and
target objects pose more problems. For example, the source
object (human face) in Figure 11 contains 10,490 points (20,370
polygons) and it is much smaller than the target object (car seat).
To handle this situation, most morphing techniques involve the
use of a sparse set of user selected feature pairs to guide
decomposition and to establish an initial coarse correspondence,
upon which a dense correspondence can be based [12,13].
However, manually marking correspondence feature points on
3D objects has proven to be a difficult and tedious task. As the
selection of these feature pairs will affect the morphing result, it
is not an easy task even for skilled animators to achieve
esthetically pleasing morphs. Third, the common connectivity
generated is object dependent. If either the source or target
object is changed, the whole process of establishing
correspondences must be repeated. Therefore, the motivation of
our research is to automatically construct a compact 3D
representation and establish a dense object correspondence
between objects, without any user interferences. Moreover, the
process is object independent.
In this paper, we propose a novel approach to automatically
reconstructing a single patch B-Spline surface directly from an
unstructured 3D point cloud representing a complex object. B-
Spline surface-fitting techniques offer smooth, compact and
reproducible parametric representations and are commonly
supported by current modelling systems. However, previous
research on 3D modelling did not address the correspondence
issues among objects. Complex surfaces are often reconstructed
using a network of surface patches [5,10]. Due to the
uncertainty in the automatic division of surface patches, it is
difficult to establish correspondences between objects.
Our B-Spline 3D object representation is: 1) unique 2)
compactness for storage 3) allowing one-to-one mapping from
object space to a parameter space. Since the parameter space is
object independent, once objects are reconstructed using our
approach through the parameter space, correspondence between
any pair of objects can be automatically established. The whole
process, including surface reconstruction and correspondences,
only takes less than 1 seconds, measured on an average sized
point cloud (about 11,000 vertices).
The rest of this paper is organised as follows. Section 2
reviews the related work on 3D metamorphosis and modelling.
The differences between our work and previous approaches are
also examined in this section. The proposed techniques are
presented and evaluated in Section 3. Section 4 shows the
potential applications and example results, and conclusion is
given in Section 5.
2. PREVIOUS WORKS
There are two major categories of 3D morphing techniques:
volume-based approach and surface-based approach [2,16].
Although the volume-based approach can support genus
changing well, it is usually very computationally expensive
[4,17]. Since our work falls into the surface-based category, in
this section, the related works are briefly reviewed.
Generally, two steps are needed in a surface-based 3D
metamorphosis: one is to establish the correspondence between
source and target objects. The other is to create a sequence of
intermediate objects interpolating between corresponding points
on the objects. We will focus on the correspondence problem.
A common approach to establishing a correspondence
between two objects is to generate a common connectivity for
both the source and target objects [8,12,13,14,15]. Kanai et al.
[11] use harmonic mapping to embed both source and target
objects into a two-dimensional unit circle to establish vertex
correspondence. An extended work is introduced in [12], in
which a method is employed to partition polygon meshes into
sub-regions and a similar scheme [11] is then applied to each
sub-region. Gregory et al. [7] present a similar method to
partition meshes. The correspondence between sub-meshes of
two objects is then established using a greedy area-preserving
mapping. Alexa [1] and Kent [9] embed polyhedral models into
a unit sphere. Lee et al. [13] specify vertex pairs on the original
meshes and employ a multi-resolution parameterization
algorithm to generate coarse models. The coarse models are
then merged to establish correspondence with the assistance of
a harmonic map. Since manually partitioning models or making
feature pairs is not an easy task for animators, Shlafman et al.
[19] propose a clustering method to automatically decompose
models into meaningful patches. However, this approach cannot
guarantee suitable corresponding patches generation. Parent [18]
also presents an automatic algorithm which recursively finds a
correspondence between the surfaces of two objects of
equivalent topologies. This algorithm uses several sheets for
covering the whole object. In addition, the two objects must
have an equal number of sheets.
To summarise, previous 3D metamorphosis techniques use
raw data output from 3D acquisition devices directly.
Disadvantages include 1) large data set is difficult to manipulate
efficiently. Interpolation will produce even more data in the
form of triangles and vertices; 2) manually partitioning objects
or pairing feature points is not an easy task, and automatic
objects decomposition cannot guarantee correspondences
between surface patches; 3) the generated common connectivity
is object dependent. Thus, we need a compact 3D representation
which allows automatic one-to-one object independent mapping
between objects.
B-Spline surface-fitting techniques offer smooth, compact
and reproducible parametric representations and are commonly
supported by current modelling systems. There has been
considerable work on fitting B-Spline surfaces to 3D point
clouds. Generally they can be classified into two categories:
reconstructing a surface either as a single B-Spline patch or
many patches stitched together. The work described in [10] and
[5] is a typical example of 3D modelling using many patches
where B-Spline surface-fitting is employed for each patch
separately, assuming that each patch can be rectangular
parameterised (girding algorithm). For acomplex 3D object, e.g.
a human face, to fulfil this requirement, the surface must be
divided into many small patches. However, there is no
guarantee that all objects can be divided in the same way.
Figure 1 shows example results of fitting multiple B-Spline
patches into two scans of the same person. The 1st scan (left
column) is composed of 140 patches fitting while the 2nd scan
(right column) is of 214 patches. Besides the nontrivial problem
of keeping the surface continuous across shared boundaries and
corners, it is difficult to establish correspondences between
objects.
Figure 1 Multiple B-Spline patches fitting. Top row: original
point clouds. Middle row: polygon models constructed from
point clouds. Bottom row: B-Spline surfaces composed of
uncertain number of patches.
The most straightforward consideration is to use a single B-
Spline patch based on a common parameter space to describe
any object. Although single B-Spline patch fitting can avoid the
problem of division uncertainty and eliminate the nontrivial
consideration on surface continuity, previous approaches are
limited to gird data representing simple topological
relationships, e.g. a deformed quadrilateral region or a
deformed cylinder, see Figure 2, as proposed by Forsey and
Bartels [6].
Figure 2 Single B-Spline patch fitting on grid data as a
deformed cylinder.
In contrast, our approach is capable of automatically
reconstructing a single B-Spline surface directly from an
unstructured 3D point cloud representing a complex object. Any
reconstructed surface representation is based on one common
parameter space. Example results are given in Figure 3. For
reasons of comparison, same data used in Figure 1 are
examined in our case. Detailed algorithm implementation is
presented in next section.
Figure 3 A single B-Spline patch automatically reconstructed
from unstructured point clouds. 1st row: Input 2D images. 2nd
row: Original point clouds. 3rd row: 3D reconstruction using a
single B-Spline patch. 4th row: Reconstructed 3D faces with
textures extracted from images shown in the 1st row.
3. B-SPLINE MODELLING
The 3D modelling problem can be stated as follows: given a
unstructured point cloud P: pi (xi, yi, zi), find a single B-Spline
surface which fits the point cloud best. A B-Spline surface is
defined as the set of points that can be obtained by evaluating
the following equation for all the parameter values of sand t:
cd
n
jjihi
m
igj pCtNsBts
0,,
0,)()(),( ( 1 )
where
Ci,j is a matrix made bymncontrol points of the surface,
0
i
m, and 0
j
n.
Bj,g(s) is the B-Spline basis functions of degree g in the s-
direction, defined over a sequence of distinguished values,
known as the knot vector U=[u0, u1, …, ul]:
0
1
)(
0, sB j( 2 )
)()()( 1,1
11
1
1,, sB
uu
su
sB
uu
us
sB gj
jgj
gj
gj
jgj
j
gj
( 3 )
Similarly, Ni,h(t) is defined over the knot vector V=[v0, v1, …,
vk] in the t-direction with degree h.
3.1 Single Patch B-Spline Surface Fitting
As mentioned in the previous section, we aim to represent a
complex object, e.g. a face, by a single B-Spline surface patch.
For grid data, Equation 1 can be rewritten as:
n
j
m
icdjichidgjcd tsCtNsBp 0 0 ,,, ),())()(( ( 4)
It is clear from this equation that the surface-fitting problem is
decomposed into 2 steps: (1) solving a set curves fitting
problem, as in Equation 5, which are all defined on a uniform
knot vector U, (2) solving m set curves fitting problem, as
shown in Equation 6, which are all defined on a uniform knot
vector V.
n
jjcdgjcd QsBp
0,, )( ( 5 )
m
ijichijc CtNQ 0,,, )( ( 6)
However, for non-grid data representing complex object, each
curve will be defined on a different non-uniform knot vector
and have different size of control points, see Equation 7-10,
where nXnY. Therefore, we need to standardise the knot vector
of each curve to one knot vector, e.g. U for the first step, and
have control points of each curve in the same size as well. More
details are given as below:
Suppose F and L are two of m curves being fitted onto the
original non-grid dataset independently. F is defined on knot
vector X=[x0, x1, …, xnx+g+1] by nx+1 control points f: [f1, f2, …,
fnx]; L is defined on knot vector Y=[y0, y1, …, yny+g+1] by nY+1
control points l: [l1, l2, …, lny].
X
n
iigi fxBxF 0,)()( ( 7)
)()()( 1,1
11
1
1,, xB
xx
xx
xB
xx
xx
xB gi
igi
gi
gi
igi
i
gi
( 8)
Y
n
jjgj lyNyL 0,)()( ( 9 )
)()()( 1,1
11
1
1,, yN
yy
yy
yN
yy
yy
yN gj
jgj
gj
gj
jgj
j
gj
( 10 )
The aim is to have X’=Y’=U, where X’ and Y’ are new knot
vectors after standardising X and Y respectively. Instead of
simply merging all knot vectors together [20], i.e. X’=Y’=X∪
Y=U, our approach is to standardise all knot vectors to a pre-
defined knot vector U=[u0, u1, …, un+g+1]. In contrast to the
previous method, our approach does not result in a rapid growth
of the uniform knot vector. The method works as follows: for
each element in U and X, if xiU, xiis untouched; If k. (uk
U) (ukX), insert ukinto X; The control points fare re-
calculated as f’=[f’1, f’2, …, f’n]Tand the basic function
becomes:
)()()( 1,1
11
1
1,, xB
uu
xu
xB
uu
ux
xB gk
kgk
gk
gk
kgk
k
gk
( 11 )
The original curve is thus equal to:
k
n
kgk fxBxF
0,)()( ( 12 )
Similarly, control points lare re-calculated as l’=[l’1, l’2, …,
l’n]T, and the basic function is re-defined on U:
)()()( 1,1
11
1
1,, yN
uu
yu
yN
uu
uy
yN gk
kgk
gk
gk
kgk
k
gk
( 13 )
n
kkgk lyNyL 0,)()( ( 14 )
if uj
s <uj+1
otherwise
From Equation 11 and 14, it can be seen that the basis functions
B’ and N’ are identical, which can be generalised as:
)()()( 1,1
11
1
1,, sQ
uu
su
sQ
uu us
sQ gk
kgk
gk
gk
kgk
k
gk
( 15 )
Consequently, Equation 12 and 14 are rewritten as:
f
AsfsQsF n
kkgk
)()()( 0,( 16 )
lA slsQsL n
kkgk
)(')()( 0,( 17 )
where A(s)=[Q0,g(s) Q1,g(s) … Qn,g(s)].The same process will
be applied on each of the n curves. Equation 4 can then be
applied to non-grid data to find a single underlying surface.
The examples of reconstructed single B-Spline
representation are shown in Figure 3 and 4(c). In the reason of
comparison, we also applied the multiple B-Spline patches
fitting algorithm on the same data set, Figure 4(d). In Figure 5,
both the single B-Spline patch and multiple B-Spline patches
representations are measured against the original data set. The
colours are used to indicate the differences between the
reconstructed models and the original model. The standard
deviation in Figure 5(a) is 0.001536mm while it is 0.000005mm
in Figure 5(b). More comparison results are given in Figure 9.
(a) (b)
(c) (d)
(e) (f)
Figure 4 Comparisons between a single B-Spline patch fitting
and multiple B-Spline patches fitting. (a) and (b) Different
views of original car seat polygon model, including 75,232
vertices and 149,044 polygons. (c) Car seat represented as a
single B-Spline patch. (d) Car seat reconstructed by 129 B-
Spline patches. (e) The overlap view of single B-Spline patch
and original polygon model. (f) The overlap view of multiple B-
Spline patches and original polygon model.
(a) (b)
Figure 5 Difference analysis. (a) Comparison between the
reconstructed single B-Spline patch and the original data. The
standard deviation is 0.001536mm. (b) Comparison between the
multiple B-Spline representation and the original data. The
standard deviation is 0.000005mm.
Table 1 Performance comparisons between our approach and
the multiple B-Spline patches modelling method.
Mode A single B-Spline
surface modelling Multiple B-Spline
patches modelling
Vertices 75, 232 75, 232
Triangles ---- 149, 044
Modelling time 1.55 sec. 44.31 sec.
3.2 Correspondence
In Section 3.1, the method of finding the underlying single B-
Spline surface for an object is examined. For any object, the
same process can be applied independently. Therefore, each
object can be defined on its own pair of knot vectors and has
different number of control points. Knot vector standardisation
can be applied to every object. Similar to the Equation 16 and
17, Equation 1 can be rewritten as
C
A
tsts ),(),( ( 18 )
Given a pair of parameter (s,t) , Ais same for every object. Thus
C=[c0,0 …cm,0 c0,1 …cm,1 …cm,n]TR3of size of (m+1)×(n+1)
defines the unique shape of a surface, i.e. Cis shape descriptors.
Thus, we have established a direct mapping between the
parameter domain (s, t) : [0,1][0,1] and the object space
R3via C. Rendered B-Spline surfaces defined by shape
descriptors are shown in Figure 3(3rd row) and Figure 4(c).
Shape descriptors have several important properties, including:
Allowing direct one-to-one mapping from the parameter
domain to the object space. For each pair of parameter
value (s, t), there is a unique corresponding B-Spline
surface point in the object space.
Affine-invariance. The same result will be obtained either
transforming a B-Spline surface itself or its shape
descriptors. Shape descriptors contain only geometrical
properties of the object, not position, scale or orientation.
Compact representation for 3D objects. The approach can
achieve over 90% compression rate and yet similar
rendering result to that using polygon representation. For
example, the original data set showed in Figure 4(a)
includes 75,232 points and 149,044 polygons, while all the
information required to render the smooth surface shown
in Figure 4(c) is a set of shape descriptor Cof size 616.
Textured rendering results are given in Figure 6.
Figure 6 Textured-rendering results. Left: Polygon model
(composed of 20370 triangles). Right: single B-Spline model
(rendered using shape descriptors of size 616 points).
With the one-to-one mapping from the parameter domain to the
object space, the corresponding surface points between models
can then be generated. From the discussion above, it is known
that for each pair of parameters (s, t), each face model has a
unique corresponding B-spline surface point:
),(),( tsts k
( 19 )
),(),( 1tsts k
( 20 )
Therefore, B-Spline surface points
k(s, t) and
k+1(s, t) are
uniquely mapped, i.e.
),(),( 1tsts kk
( 21 )
By sampling the parameter domain, e.g. uniform sampling, we
obtain a set of corresponding B-Spline surface points on each
face model.
4. APPLICATIONS
4.1 3D Morphable Model
Shape descriptors are very compact for representing 3D objects.
Unlike some common techniques for data compression such as
principal components analysis (PCA) describing an object as a
weighted sum of principal components which often bear little
resemblance to the underlying interdependent structure of
biological forms [3], shape descriptors have clearly topological
information attached. Therefore, the reconstructed 3D model
can be further employed for the interactive modelling purpose,
i.e. the 3D model built in Section 3 is morphable. By changing
the values of shape descriptors, the underlying surface is
modified in a predictable way, as shown in Figure 7 and 8.
(a) (b) (c)
Figure 7 Changing facial attributes (a) Loosing weight (b)
Normal status (c) Gaining weight.
(a) (b)
Figure 8 Changing facial attributes. (a) Before. (b) After.
4.2 3D Morphing
As we mentioned in Section 2, surface-based 3D
metamorphosis, which realizes shape transformation from
surface model
1to
2, consists of two steps: 1) establishing a
dense correspondence from each point of
1to a point of
2and
2) creating a series of intermediate objects by interpolating
corresponding points from their original positions on
1to the
target positions on
2.
The issue of correspondences has been discussed in Section
3.2. Since the shape descriptors Cof each object only needs to
be computed once and can be done in advance, the issue of
establishing correspondences on objects
1and
2has been
simplified as calculating
C
A
tsts 1
1),(),( ( 22 )
C
A
tsts 2
2),(),( ( 23 )
where the value of A(s, t) is only related with the sampling
scheme on the common parameter domain [0, 1][0, 1].
1(s, t)
and
2(s, t) are corresponding surface points consequently.
Since A(s, t) is same for all objects when the same sampling
scheme is adopted, A(s, t) can be computed once in advance,
making correspondences established in a more efficient way.
To create a series of intermediate objects between
1and
2,
we simply apply linear interpolation between corresponding
points. Supposing n intermediate objects
i(1 in) are
wanted, they are generated by
)),(),((
1
),(),( 121 tsts
n
i
tsts
i
( 24 )
Smooth morphing result from one face to another is shown in
Figure 10. Four intermediate faces are displayed between the
start face (left end) and the destination face (right end). If either
the source or the target object is changed, only Equation 24
needs to be re-calculated to obtain the morphing sequence.
Supposing target object is changed from
2to
3and m
intermediate objects are required while source object is still
1,
then the intermediate objects
j(1 jm) are computed as
)),(),((
1
),(),( 131 tsts
m
j
tsts
j
( 25 )
Figure 11 and 12 demonstrate another morphing sequence
where the source and target objects have very different sizes,
scales and topologies. The source object in Figure 12 is same to
the source object in Figure 10.
By simply changing the sampling scheme, the morphing
sequence can be rendered in different resolutions. Similarly,
A(s’, t’) can be computed one time for all objects.
5. CONCLUSIONS
A novel 3D modelling technique is presented offering an
alternative solution to 3D metamorphosis. In contrast to
previous works directly manipulating basic rendering elements
– vertices and polygons, our approach provides compact
representations for 3D objects, i.e. using shape descriptors,
containing only the object’s geometrical properties. Despite
high compression rate, rendering result using shape descriptors
is still similar to that using the original polygon representation,
Figure 6. Moreover, one-to-one mapping from the object space
to a common parameter space can be established. Through the
common parameter space, any pair of objects can automatically
have dense correspondences established, which is independent
to the 3D modelling process. Therefore, shape descriptors of
each object only needs to be computed once in advance.
Consequently, whenever either the source or the target object is
changed, only a linear equation needs to be re-calculated to
obtain a new morphing sequence. This is advantageous over the
common connectivity generation process, with which the whole
process of establishing correspondences must be repeated.
The system has been tested on a personal computer (Pentium
4/512M RAM). Since the timing and performance are related to
the size of original input data, the measurements are given out
in Table 1-3 separately. For a typical input (Table 2), i.e. the
original data consists of average 10,000 vertices, it takes 0.77
second for the 3D modelling process, described in Section 3.1.
We also examine system performance when input data set is
large (Table 1). In this case, the whole process took 1.55
seconds to reconstruct the single B-Spline surface directly from
75,232 points. Performance comparison between two sequences
of 3D metamorphosis is given in Table 3. In the first morphing
sequence, the source object has similar shape, scale and size as
the target object while in the second case, the source and target
objects have very different sizes, scales and topologies. The
total morphing times for both cases are all about 0.78 seconds,
since the 3D morphing is now based on the compact 3D
representations, using shape descriptors rather than the original
raw data.
Though our approach provides a smooth and compact B-
Spline representation for surfaces, it may not be the best for
preserving fine geometric details of objects. To overcome this
problem, a displacement map may be computed for each pixel
in which an offset from a point on a surface to a point in the
original raw data is recorded. Texture mapping is another
economical solution to make up for the loss of fine surface
details. Modelling objects with sharp edges using a single B-
Spline patch may overly smooth the edges which animators
may want to keep. Since the sharp edges are rather easy to
detect, they can be used to guide the object division into several
patches. The single patch B-Spline modelling technique can be
applied to each patch independently. In this case, although
multiple B-Spline patches are needed, the amount of the patches
can be significantly reduced compared to previous approaches.
The nontrivial problem of enforcing G1continuity between
adjacent patches is also avoided in this case. Similar solution
can be applied to objects with very complex surfaces.
Table 2 Performance comparisons between our approach and
the multiple B-Spline patches modelling method.
Mode Vertices Triangles Modelling
time
A single B-Spline
surface modelling 10, 490 ------ 0.77 sec.
Multiple B-Spline
patches modelling 10, 490 20, 370 37.05 sec.
Table 3 Performance of 3D morphing.
Morphing
sequence Correspondence Creating
intermediate objects
Face to face
(Figure 10) 0.122 sec. 0.66 sec.
Face to car-seat
(Figure 12) 0.118 sec. 0.61 sec.
6. REFERENCES
[1] Alexa, M. (2000) Merging Polyhedral Shapes with Scattered
Features. The Visual Computer, vol. 16, no. 1, pp. 26-37.
[2] Alexa, M. (2001) Mesh Morphing. STAR: State of Art
Report, Eurographics.
[3] Blanz, V. and Vetter, T. (1999) A Morphable Model for the
Synthesis of 3D Faces. In Proceeding of ACM SIGGRAPH,
LA, pp.187-194.
[4] Cohen-Or, D., Levin, D. and Solomovici, A. (1998) Three-
Dimensional Distance Field Morphing. ACM Transactions
of Graphics, vol. 17, no. 2, pp. 116-141.
[5] Eck, M. and Hoppe, H. (1996) Automatic Reconstruction of
B-Spine Surfaces of Arbitrary Topological Type. Proc. 23rd
Int. Conf. on Computer Graphics and Interactive
Techniques SIGGRAPH '96, ACM, New York, NY. pp.
325-334.
[6] Forsey, D. and Bartels, R. (1995) Surface Fitting with
Hierarchical splines, ACM Transactions on Graphics, vol.
14, no. 2, pp. 134-161.
[7] Gregory, A., State, A., Lin, M. Manocha, D. and Livingston,
M. (1999) Interactive Surface Decomposition for
Polyhedral Morphing. The Visual Computer, vol. 15, no. 9,
pp. 453-470.
[8] Hutton, T. (2004) Dense Surface Models of the Human
Face. PhD thesis.
[9] Kent, J., Carlson, W. and parent, R. (1992) Shape
Transformation for Polyhedral Objects. In Computer
Graphics (Proc. SIGGRAPH 92), pp. 47-54. ACM Press,
New York.
[10] Krishnamurthy, V. and Levoy, M. (1996) Fitting Smooth
Surfaces to Dense Polygon Meshes. ACM-0-89791-746-
4/96/008.
[11] Kanai, T., Suzuki, H. and Kimura, F. (1998) Three-
Dimensional Geometric Metamorphosis Based on
Harmonic Maps. The Visual Computer, vol. 14, pp. 166-
176.
[12] Kanai, T., Suzuki, H. and Kimura, F. (2000)
Metamorphosis of Arbitrary Triangular Meshes. IEEE
Computer Graphics and Applications, pp 62-75.
[13] Lee, A., Dobkin, D., Sweldens, W. and Schroder, P. (1999)
Multiresolution Mesh Morphing. Proceedings of
SIGGRAPH 99, pp. 343-350.
[14] Lee, T. and Huang, P. (2003) Fast and Intuitive
Metamorphosis of 3D Polyhedral Models Using SMCC
Mesh Merging Scheme. IEEE Transactions on Visualization
and Computer Graphics, vol. 9, no. 1.
[15] Lin, C. and Lee, T. (2004) Metamorphosis of 3D
Polyhedral Models Using Progressive Connectivity
Transformations. IEEE Transactions on Visualization and
Computer Graphics, vol. 10, no. 6.
[16] Lazarus, F. and Verroust, A. (1998) Three-Dimensional
Metamorphosis: A Survey. The Visual Computer, vol. 14,
pp. 373-389.
[17] Lerious, A., Garfinkle, C. and Levoy, M. (1995) Feature-
based Volum3 Metamorphosis. ACM SIGGRAPH conf.
Proceedings, pp.449-456.
[18] Parent, R. (1992) Shape Transformation by Boundary
Representation Interpolation: A Recursive Approach to
Establishing Face Correspondences. Journal of
Visualization and Computer Animation, 3(4): 219-239.
[19] Shlafman, S., Tal, A. and Katz, S. (2002) Metamorphosis
of Polyhedral Surfaces Using Decomposition.
EUROGRAPHICS, vol. 21, no. 3, pp. 219-228.
[20] Watt, A. and Watt, M. (1992) Advanced Animation and
Rendering Techniques: Theory and Practise. Addison-
Wesley.
(a1) (b1) (c1) (d1)
(a2) (b2) (c2) (d2)
Figure 9 Comparisons between a single B-Spline patch fitting and multiple B-Spline patch fitting. (a1) Original points cloud. (a2)
Polygons model constructed from point cloud (b1) Face reconstructed by one B-Spline patch directly from (a1). (b2) Same face
reconstructed by 214 B-Spline patches based on the polygon model in (a2). (c1) Overlap of a single B-Spline patch and the original
polygon model. (c2) Overlap of multiple B-Spline patches and the original polygon model. (d1) Comparison between the reconstructed
single B-Spline patch and the original data. (d2) Comparison between multiple B-Spline representation and original data.
Figure 10 Smooth 3D metamorphosis sequences between similar objects, un-textured and textured morphing sequences.
Figure 11 Original data sets of source object (human face) and target object (car seat) (Polygonal models)
Figure 12 Smooth 3D metamorphosis sequences. The source and target have different sizes, scales and topologies.