16
G 1 B-Spline Surface Construction By Geometric Partial Differential Equations * Ming Li Guoliang Xu LSEC, Institute of Computational Mathematics, Academy of Mathematics and System Sciences, Chinese Academy of Sciences, Beijing 100190, China Abstract In this paper, we propose a dynamic B-spline technique using general form fourth order geometric PDEs. Basing on discretizaions of Laplace-Beltrami operator and Gaussian curvature over triangular and quadrilateral meshes and their convergence analysis, we propose in this paper a novel approach for constructing geometric PDE B-spline surfaces, using general form fourth order geometric flows. Four- sided Spline surface patches are constructed with G 1 boundary constraint conditions. Convergence properties of the proposed method are numerically investigated, which justify that the method is effective and mathematically sound. Key words: B-Spline surface, discretizations, geometric PDE, Convergence. 1 Introduction There are two important methods in surface modeling, one is PDE-based approach, and the other is spline technique. Surface modeling using partial differential equations(PDEs) first was proposed by Bloor and Wilson [2] and have developed a special technique called PDE-based techniques. In recent years, a kind of new technique using geometric PDEs have been developed and successfully applied in solving surface smoothing, surface blending, free-form surface modeling, and etc. For example, Mean curvature flow(MCF) is a second order geometric PDE and have been intensively used for smoothing or fairing noisy surfaces(See [6, 13, 1]). However, for solving the surface modeling and designing problem, MCF cannot achieve G 1 smooth jointing of different patches. Therefore, fourth order flows have been used to solve surface blending and free-form surface design(See [5, 21, 18]). These methods all use discrete surace mesh presentation and are improper for spline surface presentation. In 1973, Riesenfeld [14] proposed a B-spline approximation method in his PHD thesis. Two years later, Versprille(See [17]) generalized Riesenfeld’s B-spline to rational form, called NURBS. Today, NURBS have become the industry standard for the surface representation and design in the CAD/CAM. B-spline and NURBS provide a unified mathematical formulation for free-form curves, surfaces using control points. By adjusting the position of control points, one could produce a large variety of shapes. But it is not a easy job to adjust the control points to obtain ideal shapes. There is another way to integrate the two kinds of approaches. Bloor and Wilson [3] developed an algorithm that represented PDE surfaces - the solution of biharmonic equation - in terms of B-splines. In 0 * Partially supported by Natural Science Foundation of China (60773165) and National Key Basic Research Project of China (2004CB318000). 0 Corresponding author. E-mail address: [email protected] 1

G1 B-Spline Surface Construction By Geometric Partial

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: G1 B-Spline Surface Construction By Geometric Partial

G1 B-Spline Surface Construction By Geometric Partial

Differential Equations∗

Ming Li Guoliang Xu †

LSEC, Institute of Computational Mathematics, Academy of Mathematicsand System Sciences, Chinese Academy of Sciences, Beijing 100190, China

Abstract

In this paper, we propose a dynamic B-spline technique using general form fourth order geometricPDEs. Basing on discretizaions of Laplace-Beltrami operator and Gaussian curvature over triangularand quadrilateral meshes and their convergence analysis, we propose in this paper a novel approach forconstructing geometric PDE B-spline surfaces, using general form fourth order geometric flows. Four-sided Spline surface patches are constructed with G1 boundary constraint conditions. Convergenceproperties of the proposed method are numerically investigated, which justify that the method iseffective and mathematically sound.

Key words: B-Spline surface, discretizations, geometric PDE, Convergence.

1 Introduction

There are two important methods in surface modeling, one is PDE-based approach, and the other isspline technique. Surface modeling using partial differential equations(PDEs) first was proposed by Bloorand Wilson [2] and have developed a special technique called PDE-based techniques. In recent years,a kind of new technique using geometric PDEs have been developed and successfully applied in solvingsurface smoothing, surface blending, free-form surface modeling, and etc. For example, Mean curvatureflow(MCF) is a second order geometric PDE and have been intensively used for smoothing or fairingnoisy surfaces(See [6, 13, 1]). However, for solving the surface modeling and designing problem, MCFcannot achieve G1 smooth jointing of different patches. Therefore, fourth order flows have been usedto solve surface blending and free-form surface design(See [5, 21, 18]). These methods all use discretesurace mesh presentation and are improper for spline surface presentation.

In 1973, Riesenfeld [14] proposed a B-spline approximation method in his PHD thesis. Two years later,Versprille(See [17]) generalized Riesenfeld’s B-spline to rational form, called NURBS. Today, NURBS havebecome the industry standard for the surface representation and design in the CAD/CAM. B-spline andNURBS provide a unified mathematical formulation for free-form curves, surfaces using control points.By adjusting the position of control points, one could produce a large variety of shapes. But it is not aeasy job to adjust the control points to obtain ideal shapes.

There is another way to integrate the two kinds of approaches. Bloor and Wilson [3] developed analgorithm that represented PDE surfaces - the solution of biharmonic equation - in terms of B-splines. In

0∗ Partially supported by Natural Science Foundation of China (60773165) and National Key Basic ResearchProject of China (2004CB318000).

