mixed finite element methods for geometric modeling using...

18
Computer Aided Geometric Design 26 (2009) 378–395 Contents lists available at ScienceDirect Computer Aided Geometric Design www.elsevier.com/locate/cagd Mixed finite element methods for geometric modeling using general fourth order geometric flows Guoliang Xu State Key Laboratory of Scientific and Engineering Computing, Institute of Computational Mathematics, Academy of Mathematics and System Sciences, Chinese Academy of Sciences, Beijing 100080, China article info abstract Article history: Received 24 June 2008 Received in revised form 2 November 2008 Accepted 15 December 2008 Available online 7 February 2009 Keywords: Geometric partial differential equation Mixed finite element method Surface denoising Surface blending Hole filling Surface mesh refinement A variational formulation of a general form fourth order geometric partial differential equation is derived, and based on which three versions of the mixed finite element method are developed. Several surface modeling problems, including surface denoising, surface blending, hole filling and surface mesh refinement with the G 1 continuity, are taken into account. The used geometric partial differential equation is universal, containing several well-known geometric partial differential equations as its special cases. The proposed method is general which can be used to construct surfaces for geometric design as well as simulate the behaviors of various geometric partial differential equations. Experimental results show that the method is efficient and gives very desirable results. © 2009 Elsevier B.V. All rights reserved. 1. Introduction In this paper, we use a general form geometric partial differential equation (GPDE) to solve several surface modeling problems. The GPDE we use includes many well known equations as its special cases. These equations are nonlinear and geometrically intrinsic, which are solved using mixed finite element methods. The surface modeling problems we solve include surface denoising, surface blending, hole filling and mesh refinement with the G 1 continuity. For the problems of surface blending and 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 meshes and interpolate their boundaries with the G 1 continuity (see Figs. 1.1 and 5.3). For the mesh refinement problem, we are given an initial surface mesh. We construct a sequence of surface meshes which interpolates the vertices of the previous meshes with the specified G 1 continuity (see Fig. 5.4). There are basically two approaches for solving a GPDE numerically on surface. One is the generalized finite divided difference method (see Xu et al., 2006; Xu and Zhang, 2008), the other is the finite element method (see Bajaj and Xu, 2003; Deckelnick and Dziuk, 2002; Dziuk, 1991; Kobbelt et al., 1997; Xu and Pan, 2006). The approach we adopt in this paper is a mixed finite element method consisting of using the Loop’s subdivision basis for representing the surfaces and the piecewise linear basis for representing the curvatures. As the Loop’s subdivision surface is C 2 (except for the extraordinary vertices whose valences are not 6), its curvature is continuous. Therefore, we use the C 0 linear element to approximate the curvatures. The generalized finite divided difference method has been used in Xu et al. (2006), Xu and Zhang (2008). It is well known that the finite divided difference method is simpler and easier to implement, but it lacks the convergence Project support in part by NSFC grant 60773165 and National Key Basic Research Project of China (2004CB318000). E-mail address: [email protected]. 0167-8396/$ – see front matter © 2009 Elsevier B.V. All rights reserved. doi:10.1016/j.cagd.2008.12.004

Upload: others

Post on 16-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

Computer Aided Geometric Design 26 (2009) 378–395

Contents lists available at ScienceDirect

Computer Aided Geometric Design

www.elsevier.com/locate/cagd

Mixed finite element methods for geometric modeling using generalfourth order geometric flows ✩

Guoliang Xu

State Key Laboratory of Scientific and Engineering Computing, Institute of Computational Mathematics, Academy of Mathematics and System Sciences, Chinese Academyof Sciences, Beijing 100080, China

a r t i c l e i n f o a b s t r a c t

Article history:Received 24 June 2008Received in revised form 2 November 2008Accepted 15 December 2008Available online 7 February 2009

Keywords:Geometric partial differential equationMixed finite element methodSurface denoisingSurface blendingHole fillingSurface mesh refinement

A variational formulation of a general form fourth order geometric partial differentialequation is derived, and based on which three versions of the mixed finite element methodare developed. Several surface modeling problems, including surface denoising, surfaceblending, hole filling and surface mesh refinement with the G1 continuity, are taken intoaccount. The used geometric partial differential equation is universal, containing severalwell-known geometric partial differential equations as its special cases. The proposedmethod is general which can be used to construct surfaces for geometric design as wellas simulate the behaviors of various geometric partial differential equations. Experimentalresults show that the method is efficient and gives very desirable results.

© 2009 Elsevier B.V. All rights reserved.

1. Introduction

In this paper, we use a general form geometric partial differential equation (GPDE) to solve several surface modelingproblems. The GPDE we use includes many well known equations as its special cases. These equations are nonlinear andgeometrically intrinsic, which are solved using mixed finite element methods. The surface modeling problems we solveinclude surface denoising, surface blending, hole filling and mesh refinement with the G1 continuity. For the problems ofsurface blending and hole filling, we are given triangular surface meshes of the surrounding area. Triangular surface patchesneed to be constructed to fill the openings enclosed by the surrounding surface meshes and interpolate their boundarieswith the G1 continuity (see Figs. 1.1 and 5.3). For the mesh refinement problem, we are given an initial surface mesh.We construct a sequence of surface meshes which interpolates the vertices of the previous meshes with the specified G1

continuity (see Fig. 5.4).There are basically two approaches for solving a GPDE numerically on surface. One is the generalized finite divided

difference method (see Xu et al., 2006; Xu and Zhang, 2008), the other is the finite element method (see Bajaj and Xu, 2003;Deckelnick and Dziuk, 2002; Dziuk, 1991; Kobbelt et al., 1997; Xu and Pan, 2006). The approach we adopt in this paperis a mixed finite element method consisting of using the Loop’s subdivision basis for representing the surfaces and thepiecewise linear basis for representing the curvatures. As the Loop’s subdivision surface is C2 (except for the extraordinaryvertices whose valences are not 6), its curvature is continuous. Therefore, we use the C0 linear element to approximate thecurvatures. The generalized finite divided difference method has been used in Xu et al. (2006), Xu and Zhang (2008). Itis well known that the finite divided difference method is simpler and easier to implement, but it lacks the convergence

✩ Project support in part by NSFC grant 60773165 and National Key Basic Research Project of China (2004CB318000).E-mail address: [email protected].

0167-8396/$ – see front matter © 2009 Elsevier B.V. All rights reserved.doi:10.1016/j.cagd.2008.12.004

Page 2: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

G. Xu / Computer Aided Geometric Design 26 (2009) 378–395 379

Fig. 1.1. Hole filing: (a) shows a bunny mesh riddled with all complex shaped holes; (b) shows a minimal surface filler construction; (c) (shaded in differentcolors) and (d) (shaded in one color) are the faired filler surfaces, after 50 iterations, generated by taking the Lagrange function f = H2. The time step-length is chosen to be 10−6.

analysis. The finite element method is not as simple as the finite divided difference method, but is based on a well developedmathematical foundation.

Previous work. The well-known biharmonic equation and its various variations have been repeatedly used to solvethe problems of geometry modeling, such as blending and the hole filling (see Bloor and Wilson, 1989, 1990), interactivesurface design (see Du and Qin, 2005; Ugail et al., 1999) and interactive sculpting (see Du and Qin, 2000). A PDE methodbased on the biharmonic equation is proposed (Lowe et al., 1990) with certain functional constraints, such as geometricconstraints, physical criteria and engineering requirements, which can be incorporated into the shape design process. Themain advantageous using the biharmonic equation is that the equation is linear, hence it is easy to solve. However, thebiharmonic equation is not geometrically intrinsic and its solution depends on the concrete surface parametrization used.Furthermore, the biharmonic equation is defined on a rectangular domain in general, hence it is inappropriate for modelingsurfaces with arbitrary shaped boundaries. In contrast, the equations we use in this paper are geometrically intrinsic withoutthe limitation of the shape of the surface boundaries. These equations are called geometric partial differential equations(GPDE).

