26
Ternary Butterfly Subdivision Ruotian Ling a,b Xiaonan Luo b Zhongxian Chen b,c a Department of Computer Science, The University of Hong Kong b Computer Application Institute, Sun Yat-sen University c Department of Computer Science, Rensselaer Polytechnic Institute Abstract This paper presents an interpolating ternary butterfly subdivision scheme for trian- gular meshes based on a 1-9 splitting operator. The regular rules are derived from a C 2 interpolating subdivision curve, and the irregular rules are established through the Fourier analysis of the regular case. By analyzing the eigen-structures and char- acteristic maps, we show that the subdivision surfaces generated by this scheme is C 1 continuous up to valence 100. In addition, the curvature of regular region is bounded. Finally we demonstrate the visual quality of our subdivision scheme with several examples. Key words: Subdivision surfaces, interpolating, triangular mesh, 1-9 splitting 1 Introduction Subdivision surfaces are valued in geometric modeling applications for their flexibility. Since 1978 [1, 5], subdivision has been an active research area. Advances in computer memory have made subdivision methods practical in the late 1990s and this has prompted a large amount of new research work [2, 9, 16, 25]. The flexibility primarily comes from the fact that objects to be subdivided can be of arbitrary topology and thus can be represented in a form that makes them easy for designing, rendering and manipulating. Simply speaking, a subdivision surface is defined as the limit of a sequence of meshes. Each mesh in the sequence is generated from its predecessor using a group of topological and geometric rules. Topological rules are used to produce a finer mesh from a coarse one while geometric rules are designed to compute Corresponding Author: [email protected] (Ruotian Ling) Preprint submitted to Elsevier 20 April 2009

Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Embed Size (px)

Citation preview

Page 1: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Ternary Butterfly Subdivision

Ruotian Ling a,b Xiaonan Luo b Zhongxian Chen b,c

aDepartment of Computer Science, The University of Hong Kong

bComputer Application Institute, Sun Yat-sen University

cDepartment of Computer Science, Rensselaer Polytechnic Institute

Abstract

This paper presents an interpolating ternary butterfly subdivision scheme for trian-gular meshes based on a 1-9 splitting operator. The regular rules are derived from aC2 interpolating subdivision curve, and the irregular rules are established throughthe Fourier analysis of the regular case. By analyzing the eigen-structures and char-acteristic maps, we show that the subdivision surfaces generated by this schemeis C1 continuous up to valence 100. In addition, the curvature of regular region isbounded. Finally we demonstrate the visual quality of our subdivision scheme withseveral examples.

Key words: Subdivision surfaces, interpolating, triangular mesh, 1-9 splitting

1 Introduction

Subdivision surfaces are valued in geometric modeling applications for theirflexibility. Since 1978 [1, 5], subdivision has been an active research area.Advances in computer memory have made subdivision methods practical inthe late 1990s and this has prompted a large amount of new research work[2, 9, 16, 25]. The flexibility primarily comes from the fact that objects to besubdivided can be of arbitrary topology and thus can be represented in a formthat makes them easy for designing, rendering and manipulating.

Simply speaking, a subdivision surface is defined as the limit of a sequence ofmeshes. Each mesh in the sequence is generated from its predecessor using agroup of topological and geometric rules. Topological rules are used to producea finer mesh from a coarse one while geometric rules are designed to compute

∗ Corresponding Author: [email protected] (Ruotian Ling)

Preprint submitted to Elsevier 20 April 2009

Page 2: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

the positions of vertices in the new mesh. These two groups of rules constitutea subdivision scheme.

Subdivision can be distinguished into two classes: interpolating schemes [7, 28]and approximating schemes [1, 5, 17, 22]. If the old vertices are changed dur-ing refinement, the subdivision algorithm is considered to be approximating,otherwise it is interpolating. Although approximating algorithms yield limitsurfaces with higher continuity, interpolating algorithms enjoy some obviousadvantages which the approximating ones do not have: interpolating schemesare more efficient for the applications requiring interpolating specified ver-tices. Furthermore it is easy to generate multi-resolution surfaces by usinginterpolating schemes [26].

For a long time, interpolating schemes failed to generate surfaces with highercontinuity. Although a 6-point interpolating scheme for a curve with C2 con-tinuity has been proposed in [24], it is not practical to extend this schemeto a surface because too many vertices would be included in a mask. Hassanet al. reported an interpolating ternary subdivision scheme for curves whichachieves C2 continuity [8]. The most desirable property is that only 4 pointsare needed to generate a new vertex. Starting from this curve case, Dodgson etal. [4] and Li et al. [13] designed interpolating schemes for triangular meshesand quadrilateral meshes respectively, but Li et al.’s scheme goes further inconstructing surfaces with extraordinary vertices. It is well known that rulesof a subdivision scheme for irregular meshes are particularly important if thescheme is to be used in practical applications [14, 28], but unfortunately, ir-regular rules are not investigated in Dodgson et al.’s work, making it difficultto refine a coarse mesh with irregular vertices, which is often encountered inpractice.

In this paper, we first slightly modify Dodgson et al.’s scheme, and then extendthe regular rules to meshes with arbitrary topology through Fourier analysis.Based on the eigen-structures and characteristic maps, we show the C1 con-tinuity of subdivision surfaces for both regular and irregular regions up tovalence 100. Due to the new 1-9 splitting operator, the face number increasesby power of 9 in each step of the proposed subdivision. For this reason, wealso explore the ability of adaptive subdivision. Finally some examples arepresented to show the visual quality of the proposed subdivision scheme.

2 Related Work

In 2002, Hassan et al. introduced interpolating ternary subdivision curves[8] shown in Fig. 1. The advantage of this new scheme is that it yields C2