0† Corresponding author.E-mail address: [email protected]

1

Page 2: G1 B-Spline Surface Construction By Geometric Partial

recent years, Qin and Terzopoulos proposed a dynamic NURBS method(D-NURBS) [16]. By applyingLagrangian mechanics, they obtained a set of second order differential equations that determined theevolution of the D-NURBS. However, the equation they derived is a second order ordinary differentialequation and not geometry intrinsic. And it cannot achieve G1 smooth jointing of NURBS patches.

In this paper, we propose a novel technique that combines B-spline with a general form fourth ordergeometric PDEs to obtain G1 smooth PDE B-spline surfaces.Our method is dynamic, the geometric PDEgovern the evolution of B-spline surface. And since the B-spline surface produced by our method is thesolution of corresponding geometric PDE, it possesses the optimization property of used geometric PDE,such as minimum of area, minimum of total square mean curvature and etc. Besides, the boundaryconditions including boundary curves and tangent vectors on them partly control the shape of B-spline.Especially the tangent vector length, not only affects the surface shape, but also the control mesh quality.Hence, in this paper, we employ a unified method to give the length of tangent vector, which could producegood mesh quality. The geometric PDE B-spline surface can be applied in solving surface blending andcomplex free-form surface design, such as airplane and auto body design. In the end, Our method canbe easily generalized to NURBS.

The rest of these paper is organized as followed. Section 2 introduces some basic materials on dif-ferential geometry, B-spline and a general form fourth order geometric PDE. In Section 3, we give theprocess of constructing geometric PDE B-spline surface. Section 4 derives the simplified process forminimal B-spline surface. Numerical experiments are given in Section 5 including numerical convergenceexperiments, comparative examples to illustrate the different effects, surface blending and airplane bodydesign.

2 Notations and Differential Geometry Preliminaries

In this section, we introduce the used notations, curvatures and several geometric differential operators,including Laplace-Beltrami operator and Giaquinta-Hildebrandt operator etc. We also give the definitionsof B-spline surface and general form geometric PDE.

Let S = x(u1, u2) ∈ R3 : (u1, u2) ∈ D ⊂ R2 be a regular sufficiently smooth parametric surface.Let gαβ = 〈xuα ,xuβ 〉 and bαβ = 〈n,xuαuβ 〉 be the coefficients of the first and the second fundamentalforms of S, where

xuα =∂x∂uα

, xuαuβ =∂2x

∂uα∂uβ, α, β = 1, 2,

n = (xu × xv)/‖xu × xv‖, (u, v) := (u1, u2),

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

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

Then the mean curvature H and Gaussian curvature K of S can be written as follows :

H =12[ gαβ ]:[ bαβ ] and K =

b

g, (1)

where A:B is the trace of AT B. And

H = Hn, K = Kn

2

Page 3: G1 B-Spline Surface Construction By Geometric Partial

are called as the mean curvature normal vector and Gaussian curvature normal vector respectively.

Tangential gradient operator. Suppose f be a C1 smooth function on S , then the tangient gradientoperator ∇s acting on f is given by (see [10], page 102)

∇sf = [xu, xv][ gαβ ][fu, fv]T ∈ R3 (2)= g∇u fu + g∇v fv, (3)

where

g∇u =1g(g22xu − g12xv), g∇v =

1g(g11xv − g12xu).

Second tangent operator. Let f ∈ C1(S) , the second tangent operator 3 acting on f is defined by(see [19])

3f = [xu,xv][hαβ ][fu, fv]T ∈ R3 (4)

=1g(b22fuxu + b11fvxv − b12fuxv − b12fvxu) (5)

= g3u fu + g3

v fv (6)

where

[hαβ ] :=1g

[b22 −b12

−b12 b11

], (7)

and

g3u =

1g(b22xu − b12xv), g3

v =1g(b11xv − b12xu).

Tangent divergence operator. Let v be a smooth vector field on S, Then the tangent divergence ofv is defined by

divs(v) =1√g

[∂

∂u,

∂v

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

]. (8)

Laplace-Beltrami operator(LBO). Let f be a C2 smooth function on S, then the Laplace-Beltramioperator applying to f is given by (see [11], p. 83)

∆sf = divs(∇sf).

From the definitions of (2) and (8) we can derive that

∆sf =1√g

[∂

∂u,

∂v

] [√g [ gαβ ] [ fu, fv ]T

](9)

= g∆u fu + g∆

v fv + g∆uufuu + g∆

uvfuv + g∆vvfvv, (10)

where

g4u = −(g11(g22g122−g12g222)+2g12(g12g212 − g22g112)+g22(g22g111−g12g211)

)/g2,

g4v = −(g11(g11g222−g12g122)+2g12(g12g112 − g11g212)+g22(g11g211−g12g111)

)/g2,

g4uu = g22/g, g4uv = −2g12/g, g4vv = g11/g.

3

Page 4: G1 B-Spline Surface Construction By Geometric Partial

∆s is a second order differential operator. And ∆sx = 2H.