The simplest GPDE may be the mean curvature flow (MCF). MCF and its variations have been intensively used to smoothor fair noisy surfaces (see Bajaj and Xu, 2003; Clarenz et al., 2000; Desbrun et al., 1999; Meyer et al., 2002; Xu, 2004bfor references). These second order equations have been shown to be the most important and efficient flows for fairing ordenoising surface meshes. However, for solving the surface modeling and designing problems, MCF cannot achieve the G1

continuity at the boundary. To achieve smooth joining of different surface patches in solving the surface blending problem(see Clarenz et al., 2004; Schneider and Kobbelt, 2000, 2001; Xu et al., 2006), the fourth order geometric flows, such asWillmore flow and surface diffusion flow, have been employed. For instance, the surface diffusion flow is used in Schneiderand Kobbelt (2000) to fair surface meshes with the G1 conditions in a special case where the meshes are assumed tohave the subdivision connectivity. This equation is also used in Schneider and Kobbelt (2001) for smoothing meshes whilesatisfying the G1 boundary conditions and the requirement of the outer fairness (the smoothness in the classical sense) andthe inner fairness (the regularity of the vertex distribution). Willmore flow has been used for the surface restoration (seeClarenz et al., 2004) and surface modeling (see Xu and Pan, 2006) using the finite element method. Three fourth order flows(surface diffusion flow, Willmore flow and quasi surface flow) are treated separately using finite element method in Xu andPan (2006).

Main results. We derive a weak form formulation for a general form fourth order geometric flow. Based on this weakform three mixed form formulations are proposed. These equations are solved by newly proposed mixed finite elementmethods over surfaces. The linear systems resulting from the mixed finite element methods are solved by Saad’s iterativemethod (GMRES). An adaptive temporal step-size selection technique is incorporated into GMRES so that the iterationmethod is surely convergent. The proposed approach is simple, efficient and generic as well. It handles a class of GPDEs inthe same way and solves several surface modeling problems in the same manner. The approach is applied to solving eachof the surface modeling problems and gives very desirable results for a range of the complicated surface models.

The rest of the paper is organized as follows: Section 2 introduces some background material from differential geometryand our earlier publications. Section 3 describes the used nonlinear GPDE and its variational formulations. In Section 4, wegive the details of the discretization of the variational forms in both the spatial and the temporal directions. Comparativeexamples to illustrate the different effects achievable from the solutions of these GPDEs are given in Section 5.

2. Differential geometry preliminaries

In this section, we introduce the used notations, curvatures and several geometric differential operators, includingLaplace–Beltrami operator and Giaquinta–Hildebrandt operator etc. Some results used in this paper are also presented.

Page 3: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

380 G. Xu / Computer Aided Geometric Design 26 (2009) 378–395

Let S = {x(u, v) ∈ R3; (u, v) ∈ Ω ⊂ R

2} be a regular and sufficiently smooth parametric surface. To simplify the notationwe sometimes write w = (u, v) = (u1, u2). Let gαβ = 〈xuα ,xuβ 〉 and bαβ = 〈n,xuαuβ 〉 be the coefficients of the first and thesecond fundamental forms of S with

xuα = ∂x

∂uα, xuαuβ = ∂2x

∂uα∂uβ, α,β = 1,2, n = (xu × xv)/‖xu × xv‖,

where 〈·, ·〉 and × denote the usual scalar and cross products of two vectors, respectively, in Euclidean space R3. Set

g = det[gαβ ], [gαβ ] = [gαβ ]−1, b = det[bαβ ], [bαβ ] = [bαβ ]−1.

Curvatures. To introduce the notions of mean curvature and Gaussian curvature, let us first introduce the concept ofWeingarten map or shape operator. The shape operator of surface S is a self-adjoint linear map on the tangent space Tx S :=span{xu,xv} defined by

W : Tx S → Tx S,

such that

W (xu) = −nu, W (xv ) = −nv .

We can easily represent this linear map by a 2 × 2 matrix S = [bαβ ][gαβ ]. In particular,

[nu,nv ] = −[xu,xv ]S T

is valid. The eigenvalues k1 and k2 of S are principal curvatures of S and their arithmetic average and product are the meancurvature and the Gaussian curvature, respectively. That is

H = k1 + k2

2= tr(S)

2, K = k1k2 = det(S).

Tangential gradient operator. Let f be a C1 smooth function on S . Then the tangential gradient operator ∇ acting on fis given by (see do Carmo, 1976, page 102)

∇ f = [xu, xv ][gαβ ][ fu, f v ]T ∈ R3,

where fu and f v denote the first order partial derivatives of f with respect to the arguments u and v . The second orderpartial derivatives of f are denoted by fuαuβ below. For a vector-valued function f = [ f1, . . . , fk]T ∈ C1(S)k , we define itsgradient by

∇f = [∇ f1, . . . ,∇ fk] ∈ R3×k.

It is easy to see that

∇x = [xu,xv ][gαβ ][xu,xv ]T ,

∇n = −[xu,xv ][gαβ ]S[xu,xv ]T , (2.1)

and both ∇x and ∇n are symmetric 3 × 3 matrices.Second tangential operator. Let f be a C1 smooth function on S . Then we define the second tangential operator � acting

on f by (see Xu and Zhang, 2006)

� f = [xu, xv ][hαβ ][ fu, f v ]T ∈ R3,

where

[hαβ ] = 1

g

[b22 −b12

−b12 b11

].

Let g be another C1 smooth function on S . Then it is easy to derive that

(� f )T ∇g = (∇ f )T �g.

Third tangential operator. Let f be a C1 smooth function on S . Then the third tangential operator acting on f isdefined as (see Xu and Zhang, 2006)

f = [xu,xv ][gαβ ]S[ fu, f v ]T ∈ R3.

The three tangential operators introduced above are in the tangent space Tx S , they are linearly dependent. In fact, wehave the following lemma.

Page 4: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

G. Xu / Computer Aided Geometric Design 26 (2009) 378–395 381

Lemma 2.1. For any function f ∈ C1(S), we have

2H∇ f = f + � f . (2.2)

Proof. From the definitions of the three tangential operators we know that if the equality

2H[gαβ ] = [gαβ ]S + [hαβ ] (2.3)

holds, then (2.2) is obviously valid. From a direct calculation, (2.3) could be easily derived. �Divergence operator. Let v be a C1 smooth vector field on S . Then the divergence of v is defined by

div(v) = 1√g

[∂

∂u,

∂v

][√g [gαβ ][xu,xv ]T v

].

Note that if v is a normal vector field of S , div(v) = 0. For a matrix-valued function V = [v1, . . . , vk] ∈ C1(S)3×k , we define

div(V) = [div(v1), . . . ,div(vk)]T ∈ Rk.

Laplace–Beltrami operator. Let f be a C2 smooth function on S . Then ∇ f is a smooth vector field on S . The Laplace–Beltrami operator (LBO) � applying to f is defined by (see do Carmo, 1992, page 83)

� f = div(∇ f ).

Giaquinta–Hildebrandt operator. Let f be a C2 smooth function on S . Then the Giaquinta–Hildebrandt operator actingon f is given by (see Giaquinta and Hildebrandt, 1996, page 84)

� f = div(� f ).

For a vector-valued function f = [ f1, . . . , fk]T ∈ C1(S)k , we define

�f = div(∇f),

�f = div(�f).

For the operators introduced above, we can prove the following theorems that are frequently used in the sequel. Detailedproofs of these theorems can be found in our technical report (Zhang and Xu, 2006).

Theorem 2.1. Let x ∈ S . Then

�x = 2Hn, (2.4)

�n = −2∇H − 2H�x + �x. (2.5)

Theorem 2.2. Let x ∈ S . Then

�x = 2K n, (2.6)

�n = −∇K − K�x = −∇K − H�x. (2.7)

To derive weak forms of the considered geometric flows, we introduce a few Green’s formulas. First we introduce adivergence theorem (see Chavel, 1993, page 142).

Lemma 2.2 (Divergence theorem). Let v be a C1 smooth vector field on surface S with compact support, then∫