continuous limit curves. This subdivision scheme inserts two E-vertices into

2

Page 3: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

each edge of the given control polygon respectively at 1/3 and 2/3 parametricpositions. A newly inserted vertex of the interpolating ternary subdivisionscheme is computed as follows:

q1 = a0pki−1 + a1p

ki + a2p

ki+1 + a3p

ki+2 (1)

where

a0 = − 118

− 16µ

a1 = 1318

+ 12µ

a2 = 718

− 12µ

a3 = − 118

+ 16µ

, (2)

with free parameter µ. The mask for q2 is symmetric to that of q1. When19≥ µ ≥ 1

15, the scheme generates C2 limit curves [6].

Fig. 1. Interpolating ternary subdivision curve: mask for newly inserted vertex q1

Motivated by this subdivision curve, two subdivision schemes for surfaces havebeen proposed [4, 13] consequently. Both of their ideas are to generalize thecurve setting to surface configurations such that the regular rules can be de-rived by solving a system of equations. Although the irregular rules of [4]have been first investigated in [15], their result does not guarantee that thelimit surfaces near extraordinary vertices are C1 continuous. Furthermore, theeigenvalue analysis of irregular subdivision matrices in [15] takes only the 1-neighborhood of an extraordinary vertex into consideration. But accordingto the rules outlined in that paper, the smallest similar stencil should be 2-neighborhood, so that the eigenvalues provided in that paper cannot fullydemonstrate the property of limit surfaces.

3 Regular Subdivision Masks

Our ternary subdivision introduces two types of new vertices: E-vertices, para-metrically on the mesh edges, and F-vertices, parametrically at the face cen-ter. The regular rules of our subdivision scheme are similar to [4] except fora small modification. The regular masks for face vertex (F-vertex) and edgevertex (E-vertex) are presented in Fig. 2 and Fig. 3 respectively.

3

Page 4: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Fig. 2. Regular subdivision mask for a F-vertex QF (the black dot).

Fig. 3. Regular subdivision mask for an E-vertex QE (the black dot), in which wesuggest ǫ and ν be zero.

As mentioned above, the rules of Dodgson et al.’s scheme are derived fromthe ternary subdivision curve. The underlying surface masks reduce to thecurve masks when the given control mesh collapses to a polyline along one ofthe three directions of the triangular mesh, so the weights in the masks mustsatisfy the following constraints:

κ+ 2θ = a0

2η + 2θ = a1

η + 2κ = a2

2θ = a3

,

δ + ǫ = a0

γ + α + δ = a1

ξ + β + γ = a2

ν + ξ = a3

. (3)

By applying the conditions in Eq. (3), the mask with free parameters µ, ν, ǫcan be obtained.

θ = 136

(−1 + 3µ)

κ = 136

(−12µ)

η = 136

(14 + 6µ)

,

ξ = 136

(−2 + 6µ) − ν

δ = 136

(−2 − 6µ) − ǫ

γ = 136

(4) + ǫ+ ν

β = 136

(12 − 24µ) − ǫ

α = 136

(24 + 24µ) − ν

. (4)

In order to simplify the analysis, we suggest that two weights, ǫ and ν, be zero.Then the shape of the E-mask is reduced to Dyn et al.’s butterfly scheme [7].

4

Page 5: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

By analyzing the subdivision matrix with ǫ = ν = 0, we can compute theeigenvalues by Mathematica 5.0 or other mathematic tools:

1,1

3,

1

3,

1

9,

1

9,

1

9, −µ, 1 − 5µ

6,1 − 5µ

6,1 − 5µ

6,1 − 3µ

9,

1 − 3µ

12,1 − 3µ

12,1 − 9µ

18,1 − 9µ

18,1 − 9µ

18,1 − 3µ

36,1 − 3µ

36, 0.

If µ is set to be 111

, the seventh eigenvalue is minimized and the 7th, 8th, 9thand 10th eigenvalues are then equal to 1

11. The following eigenvalues are all

less than 111

. For our proposed regular masks, we let µ be 111

in this paper.

4 Masks Near Extraordinary Vertices

4.1 Decomposition of regular masks

In order to simplify the derivation of irregular masks, we investigate the de-composition of the regular masks first. Fig. 4 and Fig. 5 show the processof decompositions. Three 1-neighborhood smaller masks are produced fromthe regular F-mask while two smaller masks are generated from the E-mask.The newly inserted vertices in the smaller masks should satisfy the followingconstraints because the smaller masks are decomposed from the regular ones.

QF = 13(qF

1 + qF2 + qF

3 )

QE = 12(qE

1 + qE2 )

(5)

So the relation between the weights in 1-neighborhood masks and those in theregular masks is obtained:

τ = 3θ

2ζ = 3κ

ρ+ 2υ = 3η

,

χ1 + σ2 = 2α

σ1 + χ2 = 2β

φ1 + φ2 = 2γ

ψ1 = 2δ

ψ2 = 2ξ

ι1 = 2ǫ

ι2 = 2ν

. (6)

5

Page 6: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Fig. 4. Decomposition of the regular F-mask, where qF1,2,3 (the black dots) are the

F-vertices in 1-neighborhood masks.

Fig. 5. Decomposition of the regular E-mask, where qE1,2 (the black dots) are the

E-vertices in 1-neighborhood masks.

4.2 Extensions of irregular 1-neighborhood masks

Now we can formulate the matrix representation of these 1-neighborhoodmasks. Let us consider the 1-neighborhood centered at the vertex p0 of va-lence 6. The adjacent vertices of p0 can be partitioned into 6 blocks,

Bi = (pi0, pi1), (i = 1, 2, 3, 4, 5, 6), (7)

and

B = (B1, B2, B3, B4, B5, B6)T . (8)