Giaquinta-Hildebrandt operator(GHO). Let f be a C2 smooth function on S, the Giaquinta-Hildebrandt operator 2 is defined by (See [12])

2f = divs(3f).

From the definitions of 3 and divs, we can derive that

2f =1√g

[∂

∂u,

∂v

] [√g [hαβ ] [ fu, fv ]T

](11)

= g2u fu + g2

v fv + g2uufuu + g2

uvfuv + g2vvfvv, (12)

where

g2u = −[b11(g22g122−g12g222)+2b12(g12g212 − g22g112)+b22(g22g111−g12g211)]/g2,

g2v = −[b11(g11g222−g12g122)+2b12(g12g112 − g11g212)+b22(g11g211−g12g111)]/g2,

g2uu = b22/g, g2

uv = −2b12/g, g2vv = b11/g.

2.1 Spline surface

There are many ways to define B-spline basis functions such as by truncated power functions(See[8, 15]),by blossoming [4] and by a recurrence formula(See [7, 9]).In this paper, we adopt the recurrence formula.Definition. Given a positive integer m, non-negative integer k and knot vector

u0 ≤ · · · ≤ ui ≤ ui+1 ≤ ui+2 ≤ · · · ≤ um+2k.

U = u0, · · · , um+2k is called a knot vector. B-splines base functions are defined as follows

Ni,0(u) =

1, for u ∈ [ui, ui+1),

0, otherwise,i = 0, 1, · · · ,m + 2k − 1,

Ni,k(u) =u− ui

ui+k − uiNi,k−1(u) +

ui+k+1 − u

ui+k+1 − ui+1Ni+1,k−1(u), i = 0, 1, · · · ,m + k − 1,

Assume00

= 0

(13)

where i is the index of Ni,k(u), k is the degree.Spline surface. Given a positive integer m, n, non-negative k and knot sequence

U = u0, · · · , um+2k, V = v0, · · · , vn+2k,

a k degree quadrilateral B-spline surface is defined by

x(u, v) =m+k−1∑

i=0

n+k−1∑

j=0

pijNi,k(u)Nj,k(v), (u, v) ∈ Ω := [0, 1]2,

where pij ∈ R3 are the control points of x(u, v). When i = 0 or m and j = 0 or n, pij are called as theboundary control points, The adjacent vertices of boundary control points are second boundary controlpoints. To ensure the C2 smooth of B-spline surface, we take k ≥ 3.

4

Page 5: G1 B-Spline Surface Construction By Geometric Partial

2.2 Geometric PDE

In order to construct G1 smooth B-spline surface patch, we employ a general form fourth order geometricpartial differential equation:

∂x∂t

+ 2(fKn) +12∆s(fHn)− fH2x + (2HfH + 2KfK − f)∆sx

+2fH∇sH −3fH + 2H∇sfH −∇s(f − 2KfK). = 0,S(0) = S0, ∂S(t) = Γ,

(14)

which is the L2 gradient flow of the following energy function defined on S

F (S) =∫

Sf(K, H)dA =

∫∫

Ω

f(K,H)√

g dudv

(See [20]), where f(H, K) ∈ C1(R × R) is the given Lagrange function. Suppose fH and fK could berepresented as

fH = 2αH + 2βK + µ, fK = 2γH + 2δK + ν, (15)

substituting them into first equation of (14) we have

∂x∂t

+ 2(γ∆sx + δ2x + νn) +12∆s(α∆sx + β2x + µn)

− fH2x + (2HfH + 2KfK − f)∆sx

+ 2fH∇sH −3fH + 2H∇sfH −∇s(f − 2KfK) = 0. (16)

The first row of (16) are fourth order items, producing normal and tangent direction movements. Thesecond row is second order items, only leading to normal movement. The last row items derive tangentdirection movement.

3 Geometric PDE B-spline surface construction

Problem description. Given boundary curves and tangent directions of quadrilateral B-spline surface,we hope to construct quadrilateral B-spline surface, which interpolate the boundary conditions and meetsome kind of geometric PDE.

Geometric PDE B-spline surface construction. Now we give the steps of constructing geometricPDE B-spline surface. In the next section, we will give the details of each step.

1. Discretize the differential operator. We discretize all employed differential geometric operatorson quadrilateral mesh (See§3.1).

2. Construct second boundary control points. Using the given tangent vectors on the boundarycontrol points, we compute the second boundary control points (See§3.2). If the given boundaryconditions include second boundary control points, we can omit this step.

3. Construct initial inner control points. In general, the initial inner control points can bechoosen arbitrarily. In order to enhance the evolution efficiency, proper initial inner control pointsis very important. As we all know, If the knots are sufficiently dense, the control polygon of B-splinesurface converge to B-spline surface, hence B-spline surface control polygon can be viewed as the

5

Page 6: G1 B-Spline Surface Construction By Geometric Partial

q

q qq

q 11

q 10 q 20

21

02 12 22

q 01

q 00

11

10

22

00x x x20

x21

x01 x

x02 x12x

Fig 3.1: Biquadratic interpolation definition domain and mesh vertices index.

approximation of B-spline surface. In this paper, in order to obtain the initial approximation ofgeometric PDE surface, we use the same geometric PDE to construct the initial inner control points(See§3.3).