S

div(v)dA = 0. (2.8)

In (2.8), taking v as f v for a smooth function f , and then using the relation

div( f v) = f div(v) + 〈v,∇ f 〉,we obtain the following Green’s formula.

Page 5: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

382 G. Xu / Computer Aided Geometric Design 26 (2009) 378–395

Theorem 2.3 (Green’s formula). Let v be a smooth three-dimensional vector field on S and f ∈ C1(S) with compact support, then∫S

〈v,∇ f 〉dA = −∫

S

f div(v)dA. (2.9)

Theorem 2.4 (Green’s formula for LB operator). (See Chavel, 1993, page 142) Let h ∈ C2(S), f ∈ C1(S), with at least one of them iscompactly supported. Then∫

S

(f �h + 〈∇h,∇ f 〉) dA = 0. (2.10)

If we further assume f ∈ C2 , then∫S

(h� f − f �h)dA = 0. (2.11)

Proof. In (2.9), taking v = ∇h for the function h in C2(S), we obtain Eq. (2.10). Suppose f ∈ C2(S), then similar to (2.10),we have∫

S

(h� f + 〈∇h,∇ f 〉) dA = 0.

Using this relation and (2.10), we obtain (2.11). Hence the theorem is proved. �For GH operator, we can prove similarly the following conclusions.

Theorem 2.5 (Green’s formula for GH operator). Let f ∈ C2(S),h ∈ C1(S), with at least one of them compactly supported. Then∫S

(h� f + 〈∇ f ,�h〉)dA = 0.

If we further assume h ∈ C2 , then∫S

(h� f − f �h)dA = 0. (2.12)

3. Weak and mixed forms of a general fourth order GPDE

Euler–Lagrange equation. Let f (H, K ) ∈ C1(R × R) be a given Lagrange function. Define an energy functional

E(S) =∫

S

f (K , H)dA.

In this paper we use a vector-valued Euler–Lagrange equation derived from the complete-variation

x(w, ε) = x(w) + εΦ(w), w ∈ Ω, |ε| � 1, Φ ∈ C∞0 (S)3, (3.1)

for the functional E(S), where C∞0 (S) consists of the functions in C∞(S) with compact support. We refer a result from Xu

and Zhang (2008) as the following theorem:

Theorem 3.1. Let f (H, K ) ∈ C1(R × R). Then the Euler–Lagrange equation of the functional E(S) from the complete-variation (3.1)is

�( f K n) + 1

2�( f H n) − div( f H∇n) − div

[( f − 2K f K )∇x

] = 0 ∈ R3. (3.2)

Theorem 3.2. The weak form of (3.2) can be written as∫

S

[f H∇x�φ + ( f − 2H f H − 2K f K )∇x∇φ + 1

2f H n�φ + f K n�φ

]dA = 0, ∀φ ∈ C∞

0 (S). (3.3)

Page 6: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

G. Xu / Computer Aided Geometric Design 26 (2009) 378–395 383

Proof. By a direct calculation, it is not difficult to derive that

[gαβ ]S = 2H[gαβ ] − K [bαβ ].Using this equality and (2.1), we have

∇n = �x − 2H∇x. (3.4)

Multiplying both sides of (3.2) with φ ∈ C∞0 (S), taking integral over S , using Green formulas (2.9)–(2.12), and finally using

(3.4), we have

0 =∫

S

[�( f K n) + 1

2�( f H n) − div( f H∇n) − div

[( f − 2K f K )∇x

]]φ dA

=∫

S

[f K n�φ + 1

2f H n�φ + ( f H∇n)∇φ + [

( f − 2K f K )∇x]∇φ

]dA

=∫

S

[f K n�φ + 1

2f H n�φ + [

f H (�x − 2H∇x)]∇φ + [

( f − 2K f K )∇x]∇φ

]dA.

Noticing that �x∇φ = ∇x�φ, we obtain (3.3) in the end. �A general form geometric flow. For a given Lagrange function f (H, K ), let S0 be a given initial surface with boundary

Γ . Then the geometric flow consists of finding a family of smooth orientable surfaces {S(t); t � 0} in R3 which evolve

according to the following equation⎧⎨⎩

∂x

∂t+ �( f K n) + 1

2�( f H n) − div( f H∇n) − div

[( f − 2K f K )∇x

] = 0,

S(0) = S0, ∂S(t) = Γ.

(3.5)

Note that �( f K n) and �( f H n) involve the fourth order derivatives of S in general. The equation is of the fourth orderif f H or f K are not constant functions. If f H and f K are constants, the equation is of the third order due to the appearanceof the terms �n and �n (see (2.5) and (2.7)).

Weak form formulation. Using (3.3), we can obtain the weak form formulation of Eq. (3.5) as follows:⎧⎪⎨⎪⎩

∫S

∂x

∂tφ dA +

∫S

[f H∇x�φ + ( f − 2H f H − 2K f K )∇x∇φ + 1

2f H n�φ + f K n�φ

]dA = 0, ∀φ ∈ C∞

c (S),

S(0) = S0, ∂S(t) = Γ.

(3.6)

Assumptions. In the discussion above, we do not impose any restriction on f (H, K ). In order to make the generatedflow meaningful and well-defined. We first require that f is a smooth function about its arguments. We also assume thatf is an algebraic function, meaning it does not involve differential and integral operations about its variables. Suppose f H ,f K and f could be represented as

f H = 2αH + 2βK + μ, f K = 2γ H + 2δK + ν, f = 2ωH + 2εK + η.

The aim to represent f H , f K and f in these forms is to make H and K appear as linear factors in each of the terms in(3.6), so that semi-implicit discretizations of the equation are easily realized. To make the geometric flow independent ofthe orientation of the surface normal, we further assume that

f H (H, K ) = − f H (−H, K ), f K (H, K ) = f K (−H, K ). (3.7)

Finally, we assume that the energy density f (H, K ) � 0 such that the energy functional E(S) is non-negative in order todecrease it to a finite limit. Otherwise, an undetermined flow may be obtained. For example, Gauss curvature flow, derivedfrom taking f = H , is fallen into this category.

Mixed form formulation I. The Euler–Lagrange equation (3.2) facilitates the usage of mixed finite element method forsolving (3.5). Let h = 2Hn, k = 2K n. Then using (3.6) and the following relations

∫S

hψ dA =∫

S

�xψ dA = −∫

S

∇x∇ψ dA, ∀ψ ∈ C∞0 (S),

∫kϕ dA =

∫�xϕ dA = −

∫∇x�ϕ dA, ∀ϕ ∈ C∞

0 (S),

S S S

Page 7: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

384 G. Xu / Computer Aided Geometric Design 26 (2009) 378–395

we obtain a mixed form of Eq. (3.5) as follows: Find [x,h,k] ∈ R3×3, such that⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

∫S

∂x

∂tφ dA +

∫S

[f H∇x�φ + ( f − 2H f H − 2K f K )∇x∇φ

+ 1

2(αh + βk + μn)�φ + (γ h + δk + νn)�φ

]dA = 0, ∀φ ∈ C∞

0 (S),

∫S

hψ dA +∫

S

∇x∇ψ dA = 0, ∀ψ ∈ C∞0 (S),

∫S

kϕ dA +∫

S

∇x�ϕ dA = 0, ∀ϕ ∈ C∞0 (S).

(3.8)

For a given tangential vector t ∈ Tx(S), from the definition of the tangential gradient operator, we can derive that

(∇x)t = t.

Hence, we may replace ∇x�φ, ∇x∇φ, ∇x∇ψ and ∇x�ϕ in (3.8) with �φ, ∇φ, ∇ψ and �ϕ , respectively, to make thesystem (3.8) simpler. However, from the spatial discretization in the next section, we can see that such a replacement isnot suitable, since it makes the unknown ∇x in certain terms disappear, yielding an explicit scheme. To have an implicitscheme, we can treat certain terms in the coefficients of ∇x as unknowns. In this way, we obtain another mixed form.

Mixed form formulation II. Since

2H = nT h, 2K = nT k, (3.9)

