+ model article in presslsec.cc.ac.cn/~xuguo/papers/sdarticle_geo_fem.pdf · the non-linear...

12
G 1 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 G 1 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 G 1 boundary continuity. For the problems of surface blending and N-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 G 1 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 G 1 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 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 C 2 (except for the extraordinary vertices whose valences are not six), its curvature is continuous, we use the C 0 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 G 1 Computer-Aided Design xx (2006) 1–12 www.elsevier.com/locate/cad 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). + model ARTICLE IN PRESS

Upload: others

Post on 30-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

+ 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

Page 2: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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.

Page 3: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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

Page 4: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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)

Page 5: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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.

Page 6: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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.

Page 7: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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.

Page 8: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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.

Page 9: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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.

Page 10: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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;

Page 11: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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.

Page 12: + model ARTICLE IN PRESSlsec.cc.ac.cn/~xuguo/papers/sdarticle_Geo_fem.pdf · The non-linear equations we use include the surface diffusion flow, the quasi surface diffusion flow

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.