4. Evolve initial inner control points. Use the selected geometric PDE to evolve the initial innercontrol points and not stop until the stability status is achieved. We employ the time directionsemi-implicit and spatial direction semi-discrete technique to solve the geometric PDE (See§3.4).

3.1 Differential operator discretization

In order to solve geometric PDE numerically on quadrilateral surface patch, we need discretize allthe differential operators appeared in the equation on quadrilateral mesh. In this paper, we introduce akind of discrete scheme based on biquadratic interpolation, which is simple, easy to compute and havethe approximaiton attribution. Let x11 is a vertex of quadrilateral mesh. x00, x10, x20, x01, x21, x02,x12 and x22 are the 1-ring neighbor vertices of x11 (See figure3.1). Using the following nine vertices

q00 = (−1,−1), q10 = (0,−1), q20 = (1,−1),q01 = (−1, 0), q11 = (0, 0), q21 = (1, 0),q02 = (−1, 1), q12 = (0, 1), q22 = (1, 1)

we could construct the biquadratic interpolation function

x(u, v) =2∑

i=0

2∑

j=0

cijuivj , cij ∈ R3,

which satisfies the conditions

x(qij) = xij , i, j = 0, 1, 2.

then we could easily derive the following results

c10 =12(x21 − x01), c01 =

12(x12 − x10),

c20 =12(x21 + x01 − 2x11), c02 =

12(x12 + x10 − 2x11),

c11 =14(x00 + x22 − x20 − x02)

6

Page 7: G1 B-Spline Surface Construction By Geometric Partial

Hence at (0, 0),

xu = c10, xv = c01,

xuu = 2c20, xuv = c11, xvv = 2c02.

Let fij is the function value at xij , based on the differential operators definitions of section 2, we constructtheir discrete scheme as follows:

∇sf ≈ 12g∇u (f21 − f01) +

12g∇v (f12 − f10),

3f ≈ 12g3

u (f21 − f01) +12g3

v (f12 − f10),

∆sf ≈ 12g∆

u (f21 − f01) +12g∆

v (f12 − f10)

+ g∆uu(f21 + f01 − 2f11) +

14g∆

uv(f00 + f22 − f20 − f02) + g∆vv(f12 + f10 − 2f11),

2f ≈ 12g2

u (f21 − f01) +12g2

v (f12 − f10)

+ g2uu(f21 + f01 − 2f11) +

14g2

uv(f00 + f22 − f20 − f02) + g2vv(f12 + f10 − 2f11),

where the coefficients of fijare defined as in 2 from xu, xv, xuu, xuv and xvv.We can prove the following theorem.

Theorem 3.1 Let xi be a vertex of a quadrilateral mesh M with valence 4, x1, · · · ,x4 be its neighborvertices and x1 ′ , · · · ,x4 ′ be its opposite vertices in the quadrilateral [xixjxj ′xj+1]. Suppose xi,xj (j =1, · · · , 4) and xj ′ (j ′ = 1′, · · · , 4′) are on a sufficiently smooth parametric surface F (u, v) ∈ R3, andthere exist qi,q1, · · · ,q4, q1′ , · · · ,q4′ ∈ R2 such that

xi = F (qi), xj = F (qj), xj ′ = F (qj ′),

qj ′ = qj + qj+1 − qi, j = 1, · · · , 4, qj+2 − qi = −(qj − qi), j = 1, 2, (1)

then the above defined discrete differential operators have second-order convergence rate.

Let xij be a three dimensional point and fij := f(xij) (i = 0, 1, · · · ,m, j = 0, 1, · · · , n) are thecorresponding function values at these points, Denote

N(i, j) = (k, l) ∈ N2 : |k − i|+ |l − j| ≤ 1,Nλ(i, j) = (k, l) ∈ N2 : |k − i| ≤ λ, ‖l − j| ≤ λ,

where λ is a non-negative integer, then the above discrete operators could be represented as :

∇sf(xij) ≈ 12g∇u (fi+1,j − fi−1,j) +

12g∇v (fi,j+1 − fi,j−1),

=∑

(k,l)∈N(i,j)

w∇klfkl, (2)

3f(xij) ≈ 12g3

u (fi+1,j − fi−1,j) +12g3

v (fi,j+1 − fi,j−1),

=∑

(k,l)∈N(i,j)

w3klfkl, (3)

7

Page 8: G1 B-Spline Surface Construction By Geometric Partial

∆sf(xij) ≈ 12g∆

u (fi+1,j − fi−1,j) +12g∆

v (fi,j+1 − fi,j−1)

+ g∆uu(fi+1,j + fi−1,j − 2fi,j) + g∆

vv(fi,j+1 + fi,j−1 − 2fi,j)

+14g∆

uv(fi−1,j−1 + fi+1,j+1 − fi+1,j−1 − fi−1,j+1),

=∑

(k,l)∈N1(i,j)

w∆klfkl, (4)

2f(xij) ≈ 12g2

u (fi+1,j − fi−1,j) +12g2

v (fi,j+1 − fi,j−1)