the weak form (3.8) can be rewritten as: Find [x,h,k] ∈ R3×3, such that⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

∫S

∂x

∂tφ dA +

∫S

[μ∇x�φ + η∇x∇φ + �φnT (αh + βk) + ∇φnT [

(ω − f H )h + (ε − f K )k]

+ 1

2(αh + βk + μn)�φ + (γ h + δk + νn)�φ

]dA = 0, ∀φ ∈ C∞

0 (S),

∫S

hψ dA +∫

S

∇x∇ψ dA = 0, ∀ψ ∈ C∞0 (S),

∫S

kϕ dA +∫

S

∇x�ϕ dA = 0, ∀ϕ ∈ C∞0 (S).

(3.10)

It is well known that the tangential motion of a surface does not change the surface shape. Hence we may treat thenormal n introduced by using (3.9) as a known vector. Comparing with (3.8), the nonlinearity of (3.10) is reduced. We willillustrate this further in Section 5.

Mixed form formulation III. In (3.10), if we regard h := 2H and k := 2K as unknowns and notice that∫S

2Hψ dA =∫

S

ψ tr(x) − nT ∇x∇ψ dA,

∫S

2Kϕ dA =∫

S

ϕ tr(K∇x) − nT �x∇ϕ dA,

then we have the following mixed form: Find [x,h,k] ∈ R3 × R × R, such that⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

∫S

∂x

∂tφ dA +

∫S

[μ∇x�φ + η∇x∇φ + �φ(αh + βk) + ∇φ

[(ω − f H )h + (ε − f K )k

]

+ 1

2(αh + βk + μ)n�φ + (γ h + δk + ν)n�φ

]dA = 0, ∀φ ∈ C∞

0 (S),

∫S

hψ dA −∫

S

ψ tr(x) − nT ∇x∇ψ dA = 0, ∀ψ ∈ C∞0 (S),

∫S

kϕ dA −∫

S

ϕ tr(K∇x) − nT �x∇ϕ dA = 0, ∀ϕ ∈ C∞0 (S).

(3.11)

In the next section, systems (3.8)–(3.11) are numerically solved using the mixed finite element methods.

Page 8: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

G. Xu / Computer Aided Geometric Design 26 (2009) 378–395 385

Fig. 4.1. Classification of vertices. (a) The solid dots are interior control vertices. The empty dots are 1-ring neighbor (boundary) vertices. The solid squaresare 2-ring neighbor vertices. The shaded region is M0. The region enclosed by the 2-ring neighbor vertices is M1. (b) The solid dots are the interior controlvertices. The empty ones are the interpolated vertices.

4. Solving the GPDE by mixed finite element methods

Consider a triangular surface mesh M with vertices x1, x2, . . . ,xn . For each vertex xi , we associate it with a basis functionφi . Then the surface S is approximately represented as

x =n∑

j=1

φ j(q)x j ∈ R3, q ∈ M, (4.1)

where x1,x2, . . . ,xn are regarded as the control vertices of S .Now let us classify these control vertices into several categories. The first category consists of interior vertices, denoted

as x1,x2, . . . ,xn0 . The positions of these vertices are subject to change (unknown). For the problems of hole filling andblending, the interior vertices are those in the openings (see Fig. 4.1(a), the solid dots). For the problem of mesh refinement,all the non-interpolating vertices are interior (see Fig. 4.1(b), the solid dots). Apart from the interior vertices, the remainingvertices are classified as 1-ring neighbors (see Fig. 4.1(a), the empty dots), 2-ring neighbors (see Fig. 4.1(a), the solid squares),. . . , according to their distances to the interior vertices. For instance, the 1-ring neighbors are all the vertices adjacent to theinterior ones, the 2-ring neighbors are all the remaining vertices adjacent to the 1-ring neighbors, . . . . The k-ring neighborcontrol vertices are denoted as xnk−1+1, . . . ,xnk . All the 1-ring, 2-ring, . . . , neighbor vertices are fixed. It should be notedthat the set of the k-ring (k � 1) neighbor vertices may be empty.

In our mixed form formulations of GPDE, the mean and Gaussian curvature normals are also treated as unknown vector-valued functions. Hence, for each control vertex xi , we also associate it with a continuous basis function ψi for representingthe curvatures. For instance, the mean and Gaussian curvature normals are represented as

h(x) =n∑

j=1

ψ j(q)h j ∈ R3, q ∈ M,

k(x) =n∑

j=1

ψ j(q)k j ∈ R3, q ∈ M, (4.2)

respectively. Here h j and k j denote the mean and Gaussian curvature normals at x j , respectively. The mean and Gaussiancurvatures h(x) and k(x) are represented similarly by the mean and Gaussian curvatures h j and k j at x j .

Suppose that φi(q) and ψi(q) have compact supports and the sizes of their supports are 2 and 1, respectively. At a k-ringneighbor vertex, the surface point does not depend upon the interior vertices if k � 2, so the mean and Gaussian curvaturenormals there are well defined from the surface. However, at the interior and the 1-ring neighbor vertices, the correspondingsurface points relate to unknown vertices. Then the mean and Gaussian curvatures there cannot be determined from thesurface. Hence we treat these curvatures as unknowns. In a word, the unknown vertices are

x1,x2, . . . ,xn0 ,

the unknown mean curvature normals are

h1,h2, . . . ,hn0 ,hn0+1, . . . ,hn1 ,

and the unknown Gaussian curvature normals are

k1,k2, . . . ,kn0 ,kn0+1, . . . ,kn1 .

Page 9: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

386 G. Xu / Computer Aided Geometric Design 26 (2009) 378–395

Similarly, the unknown mean curvatures are

h1,h2, . . . ,hn0 ,hn0+1, . . . ,hn1 ,

and the unknown Gaussian curvatures are

k1,k2, . . . ,kn0 ,kn0+1, . . . ,kn1 .

In the next two sub-sections, we will obtain matrix forms of the used GPDE by substituting (4.1)–(4.2) into (3.8)–(3.11).Note that the proposed scheme needs the values of the mean and Gaussian curvature normals at each vertex. For an

interior or 1-ring neighbor vertex, the mean and Gaussian curvature normals are unknown in the equation to be solved, butinitial values for t = 0 are required. For a k-ring neighbor vertex (k � 2), these vectors need to be computed in advance andkeep fixed afterwards (see Remark 4.3 for how these vectors are computed). A default choice of these vectors is to set themas zeros.

4.1. Spatial direction discretizations

Spatial direction discretization of (3.8). We construct one equation for each unknown vertex x j ( j = 1, . . . ,n0) andother two equations for the unknown vector-valued curvatures h j and k j ( j = 1, . . . ,n1). This is achieved by the followingoperations:

a Substituting (4.1)–(4.2) into (3.8).b Taking the test functions φ = φi (i = 1, . . . ,n0) and ψ = ϕ = ψi (i = 1, . . . ,n1).

c Using the fact that∂x j(t)

∂t = 0 for j > n0 (since x j is fixed).

We obtain the following matrix form approximation of (3.8):⎧⎪⎪⎪⎨⎪⎪⎪⎩

Mn0

∂Xn0 (t)

∂t+ L(x)

n3 Xn3 (t) + L(m)n2 Hn2 (t) + L(g)

n2 Kn2 (t) + Bn0 = 0,

M(1)n2 Hn2 (t) + L(1)

n3 Xn3 (t) = 0,

M(1)n2 Kn2 (t) + L(2)

n3 Xn3 (t) = 0,

(4.3)

where

X j(t) = [x1(t), . . . ,x j(t)

]T ∈ Rj×3,

H j(t) = [h1(t), . . . ,h j(t)

]T ∈ Rj×3,

K j(t) = [k1(t), . . . ,k j(t)

]T ∈ Rj×3

are unknowns and

MK = (mij)n0,Ki j=1 , M(1)

K = (m(1)

i j

)n1,Ki j=1 ,

L(x)K = (

l(x)i j

)n0,Ki j=1 , L(m)