Note that all pi0 (i = 1, 2, 3, 4, 5, 6) denote vertex p0. Such a trick helps to gen-erate a succinct circulant representation of subdivision matrix. The labelingsystem is illustrated in Fig. 6. After one round of the ternary butterfly sub-division, a 2-neighborhood, which completely depends on its 1-neighborhoodpredecessor, is created around p0. The new configuration of vertices can be

6

Page 7: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

partitioned into 6 blocks also:

Bi = (pi0, pi1, pi2, pi3), (i = 1, 2, 3, 4, 5, 6), (9)

and

B = (B1, B2, B3, B4, B5, B6)T . (10)

Fig. 6. 1-neighborhood stencil for newly inserted vertices in the 2-neighborhood andan illustration of the labeling system.

The relationship between Bi and Bi can be depicted by a subdivision matrixA.

B = AB, (11)

where A is a circulant matrix,

A =

A1 A2 A3 A4 A5 A6

A6 A1 A2 A3 A4 A5

A5 A6 A1 A2 A3 A4

A4 A5 A6 A1 A2 A3

A3 A4 A5 A6 A1 A2

A2 A3 A4 A5 A6 A1

, (12)

and

7

Page 8: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

A1 =

1/6 0

χ1/6 σ1

χ2/6 σ2

ρ/6 υ

, A2 =

1/6 0

χ1/6 φ1

χ2/6 φ2

ρ/6 υ

, A3 =

1/6 0

χ1/6 ψ1

χ2/6 ψ2

ρ/6 ζ

,

A4 =

1/6 0

χ1/6 ι1

χ2/6 ι2

ρ/6 τ

, A5 =

1/6 0

χ1/6 ψ1

χ2/6 ψ2

ρ/6 τ

, A6 =

1/6 0

χ1/6 φ1

χ2/6 φ2

ρ/6 ζ

.

(13)

And then we can apply the Fourier transform [13, 14] to the sequence A1, A2, A3,A4, A5, A6, where Aj is a matrix of 4 rows. For the first 3 rows of Aj, the trans-form follows the traditional fashion:

Ak =∑

1≤j≤6

Ajω(j−1)(k−1), (14)

where ω = e−2π

6i, k = 1, 2, ..., 6. To avoid complex numbers in the Fourier

coefficients and to keep the symmetric structure of the weights in masks, weslightly modify to the Fourier transform in the fourth row:

Ak = ω1−k

2

1≤j≤6

Ajω(j−1)(k−1), (15)

where ω = e−2π

6i, k = 1, 2, ..., 6. The six Fourier coefficients obtained are:

A1, A2, A3, A4, A5, A6. (16)

Based on these coefficients, now we can extend the 1-neighborhood of valence6 to valence n. A circulant matrix is uniquely determined by the Fouriercoefficients of its element sequence. In order to guarantee that the subdivisionmatrix A(n) of a mask with a central vertex of valence n is an extension of thematrix A, we only need to assume

A(n) = Circulant(A(n)1 , A

(n)2 , ..., A(n)

n ), (17)

where A(n)1 , A

(n)2 , ..., A(n)

n are the Fourier coefficients. Now the problem of the

reconstruction of the irregular masks is converted to the computation of A(n)k .

We cannot utilize the Fourier coefficients in Eq. (16) directly because of the

modification in Eq. (15). We assume that A(n)k , k = 1, 2, ..., n, is a 2×4 matrix

8

Page 9: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

sequence such that the sequence satisfies(a) if n = 3,

A(3)1 = A1, A

(3)2 = A2, A

(3)3 = A6. (18)

(b) if n = 4,

A(4)1 = A1, A

(4)2 = A2, A

(4)3 = A4, A

(4)4 = A6. (19)

(c) if n ≥ 5,

A(n)1 = A1, A

(n)2 = A2, A

(n)3 = A3,

A(n)k = A4, (k = 4, ..., n− 2),

A(n)n−1 = A5, A

(n)n = A6.

(20)

Let ∗ denote the first 3 rows of matrix A(n)k and let R4 represent the fourth

row of A(n)k , so

A(n)k =

∗R4

. (21)

Now the Fourier coefficients can be derived from A(n)k , where

A(n)k =

∗R4 · ω

k−1

2

. (22)

The Fourier coefficients A(n)k of subdivision matrix A(n) can be obtained by

Eqs. (18 - 22). According to the inverse Fourier transform

Aj =1

n

1≤k≤n

Akω−(k−1)(j−1)

, (23)

where ω = e−2π

ni, j = 1, 2..., n. From the subdivision matrix A(n), we get

the weights in Fig. 7. More details of the Fourier transform can be found inAppendix A. For a mask with a central vertex of valence n, its weights are:

(a) if n = 3,

9

Page 10: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

wF0 = ρ

wF1 = 1

3(2(υ + ζ + τ) + 2

√3(υ − τ) cos π

3)

wF2,3 = 1

3(2(υ + ζ + τ) + 2

√3(υ − τ) cos 2πk−3π

3)

wE10 = χ1

wE11 = 1

3(3σ1 + 4φ1 − ι1)

wE12,3 = 1

3((σ1 + 2φ1 + 2ψ1 + ι1) + 2(σ1 + φ1 − ψ1 − ι1) cos 2π(k−1)

3)

(24)

wE20 = χ2

wE21 = 1

3(3σ2 + 4φ2 − ι2)

wE22,3 = 1

3((σ2 + 2φ2 + 2ψ2 + ι2) + 2(σ2 + φ2 − ψ2 − ι2) cos 2π(k−1)

3)

(b) if n = 4,

wF0 = ρ

wF1 = 1

4(2(υ + ζ + τ) + 2

√3(υ − τ) cos π

4)