+ g2uu(fi+1,j + fi−1,j − 2fi,j) + g2

vv(fi,j+1 + fi,j−1 − 2fi,j)

+14g2

uv(fi−1,j−1 + fi+1,j+1 − fi+1,j−1 − fi−1,j+1)

=∑

(k,l)∈N1(i,j)

w2klfkl, (5)

where the coefficients of fijare defined as in section 2 from xu, xv, xuu, xuv and xvv.

3.2 Construct second boundary control points

Suppose we would construct a tensor product B-spline surface with degree m in the u-direction and degreen in the v-direction, then the given boundary curve is the B-spline curve with corresponding degree. Letboundary control points are given by

p0j , pmj , pi0, pin, i = 0, 1, · · · ,m, j = 0, 1, · · ·n.

We also need to have tangent vectors on the four boundary edges, which is in the form of B-spline curveswith the same degree. Let the tangent vector B-spline curves in the v− direction corresponding to edgeu = 0 and u = 1 be

V(0)(v) =n+k−1∑

j=0

v(0)j Nj,k(v), V(1)(v) =

n+k−1∑

j=0

v(1)j Nj,k(v),

respectively, and tangent vector B-spline curves in the u−direction corresponding to edge v = 0 andv = 1 be

U(0)(u) =m+k−1∑

i=0

u(0)i Ni,k(u), U(1)(u) =

m+k−1∑

i=0

u(1)i Ni,k(u).

In order to be consistent with four boundary curves, their coefficients must satisfy the following equations

v(0)0 = km(p10 − p00), u(0)

0 = kn(p01 − p00),v(1)

0 = km(pm+k−1,0 − pm+k−2,0), u(0)m+k−1 = kn(pm+k−1,1 − pm+k−1,0),

v(0)n+k−1 = km(p1,n+k−1 − p0,n+k−1), u(1)

0 = kn(p0,n+k−1 − p0,n+k−2),v(1)

n+k−1 = km(pm+k−1,n+k−1 − pm+k−2,n+k−1), u(1)m+k−1 = kn(pm+k−1,n+k−1 − pm+k−1,n+k−2).

Which mean that the eight coefficients are defined by boundary curves.

8

Page 9: G1 B-Spline Surface Construction By Geometric Partial

From

∂x(u, v)∂u

∣∣∣∣u=0

= kmn+k−1∑

j=0

(p1j − p0j)Nj,k(v) = V(0)(v),

we could derive second boundary control points p1j

p1j =1

kmv(0)

j + p0j , j = 1, · · · , n + k − 2.

The other three groups of second boundary control points can be obtained in the similar way. But the foursecond boundary control points adjacent to four corner points have been computed twice. To obtain thesame second boundary control points,the control points of tangent vector curve adjacent to four cornerpoints should satisfy the following conditions:

1kmv(0)

1 + p01 = 1knu(0)

1 + p10,

− 1kmv(1)

1 + pm+k−1,1 = 1knu(0)

m+k−2 + pm+k−2,0,1

kmv(0)n+k−2 + p0,n+k−2 = − 1

knu(1)1 + p1,n+k−1,

− 1kmv(1)

n+k−2 + pm+k−1,n+k−2 = − 1knu(1)

m+k−2 + pm+k−2,n+k−1

If the above conditions are not satisfied,we take the average value of twice results as the four secondboundary control points. That is

p11 =12

[(1

kmv(0)

1 + p01

)+

(1kn

u(0)1 + p10

)],

pm+k−2,1 =12

[(− 1

kmv(1)

1 + pm+k−1,1

)+

(1kn

u(0)m+k−2 + pm+k−2,0

)],

p1,n+k−2 =12

[(1

kmv(0)

n+k−2 + p0,n+k−2

)+

(− 1

knu(1)

1 + p1,n+k−1

)],

pm+k−2,n+k−2 =12

[(− 1

kmv(1)

n+k−2 + pm+k−1,n+k−2

)+

(− 1

knu(1)

m+k−2 + pm+k−2,n+k−1

)].

As we know, the lengths of tangent vectors affect the mesh quality. In order to obtain good meshquality, we need provide a way to choose the proper lengths. In this paper, we propose a unified method-the arc length of mesh- as the length of tangent vector. For example, let V 0

j be the tangent vector at[0, j], its length equals to the length of arc from x(0, j) to x(1, j). Now we give some figures to show ourmethods is effective.

3.3 Construct initial inner control points

1. Construct initial inner control points.In order to use geometric PDE to construct initial inner control points, we need give the initial values

of initial inner control points. These initial values can be obtained by using cubic interpolations alongu−direction and v − direction from boundary control points and second boundary control points. Thenrepresent the Hermite interpolation polynomial in terms of B-spline curve. Take the average values oftwo directions,

p(0)ij =

12(p(u)

ij + p(v)ij ), i = 2, · · · ,m + k − 3, j = 2, · · · , n + k − 3,

9

Page 10: G1 B-Spline Surface Construction By Geometric Partial

wherep(u)ij andp(v)

ij are control points of B-spline presentation of cubic Hermite interpolations along u−direction and v−direction respectively.