K = (l(m)i j

)n0,Ki j=1 , L(g)

K = (l(g)

i j

)n0,Ki j=1 ,

L(1)K = (

l(1)i j

)n1,Ki j=1 , L(2)

K = (l(2)i j

)n1,Ki j=1 , Bn0 = (bT

i )n0i=1

are the coefficient matrices. The elements of these matrices are defined as follows:

mij =∫

S

φiφ j dA,

m(1)i j =

∫S

ψiψ j dA, (4.4)

l(x)i j =

∫S

[f H (∇φ j)

T �φi + ( f − 2H f H − 2K f K )(∇φ j)T ∇φi

]dA,

l(m)i j =

∫S

[1

2αψ j�φi + γψ j�φi

]dA,

l(g)

i j =∫ [

1

2βψ j�φi + δψ j�φi

]dA,

S

Page 10: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

G. Xu / Computer Aided Geometric Design 26 (2009) 378–395 387

l(1)i j =

∫S

(∇φ j)T ∇ψi dA,

l(2)i j =

∫S

(∇φ j)T �ψi dA, (4.5)

bi =∫

S

[n(

1

2μ�φi + ν�φi

)]dA. (4.6)

In system (4.3), moving the terms relating to the known vertices xn0+1, . . . ,xn3 , the known mean curvatures hn1+1, . . . ,hn2

and the known Gaussian curvatures kn1+1, . . . ,kn2 to the right-handed side, we can rewrite the system as follows⎧⎪⎪⎪⎨⎪⎪⎪⎩

Mn0

∂Xn0 (t)

∂t+ L(x)

n0 Xn0(t) + L(m)n1 Hn1 (t) + L(g)

n1 Kn1 (t) = B(0),

M(1)n1 Hn1 (t) + L(1)

n0 Xn0 (t) = B(1),

M(1)n1 Kn1 (t) + L(2)

n0 Xn0 (t) = B(2).

(4.7)

Note that M(1)n0 and M(2)

n1 are symmetric and positive definite matrices.Spatial direction discretization of (3.10). The discretization of (3.10) is similar to that of (3.8). But the elements of

matrices L(x) , L(m) and L(g) need to be redefined as follows:

l(x)i j =

∫S

[μ(∇φ j)

T �φi + η(∇φ j)T ∇φi

]dA ∈ R,

l(m)i j =

∫S

[ψ j

[α�φi + (ω − f H )∇φi

]nT +

(1

2αψ j�φi + γψ j�φi

)I3

]dA ∈ R

3×3,

l(g)

i j =∫

S

[ψ j

[β�φi + (ε − f K )∇φi

]nT +

(1

2βψ j�φi + δψ j�φi

)I3

]dA ∈ R

3×3.

Note that l(m)i j and l(g)

i j are 3 × 3 matrices while in (4.3) they are scalars.Spatial direction discretization of (3.11). The discretization of (3.11) is quite different from that of (3.8). Now the un-

known curvatures are scalars rather than vectors. The discretized system can be written as⎧⎪⎪⎪⎨⎪⎪⎪⎩

Mn0

∂Xn0 (t)

∂t+ L(x)

n0 Xn0 (t) + L(m)n1 Hn1 (t) + L(g)

n1 Kn1 (t) = B(0),

M(1)n1 Hn1 (t) + L(1)

n0 Xn0 (t) = B(1),

M(1)n1 Kn1 (t) + L(2)

n0 Xn0 (t) = B(2),

(4.8)

where

Xn0 (t) = [xT

1 (t), . . . ,xTn0

(t)]T ∈ R

3n0 ,

Hn1 (t) = [h1(t), . . . ,hn1 (t)

]T ∈ Rn1 ,

Kn1 (t) = [k1(t), . . . ,kn1 (t)

]T ∈ Rn1 ,

and the elements of the matrices L(m)n1 , L(g)

n1 , L(1)n0 and L(2)

n0 are redefined as follows:

l(m)i j =

∫S

[ψ j

[α�φi + (ω − f H )∇φi

] +(

1

2αψ j�φi + γψ j�φi

)n]

dA ∈ R3×1,

l(g)

i j =∫

S

[ψ j

[β�φi + (ε − f K )∇φi

] +(

1

2βψ j�φi + δψ j�φi

)n]

dA ∈ R3×1,

l(1)i j = −

∫S

[ψi(φ j)

T − (∇ψi)T ∇φ jn

T ]dA ∈ R

1×3,

l(2)i j = −

∫S

[ψi(K∇φ j)

T − (∇ψi)T �φ jn

T ]dA ∈ R

1×3.

In the next section, we shall compare the numerical behaviors of the three mixed finite element methods.

Page 11: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

388 G. Xu / Computer Aided Geometric Design 26 (2009) 378–395

Remark 4.1. In order to insure the G1 continuity at the boundary, we solve GPDE over the whole domain M rather than theopenings M0 (see Fig. 4.1(a)). However, owing to the compactness of the supports of the basis functions and the fact thatcertain vertices are fixed, the real solving domain is a sub-region of M . Now let us make this point more specific. Let xiand x j be two vertices of M . If there exists a route consisting of k edges of M that connects xi and x j , and the number kis minimal, we say the distance, denoted as dist(xi,x j), between xi and x j is k. Let supp(φi) ⊂ M and supp(ψi) ⊂ M denotethe supports of φi and ψi , respectively. Then

supp(φi) ∩ supp(φ j) = ∅, if dist(xi,x j) > 3,

supp(φi) ∩ supp(ψ j) = ∅, if dist(xi,x j) > 2,

supp(ψi) ∩ supp(ψ j) = ∅, if dist(xi,x j) > 1.

As results of these facts, we have

1. The coefficient matrix of the system (4.7) is highly sparse.2. The unknown vertices x1, . . . ,xn0 relate only to the vertices x1, . . . ,xn3 , the unknown mean curvature normals

h1, . . . ,hn1 relate only to h1, . . . ,hn2 and the unknown Gaussian curvature normal k1, . . . ,kn1 relate only to k1, . . . ,kn2 .3. Let

Mk =nk⋃

i=1

supp(ψi), k = 0,1.

Then it is obvious that M0 ⊂ M1. Traditionally, GPDE are solved over the domain M0 using specified boundary con-ditions. In our spatial discretization, GPDE are solved over the extended domain M1 (see Fig. 4.1(a)) and the surfaceinformation (the surface point, the mean and Gaussian curvatures) outside M0 is used. Therefore, the condition of theG1 continuity on the boundary is automatically satisfied.

Remark 4.2. As we have mentioned, if a vertex is not of interior, it is fixed during the evolution process. A fixed vertex canbe a boundary one of an opening, or an interpolated one. However, no matter what kind a fixed vertex is, we treat it in thesame way. It should be noted that there is no topological restriction on which vertex is treated as interior. Once the interiorvertices are specified, the remaining ones are fixed.

4.2. Finite element spaces

Now let us introduce two finite element spaces Eh and Fh for representing the surfaces and the curvatures, respectively.Let

Eh = span[φ1, . . . , φn], Fh = span[ψ1, . . . ,ψn],where the basis functions φi and ψi are defined for the vertex xi . In our implementation, φi is defined as the limit functionof the Loop’s subdivision scheme for the control values one at xi and zero at other vertices. It is known that φi is a quarticbox spline. Fig. 4.2(a) shows the BB form representation, in barycentric coordinates of the domain triangles, of φi at theordinary vertices. If vertex xi is extraordinary, local subdivision is needed around xi until the parameter values of interest

Fig. 4.2. Loop’s bases: (a) The quartic BB-form coefficients (each has a factor 1/24), in barycentric coordinates of the domain triangles, of the Loop’s basisfunction φi at the ordinary vertices. The coefficients on the other five macro-triangles are obtained by rotating the top macro-triangle around the center tothe other five positions. (b) Control values for defining the Loop’s basis φi for an extraordinary vertex xi with valence 5. (c) Control values after one stepLoop’s subdivision of control values as shown in (b).

Page 12: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