wF2,3,4 = 1

4(2(υ + ζ + τ) + 2

√3(υ − τ) cos 2πk−3π

4)

wE10 = χ1

wE11 = 1

4(4σ1 + 2φ1 + 2ψ1 − 2ι1)

wE12,3,4 = 1

4((σ1 + 2φ1 + 2ψ1 + ι1) + (2σ1 + 2φ1 − 2ψ1 − 2ι1) cos 2π(k−1)

4

+(σ1 − 2φ1 + 2ψ1 − ι1) cos 4π(k−1)4

)

(25)

wE20 = χ2

wE21 = 1

4(4σ2 + 2φ2 + 2ψ2 − 2ι2)

wE22,3,4 = 1

4((σ2 + 2φ2 + 2ψ2 + ι2) + (2σ2 + 2φ2 − 2ψ2 − 2ι2) cos 2π(k−1)

4

+(σ2 − 2φ2 + 2ψ2 − ι2) cos 4π(k−1)4

)

(c) if n ≥ 5,

wF0 = ρ

wF1 = 1

n(2(υ + ζ + τ) + (2

√3υ − 2

√3τ) cos π

n+ (2υ − 4ζ + 2τ) cos 2π

n)

wFk≥2 = 1

n(2(υ + ζ + τ) + (2

√3υ − 2

√3τ) cos 2πk−3π

n+

(2υ − 4ζ + 2τ) cos 4πk−6πn

)

10

Page 11: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

wE10 = χ1

wE11 = 1

n(nσ1 + (12 − 2n)φ1 − (12 − 2n)ψ1 + (6 − n)ι1)

wE1k≥2 = 1

n((4φ1 + 2ι1) + (6φ1 − 6ψ1) cos 2π(k−1)

n+ (2φ1 − 6ψ1 + 4ι1) cos 4π(k−1)

n)

(26)

wE20 = χ2

wE21 = 1

n(nσ2 + (12 − 2n)φ2 − (12 − 2n)ψ2 + (6 − n)ι2)

wE2k≥2 = 1

n((4φ2 + 2ι2) + (6φ2 − 6ψ2) cos 2π(k−1)

n+ (2φ2 − 6ψ2 + 4ι2) cos 4π(k−1)

n)

Fig. 7. (a) Irregular mask for F-vertex; (b) irregular mask for E-vertex; (b) irregularmask for another E-vertex.

However, there are 14 free parameters in Eq. (6) but only 10 equations. Wewill show how to get the free parameters in the next section.

5 Subdivision Rules

In the previous sections, algorithms for both regular and irregular regions havebeen designed but several free parameters in the masks are still left undeter-mined. The E-vertices and F-vertices of our scheme near extraordinary verticesare not computed in the way that the traditional subdivision schemes are, sofurther discussions are presented in this section to clarify and summarize thesubdivision rules.

11

Page 12: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

5.1 Topological rule

In one step of our refinement, a F-vertex is inserted in each face while twoE-vertices are generated on each edge. By connecting these new vertices withold ones, 9 new small faces are produced from each triangle. The splittingprocess is illustrated in Fig. 8. This topological rule is called the 1-9 splittingoperator.

Fig. 8. 1-9 splitting operator.

5.2 Geometric rules

For an interpolating scheme, it is sufficient to design rules for newly insertedvertices because the old vertices from previous levels keep their original po-sitions. There exist two types of new vertices, vertices in regular regions andthose in extraordinary regions, which should be treated differently.

For new vertices in regular regions, masks presented in Fig. 2 and Fig. 3 areapplied to compute their positions in our proposed method. Note that we setµ = 1

11, ǫ = 0 and ν = 0 in all our analysis.

The 1-neighborhood masks constructed in Section 4 are not sufficient for newvertices in extraordinary areas, although this is a popular approach to handleextraordinary situations [10, 14, 28]. To ensure that the irregular masks arean extension of the regular case, i.e, the regular mask can be considered as aspecial case of irregular masks, a small modification is done to the algorithm.This is also the way that [13] handles the irregular situations. The modifiedapproach is outlined as follows:

• For every triangle that has at least one extraordinary vertex, we computevalues for the F-vertex using three 1-neighborhood masks centered at threevertices of the triangle, respectively, and then take the average. The F-maskis shown in Fig. 7 (a) with the weights in Eq. (4).

• For every edge that connects at least one extraordinary vertex, we computevalues for the E-vertex using two 1-neighborhood masks centered at twoendpoints of the edge respectively, and then take the average. The E-masksare shown in Fig. 7 (b) (c) with the weights in Eq. (4).

12

Page 13: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Then the smallest similar stencil of extraordinary vertex is its 2-neighborhood.In other words, all vertices of its 2-neighborhood generated by one step ofsubdivision are computed using only vertices of its current 2-neighborhood.Moreover, no other smaller neighborhood has this property as shown in Fig. 9.Now we can establish the subdivision matrix A(n) by applying the geometricrules to the 2-neighborhood displayed in Fig. 9. Because we want to achieveC1 continuous limit surfaces for arbitrary meshes, the 4 leading eigenvalues ofA(n) must satisfy the constraint:

1 = λ1 > ‖λ2‖ = ‖λ3‖ > ‖λ4‖. (27)

By examining the eigenvalues of A(n) and evaluating the visual quality, wedetermine the free parameters in Eqs. (24) (25) (26). The proposed parametersgiven in Eq. (28) yield C1 continuous limit surfaces near extraordinary vertices.That will be numerically verified in the next section.

Fig. 9. The smallest similar stencil for 2 consecutive levels of subdivision, where thegrey lines are in the jth level and dark lines are in the j + 1th level.

τ = − 233

ζ = − 122

