+ model ARTICLE IN PRESS
G1 surface modelling using fourth order geometric flows
Guoliang Xu *, Qing Pan
State Key Lab of Scientific and Engineering Computing, Institute of Computational Mathematics, Academy of Mathematics
and System Science, Chinese Academy of Sciences, Haidian, Zhongguancun Donglu #55, Beijing 100080, China
Received 27 May 2005; accepted 12 November 2005
Abstract
We use three fourth order geometric partial differential equations to efficiently solve several surface modelling problems, including surface
blending, N-sided hole filling and free-form surface fitting with the G1 boundary continuity. The non-linear equations we use include the surface
diffusion flow, the quasi surface diffusion flow and the Willmore flow. These non-linear equations are discretized using a mixed finite element
method based on a combination of the Loop’s basis and the linear basis. The proposed approach is simple, efficient and gives very desirable
results.
q 2005 Elsevier Ltd. All rights reserved.
Keywords: Geometric PDEs; Surface blending; N-sided hole filling; Free-form surface fitting; Mixed finite element method
1. Introduction
We use three geometric partial differential equations
(GPDEs) to solve several surface modelling problems. The
GPDEs we use include the surface diffusion flow, the quasi
surface diffusion flow and the Willmore flow. These equations
are non-linear and geometrically intrinsic, i.e. they do not
depend upon any particular parametrization. The problems we
solve include surface blending, N-sided hole filling and free-
form surface fitting with the G1 boundary continuity.
For the problems of surface blending andN-sided hole filling,
we are given triangular surface meshes of the surrounding area.
Triangular surface patches need to be constructed to fill the
openings enclosed by the surrounding surface mesh and
interpolate its boundary with the G1 continuity (see Figs. 1
and 7). For the free-form surface fitting problem, we are given a
set of points. We construct a surface which interpolates the
points with the specified G1 continuity. The free-form surface
fitting problem is the most general, including surface blending
and N-sided hole filling as its special cases.
There are basically two classes of approaches for solving a
GPDE on any domain. One class is based on the generalized
finite divided differences, the other is based on the finite
element method (see [3,13,18,25]). The approach we adopt in
0010-4485//$ - see front matter q 2005 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cad.2005.11.002
* Corresponding author. Tel.: C86 10 6262 4352; fax: C86 10 6254 2285.
E-mail address: [email protected] (G. Xu).
this paper is based on a mixed finite element method. The
generalized finite divided difference method has been used in
[47]. It is well known that the finite divided difference method
is simpler and easier to implement, but lacks the convergence
analysis. The finite element method is not as simple as the finite
divided difference method, but is based on a well developed
mathematical foundation. In this paper, we use a mixed finite
element method consisting of using the Loop’s subdivision
basis for representing the surfaces and the linear basis for
representing the curvatures. As the Loop’s subdivision surface
is C2 (except for the extraordinary vertices whose valences are
not six), its curvature is continuous, we use the C0 linear
element to approximate the curvature.
Our two-step strategy for solving these surface modelling
problems is as follows: firstly we construct an initial triangular
surface mesh (‘filler’) using any automatic, semi-automatic
free-form modelling techniques (see [1,23,32]) or more
advanced techniques based on the level set method
(see [12,40]). One may also interactively edit this ‘filler’ to
meet some weak assumptions for an initial solution shape. This
‘filler’ may be bumpy or noisy, and it does not have to satisfy
the smoothness boundary conditions, though it may roughly
characterize the shape of the surface to be constructed.
Secondly, we deform the initial mesh by solving a suitable
geometric flow. Unlike most of the previous free-form
modelling techniques, our approach treats the smooth
boundary continuity constraints without any prior estimation
of normals or derivative jets along the boundary. In this paper,
we devote our attention to solving GPDEs with the G1
Computer-Aided Design xx (2006) 1–12
www.elsevier.com/locate/cad
Fig. 1. (a) Shows a head surface with the broken jaw. (b) Shows an initial minimal surface filler construction of the broken part. (c) and (d) Are the restoration
surfaces, after 50 iterations, generated using quasi surface diffusion flow and Willmore flow, respectively. The time step-length is chosen to be 0.0001.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–122
+ model ARTICLE IN PRESS
boundary continuity constraints, rather than the construction of
the initial filler.
1.1. Previous work
Earlier research on using PDEs to handle the surface
modelling problems can be traced back to Bloor et al.’s work
at the end of the 1980s [6,7]. They use the biharmonic equation
on a rectangular domain to solve the blending and the hole filling
problems. The biharmonic equation on a rectangular domain is
linear, so can be solved easily. Recently, this equation and its
generalizations have been frequently used in interactive surface
design (see [17,39]) and interactive sculpting (see [16]). Lowe et
al. present a PDE method in [27] with certain functional
constraints, such as geometric constraints, physical criteria and
engineering requirements, which can be incorporated into the
shape design process. However, the biharmonic equation is not
geometrically intrinsic and its solution (the geometry of the
surface) depends on the concrete parametrization. Furthermore,
these methods are inappropriate for modelling surfaces with
arbitrary shaped boundaries. In contrast, the equations used in
this paper are geometrically intrinsic.
The mean curvature flow (MCF) and its variations have
been intensively used to smooth or fair noisy surfaces
(see [3,11,14,29] for references). MCF has been shown to be
the most important and efficient flow for fairing or denoising
surface meshes. However, for the surface modelling anti design
problems, MCF cannot achieve the G1 smooth joining of the
different patches. Recently, fourth order geometric flows have
been used to solve the surface blending problem and the free-
form surface fitting problem (see [10,35,36,47]). In [35], fair
meshes with the G1 conditions are created in the special case
where the meshes are assumed to have the subdivision
connectivity, using the surface diffusion flow. In this work,
the local surface parametrization is used to estimate the surface
curvatures. The same equation is used in [36] for smoothing
meshes while satisfying the G1 boundary conditions. The outer
fairness (the smoothness in the classical sense) and the inner
fairness (the regularity of the vertex distribution) criteria are
used in their fairing process. The finite element method is used
by Clarenz et al. [10] to solve the Willmore flow equation,
based on a new variational formulation of the flow, for the
surface restoration.
Level set methods have also been used in surface fairing and
surface reconstruction (see [2,5,9,31,43,48]). In these methods,
surfaces are formulated as level surfaces of 3D functions,
which are usually defined from the signed distance over
Cartesian grids of a volume. An evolution PDE on the volume
governs the behavior of the level surface. To reduce the
computation complexity, Bertalmio et al. [5] solve the PDE in a
narrow band for deforming vectorial functions on surfaces. The
level set method is also used in hole filling of surfaces. The
pioneering work by Davis et al. [12] addresses the problem of
filling holes with complicated topology via the volumetric data
diffusion. Inspired by this work, Verdera et al. [40] propose an
alternative by introducing a system of geometric PDEs derived
from image inpainting algorithms.
Another category of surface fairing research is based on
optimization techniques. In this category, one constructs an
optimization problem that minimizes certain objective func-
tions [20,22,30,34,41], such as the thin plate energy, the
membrane energy [24], the total curvature [25,42], or the sum
of distances [28]. Using local interpolation, fitting or replacing
differential operators with divided difference operators, the
optimization problems are discretized to arrive at finite
dimensional linear or non-linear systems. Approximate sol-
utions are then obtained by solving the constructed systems. In
general, such an approach is quite computationally intensive.
1.2. Main results
We use the surface diffusion flow, the quasi surface
diffusion flow and the Willmore flow for solving each of the
surface modelling problems. We propose a novel stratagem for
the treatment of the boundary conditions, a beautiful
combination of the Loop’s subdivision space and the linear
element space. The proposed approach is simple and easy to
implement. It is general, i.e. solves several surface modelling
problems in the same manner, and gives very desirable results
for a range of the complicated free-form surface models.
Furthermore, it avoids the estimation of normals, tangents or
curvatures on the boundaries.
The rest of the paper is organized as follows: Section 2
describes the non-linear GPDEs used in this paper. Section 3
gives the variational forms of GPDEs. In Section 4, we give the
details of the discretization of the variational forms in both the
spatial and the temporal directions. Comparative examples to
illustrate the different effects achievable from the solutions of
these GPDEs are given in Section 5. Some mathematical
details are provided in appendices.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–12 3
+ model ARTICLE IN PRESS
2. Partial differential equation models
Let us consider the non-linear GPDE models used in this
paper. Several involved differential geometry operators, such
as the Laplace–Beltrami operator, gradient and mean
curvature, are presented in Appendix A.
2.1. Surface diffusion flow (see [36])
LetM0 be a compact immersed orientable surface in R3. The
surface diffusion flow (SDF) consists of finding a family
[35,36] {M(t): tR0} of smooth orientable surfaces in R3 which
evolve according to the following equation
vp
vtZK½DMHðpÞ�ðnðpÞ; Mð0ÞZM0;
vMðtÞZG;
8><>: (2.1)
where DM denotes the Laplace–Beltrami operator defined on
M, H and ðn are the mean curvature and the surface normal of
M, respectively. The existence and uniqueness of the solutions
for this flow is given in [19]. It is well known, that the surface
diffusion flow is area shrinking and volume preserving for a
closed surface.
2.2. Willmore flow
Using the notations above, the Willmore flow (WF) is
defined as
vp
vtZK½DMHC2HðH2KKÞ�ðn; Mð0ÞZM0;
vMðtÞZG;
8><>: (2.2)
where K is the Gaussian curvature. Surfaces satisfying the
equation DMHC2H(H2KK)Z0 are called the Willmore
surfaces or the thin-plate surfaces, which arise as the critical
points of the functional (see [44], page 282)
WðMÞ :Z
ðM
H2 ds:
Willmore flow evolves surfaces in such a way as to reduce
the total quadratic curvature. The existence and uniqueness of
the solutions for this flow is given in [37].
2.3. Quasi surface diffusion flow
The quasi surface diffusion flow (QSDF) is defined as
(see [47])
vp
vtZKD2
Mp; Mð0ÞZM0;
vMðtÞZG:
8><>: (2.3)
This flow is not area/volume preserving. The experiments
conducted in this paper show that it sometimes behaves better
than SDF and WF for our geometry modelling problems.
However, the theoretical analysis on the existence and stability
of its solution is currently unavailable.
Remark 2.1. The solutions of GPDEs are time dependent. We
consider two possibilities for the time span of the evolution.
One is the short time evolution, where we require the solution
to respect to the initial shape or geometry (see Figs. 7 and 8).
The other is the long time evolution, where the initial filler
provides merely a topological structure, and what we look for is
a stable solution state of the flow (see Figs. 1 and 6). In the
short time evolution, the solution depends heavily on the initial
surface. While in the long time evolution, the solution does not
depend on the initial surface very much.
In the following, Eqs. (2.1)–(2.3) are solved using a mixed
finite element method. The solving process includes the
following steps:
1. Reformulate Eqs. (2.1)–(2.3) into systems of coupled
second order equations.
2. Establish the variational formulations of the coupled
systems.
3. Linearize the variational formulations and obtain linear
systems of equations.
4. Solve the linear systems to obtain the numerical solutions.
These steps are detailed in the next two sections.
3. Variational form
In Eqs. (2.1)–(2.3), the surface point p is an unknown to be
determined. Solving these fourth order equations for the
unknown p using the finite element method is not straightfor-
ward. Instead, we formulate each of the fourth order equations
into a coupled system of two second order equations by treating
the mean curvature H(p) as an unknown variable. As a result,
(2.1) and (2.2) are reformulated as
vp
vtZKDM½HðpÞ�ðnðpÞ;
HðpÞZ1
2ðnðpÞTDMp;
8>>>><>>>>:
(3.1)
and
vp
vtZK
�DMHðpÞC2HðpÞðHðpÞ2KKðpÞÞ
�ðnðpÞ;
HðpÞZ1
2ðnðpÞTDMp;
8>>>><>>>>:
(3.2)
respectively. Let ðH ðpÞ be the mean curvature normal at p. Then
we have DMpZ2 ðH ðpÞ2R3 (see Appendix A). Regarding the
mean curvature normal ðH ðpÞ as an unknown variable, we
Fig. 2. Classification of vertices. The solid dots are interior control vertices. The
empty dots are one-ring neighbor (boundary) vertices. The solid squares are
two-ring neighbor vertices. The shaded region is U0. The region enclosed by
the two-ring neighbor vertices is U1.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–124
+ model ARTICLE IN PRESS
formulate (2.3) as follows
vp
vtZK2DM
�ðH ðpÞ
�;
ðH ðpÞZ1
2DMp:
8>>>><>>>>:
(3.3)
These second order systems can easily be transformed into
variational formulations. Let f, j2H0(M) be the test functions
with compact supports. Then, by Green’s formula (see
Appendix A), we haveðM
ðnfDMH dpZK
ðM
VM½ðnf�VMH dp;
ðM
jðnTDMp dpZK
ðM
Trace VMððnjÞðVMpÞT
� �dp;
where Trace[$] denotes the trace of a square matrix. From
(A.2) and (A.3), we can derive that
Trace VMððnjÞðVMpÞT
� �Zj Trace VMððnÞðVMpÞ
T� �
:
Therefore, the variational form of (3.1) is as follows:
Find (p, H(p)) such thatðM
vp
vtf dpK
ðM
VM½ðnðpÞfðpÞ�VMHðpÞdpZ 0; cf2H10ðMÞ;
(3.4)
ðM
Hj dpC1
2
ðM
TracehVMððnÞðVMpÞ
Tij dpZ0; cj2H1
0 ðMÞ:
Similarly, the variational form of the Willmore flow is
Find (p,H(p)) such thatðM
vp
vtf dpK
ðM
VM½ðnðpÞf�VMH dp
C
ðM
2ðnfHðH2KKÞdpZ 0; cf2H10 ðMÞ;
(3.5)
ðM
Hj dpC1
2
ðM
TracehVMððnÞðVMpÞ
Tij dpZ 0; cj2H1
0 ðMÞ:
Finally, the variational form of the quasi surface diffusion
flow is
Find ðp; ðH ðpÞÞ such thatðM
vp
vtfðpÞdpK2
ðM
VMðH ðpÞVMfðpÞdpZ 0; cf2H1
0ðMÞ;
(3.6)
ðM
ðH ðpÞjðpÞdpC1
2
ðM
VMpVMj dpZ 0; cj2H10 ðMÞ:
In the next section, we will discretize separately these
variational forms by representing p and H(p) in certain finite
dimensional function spaces.
4. Solution of GPDEs
Consider a triangular surface mesh U with vertices
p1,p2,.,pn. For each vertex pi, we associate it with a C2
smooth basis function fi. Then the surface M is represented as
pZXnjZ1
fjðqÞpj2R3; q2U; (4.1)
where p1,p2,.,pn are regarded as the control vertices of M.
Now we classify these control vertices into several
categories. The first category consists of interior vertices,
denoted as p1; p2;.; pn0 . The positions of these vertices are
to be determined (unknown). For the problems of hole filling
and blending, the interior vertices are those in the openings
(see Fig. 2, the solid dots). For the problem of free-form
surface design, all the non-interpolating vertices are interior
(see Fig. 3, the solid dots). Apart from the interior vertices,
the remaining vertices are classified as one-ring neighbors
(see Fig. 2, the empty dots), two-ring neighbors (see Fig. 2,
the solid squares), etc. according to their distance to the
interior vertices. For instance, the one-ring neighbors are all
the vertices adjacent to the interior ones, the two-ring
neighbors are all the remaining vertices adjacent to the one-
ring neighbors, etc. The k-ring neighbor control vertices are
denoted as pnkK1C1;.; pnk . All the one-ring, two-ring, etc.
neighbor vertices are fixed. It should be noted that the set of
the k-ring (kR1) neighbor vertices may be empty.
In our variational formulations of GPDEs, the mean
curvature (normal) is also treated as an unknown function.
Hence, for each control vertex pi, we also associate it with a
continuous basis function ji for representing the mean
curvature and the mean curvature normal
HðpÞZXnjZ1
jjðqÞhj2R; q2U; (4.2)
Fig. 3. Classification of vertices. The solid dots are the interior control vertices.
The empty ones are the interpolated vertices.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–12 5
+ model ARTICLE IN PRESS
ðH ðpÞZXnjZ1
jjðqÞðhj2R3; q2U; (4.3)
respectively. Here, hj and ðhj denote the mean curvature and the
mean curvature normal at pj.
Suppose that fi(q) and ji(q) have compact supports and the
sizes of their supports are 2 and 1, respectively. At a k-ring
neighbor vertex, the surface point does not depend upon the
interior vertices if kR2, so the mean curvature (normal) there
is well defined from the surface. However, at the interior and
the one-ring neighbor vertices, the corresponding surface
points relate to unknown vertices. Then the mean curvature
(normal) there cannot be determined from the surface. Hence,
we treat these mean curvatures (normal) as unknowns. In a
word, the unknown vertices are
p1; p2;.; pn0 ;
the unknown mean curvatures are
h1; h2;.; hn0 ; hn0C1;.; hn1 ;
and the unknown mean curvature normals are
ðh1; ðh2;.; ðhn0 ;ðhn0C1;.; ðhn1 :
In the next two sub-sections, we will obtain matrix
forms of the used GPDEs by substituting (4.1)–(4.3) into
(3.4)–(3.6).
Note that the proposed scheme needs the value of the mean
curvature (normal) at each vertex. For an interior or one-ring
neighbor vertex, the mean curvature (normal) is an unknown in
the equation to be solved, but an initial value at tZ0 is
required. For a k-ring neighbor vertex (kR2), this value needs
to be computed previously and keeps fixed afterwards (see
Remark 4.3 for how this value is computed).
4.1. Spatial direction discretization
Now we construct one equation for each unknown vertex
pj (jZ1,.,n0) and another equation for each unknown
curvature hj (jZ1,.,n1). This is achieved by the following
operations:
(a) Substituting (4.1) and (4.2) into (3.4) and (3.5),
respectively.
(b) Taking the test functions f and j to be fi (jZ1,.,n0)
and ji (jZ1,.,n1), respectively.
(c) Using the fact that vpj(t)/vtZ0 for jOn0 (since pj is
fixed).
(d) Moving the terms relating to the known vertices pn0C1
;.; pn3 and the known mean curvatures hn1C1;.; hn2 to
the right-handed side.
Then we obtain the following matrix form for both (3.4) and
(3.5)
Mð1Þn0
vPn0ðtÞ
vtKLð1Þn1
Hn1ðtÞZBð1Þ;
Mð2Þn1Hn1
ðtÞCLð2Þn0Pn0
ðtÞZBð2Þ;
8><>: (4.4)
where
Pn0ðtÞZ ½pT1 ðtÞ;.; pTn0 ðtÞ�
T2R3n0 ;
Hn1ðtÞZ ½h1ðtÞ;.; hn1 ðtÞ�
T2Rn1
are the vertices and the mean curvatures to be determined, and
Mð1Þn0
2R3n0!3n0 ; Mð2Þ
n12R
n1!n1 ;
Lð1Þn12R
3n0!n1 ; Lð2Þn02R
n1!3n0 ;
Bð1Þ2R3n0 ; Bð2Þ2R
n1
are the coefficient matrices and the right-handed sides. The
detail descriptions of these matrices are given in Appendix B.
Similarly, substituting (4.1) and (4.3) into (3.6), we obtain
the following matrix form
Mð3Þn0
vPn0ðtÞ
vtKLð3Þn1
Hn1ðtÞZBð3Þ;
Mð4Þn1Hn1
ðtÞCLð4Þn0Pn0
ðtÞZBð4Þ;
8><>: (4.5)
where
Pn0ðtÞZ ½p1ðtÞ;.; pn0ðtÞ�
T2Rn0!3;
Hn1ðtÞZ ½ðh1ðtÞ;.; ðhn1ðtÞ�
T2Rn1!3
are the vertices and the mean curvature normals to be
determined, and
Mð3Þn0
2Rn0!n0 ; Mð4Þ
n12R
n1!n1 ;
Lð3Þn12R
n0!n1 ; Lð4Þn02R
n1!n0 ;
Bð3Þ2Rn0!3; Bð4Þ2R
n1!3
are the coefficient matrices and the right-handed sides.
The detail descriptions of these matrices are given in
Appendix C.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–126
+ model ARTICLE IN PRESS
Note that the sizes of the coefficient matrices in (4.4) are
larger than those of the matrices in (4.5). But the right-handed
sides of (4.5) have three columns.
Remark 4.1. In order to insure the G1 continuity at the
boundary, we solve GPDEs over the whole domain U rather
than the openings U0 (see Fig. 2). However, owing to
the compactness of the supports of the basis functions and
the fact that certain vertices are fixed, the real solving
domain is a sub-region of U. Now let us make this
point more specific. Let pi and pj be two vertices of U.
If there exists a route consisting of k edges of U that
connects pi and pj, and the number k is minimal, we say the
distance between pi and pj is k, denoted as dist(pi, pj).
Let supp(fi)3U and supp(ji)3U denote the supports of fiand ji, respectively. Then supp(fi)hsupp(fj)Z: if dist(pi,
pj)O3, supp(fi)hsupp(jj) Z: if dist(pi, pj)O2 and
supp(jj)hsupp(jj)Z: if dist(pi, pj)O1. As results of
these facts, we have
1. The coefficient matrices of the systems (4.4) and (4.5) are
highly sparse.
2. The unknown vertices p1;.; pn0 relate only to the
vertices p1;.; pn3 and the unknown mean curvatures h1;
.; hn1 relate to h1;.; hn2 :
3. Let
Uk Z[nkiZ1
supp ðjiÞ; kZ 0; 1:
Then it is obvious that U03U1. Traditionally, GPDEs are
solved over the domain U0 using specified boundary
conditions. In our spatial discretization, GPDEs are solved
over the extended domain U1 (see Fig. 2) and the surface
information (the surface point and the mean curvature) outside
U0 is used. Therefore, the condition of the G1 continuity on the
boundary is automatically satisfied.
Remark 4.2. As we have mentioned, if a vertex is not
interior, it is fixed during the evolution process. A fixed
vertex can be a boundary one of a opening, or an interpolated
one. However, no matter what kind a fixed vertex is, we treat
it in the same way. It should be noted that there is no
topological restriction on which vertex is treated as interior.
Once the interior vertices are specified, the remained are
fixed.
Fig. 4. The quartic BB-form coefficients (each has a factor 1/24), in barycentric
coordinates of the domain triangles, of the basis function fi at the regular
vertices. The coefficients on the other five macro-triangles are obtained by
rotating the top macro-triangle around the center to the other five positions.
4.2. Finite element spaces
Before introducing the used finite element spaces, we first
give a simple lemma.
Lemma 4.1. Suppose that M consists of piecewise smooth
patches Tl with boundaries Gl, lZ1,.,m:
M Z[mlZ1
Tl; Ti+hTj
+Z:; vðTlÞZGl;
where Tl+denotes the interior of Tl. If the surface normal ðn is a
constant vector on each of the patches Tl, the second terms of
(3.4) and (3.5) vanish.
The lemma implies that if we use a piecewise linear surface
patch to represent the surface M, the second equations of (3.4)
and (3.5) always give zero solutions. Therefore, the linear
element space cannot be used to represent the surface M under
the current variational formulations.
Now let us introduce two finite element spaces Eh and Fh for
representing the surfaces and the curvatures, respectively. Let
Eh Z span½f1;.;fn�; Fh Z span½j1;.;jn�;
where the basis functions fi and ji are defined for the vertex
pi. In our implementation, fi is defined as the limit function
of the Loop’s subdivision scheme for the control values one
at pi and zero at other vertices. It is known that fi is a
quartic box spline. Fig. 4 shows the BB form representation,
in barycentric coordinates of the domain triangles, of fi at
the regular vertices. If vertex pi is irregular, local subdivision
is needed around pi until the parameter values of interest are
interior to a regular patch (see [3] for details). The size of the
support of fi is 2. Our ji is defined as a piecewise linear
function which has the values 1 at pi and 0 at other vertices.
Hence, the size of the support of ji is 1. Since, ji is a
piecewise linear function, its evaluation is straitforward. For
evaluating fi, we employ the fast computation scheme
proposed by Stam [38].
Remark 4.3. Note that the proposed scheme needs the value of
the mean curvature at each vertex. For an ordinary vertex (its
valence is 6), Loop’s subdivision surface is C2, the mean
curvature can be computed directly from the surface. If the
vertex is extraordinary (its valence is not 6), the mean
curvature is computed by a fitting scheme-proposed in [46].
Other C2 basis, such as the spline basis defined in [21], can be
used instead of the Loop’s basis. Considering the complexity of
the implementation, we prefer to use the Loop’s basis.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–12 7
+ model ARTICLE IN PRESS
4.3. Temporal direction discretization
Let us first consider the temporal direction discretization of
SDF and WF. Suppose we have the approximate solutions PðkÞn0
ZPn0ðtkÞ and HðkÞ
n1ZHn1
ðtkÞ. We want to construct the
approximate solutions PðkC1Þn0
and HðkC1Þn1
for the next time step
tkC1ZtkCt(k) using a semi-implicit Euler scheme. That is, the
derivative ðvPn0=vtÞ is replaced by ½Pn0
ðtkC1ÞKPn0ðtkÞ�=t
ðkÞ, and
the matricesM(1),M(2), L(1) and L(2) in (4.4) are computed using
the surface data at tk. Such a treatment yields a linear system of
the equations with the unknowns PðkC1Þn0
and HðkC1Þn1
:
Mð1Þn0
KtðkÞLð1Þn1
Lð2Þn0Mð2Þ
n1
" #PðkC1Þn0
HðkC1Þn1
" #Z
tðkÞBð1Þ CMð1Þn0PðkÞn0
Bð2Þ
" #:
The coefficient matrix of this system is highly sparse, hence
an iterative method for solving it is desirable. ThoughM(1) and
M(2) are symmetric and positive definite, the total coefficient
matrix of the system is not. We use Saad’s iterative method
[33], named GMRES, to solve the system. The experiment
shows that this iterative method works very well.
The temporal direction discretization of QSDF is very
similar to that of SDF, we ignore the details.
5. Examples and remarks
In this section, we give several examples to illustrate the
different effects of QSDF, SDF and WF and how these GPDEs
are used to solve the different modelling problems in a uniform
fashion.
5.1. Comparing the three flows
The experiments show that QSDF, SDF andWF can be used
to smooth noising surfaces. The results of the short time
evolution of the three flows are very similar. The long-term
evolution produces different results. Fig. 5 shows the different
outcomes of the three flows. (a) shows the initial mesh. (b) and
(c) are the evolution results of QSDF after two and four
iterations, and (d) and (e)/(f) and (g) are the ones of SDF/WF
after four and 12 iterations. The time step-length is all chosen
to be 0.01. Since SDF is volume preserving, it tends to respect
to the initial shape more closely than QSDF andWF do. Hence,
SDF is more desirable for surface fairing. It should be observed
Fig. 5. Different effects of QSDF, SDF andWF. (a) Shows the initial mesh. (b), (c) Ar
the evolution results of SDF/WF after 4 and 12 iterations. The time step-length is
that QSDF shrinks the surface rapidly while WF inflates the
surface.
5.2. Surface blending
Given a collection of surface meshes with boundaries, we
construct a fair surface to blend the meshes with the G1
continuity at the boundaries. Fig. 6 shows the case, where three
cylinders to be blended are given (figures (a), (f) and (k)) with
initial G0 constructions (figures (b), (g) and (m)) using [1] with
additional noise. The fair blending surfaces (c), (h) and (n) are
generated using QSDF, (d), (i) and (o) using SDF, (e), (j) and
(p) using WF. The shown figures, except (c), are the results
after 50 steps of evolution with the time step-length 0.001. (c)
shows the result after 35 evolution steps. At this time moment
singularities nearly occur due to the shrinkage effect of QSDF.
These figures clearly show the G1 smoothness and the
difference of the blending surfaces. QSDF and WF produce
thinner and fatter surfaces than SDF does, respectively. This
observation is consistent with the results shown in Fig. 5.
Comparing with the input in figure (f), the input cylinders in
figure (a) are moved apart, while the input cylinders in figure
(k) are enlarged in their radius directions. The aim of giving
different inputs is to show the effects of the inputs to the shapes
of the solution surfaces of GPDEs.
We have mentioned that SDF is volume preserving. QSDF
shrinks the surface while WF has the inflation effect. These
features are remarkable when the openings to be filled are
relatively large (see the first row of Fig. 6). On the contrary, if
the openings are relatively small, there is not too much room
for the solution surfaces to make a significant difference each
other. Comparing with the input of the first row of Fig. 6, the
input of the third row has much smaller openings. As a
consequence, the solution surfaces shown in the figures (n), (o)
and (p) have no notable differences.
5.3. N-sided hole filling
Given a surface mesh with holes, we construct fair surfaces
to fill the holes with the G1 continuity on the boundaries. Fig. 7
shows such an example, where a bunny mesh with several
complex shaped holes is given (figure (a)). An initial G0
construction of the holes is shown in (b) with noise added. The
fair blending surface (figure (c)) is generated using WF. The
e the evolution results of QSDF after two and four iterations. (d), (e), (f), (g) Are
chosen to be 0.01 for the three flows.
Fig. 6. Blending three cylinders. (a), (f) and (k) Show three cylinders to be blended. (b), (g) and (m) Show the initial constructions with added noise. (c), (h) and (n)
Are the faired blending meshes generated using QSDF. (d), (i) and (o) Are the faired blending meshes generated using SDF. (e), (j) and (p) Are the faired blending
meshes generated using WF. These figures, except (c), show the results after 50 evolution steps with the time step-length 0.001. (c) Shows the result after 35
iterations.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–128
+ model ARTICLE IN PRESS
mesh of (d) is the same as (c) but shaded in one color. This
example is used to illustrate the smoothing effect of short term
evolution with G1 boundary constraints. Fig. 1 shows another
example, a head mesh with the broken jaw (figure (a)). An
initial G0 minimal surface filler construction of the jaw is
shown in (b), which is generated by the mean curvature flow.
The restoration surfaces (figures (c) and (d)) are generated
using QSDF and WF, respectively. This example is used to
illustrate the effect of the long-term evolution. It should be
observed that WF produces a little more bosomy restoration
surface. In this example, we do not present the result of SDF,
because it is hard to tell the difference between the result of
SDF and the one of WF by the human eyes.
5.4. Smooth surface construction from triangular mesh
Fig. 8 shows the free-form fitting approach from an input
triangular mesh, where (a) shows the input triangular surface
Fig. 7. (a) Shows a bunny mesh with several complex shaped holes. (b) Shows an i
color) are the faired filler surfaces, after 2 iterations, generated using the Willmore
mesh with the G1 continuity requirement at the vertices. Figure
(b) shows an initial construction of the surface mesh. The
initial construction is achieved by subdividing each of the input
triangles into 64 sub-triangles by sampling a constructed
triangular A-patch (see [45]) on a uniform grid. Noise is added
to the newly generated vertices. Since, we intend to respect to
the input shape of the cow, SDF is used. (c) Is the faired mesh
by SDF, after three iterations with t(k)Z0.00003. The obtained
surface interpolates the input points and exhibits the G1
smoothness everywhere.
5.5. Running times
We summarize in Table 1 the computation time needed
by our examples. The algorithm was implemented in CCCrunning on a Dell PC with a 3.0 GHz Intel CPU. The
second column in Table 1 is the number of unknowns.
These numbers are counted as 4n0 for SDF and WF (each
nitial filler construction. (c) (Shaded in different colors) and (d) (shaded in one
flow. The time step-length is chosen to be 10K5.
Fig. 8. Interpolating points. (a) Shows some input points and their triangulation. (b) Shows an initial construction of the surface mesh. (c) Is the evolution result of
SDF after 3 iterations with t(k)Z3!10K5.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–12 9
+ model ARTICLE IN PRESS
vertex has x, y, z variables and a mean curvature value) and
6n0 for QSDF (each vertex has x, y, z variables and a mean
curvature normal). Here, n0 is the number of interior
vertices. The real number of unknowns is a little bigger,
because the unknown mean curvatures at the boundaries are
not counted. The fifth column in the table is the time (in
seconds) for forming the coefficient matrix (one time step).
The integrations in the matrix are computed by a 24-point
Gaussian quadrature rule. That is, each domain triangle is
subdivided into four sub-triangles and a 6-point Gaussian
quadrature rule is employed on each of the sub-triangles.
The 6-point Gaussian quadrature rule has error bound O(h5)
(see [4] for a set of Gaussian quadrature rules), where h is
the maximal edge length. In the presented examples, h
ranges from 0.021 to 0.11. The sixth column is the number
of evolution steps. The last column is the total time for
solving the linear systems. The linear systems are solved by
GMRES iterative method. The threshold value of control-
ling the iteration-stopping is taken to be 10K5, about the
single word-length accuracy.
The computation costs greatly depend on how accurate
GPDEs are solved. In the presented examples, we control the
computation accuracy from numerical analysis point of view.
However, from computer graphics and engineering points of
view, the accuracies of the numerical integrations and the
solutions of the linear system are not necessarily that high.
Hence, the algorithm can be accelerated in several aspects,
Table 1
Running times
Examples Flows No. of unknowns t(k)
Fig. 1c) QSDF 750 0.0001
Fig. 1(d) WF 500 0.0001
Fig. 5(b) QSDF 4596 0.01
Fig. 5(d) SDF 3064 0.01
Fig. 5(f) WF 3064 0.01
Fig. 6(h) QSDF 5034 0.001
Fig. 6(i) SDF 3356 0.001
Fig. 6(j) WF 3356 0.001
Fig. 7(c) WF 10276 0.00001
Fig. 8(c) SDF 189000 0.00003
First column: examples. Second column, the flows used; third column, the number
fourth column, the temporal step-size; fifth column, the time in seconds for comp
column, the time cost of one step for solving the linear systems. The algorithm wa
including using a lower accuracy Gaussian quadrature rule,
taking a larger iteration-stopping threshold value, applying a
good pre-conditioner (such as incomplete LU decomposition)
in solving the linear system and even employing multi-grid
techniques based on a hierarchical mesh representation
(see [26]).
Remark 5.1. In this paper, our attention is focused on
smooth surface interpolation with complex geometric
boundaries. We assume that the topology of the original
object (without holes) is known. It should be pointed out
that the initial surface construction is a challenging problem.
For simple cases, such as the hole is equivalent to a disk,
the topology can be automatically recovered. However, in
real applications (i.e. laser scanning of 3D objects), the
input surface can contain many holes with complex
topology. These holes are usually repaired with volumetric
techniques (see, for example, the work of Davis et al. [12]
or more recent results of Verdera et al. [40]). In [12], the
implicit form mean curvature flow is used, which leads to
the area-minimal filling surface, hence, the filling surface is
not G1. Therefore, the output of the level set approach may
be used as the input of our approach to produce the high
quality filling surface, such as Willmore surface with G1
continuity.
Finally, let us summarize the main features of the proposed
methods in this paper. Advantages and disadvantages are listed
as follows.
Form matrix No. of steps Solving time
0.049 50 0.187
0.161 50 0.103
0.210 2 0.780
0.504 4 0.720
0.532 4 0.735
0.308 50 0.964
0.756 50 1.051
0.812 50 1.026
4.136 2 6.899
14.90 3 24.94
of unknowns (the unknown mean curvatures at the boundary are not counted);
uting the coefficient matrix; sixth column, the number of evolution steps; last
s implemented in CCC running on a Dell PC with a 3.0 GHz Intel CPU.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–1210
+ model ARTICLE IN PRESS
5.5.1. Advantages
(a) The algorithm produces very fair and desirable solution
surfaces with G1 continuity at the boundaries. There is no
restriction on the shapes of the boundaries.
(b) It is simple and easy to implement comparing with
previous finite element approaches.
(c) It uses a uniform fashion to solve the problems of surface
blending, N-sided hole filling and free-form surface
fitting.
(d) It treats the smooth boundary continuity problem in an
easy and natural way as if there are no boundary
conditions, and therefore, avoids a prior estimation of
normals or derivative jets on the boundaries.
(e) Comparing with the finite divided difference method, the
finite element approach is based on a well-developed
mathematical foundation.
5.5.2. Disadvantages
(a) The finite element approach is slower than the divided
difference method, since numerical integrations are
required for computing the coefficient matrices of the
linear systems. Furthermore, the coefficient matrices have
more non-zero elements than those of the divided
difference method (see [47]).
(b) The algorithm requires a technique, such as automatic,
semi-automatic free-form modelling technique
(see [1,32]) or the level set method (see [12,40]), for
constructing the initial surfaces.
Acknowledgements
The work was supported by in part by NSFC grant
10371130, National Key Basic Research Project of China
(2004CB318000).
Appendix A. Background material
In this appendix, we introduce some background material
from differential geometry. Let M3R3 be a two-dimensional
manifold, and {(Ua, pa); a2I} be the differentiable structure.
The mapping pa with p2pa(Ua) is called a parametrization of
M at p.
A.1. Laplace–Beltrami operator and mean curvature
Denote the coordinate Ua as (x1, x2), then for f2C2(M), the
Laplace–Beltrami operator DM applying to f is given by
(see [15])
DMf Z1ffiffiffig
pXij
v
vxi
ffiffiffig
pgij
vf
vxj
� �; (A1)
where gijZðtTi ðt j, GZ ðgijÞ2i;jZ1, G
K1Z ðgijÞ2i;jZ1 and ðt iZvp=vxi.
Then we can derive, from (A1), that (see also [44], page 151)
DMpZ 2 ðH ðpÞ2R3;
where ðH ðpÞ is the mean curvature normal. Mean curvature
normal is a vector whose direction is the surface normal and
whose length is the mean curvature. Let
HðpÞZ h ðH ðpÞ; ðnðpÞiZ ðnðpÞT ðH ðpÞ:
Then H(p) is the mean curvature.
A.2. Gradient
Let f be a smooth function onM. Then the gradient operator
VM acting on f is given by (see [8], page 102)
VMf Z ½t1; t2�GK1Vf 2TpM;
where VfZ ½ðvf ðpðx1; x2ÞÞ=vx1Þ; ðvf ðpðx1; x2ÞÞ=vx2Þ�T2R
2 and
TpM is the tangent space of M at p. Note that the gradient VMf
is a vector in the tangent plane of the surface. For a vector-
valued function ðFZ ½f1; f2; f3�T2R
3, we define
VMðF Z ½VMf1;VMf2;VMf3�
T2R3!3:
In particular,
VMpZ ½t1; t2�GK1½t1; t2�
T; p2M: (A2)
Hence, VMp is a symmetric and non-negative definite
matrix. Let f2R and ðF2R3 be a smooth function and a
vector-valued function on M, respectively. Then it is easy to
derive that
VMð ðFfÞZfVMðF C ðFðVMfÞ
T: (A3)
A.3. Green’s formula
Let T be a region on M with the boundary G and let g be a
smooth function on T. Then we have Green’s formulaðT
gDMf dpC
ðT
ðVMgÞTVMf dpZ
ðT
gDnf ds;
where n2TpM is the outward normal of G, DnfZnTVf.
Appendix B. Spatial diecretization of SDF and WF
Substituting (4.1) and (4.2) into (3.4) and (3.5), taking the
test functions f and j to be fi (iZ1,.,n0) and ji (iZ1,.,n1),
respectively, and noticing the fact that vpj(t)/vtZ0 for jOn0,
we obtain the following matrix form of (3.4) and (3.5)
Mð1Þn0
vPn0ðtÞ
vtKLð1Þn2
Hn2ðtÞZ 0;
Mð2Þn2Hn2
ðtÞCLð2Þn3Pn3
ðtÞZ 0;
8><>: (B1)
where
PjðtÞZ pT1 ðtÞ;.; pTj ðtÞ� �T
2R3j;
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–12 11
+ model ARTICLE IN PRESS
HjðtÞZ ½h1ðtÞ;.; hjðtÞ�T2R
j;
Mð1ÞK Z mð1Þ
ij
� �n0;3K
ijZ1; Mð2Þ
K Z mð2Þij
� �n1;K
ijZ1;
Lð1ÞK Z lð1Þij
� �n0;K
ijZ1; Lð2ÞK Z lð2Þij
� �n1;3K
ijZ1;
and
mð1Þij Z
ðM
fifj dp
24
35I3; mð2Þ
ij Z
ðM
jijj dp;
lð1Þij Z
ðM
VMððnfiÞVMjjdp; for SDF;
lð1Þij Z
ðM
VMððnfiÞVMjjKðnjjðH2KKÞfi
ihdp; for WF;
lð2Þij Z1
2
ðM
jiðVMfjÞT½VMððnÞ
Tdp:
Moving the terms of (B1) relating to the known vertices
pn0C1;.; pn3 and the known mean curvatures hn1C1;.; hn2 to
the right-handed side, the system can be rewritten as
Mð1Þn0
vPn0ðtÞ
vtKLð1Þn1
Hn1ðtÞZBð1Þ;
Mð2Þn1Hn1
ðtÞCLð2Þn0Pn0
ðtÞZBð2Þ:
8><>:
Note that Mð1Þn0
and Mð2Þn1
are symmetric and positive definite
matrices. The integrations in the matrices are computed by the
Gaussian quadrature formula (see [3] for details). The gradient
of ðn is computed as
VM ðn Zvðn
vx1;vðn
vx2
� GK1
�ðt1; ðt2
�T;
vðn
vxiZ
ðt1i!ðt2 Cðt1!ðt i2jjðt1!ðt2jj
K
ðt1!ðt2
�ðt1!ðt2
�Tðt1i!ðt2 Cðt1!ðti2�
jjðt1!ðt2jj3
;
where ðt ijZv2p=vxivxj
�:
Appendix C. Spatial diecretization of QSDF
Substituting (4.1) and (4.3) into (3.6), taking the test
functions f and j to be fi (iZ1,.,n0) and ji (iZ1,.,n1),
respectively, and noticing the fact that ((pj(t)/(tZ0)) for jOn0,
we obtain the following matrix form of (3.6)
Mð3Þn0
vPn0ðtÞ
vtKLð3Þn2
Hn2ðtÞZ 0;
Mð4Þn2Hn2
ðtÞCLð4Þn3Pn3
ðtÞZ 0;
8><>: (C1)
where
PjðtÞZ ½p1ðtÞ;.; pjðtÞ�T2R
j!3;
HjðtÞZ�ðh1ðtÞ;.; ðhjðtÞ
�T2Rj!3;
Mð3ÞK Z mð3Þ
ij
� �n0;K
ijZ1; Mð4Þ
K Z mð4Þij
� �n1;K
ijZ1;
Lð3ÞK Z lð3Þij
� �n0;K
ijZ1; Lð4ÞK Z lð4Þij
� �n1;K
ijZ1;
and
mð3Þij Z
ðM
fifj dp; mð4Þij Z
ðM
jijj dp;
lð3Þij Z 2
ðM
ðVMjjÞTVMfi dp;
lð4Þij Z1
2
ðM
ðVMfjÞTVMji dp:
Moving the known terms of (C1) to the right-handed side,
the system can be rewritten as
Mð3Þn0
vPn0ðtÞ
vtKLð3Þn1
Hn1ðtÞZBð3Þ;
Mð4Þn1Hn1
ðtÞCLð4Þn0Pn0
ðtÞZBð4Þ:
8><>:
Note that Mð3Þn0
and Mð4Þn1
are symmetric and positive definite
matrices.
References
[1] Bajaj C, Ihm I. Algebraic surface design with hermite interpolation. ACM
Trans Graph 1992;19(1):61–91.
[2] Bajaj C,Wu Q, Xu G. Level-set based volumetric anisotropic diffusion for
3D image denoising. ICES technical report 03-10, University of Texas at
Austin; 2003.
[3] Bajaj C, Xu G. Anisotropic diffusion of surface and functions on surfaces.
ACM Trans Graph 2003;22(1):4–32.
[4] Bajaj C, Xu G, Warren J. Acoustics scattering on arbitrary manifold
surfaces. In: Proceedings of geometric modeling and processing, theory
and application, Japan; 2002. p. 73–82.
[5] Bertalmio M, Sapiro G, Cheng LT, Osher S. A framework for solving
surface partial differential equations for computer graphics applications.
CAM report 00-43. UCLA, Mathematics Department; 2000.
[6] Bloor MIG, Wilson MJ. Generating blend surfaces using partial
differential equations. Comput Aided Des 1989;21(3):165–71.
[7] Bloor MIG, Wilson MJ. Using partial differential equations to generate
free-form surfaces. Comput Aided Des 1990;22(4):221–34.
[8] Do Carmo MP. Differential geometry of curves and surfaces. Englewood
Cliffs, New Jersey; 1976.
[9] Chopp DL, Sethian JA. Motion by intrinsic laplacian of curvature.
Interface Free Bound 1999;1:1–18.
[10] Clarenz U, Diewald U, Dziuk G, Rumpf M, Rusu R. A finite element
method for surface restoration with boundary conditions. Comput Aided
Geom Des 2004;21(5):427–45.
G. Xu, Q. Pan / Computer-Aided Design xx (2006) 1–1212
+ model ARTICLE IN PRESS
[11] Clarenz U, Diewald U, Rumpf M. Anisotropic geometric diffusion in
surface processing. In: Proceedings of Viz2000, IEEE visualization, Salt
Lake City, Utah; 2000. p. 397–505.
[12] Davis J, Marschner R, Garr M, Levoy M. Filling holes in complex
surfaces using volumetric diffusion. In: Proceedings of the first
international symposium on 3D data processing visualization and
transmission; 2002. p. 428–38.
[13] Deckelnick K, Dziuk G. A fully discrete numerical scheme for weighted
mean curvature flow. Numer Math 2002;91:423–52.
[14] Desbrun M, Meyer M, Schroder P, Barr AH. Implicit fairing of irregular
meshes using diffusion and curvature flow. In: SIGGRAPH99, Los
Angeles, CA, USA; 1999. p. 317–24.
[15] M. do Carmo, Riemannian geometry, Boston; 1992.
[16] Du H, Qin H. Direct manipulation and interactive sculpting of pde
surfaces. Comput Graph Forum 2000;19(3):261–70.
[17] Du H, Qin H. Dynamic PDE-based surface design using geometric and
physical constraint. Graph Models 2005;67(1):43–71.
[18] Dziuk G. An algorithm for evolutionary surfaces. Numer Math 1991;58:
603–11.
[19] Escher J, Mayer UF, Simonett G. The surface diffusion flow for immersed
hypersurfaces. SIAM J Math Anal 1998;29(6):1419–33.
[20] Greiner G. Variational design and fairing of spline surface. Comput Graph
Forum 1994;13:143–54.
[21] Gu X, He Y, Qin H. Manifold splines. ACM symposium on solid and
physical modeling; 2005.
[22] Hubeli A, Gross M. Fairing of non-manifolds for visualization.
Proceedings of viz2000, IEEE visualization, Salt Lake City, Utah;
2000. p. 407–14.
[23] Jun, Y. A piecewise hold filling algorithm in reverse engineering. Comput
Aided Des 2005;37:263–70.
[24] Kobbelt L, Campagna S, Vorsatz J, Seidel H-P. Interactive multi-
resolution modeling on arbitrary meshes. SIGGRAPH98; 1998. p. 105–
14.
[25] Kobbelt L, Hesse T, Prautzsch H, Schweizerhof K. Iterative mesh
generation for FE-computation on free form surfaces. Eng Comput 1997;
14:806–20.
[26] Lang J. Adaptive multilevel solution of nonlinear parabolic PDE systems:
theory, algorithm, and applications. Berlin: Springer; 2001.
[27] Lowe T, Bloor M, Wilson M. Functionality in blend design. Comput
Aided Des 1990;22(10):655–65.
[28] Mallet JL. Discrete smooth interpolation in geometric modelling. Comput
Aided Des 1992;24(4):178–91.
[29] Meyer M, Desbrun M, Schroder P, Barr A. Discrete differential-geometry
operator for triangulated 2-manifolds. In: Proceedings of visual
mathematics’02, Berlin, Germany; 2002.
[30] Moreton H, Sequin C. Functional optimization for fair surface design.
ACM Comput Graph 1992;409–20.
[31] Museth K, Breen D, Whitaker R, Barr A. Level set surface editing
operators. In: Siggraph02; 2002. p. 330–8.
[32] Peters J, Wittman M. Smooth blending of basic surfaces using trivariate
box spline. In: IMA 96, the mathematics of surfaces, Dundee, UK; 1996.
[33] Saad Y. Iterative methods for sparse linear systems. Second edition with
corrections; 2000.
[34] Sapidis N. Designing fair curves and surfaces. Philadelphia: SIAM; 1994.
[35] Schneider R, Kobbelt L. Generating fair meshes with G1 boundary
conditions. Geometric modeling and processing, Hong Kong, China;
2000. p. 251–61.
[36] Schneider R, Kobblet L. Geometric fairing of irregular meshes for
free-form surface design. Comput Aided Geom Des 2001;18(4):
359–79.
[37] Simonett G. The willmore flow for near spheres. Differ Integral Eq 2001;
14(8):1005–14.
[38] Stam J. Fast evaluation of loop triangular subdivision surfaces at arbitrary
parameter values. In: SIGGRAPH’98 proceedings, CD-ROM sup-
plement; 1998.
[39] Ugail H, Bloor M, Wilson M. Techniques for interactive design using the
PDE method. ACM Trans Graph 1999;18(2):195–212.
[40] Verdera J, Casellas V, Bertalmo M, Sapiro G. Inpainting surface holes;
2003. p. 903–6.
[41] Welch W, Witkin A. Variational surface modeling. Comput Graph 1992;
26:157–66.
[42] Welch W, Witkin A. Free-form shape design using triangulated surfaces.
In: SIGGRAPH’94 proceedings, vol. 28; July 1994. p. 247–56.
[43] Whitaker R, Breen D. Level set models for the deformation of solid
objects. In: Proceedings of the third international workshop on implicit
surfaces, eurographics association; June 1998. p. 19–35.
[44] Willmore TJ. Riemannian geometry. Oxford, England: Clarendon Press;
1993.
[45] Xu G. Adaptive and smooth surface construction by triangular a-patches.
AMS IP Stud Adv Math 2003;34:213–55.
[46] Xu G. Discrete laplace-beltrami operators and their convergence. Comput
Aided Geom Des 2004;21:767–84.
[47] Xu G, Pan Q, Bajaj C. Discrete surface modelling using partial differential
equations. Accepted by Comput Aided Geom Des.
[48] Zhao HK, Osher S, Merriman B, Kang M. Implicit and non-
parametric shape reconstruction from unorganized points using
variational level set method. Comput Vis Image Und 2000;80(3):
295–319.
Guoliang Xu is a Professor of Academy of
Mathematics and System Sciences, Chinese Acad-
emy of Science. His academic interests include
computational geometry, computer aided geometric
design, computational mathematics and computer
graphics. He has been involved in several govern-
ment funded projects that have investigated these
areas of research and currently concentrating on
using geometric partial different equations in surface
design and modeling.
Pan Qing is a Ph.D. student under Guoliang Xu at
Academy of Mathematics and System Sciences. Her
research interests are in the areas of computer aided
geometric design and computational mathematics.