G. Xu / Computer Aided Geometric Design 26 (2009) 378–395 389

are interior to a regular patch (see Bajaj and Xu, 2003 for details). Fig. 4.2(b) shows the control values for defining φi foran extraordinary vertex xi . Fig. 4.2(c) shows the control values after one step Loop’s subdivision. Except for the vertex withcontrol value 1 − na, all the other vertices are ordinary, where

a = 1

n

[5

8−

(3

8+ 1

4cos

n

)2].

It is easy to see that the size of the support of φi is two. For evaluating φi and its partial derivatives up to order 2, weemploy the fast computation scheme proposed by Stam (1998). The detail description of the evaluation algorithm for thebasis functions φi can be found in Bajaj and Xu (2003).

Our ψi is defined as a piecewise linear function which has the values one at xi and zero at other vertices. Hence thesize of the support of ψi is one. Since ψi is a piecewise linear function, its evaluation is straightforward.

Remark 4.3. Note that the proposed scheme needs the vectors of the mean and Gaussian curvature normals at each vertex.For an ordinary vertex (its valence is 6), Loop’s subdivision surface is C2, the mean and Gaussian curvature normals can becomputed directly from the surface. If the vertex is extraordinary (its valence is not 6), the curvature normals are computedby a fitting scheme proposed in Xu (2004a). Other C2 basis over triangular meshes, such as the spline basis defined in (Guet al., 2005), can be used instead of the Loop’s basis. Considering the complexity of the computation, we prefer to use theLoop’s basis since fast evaluation algorithm for the basis functions is available.

Remark 4.4. Some matrix elements in (4.7) and (4.8) involve �φi . Hence the linear basis functions could not be used forrepresenting the surface. On the other hand, if f = 1, the derived equation is of the second order. Hence, only G0 continuityat boundary could be achieved. Therefore, linear basis should be used instead of Loop’s basis.

4.3. Temporal direction discretization

We consider only the temporal direction discretization of (4.7). The temporal direction discretization of (4.8) is the same.Suppose we have approximate solutions X (k)

n0 = Xn0 (tk), K(k)n1 = Kn1 (tk) and H(k)

n1 = Hn1 (tk) at tk . We want to construct

approximate solutions X (k+1)n0 , K(k+1)

n1 and H(k+1)n1 for the next time step tk+1 = tk + τ (k) using a semi-implicit Euler scheme.

That is, the derivative∂Xn0

∂t is replaced by [X k+1n0

− X kn0

]/τ (k) , and all the M , L and B matrices in (4.7) are computed

using the surface data at tk . Such a treatment yields a linear system of the equations with X (k+1)n0 , H(k+1)

n1 and K(k+1)n1 as

unknowns:⎡⎣ Mn0 + τ (k)L(x)

n0 τ (k)L(m)n1 τ (k)L(g)

n1

L(1)n0 M(1)

n1 0

L(2)n0 0 M(1)

n1

⎤⎦

⎡⎣ X (k+1)

n0

H(k+1)n1

K(k+1)n1

⎤⎦ =

⎡⎣τ (k)B(0) + Mn0 X (k)

n0

B(1)

B(2)

⎤⎦ . (4.9)

The coefficient matrix of this system is highly sparse, hence an iterative method for solving it is desirable. We use Saad’siterative method (Saad, 2003), named GMRES, to solve the system. The experiment shows that this iterative method worksvery well.

The computation of the coefficient matrices requires the computation of the integrations. These are computed by Gaussquadrature formulas over each triangle and then summed (see Bajaj et al., 2002 for detail). For each time step, the linearsystems need to be newly generated, since the coefficient matrices are changed. However, the values of the basis functionsdo not need to be re-computed.

Since the surface considered is changing during the evolution, the condition of the system is under change. Hence usinga fixed temporal step-size is not desirable. The ideal strategy is to have the temporal step-size adaptive to the condition ofthe coefficient matrix. However, the numerical computation of the condition number is very costing and not necessary. Wetherefore adopt an adaptive temporal step-size selection approach, which is described as follows.

1. Set k = 0, choose an initial temporal step-size τ (0) = h2, where h is the average of the edge length of mesh M(0) .2. Forming the linear system (4.9). i.e., compute all the L, M and B matrices in (4.9). These matrices are kept separately,

such that a change of τ (k) does not resulting to the re-computation of these matrices.3. Solving the system (4.9) by GMRES method with a limited number of iterations (we choose this number as 300).4. If the GMRES iteration does not converge within the given number of iterations, then reduce τ (k) to 0.618τ (k) and go

back to the previous step. If GMRES iteration converges within 5 iterations, then increase τ (k) to 1.618τ (k) and go backto the previous step. Otherwise go to the next step.

5. Check the termination condition. If the termination condition

max1�i�n0

∥∥xi(tk+1) − xi(tk)∥∥ < ετ (k)

is satisfied, stop the iteration. Otherwise, set k to be k + 1, and go to step 2.

Page 13: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

390 G. Xu / Computer Aided Geometric Design 26 (2009) 378–395

Remark 4.5. To form the coefficient matrices M , L and B in step 2, many integrations over S need to be computed. Theseintegrations are computed using Gaussian quadrature rule on triangles (see Bajaj and Xu, 2003 for details).

Remark 4.6. The numbers 1.618,0.618 ≈√

5±12 in step 4 are called Golden ratios, which satisfied the equation 1 + x = 1

x .These numbers are often used in one-dimensional search in solving an optimization problem. We also use this number tofind adaptively a suitable temporal step-size. In step 5, ε is a given threshold value, we choose it as 0.001.

5. Examples and remarks

In this section, we give several examples to show the strength of the proposed approach. Considering the approach isgeneral, there are infinitely many possibilities for choosing f as well as the geometric models. The examples provided hereare just a few of them. In the illustrative figures in this section, τ and T stand for the temporal step-size and the numberof iterations used, respectively.

5.1. Comparing the three mixed finite element methods

Theoretically speaking, different discretized methods for the same equation should result in similar results. However,due to the geometric flows considered are highly nonlinear, the numerical behaviors of them are often quite different. Inthis subsection, we use a simple surface model and the Lagrange function f = H2 to illustrate the difference. The inputsurface model is an eight-like triangular surface (see Fig. 5.1(a)) with added random perturbation on each of its vertices(see Fig. 5.1(b)). If the temporal step size is small, such as τ = 0.00001, the three mixed finite element methods (MFEM)work well and give similar results (see Fig. 5.1(c)). However, as the temporal step-size increasing gradually, some of themdo not work (the iterative method to the resulting linear system does not converge, see Fig. 5.1(d)). Table 5.1 shows theconclusions. In this table, we also list the results of divided difference method for comparing with the mixed finite elementmethods proposed.

We can see from the table that mixed finite element method II behaves the best. The other test examples also lead tothe same conclusion. Therefore, in the following, all the examples are generated by using method II. The reason for methodII being the best among the three is that it has lowest nonlinearity. The method I has highest nonlinearity. Since the usedsurface model is quite noisy, divided difference method does not work for all the four temporal step sizes (see Fig. 5.1(e)).

Fig. 5.1. (a) Input triangular surface model. (b) Perturbed surface model of (a). (c) Evolution result of (b) using MFEM II with temporal step-step size 0.001,and 20 iterations. (d) Evolution result of (b) using MFEM I with temporal step-step size 0.001, and 20 iterations. (e) Evolution result of (b) using finitedivided difference with temporal step-size 0.0001, and after 5 iterations.

Table 5.1First column: Temporal step size. Second column: the number of iterations. Third column: the results of mixed finite element method II. Fourth column:the results of mixed finite element method III. Fifth column: the results of mixed finite element method I. Last column: results of finite divided differencemethod.

Time step size Iterative numbers MFEM II MFEM III MFEM I FDD

0.1 1 Not Work Not Work Not Work Not Work0.01 2 Work Not Work Not Work Not Work0.001 20 Work Not Work Not Work Not Work0.0001 200 Work Work Not Work Not Work0.00001 2000 Work Work Work Not Work