ρ = 23

υ = 311

,

χ1 = 23

σ1 = 13

φ1 = 445

ψ1 = −1499

ι1 = 0

,

χ2 = 733

σ2 = 2633

φ2 = 215

ψ2 = − 899

ι2 = 0

. (28)

5.3 Boundaries

To compute an F-vertex, all vertices in the stencil have to be used. For trianglesnear the boundary some of those vertices may not exist. This happens whenone or more vertices of the triangle are on the boundary. To address thisproblem, mirror vertices [12, 16], lying outside of the mesh, are imported. A

13

Page 14: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

typical configuration is shown in Fig. 10. The mirror vertices p7, p8, p9 arecomputed as follows:

p7 = p3 + p4 − p0

p8 = p4 + p5 − p1

p9 = p5 + p6 − p2

, (29)

where pi (i = 0, ..., 6) are the real vertices in the stencil on the boundary. Byinserting these mirror vertices into the stencil, an F-vertex can be obtained.Obviously, Fig. 10 is not the only configuration, but all of other configurationscan be handled using the idea of mirror vertices.

Fig. 10. Mirror vertices in dashed circles of a stencil near the boundary.

For an E-vertex on the boundary, the ternary interpolating subdivision schemefor curves is used directly to compute its position. This approach contributesto the stitching of 2 meshes which share the same boundary [9, 21]. Becauseonly the vertices on the boundary are involved for computing new E-vertices, iftwo meshes share a boundary, their subdivided meshes will share a boundary,too.

6 Smoothness Analysis

In most cases, interpolating subdivision surfaces cannot be generalized to aknown parametric CAGD surface. Several tools have been designed to help uswith determining the limit surface’s properties. Typical tools for C1 continuityinclude subdivision matrix and characteristic map [20, 27].

In this section, the C1 continuity of our ternary butterfly scheme is numericallyverified. Note that valence 6 is the regular setting and the others are irregularconfigurations.

As pointed out in [20], a necessary condition for C1 continuity is 1 = λ1 >‖λ2‖ = ‖λ3‖ > ‖λ4‖, where λi is the ith largest eigenvalue of the subdivision

14

Page 15: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Table 1Four leading eigenvalues of the subdivision matrix S(n) for valence n = 3, . . . , 10.

n λ1 λ2 λ3 ‖λ4‖

n = 3 1 0.2482 0.2482 0.1248

n = 4 1 0.2786 0.2786 0.1111

n = 5 1 0.3108 0.3108 0.1429

n = 6 1 0.3333 0.3333 0.1111

n = 7 1 0.3486 0.3486 0.1172

n = 8 1 0.3592 0.3592 0.1256

n = 9 1 0.3668 0.3668 0.1655

n = 10 1 0.3723 0.3723 0.1884

matrix A(n). We have calculated the eigenvalues of subdivision matrixes A(n)

for n = 3, . . . , 100. Table 1 shows the four leading eigenvalues of valence3, . . . , 10 while λ2, λ3 and ‖λ4‖ are depicted in Fig. 11. It can be observedthat the proposed scheme satisfies the necessary condition for C1 continuityin both regular and irregular regions, at least for valence 3, . . . , 100, a rangewide enough for practical applications.

Fig. 11. The magnitudes of λ2, λ3 and ‖λ4‖ of the subdivision matrix S(n) for valencen = 3, . . . , 100.

However, this is still not sufficient to show the C1 continuity of the scheme.It remains to demonstrate the regularity and injectivity of the characteristicmaps. A characteristic map [14, 20] of a subdivision matrix is defined as theplanar limit surface whose initial control mesh consists of the two eigenvectorsof the eigenvalues λ2 and λ3. Namely, x- and y-coordinates of a vertex in thecontrol mesh come from the two eigenvectors respectively. The z-coordinatesof all vertices are set to be zero. We have calculated the characteristic mapsfor valence 3, . . . , 100, all of which are well behaved.

Some of these characteristic maps are illustrated in Fig. 12 to show the ini-

15

Page 16: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Fig. 12. Visualization of the characteristic maps of valence 3, . . . , 8. The first andthe third rows are the initial control meshes and the second and forth rows are theresults after 4 rounds of the ternary butterfly subdivision.

tial control meshes and the corresponding subdivided meshes after 4 steps ofrefinement. The above result leads to the conclusion that our ternary butter-fly subdivision scheme generates C1 continuous surfaces for both regular andirregular regions around vertices with a valence no larger than 100.

As pointed out in [18, 19], if the six leading eigenvalues of the subdivisionmatrix have the structure:

1, λ, λ, λ2, λ2, λ2, (30)

then the scheme generates limit surfaces with bounded curvature. Note thatwhen the valence is 6, the six leading eigenvalues of our subdivision matrixsatisfies the structure described in Eq. (30), so we conclude that boundedcurvature is achieved in those regular regions of limit surfaces. But that is notnecessarily true at extraordinary vertices.

16

Page 17: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

7 Adaptive Algorithm

Due to the 1-9 splitting topological rule which is employed in our proposedscheme, the number of faces grows by the power of 9 in each round of refine-ment, which is faster than other schemes [6, 28]. Hence, for efficient applica-tions, we try to refine the control mesh only in those regions where the qualityof the surface is not desirable and use a coarser mesh in the region with fewergeometric details. This strategy is called adaptive subdivision [11, 13].

The main problem of adaptive subdivision is to distinguish the divisible re-gions, which is usually with high curvature, from those indivisible regions. Weuse the dihedral angle as the threshold θT to determine the divisibility of aface. If all the angles between a face and its neighbors are less than θT , wemark it as the indivisible region.