2. Evolve initial values of initial inner control points.In order to employ geometric PDE to evolve initial inner control points, we discretize the used geo-

metric PDE. For every initial inner control points

pij , i = 2, · · · ,m + k − 3, j = 2, · · · , n + k − 3 (6)

construct a linear equation. The detailed process is as follows: Letx(k)ij be the numerical solutions at

t = kτ , we hope to obtain the discrete solutions x(k+1)ij at t = (k + 1)τ . Initial values are x(0)

ij := p(0)ij .

We use semi-implicit discretization method to discretize (16). It is said to be semi-implicit methodbecause at point xij , we discretize equation (16) in the form

(k,l)∈N2(i,j)

cklx(k+1)kl + bij = 0, (7)

, where coefficients ckl are computed using the previous step solutions. And coefficients ckl include meancurvature and Gaussian curvature,which can be computed by using discrete scheme (4) and (5).

The first item of equation (16) could be approximated:

∂x∂t

≈ x(k+1)ij − x(k)

ij

τ, (8)

where x(k)ij are known previous step solutions and should be added to bij of equation (7), the coefficients

of x(k+1)ij are added to cij of (7). The second item of equation (16) could be approximated as

2(γ∆sx + δ2x + νn) ≈∑

(k,l)∈N1(i,j)

w2kl(γkl∆sxkl + δkl2xkl + νklnkl), (9)

where coefficients w2kl, γkl, δkl, νkl and nkl are computed using the previous solutions, and νklnklare

treated as known and added to bij of equation (7). ∆sxkl and 2xkl can further be discretized as follows

∆sxkl ≈∑

(µ,ν)∈N1(k,l)

w∆µνx

(k+1)µν , (10)

2xkl ≈∑

(µ,ν)∈N1(k,l)

w2µνx

(k+1)µν , (11)

similarly, coefficients w∆µν and w2

µν are computed using the previous solutions. Substitute (10) and (11)into (9), then the second item of equation (16) can be expressed the sum of the linear combination ofx(k+1)

µν and some known items. The coefficients of x(k+1)µν are added to cµν of (7).

The third item of equation (16) can be dealt with in the same way as th second item. The fourth andfifth items are discretized in the way

fH2xij ≈ fH

∣∣∣x

(k)ij

k,l)∈N1(i,j)

w2klx

(k+1)kl , (12)

(2HfH + 2KfK − f)∆xkl

≈ (2HfH + 2KfK − f)∣∣∣x

(k)ij

k,l)∈N1(i,j)

w∆klx

(k+1)kl , (13)

10

Page 11: G1 B-Spline Surface Construction By Geometric Partial

respectively, where coefficients of x(k+1)kl should be added to ckl of equation (7).

The sixth item of (16) is approximated as follows

fH∇sxij ≈ fH

∣∣∣x

(k)ij

k,l)∈N(i,j)

w∇klH(x(k)kl ), (14)

and is computed using the previous solutions, then add the results to bij of (7).The all left items couldbe dealt with in the same way as the sixth item.

Substitute the above discrete scheme into equation (16), we could obtain a linear system with unknownpoints x(k+1)

ij . By Solving the system we get x(k+1)ij . Repeat the process, we obtain x(k+2)

ij , x(k+3)ij , · · · ,

x(l)ij , satisfying

maxij

‖x(l−1)ij − x(l)

ij ‖τ

< ε,

where ε is a given accuracy control constant. Since the initial inner control points only provide initialvalues for next step, it is not necessary to be very accurate. Hence here we take ε = 0.01. When theiteration process stop, we obtain x(l)

ij and they are the control points pij . The linear system is sparseand we use iterative method to solve it.

We shoule point out that the coefficients ckl of linear system (7) are scalars, not a 3× 3 matrix.

3.4 Construct inner control points

First we partition the parameter domain Ω = [0, 1]2 uniformly. Denote partition points as

[ui, vj ] =[

i

M,

j

N

]T

, i = 0, 1, · · · ,M, j = 0, 1, · · · , N,

where

M ≥ m + k − 1, N ≥ n + k − 1.

Let xij = x(ui, vj), where x(u, v) is the B-spline surface patch to be solved. At each partition point ofparameter domain,

[ui, vj ]T

, i = 2, · · · ,M − 2, j = 2, · · · , N − 2, (15)

we discretize the used geometric PDE to construct a linear system with the inner control points x(u, v)as unknown. Let

x(k)(u, v) =m+k−1∑

i=0

n+k−1∑

j=0

p(k)ij Ni,k(u)Nj,k(v),

be the solution of geometric PDE at t = kτ , we will construct the solution x(k+1)(u, v) at the next timestep t = (k + 1)τ . Denote

x(k)ij = x(k)(ui, vj),

We still employ semi-implicit method to discretize equation (16). The discrete steps is similar withthe previous subsection except the next some differences.

11

Page 12: G1 B-Spline Surface Construction By Geometric Partial

(i) These surface points x(k+1)αβ in the items (9)–(13) need further be discretized as

x(k+1)αβ =

m+k−1∑