Page 14: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

G. Xu / Computer Aided Geometric Design 26 (2009) 378–395 391

Fig. 5.2. Surface smoothing: The input is the bunny model with noise added as shown in (a). We evolve the surface model using the geometric flows withdifferent Lagrange functions f (H, K ). (b)–(f) are the evolution results of the corresponding flows.

5.2. Some application examples

In this subsection, we present several application examples, including surface smoothing, surface blending, hole fillingand surface mesh refinement.

5.2.1. Surface smoothingFor surface smoothing, we are given a noisy initial surface, and then use different GPDEs to evolve the surface. The aim

is to see how well the different GPDEs behave. Fig. 5.2 shows the smoothing results, where (a) is the input surface model.

(b)–(f) are the results for using different f . It is easy to see from these figures that f = 1, f = H2 and f =√

k21 + k2

2 yield

more desirable smoothing results.

5.2.2. Surface blendingGiven a collection of surface meshes with boundaries, we construct a fair surface to blend the meshes with the G0 or

G1 continuity at the boundaries. The aim is to observe the smoothness at the blending boundaries. Fig. 5.3 shows some theblending results, where (a) is the input surface model to be blended. (b) shows the initial blending surface construction withnoise added. (c)–(h) show the evolution results using different f . It could be observed that all the used fourth order flowsyield smooth joining bending surfaces at the boundaries. But the evolution result yielded by taking f = K 2 is not good atall. The curves on these surfaces are isophotes. The smooth isophotes imply that the surfaces are at least G1 smooth.

5.2.3. Hole fillingGiven a surface mesh with holes, we construct fair surfaces to fill the holes with the G0 or G1 continuity on the

boundaries. Fig. 1.1 shows such an example, where a bunny mesh with a lot of complex shaped holes is given (figure (a)).An initial G0 minimal surface filler construction of the holes is shown in (b), which is generated by the geometric flow withLagrange function f = 1. The fair blending surface (figure (c)) is generated by taking f = H2. The mesh of (d) is the sameas (c) but shaded in one color. It is easy to see that the fourth order flow used generate G1 smooth filling surface, whilethe second order flow yields G0 smooth surface.

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

Page 15: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

392 G. Xu / Computer Aided Geometric Design 26 (2009) 378–395

Fig. 5.3. Surface blending: The input is four cylinders to be blended as shown in (a). The initial blending surface is shown in (b). We evolve the initialsurface using the geometric flows with different Lagrange functions f (H, K ). (c)–(h) are the evolution results of the corresponding flows, where (c) is theresult after 135 iterations with temporal step-size 0.01 and (d)–(h) show the results after 1000 iterations with temporal step-size 0.00001.

surface construction is a challenging problem. For simple cases, such as the hole is equivalent to a disk, the topology canbe automatically recovered using propagation technique (see Zhao et al., 2007). However, in real applications (i.e. laserscanning of 3D objects), the input surface can contain many holes with complex topology. These holes are usually repairedwith volumetric techniques (see for example the work of Davis et al. (2002) or more recent results of Verdera et al. (2003)).In Davis et al. (2002), the level set form mean curvature flow is used, which leads to the area-minimal filling surface, hencethe filling surface is not G1. Therefore, the output of the level set approach may be used as the input of our approach toproduce the high quality filling surface.

5.2.4. Surface mesh refinementMesh refinement is a process of subdividing each triangles into several sub-triangles by inserting new vertices at certain

places. For simplicity, we subdivide each triangle into 4 sub-triangles by inserting a new vertex for each edge. The positionof the newly inserted vertices are determined by the GPDEs. The original vertices are fixed.

The first row of Fig. 5.4 shows a sequence of meshes, where (a) shows the input triangular surface mesh. Figures (b)–(d) show the iteratively subdivision results using a GPDE by taking f = H2. For comparing with the stationary interpolatorysubdivision scheme, we present in the second row the subdivision results of Butterfly scheme. The isophotes on the surfacesillustrate that the GPDE approach yields high quality surfaces.

The GPDE method described in this paper could also be used to solve the problem of mesh simplification. For instance,for the widely used approach of edge collapse and triangle collapse, the newly generated vertices, which are traditionallychosen as mid-points of the collapsed edges and the collapsed triangles, respectively, can be determined by the geometricflow, so that desirable shaped (e.g. fair or area preserving or volume preserving) surface could be generated. The details ofthis application of the GPDE method will be reported elsewhere.

5.3. Running times

We summarize in Table 5.2 the computation time needed by our examples. The algorithm was implemented in C++running on a Dell PC with a 3.0 GHz Intel CPU. The second column in Table 5.2 lists the number of unknowns. Thesenumbers are counted as 3n0 + 6n1. Here n0 is the number of interior vertices, n1 is the number of the unknown meanand Gaussian curvature normals. The third column is the temporal step-sizes used. The fourth column in the table is thetime (in seconds) for forming the coefficient matrix (one time step). The integrations for computing the matrix elements arecomputed by a 12-point Gaussian quadrature rule. That is, each domain triangle is subdivided into four sub-triangles anda three-point Gaussian quadrature rule is employed on each of the sub-triangles. The 3-point Gaussian quadrature rule haserror bound O (h3) (see Bajaj et al., 2002 for a set of Gaussian quadrature rules), where h is the maximal edge length. In thepresented examples, h ranges from 0.021 to 0.11. The fifth column is the number of evolution steps. The linear systems aresolved by GMRES iterative method. The sixth column is the time of one GMRES iteration. The last column list the averagenumbers of the required GMRES iterations. The threshold value of controlling the iteration-stopping is taken to be 10−5,about the single word-length accuracy of the used computer.

Page 16: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

G. Xu / Computer Aided Geometric Design 26 (2009) 378–395 393

Fig. 5.4. Mesh refinement: (a) shows an input initial triangular mesh. (b)–(d) are the iterative refinements, where (b), (c) and (d) are generated usingτ = 0.005,0.0001,0.000001, respectively. The iteration numbers are 15,50,50 respectively. (e) shows the same mesh as (a) but with isophotes. (f)–(h) arethe repeatedly subdivision results using Butterfly subdivision scheme.

Table 5.2First column: examples. Second column: the number of unknowns. Third column: the temporal step-size. Fourth column: the time in seconds for computingthe coefficient matrix. Fifth column: the number of evolution steps. Sixth column: the time cost of one step GMRES iteration. Last column: The average ofGMRES iteration times. The algorithm was implemented in C++ running on a Dell PC with a 3.0 GHz Intel CPU.

Examples # unknowns τ (k) Form matrix T one GMRES # GMRES

Fig. 5.1(c) 6894 10−3 0.73 20 1.05 83Fig. 5.2(c) 302580 10−5 35.26 1 215.2 213Fig. 5.3(d) 13998 10−3 1.58 1000 2.26 92Fig. 1.1(c) 97467 10−6 14.75 50 32.42 120Fig. 5.4(b) 9591 5 × 10−3 1.15 15 1.93 111Fig. 5.4(c) 38400 10−4 4.56 50 6.81 76Fig. 5.4(d) 153636 10−6 18.19 50 24.57 61

5.4. Feature summarization and comparison

In this subsection we first summarize the main features of the proposed finite element methods and then compare withthe divided difference methods.

Features:

(a) The algorithm produces very fair and desirable solution surfaces with G1 continuity at the boundaries. There is norestriction on the shapes of the boundaries.

(b) It is generic, could handle a wide class of equations. It solves the problems of surface denoising, surface blending, holefilling and mesh refinement in the same fashion.

(c) 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.

Now we list advantageous and disadvantageous comparing with the divided difference methods.

Page 17: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

394 G. Xu / Computer Aided Geometric Design 26 (2009) 378–395

Advantages:

(a) Comparing with the finite divided difference method, the finite element approach is based on a well developed math-ematical foundation. The approximation property of the used finite element spaces defined by Loop’s subdivision isensured (see Arden, 2001; Xu, 2005). In contrast, the validity of the divided difference method is based on the conver-gent properties of the discretized geometric differential operators used. These convergent properties are not guaranteedin some cases, such as at the low valence vertices (see Xu and Zhang, 2008).