But the indivisible regions adjacent to those divisible regions must be treatedspecially. If all the indivisible regions remain the same after one round ofrefinement, holes [12] would occur in the subdivided mesh because the sharededges are not split. We use the technique described in Fig. 13 to avoid thisproblem. The indivisible regions near those divisible regions are split accordingto the degree of indivisibility. If a face is considered to be indivisible, thedegree of indivisibility is defined as the number of its indivisible neighbors.Our adaptive algorithm can be briefly summarized as follows:

(1) Set Mdiv = φ and Mind = φ, where Mdiv is the set of divisible faces andMind is the set of indivisible faces.

(2) Compute the normal vector of each face.(3) Compute all angles between the normal vectors of two adjacent faces.

Note that each face has 3 adjacent neighbors, so 3 angles, θa, θb and θc,can be calculated for each face.

(4) Examine the face F of the mesh. If all of θa, θb and θc are less than thethreshold θT , add F to Mind, otherwise add F to Mdiv.

(5) Repeat Step (4) until all faces are checked.(6) Subdivide Mdiv using the proposed uniform scheme.(7) For indivisible faces adjacent to those divisible faces, determine their

degree of indivisibility and then split these faces with the technique de-scribed in Fig. 13. Specifically, if an indivisible face is surrounded by threedivisible faces, we divide it into 9 smaller faces by the rules described inSection 5.

If further refinements are applied to the triangles already adaptively subdi-vided, i.e., the center triangles in Fig. 13 (b) and (c), we can first remove thelong sub-triangles in the center followed by a uniform refinement. This methodis called red-green triangulation [23] and is effective to remove visual artifacts

17

Page 18: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

caused by long-triangles. After adaptively subdividing a mesh, we can stillameliorate the long-triangle artifacts by a post-processing step. We employthe edge-flip operation based on ’maximizing the smallest angle’ [3] and thedihedral angle threshold in adaptively subdivided regions to improve the meshquality. Note that the red-green method ensures that a face is adaptively sub-divided at most once, so the number of adaptively subdivided faces is small.Because the post-processing step is only applied to the adaptively subdividedregions, the computational cost is relatively low.

Fig. 13. Top row: the dark faces are set to be divisible while the others are set tobe indivisible. Bottom row: meshes after adaptive subdivision with a central face ofdegree of divisibility 0 (a), 1 (b), 2 (c), and 3 (d).

8 Experiments

To demonstrate the visual quality of the ternary butterfly subdivision surfaces,we have implemented the subdivision algorithm using OpenGL library forvisualization.

The examples shown in Fig. 14 and Fig. 15 are designed to compare ourapproach with the traditional butterfly scheme [7, 28]. We use sufficientlydense meshes to approximate their limit surfaces. Fig. 14 (b) (157k faces) andFig. 15 (b) (472k faces) are generated by uniformly refining the input meshesusing the ternary butterfly scheme with 4 and 5 steps, respectively. Fig. 14 (c)(98k faces) and Fig. 15 (c) (524k faces) are generated by uniformly refiningthe input meshes using the traditional butterfly scheme with 6 and 8 steps,respectively. Due to the use of different masks in the refinement, our limitsurfaces are different from that of the traditional butterfly scheme. The lightreflection areas of refined examples demonstrate the difference. We can seethat the reflection areas generated by our approach are larger.

Fig. 16 describes the process of subdivision by presenting a sequence of subdi-vided meshes. The initial ant mesh consists of 912 triangles and 486 vertices.

18

Page 19: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Fig. 14. Comparison of limit surfaces between the ternary butterfly scheme and thetraditional butterfly scheme: (a) Initial mesh with 24 faces; (b) limit surface of theternary butterfly scheme; (c) limit surface of the traditional butterfly scheme

Fig. 15. Comparison of limit surfaces between the ternary butterfly scheme and thetraditional butterfly scheme. (a) Initial input with 8 faces; (b) limit surface of theternary butterfly scheme; (c) limit surface of the traditional butterfly scheme.

Fig. 16. Ant model: sequence of meshes generated by the ternary butterfly scheme(top row) and their corresponding rendered models (bottom row). (a) Initial input;(b) result generated after one step of refinement; (c) result generated after two stepsof refinement.

After one step of refinement, the refined mesh has 8208 triangles and 4134vertices. After two steps of refinement, the refined mesh has 73872 trianglesand 36966 vertices. Obviously, we can see that the number of triangles growsby power of 9.

Fig. 17 and Fig. 18 display three examples of uniform subdivision surfaces. Allresults are produced after two steps of refinement. These examples show thatthe proposed subdivision scheme is capable of modeling meshes for practical

19

Page 20: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Fig. 17. Dolphin model: (a) initial mesh; (b) result generated after 2 steps of refine-ment.

Fig. 18. (a) Initial mesh of a foot bone model; (b) result by applying subdivision to(a); (c) initial mesh of a dinosaur model; (d) result by applying subdivision to (c).Both of the results in (b) and (d) are produced after 2 steps of refinement.

Fig. 19. Mannequin head model: (a) initial control mesh; (b) result after 2 steps ofadaptive refinement; (c) result after 2 steps of uniform refinement.

applications. The ability to deal with complex meshes are demonstrated inFig. 18.

Fig. 19 shows the difference between adaptive subdivision and uniform subdivi-sion. We can see clearly that only those regions with fine details are subdivided.The threshold is set to be π/24 in this example. The adaptively subdividedmesh has 33248 vertices and 66492 faces, while the uniformly subdivide meshhas 57512 vertices and 115020 faces.

20

Page 21: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Acknowledgments

The authors wish to thank Christopher Stuetzle for his help on improving thewritten English of the paper, Dongming Yan, Feng Sun, Yufei Li, Li Cao andPengbo Bo for proof-reading.

A The details of Fourier transform