i=0

n+k−1∑

j=0

p(k+1)ij Ni,k(uαβ)Nj,k(vαβ).

Hence at [ui, vj ]T , (16) could be discretized into a linear system with the control points p(k+1)

kl

unknown:∑

cklp(k+1)kl + bij = 0, i = 2, · · · ,M − 2, j = 2, · · · , N − 2. (16)

(ii) The coefficients ckl of equation (16) could be computed using the previous solutions. Since theprevious solution is a explicit B-spline surface presentation x(k)(u, v), the mean curvature, Gaussiancurvature and normal vector could be obtained from x(k)(u, v).

(iii) If M > m + k− 1 or N > n + k− 1, (16) is super definite. We can derive the least square solution.By solving the normal equation , we obtain p(k+1)

ij . Repeat this process and we achieve p(k+2)ij ,

p(k+3)ij , · · · , p(l)

ij . This process will not stop until the condition

maxij

‖p(l−1)ij − p(l)

ij ‖τ

< ε

is satisfied. ε is a given accuracy control constant and we take ε = 10−5.

4 Minimal B-spline surface

It is well known that minimal surface play an important role in geometry design and deserve to discussit in details. The previous algorithm could be used in constructing minimal B-spline surface by somesimplifing.

(i) In the above problem description, we need not provide the derivative information, therefore thesecond boundary control points are also kept unknown, which mean the inner control points are

pij , i = 1, · · · ,m + k − 2, j = 1, · · · , n + k − 2 (1)

(ii) Initial inner control points are constructed by using linear interpolation.

(iii) The initial inner control points to be evolved are (1), not (6). In constructing inner control points,the sample points (15) are changed into

[ui, vj ]T

, i = 1, · · · ,M − 1, j = 1, · · · , N − 1,

and equation (16) is turned into∑

cklp(k+1)kl + bij = 0, i = 1, · · · ,M − 1, j = 1, · · · , N − 1. (2)

(iv) In discretizing equation (16), we take f = 1, then the all items vanish except the fifth item ∆sx.

12

Page 13: G1 B-Spline Surface Construction By Geometric Partial

5 Numerical experiments

5.1 Numerical convergence experiments

Because of the high nonlinear property of used geometric PDE, it is very difficult to prove theconvergence of our methods theoretically . But the numerical experiments show the numerical convergenceof our methods. we choose the exact solution of geometric PDE as the approximation model, and computethe maximal error between the discrete and exact solution when n is taken to be 4, 6, · · · to observe theasymptotic property.

Example 1. In equation (16), take f = K2, then the column surface is the solution of used geometricPDE. We use two quadrilateral PDE B-spline patches to approximate the column, and observe theapproximation results with n increasing. The results are showed in column 2 of table 5.1.

Example 2. Take f = H2, we get the complete variation Willmore flow(WF). Sphere and ring arethe solutions of Willmore flow. We use six and eight quadrilateral Willmore B-spline surface patches toapproximate sphere and ring respectively. The results are put in column 3 and 4 of table 5.1.

Example 3. Take f = 1, the resulted geometric PDE is mean curvature flow(MCF). Minimal surface isthe solution of MCF. Let S is a minimal surface defined by

x(u, v) = (3u(1 + v2)− u3, 3v(1 + u2)− v3, 3(u2 − v2)), (1)

we employ a quadrilateral PDE B-spline surface patch to approximate S. See the column 5 of table 5.1for the results.

Table 5.1: The maximal asymptotic errorsn Column-f = K2 Sphere-WM Ring-WM Minimal-MCF4 3.567e-01 8.091e-03 1.906e-01 8.245e-026 2.422e-01 3.493e-03 1.242e-01 2.456e-028 1.745e-01 2.084e-03 1.045e-01 1.699e-0210 1.350e-01 1.450e-03 9.814e-02 1.142e-0212 1.267e-01 1.020e-03 9.408e-02 5.798e-0314 1.054e-01 8.700e-04 9.127e-02 4.083e-03

From the above table 5.1, we can see that the approximation effects are very excellent. That meansour proposed methods are numerical convergence.

5.2 Comparative examples of different geometric PDEs.

In order to show the different effects of different geometric PDEs, we take five different fourth ordergeometric flows to evolve the same initial surface. The results are as follows.

(a)Initial surface after interpolation. (b) f = 1 (c)f = H2

13

Page 14: G1 B-Spline Surface Construction By Geometric Partial

(d)f = K2 (e)f = H2 + K2 (f)f = H2K2

Fig 5.1: Comparison of five different fourth order geometric PDEs.

Figure 5.1 (a) shows the example of minimal surface construction. Figure 5.1 (b) is the example ofWillmore surface. Figure 5.1 (b) and (e) result in the same convex surface for the same initial surface.Figure 5.1 (d) and 5.1 (f) show that the column and initial surface are the solutions of used correspondinggeometric PDEs respectively.

5.3 Surface blending and complex surface design.