(b) In the finite element method, the numerical solution approximate the exact solution in a weak sense (in the sense ofintegral). This weaken the effect of the local irregularity of the surface. Hence, finite element method is more stablethan the divided difference method, and a larger temporal step-size is therefore allowable. Furthermore, there aresurface models for which the divided difference method does not work but the finite element method is effective (seeSection 5.1).

Disadvantages:

(a) The finite element space we use for representing the surface is based on the Loop’s subdivision. Comparing with thediscretizations of differential operators in the divided difference methods, the implementation of using Loop’s basis isnot trivial. Hence, the proposed finite element methods are not as simple as the divided difference methods.

(b) The finite element approach is slower than the divided difference method in general, since numerical integrations arerequired for computing the coefficient matrices of the linear systems. Furthermore, the coefficient matrices have morenonzero elements than those of the divided difference method (see Xu et al., 2006; Xu and Zhang, 2008). However, sincethe finite element method is more stable than divided difference method, one may choose larger temporal step-size, sothat the total evolution speed may not slow down too much.

6. Conclusions

We have developed three versions of the mixed finite method for solving a general form fourth order geometric par-tial differential equation. We applied the proposed methods to solve several surface modeling problems, including surfacedenoising, surface blending, hole filling and mesh refinement with the G1 continuity at the boundaries of the constructedsurfaces. The used geometric partial differential equation is universal, containing several well-known geometric partial differ-ential equations as its special cases. The proposed method is generic which can be used to construct surfaces for geometricdesign as well as simulate the behaviors of various GPDEs. Experimental results have shown that the proposed approachcan be used to handle a large number of GPDEs and the numerical algorithm is efficient and gives very desirable results.We also illustrated that the mixed finite methods is more stable than the previously used divided difference method.

References

Arden, G., 2001. Approximation properties of subdivision surfaces. PhD thesis, University of Washington.Bajaj, C., Xu, G., 2003. Anisotropic diffusion of surface and functions on surfaces. ACM Transactions on Graphics 22 (1), 4–32.Bajaj, C., Xu, G., Warren, J., 2002. Acoustics scattering on arbitrary manifold surfaces. In: Proceedings of Geometric Modeling and Processing, Theory and

Application, Japan, pp. 73–82.Bloor, M.I.G., Wilson, M.J., 1989. Generating blend surfaces using partial differential equations. Computer-Aided Design 21 (3), 165–171.Bloor, M.I.G., Wilson, M.J., 1990. Using partial differential equations to generate free-form surfaces. Computer-Aided Design 22 (4), 221–234.Chavel, I., 1993. Riemannian Geometry – A Modern Introduction. Cambridge University Press.Clarenz, U., Diewald, U., Dziuk, G., Rumpf, M., Rusu, R., 2004. A finite element method for surface restoration with boundary conditions. Computer Aided

Geometric Design 21 (5), 427–445.Clarenz, U., Diewald, U., Rumpf, M., 2000. Anisotropic geometric diffusion in surface processing. In: Proceedings of Viz2000, IEEE Visualization, Salt Lake

City, Utah, pp. 397–405.Davis, J., Marschner, R., Garr, M., Levoy, M., 2002. Filling holes in complex surfaces using volumetric diffusion. In: Proceedings of the 1st International

Symposium on 3D Data Processing Visualization and Transmission, pp. 428–438.Deckelnick, K., Dziuk, G., 2002. A fully discrete numerical scheme for weighted mean curvature flow. Numerische Mathematik 91, 423–452.Desbrun, M., Meyer, M., Schröder, P., Barr, A.H., 1999. Implicit fairing of irregular meshes using diffusion and curvature flow. In: SIGGRAPH99, Los Angeles,

USA, pp. 317–324.do Carmo, M.P., 1976. Differential Geometry of Curves and Surfaces. Prentice-Hall, Englewood Cliffs, NJ.do Carmo, M.P., 1992. Riemannian Geometry. Birkhäuser, Boston, Basel, Berlin.Du, H., Qin, H., 2000. Direct manipulation and interactive sculpting of PDE surfaces. Computer Graphics Forum 19 (3), 261–270.Du, H., Qin, H., 2005. Dynamic PDE-based surface design using geometric and physical constraint. Graphical Models 67 (1), 43–71.Dziuk, G., 1991. An algorithm for evolutionary surfaces. Numerische Mathematik 58, 603–611.Giaquinta, M., Hildebrandt, S., 1996. Calculus of Variations, vol. I. A Series of Comprehensive Studies in Mathematics, vol. 310. Springer-Verlag, Berlin.Gu, X., He, Y., Qin, H., 2005. Manifold splines. In: ACM Symposium on Solid and Physical Modeling, pp. 27–38.Kobbelt, L., Hesse, T., Prautzsch, H., Schweizerhof, K., 1997. Iterative mesh generation for FE-computation on free form surfaces. Engng. Comput. 14, 806–820.Lowe, T., Bloor, M., Wilson, M., 1990. Functionality in blend design. Computer-Aided Design 22 (10), 655–665.Meyer, M., Desbrun, M., Schröder, P., Barr, A., 2002. Discrete differential-geometry operators for triangulated 2-manifolds. In: Proceedings of Visual Mathe-

matics’02, Berlin, Germany.Saad, Y., 2003. Iterative Methods for Sparse Linear Systems, second ed. SIAM, Philadelphia, PA.Schneider, R., Kobbelt, L., 2000. Generating fair meshes with G1 boundary conditions. In: Geometric Modeling and Processing, Hong Kong, China, pp. 251–

261.

Page 18: Mixed finite element methods for geometric modeling using …lsec.cc.ac.cn/~xuguo/papers/gen_pde_4j.pdf · 2009-08-18 · Differential geometry preliminaries In this section, we introduce

G. Xu / Computer Aided Geometric Design 26 (2009) 378–395 395

Schneider, R., Kobbelt, L., 2001. Geometric fairing of irregular meshes for free-form surface design. Computer Aided Geometric Design 18 (4), 359–379.Stam, J., 1998. Fast evaluation of Loop triangular subdivision surfaces at arbitrary parameter values. In: SIGGRAPH ’98 Proceedings, CD-ROM supplement.Ugail, H., Bloor, M., Wilson, M., 1999. Techniques for interactive design using the PDE method. ACM Transactions on Graphics 18 (2), 195–212.Verdera, J., Caselles, V., Bertalmo, M., Sapiro, G., 2003. Inpainting surface holes. In: Proceedings of IEEE International Conference on Image Processing (ICIP),

pp. 903–906.Xu, G., 2004a. Discrete Laplace–Beltrami operators and their convergence. Computer Aided Geometric Design 21 (8), 767–784.Xu, G., 2004b. Surface fairing and featuring by mean curvature motions. Journal of Computational and Applied Mathematics 163 (1), 295–309.Xu, G., 2005. Interpolation by loop’s subdivision functions. Journal of Computational Mathematics 23 (3), 247–260.Xu, G., Pan, Q., 2006. G1 surface modelling using fourth order geometric flows. Computer-Aided Design 38 (4), 392–403.Xu, G., Pan, Q., Bajaj, C., 2006. Discrete surface modelling using partial differential equations. Computer Aided Geometric Design 23 (2), 125–145.Xu, G., Zhang, Q., 2006. Construction of geometric partial differential equations in computational geometry. Mathematica Numerica Sinica 28 (4), 337–356.Xu, G., Zhang, Q., 2008. A general framework for surface modeling using geometric partial differential equations. Computer Aided Geometric Design 25 (3),

181–202.Zhang, Q., Xu, G., 2006. Geometric partial differential equations for minimal curvature variation surfaces. Research Report No. ICM-06-03, Institute of

Computational Mathematics, Chinese Academy of Sciences.Zhao, W., Gao, S., Lin, H., 2007. A robust hole-filling algorithm for triangular mesh. The Visual Computer 23 (12), 987–997.