In Section 4, we have designed the irregular rules for meshes with extraordinarysettings. Here, more mathematical details are described to substantiate thederivation.

In the regular 1-neighborhood case, which has a central vertex of valence 6, wehave constructed a circulant subdivision matrix A in Eq. (12). According tothe modification presented in Eq. (15) and Eq. (14), the revised Fourier trans-form can be employed to get its coefficients, which are listed in the followingequations.

A1 =

1 0

χ1 σ1 + 2φ1 + 2ψ1 + ι1

χ2 σ2 + 2φ2 + 2ψ2 + ι2

ρ 2υ + 2ζ + 2τ

, A2 =

0 0

0 σ1 + φ1 − ψ1 − ι1

0 σ2 + φ2 − ψ2 − ι2

0√

3υ +√

,

A3 =

0 0

0 σ1 − φ1 − ψ1 + ι1

0 σ2 − φ2 − ψ2 + ι2

0 υ − 2ζ + τ

, A4 =

0 0

0 σ1 − 2φ1 + 2ψ1 − ι1

0 σ2 − 2φ2 + 2ψ2 − ι2

0 0

,

A5 =

0 0

0 σ1 − φ1 − ψ1 + ι1

0 σ2 − φ2 − ψ2 + ι2

0 −υ + 2ζ − τ

, A6 =

0 0

0 σ1 + φ1 − ψ1 − ι1

0 σ2 + φ2 − ψ2 − ι2

0 −√

3υ +√

.

Since the Fourier coefficients have been calculated and we have set the rules todetermine the Fourier coefficients in Eqs. (18 - 22), the subdivision matrix A(n)

can be formulated. Similar to the derivation mentioned above, three unique

21

Page 22: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

situations have to be discussed separately.

(a) For the 1-neighborhood mask with a central vertex of valence 3, the sub-division matrix is:

A(3) = Circulant(A(3)1 , A

(3)2 , A

(3)3 ),

where

A(3)1 =

1

3

1 0

χ1 3σ1 + 4φ1 − ι1

χ2 3σ2 + 4φ2 − ι2

ρ 2(υ + ζ + τ) + 2√

3(υ − τ) cos π3

,

A(3)k=2,3 =

1

3

1 0

χ1 a(3)1 + a

(3)2 cos 2πk

3

χ2 a(3)3 + a

(3)4 cos 2πk

3

ρ 2(υ + ζ + τ) + 2√

3(υ − τ) cos 2πk−13

,

with

a(3)1 = σ1 + 2φ1 + 2ψ1 + ι1

a(3)2 = 2(σ1 + φ1 − ψ1 − ι1)

a(3)3 = σ2 + 2φ2 + 2ψ2 + ι2

a(3)4 = 2(σ2 + φ2 − ψ2 − ι2)

.

(b) For the 1-neighborhood mask with a central vertex of valence 4, the sub-division matrix is:

A(4) = Circulant(A(4)1 , A

(4)2 , A

(4)3 , A

(4)4 ),

where

22

Page 23: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

A(4)1 =

1

4

1 0

χ1 4σ1 + 2φ1 + 2ψ1 − ι1

χ2 4σ2 + 2φ2 + 2ψ2 − ι2

ρ 2(υ + ζ + τ) + 2√

3(υ − τ) cos π4

,

A(4)k=2,3,4 =

1

4

1 0

χ1 a(4)1 + a

(4)2 cos 2πk

4+ a

(4)3 cos 4πk

4

χ2 a(4)4 + a

(4)5 cos 2πk

4+ a

(4)6 cos 4πk

4

ρ a(4)7 + a

(4)8

2πk−14

,

and

a(4)1 = σ1 + 2φ1 + 2ψ1 + ι1

a(4)2 = 2σ1 + 2φ1 − 2ψ1 − 2ι1

a(4)3 = σ1 − 2φ1 + 2ψ1 − ι1

a(4)4 = σ2 + 2φ2 + 2ψ2 + ι2

a(4)5 = 2σ2 + 2φ2 − 2ψ2 − 2ι2

a(4)6 = σ2 − 2φ2 + 2ψ2 − ι2

a(4)7 = 2υ + 2ζ + 2τ

a(4)8 = 2

√3υ − 2

√3τ

.

(c) For the 1-neighborhood mask with a central vertex of valence n ≥ 5, thesubdivision matrix is:

A(n) = Circulant(A(n)1 , A

(n)2 , ..., A(n)

n ),

where

A(n)1 =

1

n

1 0

χ1 a(n)1

χ2 a(n)2

ρ a(n)3 + a

(n)4 cos π

n+ a

(n)5 cos 2π

n

,

23

Page 24: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

A(n)k≥2 =

1

n

1 0

χ1 a(n)6 + a

(n)7 cos 2πk

n+ a

(n)8

4πkn

χ2 a(n)9 + a

(n)10 cos 2πk

n+ a

(n)11

4πkn

ρ a(n)12 + a

(n)13 cos 2πk−π

n+ a

(n)14 cos 4πk−2π

n

,

and

a(n)1 = nσ1 + (12 − 2n)φ1 − (12 − 2n)ψ1 + (6 − n)ι1

a(n)2 = nσ2 + (12 − 2n)φ2 − (12 − 2n)ψ2 + (6 − n)ι2

a(n)3 = 2υ + 2ζ + 2τ

a(n)4 = 2

√3υ − 2

√3τ

a(n)5 = 2υ − 4ζ + 2τ

a(n)6 = 4φ1 + 2ι1

a(n)7 = 6φ1 − 6ψ1

a(n)8 = 2φ1 − 6ψ1 + 4ι1

a(n)9 = 4φ2 + 2ι2

a(n)10 = 6φ2 − 6ψ2