Figure 5.2(a), 5.3(a) and 5.4(a) show the initial input surface with holes. Figure 5.2(b), 5.3(b) and5.4(b) show the interpolation effects of input surfaces. They are not G1 smooth. Figure 5.2(c), 5.3(c)and 5.4(c) show the evolution effects of interpolation surfaces. The isophote shows they are G1 smooth.

(a) (b) (c)

Fig 5.2: (a)Initial surface with a hole. (b) Initial B-spline blending surface. (c)Evolution result using WF.

(a) (b) (c)

Fig 5.3: (a)Initial surface with holes. (b)Initial B-spline blending surface . (c)Evolution result using WF.

14

Page 15: G1 B-Spline Surface Construction By Geometric Partial

(a) (b) (c)

Fig 5.4: (a)Initial surface with holes. (b) Initial B-spline blending surface. (c)Evolution result using WF.

(a) (b) (c)

Fig 5.5: (a)Input wire frame of airplane body. (b) Initial construction. (c)Evolved surface.

Figure 5.5 (a) is the wire frame of airplane body. The boundary curves and tangent vectors have beengiven. Figure 5.5 (b) shows the result of interpolation. Figure 5.5 (c) is the evolution results using WFand MCF.

6 Conclusions

In this paper, We have presented a novel technique that integrates the B-spline and geometric PDEs. Weuse geometric PDEs to adjust the positions of inner control points and produce PDE B-spline surfacewith some optimization property. Numerical experiments show our method is effective and have beensuccessfully applied in solving surface blending and airplane body design with G1 smooth.

References

[1] C. Bajaj and G. Xu. Anisotropic Diffusion of Subdivision Surfaces and Functions on Surfaces. ACM Trans-actions on Graphics, 22(1):4–32, 2003.

[2] M. I. G. Bloor and M. J. Wilson. Generating blend surfaces using partial differential equations. ComputerAided Design, 21(3):165–171, 1989.

[3] M.I.G. Bloor and M.J.Wilson. Representing PDE surfaces in terms of B-splines. Computer Aided Design,22(6):324–331, 1990.

[4] Ramshaw L. Blossoming. a connect-the-dots approach to spline. Report 19, Digital,, System Research Center,Palo Alto, CA, 1987.

[5] U. Clarenz, U. Diewald, G. Dziuk, M. Rumpf, and R. Rusu. A finite element method for surface restorationwith smooth boundary conditions. Computer Aided Geometric Design, 21(5):427–445, 2004.

15

Page 16: G1 B-Spline Surface Construction By Geometric Partial

[6] U. Clarenz, U. Diewald, and M. Rumpf. Anisotropic geometric diffusion in surface processing. In VIS ’00:Proceedings of the Conference on Visualization, pages 397–405, Los Alamitos, CA, USA, 2000.

[7] M. G. Cox. The numerical evaluation of B-splines. Jour. Inst. Math. Applic., 10:134–149, 1972.

[8] H. B. Curry and I. J. Schoenberg. On spline distribution and their limits: the Polya distribution functions.Bull. Amer. Math. Soc., 53:109, 1947.

[9] C. DeBoor. On calculating with B-splines. Journal of Approximation Theory, 6:50–62, 1972.

[10] M. P. do Carmo. Differential Geometry of Curves and Surfaces. Prentice-Hall, Englewood Cliffs, NJ, 1976.

[11] M. P. do Carmo. Riemannian Geometry. Birkhauser, Boston, Basel, Berlin, 1992.

[12] M. Giaquinta and S. Hildebrandt. Calculus of Variations, Vol. I. Number 310 in A Series of ComprehensiveStudies in Mathematics. Springer-Verlag, Berlin, 1996.

[13] Y. Ohtake, A. G. Belyaev, and I. A. Bogaevski. Polyhedral surface smoothing with simultaneous meshregularization. In Geometric Modeling and Processing 2000 Proceedings, pages 229–237.

[14] R.F. Riesenfeld. Applications of B-spline Approximation to Geometric Problems of Computer-Aided Design.PhD thesis, Syracuse University, 1973.

[15] I. J. Schoenberg. Contributions to the problem of approximation of equidistance data by analytic functions.Quart. Appl. Math., 4:45–99, 1946.

[16] D. Terzopoulos and H. Qin. Dynamic NURBS with geometric constraints for interactive sculpting. ACMTransactions on Graphics, 13(2):103–136, 1994.

[17] K.J. Versprille. Computer-Aided Design Applications of the Rational B-Spline Approximation form. PhDthesis, Syracuse University, 1975.

[18] G. Xu and Q. Pan. G1 Surface Modelling Using Fourth Order Geometric Flows. Computer-Aided Design,38(4):392–403, 2006.

[19] G. Xu and Q. Zhang. Construction of Geometric Partial Differential Equations in Computational Geometry.Mathematica Numerica Sinica, 28(4):337–356, 2006.

[20] G. Xu and Q. Zhang. A General Framework for Surface Modeling Using Geometric Partial DifferentialEquations. Computer Aided Geometric Design, 25(3):181–202, 2008.

[21] S. Yoshizawa and A. G. Belyaev. Fair triangle mesh generation with discrete elastica. In Geometric Modelingand Processing, pages 119–123, Saitama, Japan, 2002.

16