a(n)11 = 2φ2 − 6ψ2 + 4ι2

a(n)12 = 2υ + 2ζ + 2τ

a(n)13 = 2

√3υ − 2

√3τ

a(n)14 = 2υ − 4ζ + 2τ

.

Hence, from the subdivision matrices, a bit more derivation yields the weightsin Eqs. (24) (25) (26).

References

[1] E. Catmull and J. Clark. Recursively generated b-spline surfaces on arbi-trary topological meshes. Computer Aided Design, 10(6):350–355, 1978.

[2] Z. Chen, X. Luo, L. Tan, B. Ye, and J. Chen. Progressive interpolationbased on Catmull-Clark subdivision surfaces. Computer Graphics Forum,27(7):1823–1827, 2008.

[3] M. de Berg, O. Cheong, M. van Kreveld, and M. Overmars. Compu-tational Geometry: Algorithms and Applications, 3rd edition. Springer-Verlag, 2008.

24

Page 25: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

[4] N.A. Dodgson, M.A. Sabin, L. Barthe, and M.F. Hassan. Towards aternary interpolating subdivision scheme for the triangular mesh.technicalreport. Technical Report, UCAM-CL-TR-544, ISSN 1476–2986, 2002.

[5] D. Doo and M. Sabin. Behaviour of recursive division surfaces near ex-traordinary points. Computer Aided Design, 10(6):356–360, 1978.

[6] N Dyn. Subdivision schemes in computer-aided geometric design. In:Light,W. (Ed.), Advances in Numerical Analysis. Clarendon Press, Ox-ford, 2:36–104, 1992.

[7] N. Dyn, D. Levin, and J. A. Gregory. A butterfly subdivision schemefor surface interpolatory with tension control. ACM Transactions onGraphics, 9(2):160–169, 1990.

[8] M. F. Hassan, I. P. Ivrissimitzis, and N. A. Dodgson. An interpolatory4-point C2 ternary stationary subdivision scheme. Computer Aided Geo-metric Design, 19(1):1–18, 2002.

[9] H. Hoppe, T. DeRose, T. Duchamp, M. Halstead, H. Jin, J. McDonald,J. Schweitzer, and W. Stuetzle. Piecewise smooth surface reconstruction.In Proc. SIGGRAPH ’94, pages 295–302, 1994.

[10] L. Kobbelt. Interpolatory subdivision on open quadrilateral nets witharbitrary topology. Computer Graphics Forum, 15(3):409–420, 1996.

[11] L. Kobbelt.√

3-subdivision. In Proc. SIGGRAPH 2000, pages 103–112,2000.

[12] U. Labsik and G. Greiner. Interpolatory√

3 subdivision. ComputerGraphics Forum, 19(3):131–138, 2000.

[13] G. Li and W. Ma. Interpolatory ternary subdivision surfaces. ComputerAided Geometric Design, 23(1):45–77, 2006.

[14] G. Li, W. Ma, and H. Bao. A new interpolatory subdivision for quadri-lateral meshes. Computer Graphics forum, 24(1):3–16, 2005.

[15] R. Ling, X. Luo, R. Chen, and W. Huang. Interpolatory ternary subdivi-sion for triangular meshes with arbitrary topology. In 16th InternationalConference on Artificial Reality and Telexistence Workshop, pages 5–10,2006.

[16] R. Ling, W. Wang, and D. Yan. Fitting sharp features with Loop subdi-vision surfaces. Computer Graphics Forums, 27(5):1383–1391, 2008.

[17] C. Loop. Smooth subdivision surfaces based on triangles. Master’s thesis,Universtity of Utah, Utah, 1987.

[18] C. Loop. Bounded curvature triangle mesh subdivision with the convexhull property. The Visual Computer, 18(5):316–325, 2002.

[19] C. Loop. Smooth ternary subdivision of triangle meshes. In: A. Cohenand L.L. Schumaker (eds), Curve and Surface Fitting: St Malo, NashboroPress, Brentwood, 2002.

[20] U. Reif. An unified approach to subdivision algorithms near extraordinaryvertices. Computer Aided Geometric Design, 12(2):153–174, 1995.

[21] J. E. Schweitzer. Analysis and Application of Subdivision Surface. PhDthesis, University of Washington Seattle, Washington, 1996.

[22] J. Stam and C. Loop. Quad/triangle subdivision. Computer Graphics

25

Page 26: Ternary Butterfly Subdivision - Computer Sciencechenz5/publications/cag09.pdf · Ternary Butterfly Subdivision Ruotian Linga,b Xiaonan Luob Zhongxian Chenb,c aDepartment of Computer

Forum, 22(1):1–7, 2003.[23] M. Vasilescu and D. Terzopoulos. Adaptive meshes and shells: Irregular

triangulation, discontinuities and hierarchical subdivision. In Proc. Com-puter Vision and Pattern Recognition Conference 1992, pages 829–832,1992.

[24] A. Weissman. A 6-point interpolatory subdivision scheme for curve de-sign. Master’s thesis, Tel-Aviv University, Israel, 1990.

[25] X. Wu and J. Peters. Interference detection for subdivision surfaces.Computer Graphics Forum, 23(3):577–584, 2004.

[26] D. Zorin. Stationary subdivision and multiresolution surface representa-tion. PhD thesis, California Institute of Technology, Pasadena, California,1998.

[27] D. Zorin. A method for analysis of C1-continuity of subdivision surfaces.SIAM Journal of Numerical Analysis, 37(5):1677–1708, 2000.

[28] D. Zorin, P. Schroder, and W. Sweldens. Interpolating subdivision formeshes with arbitrary topology. In Proc. SIGGRAPH 1996, pages 189–192, 1996.

26