COMPUTER GRAPHICS
Volume 24 (2005), number 1 pp. 3–16
forum
A New Interpolatory Subdivision for Quadrilateral Meshes G. Li1,3 , W. Ma2 and H. Bao1 1
2
State Key Lab of CAD&CG, Zhejiang University, Hangzhou, China Department of Manufacturing Engineering and Engineering Management, City University of Hong Kong, Kowloon, Hong Kong, China 3 School of Computer Science & Engineering, South China University of Technology, Guangzhou, China
[email protected],
[email protected],
[email protected] Abstract This paper presents a new interpolatory subdivision scheme for quadrilateral meshes based on a 1–4 splitting operator. The scheme generates surfaces coincident with those of the Kobbelt interpolatory subdivision scheme for regular meshes. A new group of rules are designed for computing newly inserted vertices around extraordinary vertices. As an extension of the regular masks,the new rules are derived based on a reinterpretation of the regular masks. Eigen-structure analysis demonstrates that subdivision surfaces generated using the new scheme are C1 continuous and, in addition, have bounded curvature. Keywords: Subdivision surfaces, interpolation, bounded curvature. ACM CCS: I.3.3 Computer Graphics: Surface Modeling.
be updated) and newly inserted vertices. These two kinds of rules constitute a subdivision scheme.
1. Introduction Subdivision is a very active research area. One can find a great number of literature and ongoing research on the construction of new schemes [1–5], unification of known schemes [6–8], continuity analysis of subdivision surfaces [9–10] and their applications to new fields. Subdivision has become one of the most important modeling tools in computer graphics due to its superior favorable properties. Subdivision can easily handle arbitrary topological control nets, a powerful ability that parametric surfaces such as Non-Uniform Rational B-splines (NURBS) do not have. With polygonal mesh representation, it is very convenient to adaptively tessalate subdivision surfaces so as to speed up rendering and save storage. The simplicity and the hierarchical structure of the generating procedure also make subdivision surfaces attractive for interactive applications and multiresolution representation of large data models.
If old vertices are changed during refinement, the subdivision are approximatory, but interpolatory otherwise. Subdivisions obtained by generalizing spline curves and surfaces are usually approximatory and therefore they receive more attention in the surface modeling community. However, the control net of an approximatory subdivision surface interpolating given data often suffers from undulation. Interpolatory subdivision surfaces are more efficient for applications requiring interpolating specified points. Interpolatory subdivisions have also been successfully used for multiresolution analysis of complex mesh models [11–13]. 1.1. Basic Terminologies
Simply speaking, a subdivision surface is defined as the limit of a sequence of meshes. Therein each mesh is generated from its predecessor using a group of topological and geometric rules. Topological rules are responsible for producing a finer mesh from a coarse one while geometric rules are designed to compute the positions of old vertices (if to
In this paper, we mainly consider quadrilateral meshes. Firstly let us recall a so-called 1–4 splitting operator for quadrilateral meshes. For a given coarse mesh, the operator inserts a new vertex for each face (called F-vertex) and for each edge (called E-vertex). A refined mesh is then produced by respectively connecting the F-vertex of each face with the four E-vertices. The splitting operator subdivides each face into four.
c The Eurographics Association and Blackwell Publishing Ltd 2005. Published by Blackwell Publishing, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main Street, Malden, MA 02148, USA.
Submitted May 2003 Revised October 2003 Accepted December 2004
3
4
G. Li et al./A New Interpolatory Subdivision
A vertex with valence four is called a regular vertex, otherwise an irregular or extraordinary vertex. If all vertices of a quadrilateral face are regular, we call the face a regular face otherwise an irregular face. In the same way, an edge is regular if its two endpoints are regular otherwise the edge is irregular. A mesh is regular provided that all of its vertices have valence four. A submesh of a known mesh is called a stencil. For a given vertex p , the stencil consisting of all faces incident to the vertex is named as its 1-neighborhood. An edge shared by only one face is a boundary edge. Endpoints of a boundary edge are boundary vertices. In general, a new vertex of subdivision schemes is computed as the linear combination of a finite number of old vertices. A mask is such a stencil consisting of the old vertices and the corresponding weights used to compute new positions of old vertices or newly inserted vertices. Masks used to compute F-vertices of a regular face or E-vertices of a regular edge are named as regular masks otherwise irregular masks. A mask consisting of the 1-neighborhood stencil centered at vertex p is called a 1-neighborhood mask (centered at vertex p).
1.2. Related Work Interpolatory subdivision surfaces were pioneered by Dyn et al. [14] in which a so-called butterfly subdivision is constructed for triangular control meshes. Since it exhibits degeneracy when applied to irregular meshes, Zorin et al. [15] presented a modified version by specifically designing a new mask for computing newly inserted vertices around extraordinary vertices (with valence = 6). The mask of the butterfly scheme was motivated by the 4-point interpolatory scheme [16], while the additional mask of Zorin et al. for the irregular case was constructed using Fourier transform which has often been used for extending regular masks to irregular cases [2,17]. Another early interpolatory subdivision was proposed by Kobbelt for quadrilateral meshes [18]. The approach employed the tensor product of the coefficients of the 4-point scheme as the mask for regular quadrilateral meshes. Both of the above mentioned schemes are based on 1–4 splitting operations. A recent interpolatory subdivision was √ introduced in [2] which employed a 3 splitting operator to refine coarse meshes. The scheme produces triangular meshes whose face number is about three times of that of their direct predecessors. Another interpolatory scheme with a slower rate of face number increase was recently proposed by Li et al., which refines given control nets based on a so-called √ 2 split operator and yields quadrilateral meshes [4].
p−1
q0E
F q1E q
q2E
q3E
p2 p3
p1
p2n
qE
p2 n −1
p0
p4
p2 j −1 p2 j (b)
(a)
Figure 1: Irregular masks for Kobbelt interpolatory subdivision. (a) mask for computing F-vertices; (b) mask for computing E-vertices. tex and are not a direct generalization of the corresponding regular masks. In Kobbelt interpolatory scheme, the masks for irregular case are coincident with those of the regular case in the sense that when the valences of all vertices equal to 4 the irregular masks will evolve to the regular one [18]. Kobbelt’s subdivision produces C1 surfaces. However, it leads to diverge curvature at extraordinary corner positions. The interpolatory subdivision scheme presented in this paper falls in the same class as that of the Kobbelt’s subdivision for quadrilateral meshes using the 1–4 splitting operator. It retains the advantage of Kobbelt’s subdivision in that all irregular subdivision masks will coincide with the regular case when the valence of all vertices is four. In addition, it produces C1 limit surfaces with bounded curvature. For convenience of comparison, we provide an overview on the construction of Kobbelt interpolatory subdivision scheme below. Kobbelt’s scheme uses a 4-point interpolatory mask and its tensor-product to compute E-vertices and F-vertices, respectively, and the corresponding masks are depicted in Figure 1(a) and 1(b). F-vertices corresponding to a face containing one irregular vertex are still computed using the 4-point interpolatory mask: 1 qF = − q0E + 9q1E + 9q2E − q3E , 16 where the interpolating points qEi are E-vertices as shown in Figure 1(a). For a given edge adjacent to one irregular vertex, its E-vertex is computed as (see Figure 1(b) for notations) qE =
1 (− p−1 + 9 p1 + 9 p0 − p−2 ), 16
where p −2 is a virtual point
p−2 =
A great number of interpolatory schemes [2,15] use a 1-neighborhood stencil to design irregular masks for a newly inserted vertex near an extraordinary vertex. These masks are, therefore, not symmetrical about the newly inserted ver-
n−1 4 p2 j+1 − ( p2n−1 + p1 + p3 ) n j=0 n−1 4 1 p2 j . + ( p2n−2 + p2n + p2 + p4 ) − 9 9n j=0
c
The Eurographics Association and Blackwell Publishing Ltd 2005
5
G. Li et al./A New Interpolatory Subdivision
1.3. Contributions and Organization The main contribution of this paper is the derivation of a set of new geometric rules over Kobbelt’s subdivision scheme such that the scheme produces C1 continuous surfaces with bounded curvature. First, we reinterpret the regular mask of the tensor-product of 4-point interpolatory scheme as the average of four regular 1-neighborhood masks. Second, extension of the former to irregular masks is realized through the construction of irregular 1-neighborhood masks that can easily be obtained by generalizing the regular 1-neighborhood masks. This is motivated by the approaches employed in [2,15] in which irregular masks are 1-neighborhood masks. Irregular 1-neighborhood masks are constructed based on the Fourier synthesis of eigen-block matrix. This generalizes previous approaches based on Fourier synthesis of eigenvalues [15,17]. In addition, a flexible approach is designed for processing models with boundary/crease edges and corner vertices. When a complete stencil is unavailable for newly inserted vertices near boundary or crease features, extrapolation techniques are required for constructing such a stencil for Kobbelt’s approach. It is no longer necessary for the new interpretation because we only need to discard the 1-neighborhood masks of feature vertices. The rest of the paper is organized as follows. New subdivision rules are constructed in Section 2. Then continuity analysis and smoothness are discussed respectively in Section 3 and 4. In Section 5 the approach is extended to arbitrary polygonal meshes. Key techniques for implementation are briefly summarized in Section 6. Some modeling examples are also given in this section. Conclusions are drawn in Section 7. 2. Stationary Subdivision Masks It is known that the 4-point interpolatory scheme comes from cubic interpolatory polynomials. Here, we observe another way based on quadratic interpolation to derive them, which is actually a special case of Aitken’s algorithm [19]. Let L 3,i (t)(i = 0, 1, 2) be the basis functions of Lagrange polynomials of degree 2: L 3,i (t) =
2 t−j , i −j j=0, j=i
for i = 0, 1, 2.
From Equation (2), we can obtain the center point of the curve segment between p 1 and p 2 : 3 1 (3) = (− p0 + 6 p1 + 3 p2 ). q0 = C 0 2 8 Similarly, from the Lagrange polynomial interpolating p 1 , p 2 and p 3 C1 (t) = p1 L 3,0 (t − 1) + p2 L 3,1 (t − 1) + p3 L 3,2 (t − 1), it follows that q1 = C 1
1 1 (q1 + q2 ) = (− p0 + 9 p1 + 9 p2 − p3 ). 2 16
(5)
(6)
For convenience of description, we shall use α 0 , α 1 and α 2 to denote the three coefficients of Equation (3) throughout this paper, i.e., α0 = − 18 ,
α1 = 68 ,
α2 = 38 .
(7)
Similarly, we also use the following symbols to denote the coefficient of Equation (6) w0 = w3 = 12 α0 , w1 = w2 = 12 (α1 + α2 ).
(8)
2.1. Derivation of Regular Subdivision Masks Based on the above observation of the 4-point interpolatory subdivision, a decomposition approach can be obtained for deriving the regular mask described in [18]. As the 1–4 split operator is applied, for given 4 × 4 grid vertices { p i, j } (0 ≤ i, j ≤ 3), we need to compute newly inserted F-vertices and E-vertices. It contains four substencils of 3 × 3 grid net which respectively consist of { pij }(0 ≤ i, j ≤ 2), { pij }(0 ≤ i ≤ 2, 1 ≤ j ≤ 3), { pij }(1 ≤ i ≤ 3, 0 ≤ j ≤ 2) and { pij } (1 ≤ i, j ≤ 3). Clearly, any two adjacent substencils share two faces and all substencils share the center face. Making use of the tensor product of the Lagrange basis functions, we can easily construct surfaces interpolating the 3 × 3 grid nets. Actually, the following surface
(1)
0 ≤ t ≤ 2. (2)
3 1 = (3 p1 + 6 p2 − p3 ). 2 8
(4)
Obviously, averaging q 0 and q 1 of Equations (3) and (5) yields the 4-point scheme
Fkl (s, t) =
Obviously, the following Lagrange polynomial interpolates p 0 , p 1 and p 2 with corresponding parameter values, respectively: C0 (t) = p0 L 3,0 (t) + p1 L 3,1 (t) + p2 L 3,2 (t)
1 ≤ t ≤ 3,
2+k 2+l
pi j L 3,i (s − k)L 3, j (t − l)
i=k j=l
(k ≤ s ≤ 2 + k; l ≤ t ≤ 2 + l; 0 ≤ k, l ≤ 1)
(9)
interpolates the 3 × 3 grid net { pij }(k ≤ s ≤ 2 + k; l ≤ t ≤ 2 + l). The point at the surface patch F 00 (s, t) with parameter
c
The Eurographics Association and Blackwell Publishing Ltd 2005
6
G. Li et al./A New Interpolatory Subdivision w03
w13
w23
w33
p3
p4
p2 q2
w12
w02 w01
w22
w11
w00
w32 w31 w0
w21
w10
p5
w20
w1
w2
w3
p6
w30
(a)
α 02
(b)
α 01
Figure 2: Regular masks for (a) F-vertices and (b) Evertices, where w i j = w i w j .
α 00
pair ( 32 , 32 ) can be calculated as follows: q0F = F00
3 3 , 2 2
=
2 2
αi α j pi j .
(10)
q1F = F01 q2F
= F10
q3F
= F11
3 3 , 2 2
3 3 , 2 2
3 3 , 2 2
=
2 3
αi α3− j pi j .
(11)
α3−i α j pi j .
(12)
i=0 j=1
=
3 2
p7 (a)
p1 p8
α 22 α 21
α11 α10 (b)
α0
α1
α2
α 20 (c)
Figure 3: Regular masks (n = 4): (a) the stencil; (b) weights for computing q 2 ; (c) weights for computing q 1 .
=
3 3
α3−i α3− j pi j .
(13)
i=1 j=1
3 3 3 1 qiF = wi j pi j , 4 i=0 i=0 j=0
(14)
where w i j = w i w j (0 ≤ i, j ≤ 3) and {w i } are weights of the 4-point interpolatory subdivision defined in Equation (8). On the other hand, by substituting (1, 32 ) for (s, t) into the corresponding patches, we have 3 q0E = F00 1, = α0 p10 + α1 p11 + α2 p12 , (15) 2 3 = α1 p11 + α1 p12 + α0 p13 . q1E = F01 1, 2
Equations (15) and (16) (see Figure 2(b)) qE =
3 1 E (q0 + q1E ) = w j p1 j . 2 j=0
(17)
Equations (14) and (17) demonstrate that the weights derived using the above approach for regular meshes are completely coincident with that of Kobbelt’s scheme [18].
2.2. Masks Near Extraordinary Vertices
i=1 j=0
Averaging the above four intermediate points leads to the F-vertex (see Figure 2(a)) qF =
α12
q1
i=0 j=0
Similarly, the points corresponding to other three interpolatory patches at the same parameter pair, respectively, have the following forms:
p0
(16)
Therefore, it can be concluded that the newly inserted E-vertex can also be calculated as the average of
In the above section, we have constructed the F-vertex mask for the regular case by averaging the points respectively corresponding to positions of four Lagrange interpolatory surface patches at parameter value pair ( 32 , 32 ) and the E-vertex mask with two surface patches. To extend the masks to the irregular case, we only need to generalize equations (10) and (15) to 1-neighborhood stencils with a center vertex of arbitrary valence. For convenience of description, we use a single subscript to denote control vertices here. Figure 3 depicts the case with the center vertex of valence four (i.e., the regular case). In Figure 3(a), p 1 , . . . , p 8 are eight vertices surrounding center point p 0 and vertices q 1 and q 2 are respectively the newly inserted F-vertices for face (p 0 , p 1 , p 2 , p 3 ) and E-vertex for edge (p 0 , p 1 ). Figure 3(b) and 3(c) show the masks that can be computed from Equations (10) and (15), respectively. In these illustrations, parameters α i j = α i α j and α 0 , α 1 , α 2 are coefficients defined in Equation (7). Our goal is to extend Figure 3(b) and 3(c) to general cases with a center vertex p 0 of arbitrary valence n as demonstrated in Figure 4 in which weights of the mask for F-vertex β j ( j = 0, . . . , 2n) and weights of the mask for E-vertex γ j ( j = 0, . . . , 2n) are unknowns. The mask shown in Figure 3(b) is named as a regular 1-neighborhood mask centered at p 0 c
The Eurographics Association and Blackwell Publishing Ltd 2005
7
G. Li et al./A New Interpolatory Subdivision
p4 p5
p6
p3 p2 q2
p0
q1
p 2n
q
β3
γ5
γ6
β2
γ3 γ0
β1 β 2n
β 2 k −1
p
p
γ2
.
(21)
p
p
γ 2k
(b)
(c)
Figure 4: Masks near an extraordinary vertex: (a) the 1-neighborhood stencil for computing F-vertices and E-vertices; (b) the mask of the F-vertex and (c) the mask of the E-vertex. p3
p4
q2
q5
p0
q1
q6 q 7
q8
(24)
(4) (4) (4) where C(A(4) 0 , A1 , A2 , A3 ) denotes a block circulant matrix with 1 1 0 0 0 0 4 4 α1 α1 α2 0 , A(4) 0 0 , A(4) 0 = 4 1 = 4 α12 α12 2 α α α α α α α 1 2 1 2 0 2 2 4 4
p2
q 4 q3
(23)
with subdivision matrix (4) (4) (4) , S4 = C A(4) 0 , A1 , A2 , A3
γ 2n
γ 2k −1
(22)
B q = S4 B p .
γ1
β 2k
p5
q
For the sake of clarity, here the superscripts (4) are used to indicate the valence four of the center vertex. From Equation (22), it immediately follows that
γ4
β4 β0
q
(4) (4) (4) B0 = A(4) 0 B0 + A1 B1 + A 2 B2 + A 3 B3 .
p 2k (a)
β5
q
Based on the masks of Figure 3, we can establish the relationship between the above matrices of two subsequent refinement levels
p1
p 2k −1
β6
q
B q = B0 , B1 , B2 , B3
T
A(4) 2 =
p1
1 4 α1 4 α12 4
0 α0 α0 α1
0
0 , A(4) 3 = 2 α0
1 4 α1 4 α12 4
0 0 α0 α1
0
0 . α0 α2 (25)
p6
p7
p8
Figure 5: A 3 × 3 grid net (solid lines) and the result of one step of refinement (dotted lines). for F-vertices and the mask shown in Figure 4(b) is an irregular 1-neighborhood mask centered at p 0 for F-vertices. Similarly, Figure 3c and Figure 4(c) are, respectively, regular and irregular 1-neighborhood masks centered at p 0 for E-vertices.
Performing Fourier transform on the above matrix sequence, we obtain the following Fourier coefficients 1 0 0 (4) , α0 + α2 0 Aˆ 0 = α1 α12 2α1 (α0 + α2 ) (α0 + α2 )2
Aˆ (4) 1
Now let us perform one refinement step on Figure 3(a) using the masks in Figure 3(b) and 3(c). The result is shown in Figure 5 in which points q i with an even subscript are F-vertices while points with an odd subscript are E-vertices. Denote p
Bk = ( p0 , p2k+1 , p2k+2 )T , q
Bk = (q0 , q2k+1 , q2k+2 )T , And assume
k = 0, 1, 2, 3,
q 0 = p0 ,
T p p p p B p = B0 , B1 , B2 , B3 ,
Aˆ (4) 2
(20)
0 = 0 0
Aˆ (4) 3
(18)
k = 0, 1, 2, 3. (19)
0 = 0 0
0 = 0 0
0 α2 − α0 α1 (α2 − α0 )(1 + i) 0 α2 + α0 0
0 , 0 α22 − α02
0 , 0 (α0 − α2 )2
0 α2 − α0 α1 (α2 − α0 )(1 − i)
0 . 0 (26) 2 2 α 2 − α0
Since a circulant matrix is uniquely determined by the Fourier coefficients of its element sequence, to guarantee that the subdivision matrix S n for a face containing an extraordinary vertex of valence n is an extension of the matrix S 4 , we only need to assume c
The Eurographics Association and Blackwell Publishing Ltd 2005
8
G. Li et al./A New Interpolatory Subdivision
Sn = C(A0 , A1 , A2 , . . . , An−1 )
(27)
such that the Fourier coefficients Aˆ 0 , Aˆ 1 , Aˆ 2 , . . . , Aˆ n−1 of the matrix sequence A 0 , A 1 , A 2 , . . . , A n−1 satisfy
where Ak =
(i) If n > 3 ˆ ˆ (4) ˆ ˆ (4) Aˆ 0 = Aˆ (4) 0 , A 1 = A 1 , A n−1 = A 3 , Aˆ i = Aˆ (4) 2 (i = 2, . . . , n − 2).
(28)
ˆ ˆ (4) ˆ ˆ (4) Aˆ 0 = Aˆ (4) 0 , A1 = A1 , A2 = A3
(29)
(ii) If n = 3
1 n γ0 n β0 n
0
0
γ2k+1
γ2k+2 ,
β2k+1
β2k+2
k = 0, 1, . . . , n − 1. (33)
Finally, we can define the following weights as extensions of the regular 1-neighborhood mask of Figure 3(b) and 3(c) for center vertices of arbitrary valence in which Equations (34) and (36) are, respectively, derived by comparing Equations (31) and (33) for k = 0 and Equations (32) and (33) for k = 1, . . . , n − 1: (1) Weights of E-vertices of Figure 4(c) can be defined as
The above assumption leads to A(4) k = Ak (k = 0, 1, . . . , n − 1) for n = 4. This indicates that two matrices of Equations (24) and (27) are identical in this case.
γ0 = α1 , γ1 = 1 − n4 α0 + α2 , γ2 j = 0,
According to the inverse Fourier transform, we have n−1 1 Ak = Aˆ j ω− jk , n j=0
where ω = cos θ + i sin θ with θ = n−2
ω−k j =
j=2
2π . n
n − 3, −1 − ω−k − ω−(n−1)k ,
for j = 1, 2, · · · , n,
γ2 j+1 = − n4 α0 cos jθ,
(30)
(2) Weights of F-vertices of Figure 4(b) are defined by
Notice
β0 = β¯0 ,
k = 0, 1 ≤ k ≤ n − 1.
β1 = β3 = 12 (β¯1 + β¯3 ), β2 = β¯2 , β j = 12 (β¯ j + β¯2n+4− j ),
It follows that 1 ˆ ( A0 + Aˆ 1 + Aˆ 3 + (n − 3) Aˆ 2 ) n 1 0 0 0 1 α1 nα2 + (n − 4)α0 2 = nα n 2 2− 4α1 α2 α1 (n − 4) α0 α2 − α02
A0 =
β¯0 = α12 , β¯1 = n4 α1 α2 , β¯2 = α22 − 2 1 − n4 α0 α2 + 1 − n4 α02 , β¯2 j+1 = 2 α1 ((1 + cos jθ + sin jθ)α2
,
n
1 ˆ A0 + Aˆ 1 ω−k + Aˆ 3 ω−(n−1)k − Aˆ 2 1 + ω−k + ω−(n−1)k Ak = n 1 0 0 1 α1 4α0 cos θ 0 , k = 1, 2, . . . , n − 1, = n α12 a32 a33 (32) where a32 = 2α1 ((1 + cos kθ + sin kθ)α2 + (1 − cos kθ − sin kθ)α0 ), a33 = 4α0 (α2 + (α2 − α0 ) cos kθ). Notice that similar to Equation (22), for arbitrary valence n we have q
n−1 j=0
p
Aj Bj ,
for j = 4, 5, . . . , 2n. (35)
where
+ (1 − cos jθ − sin jθ)α0 ),
(31)
B0 =
for j = 1, 2, . . . , n − 1. (34)
β¯2 j+2 = n4 α0 (α2 + (α2 − α0 ) cos jθ), for j = 1, 2, . . . , n − 1.
(36)
It should be noticed that it is Equation (36), but not (35), which is determined by equating Equation (33) to Equations (31) and (32). As generally β¯ j = β¯2n+2− j , we define Equation (35) as the mask weights, but not directly using Equation (36), in order to avoid the violation of the symmetry property. Equation (35) is built as the average of the corresponding resulting weights by applying Equation (36) twice to the same stencil shown in Figure 4(b), but with different indexing directions. One set of the weights is arranged counter clockwise, which is exactly the same as that of Figure 4(b) (starting from p 1 ), and the other one is arranged clockwise starting from the vertex p 3 of Figure 4(b). Remark 1. After introducing the parameters of α 0 , α 1 and α 2 defined in Equation (7), Equations (34) and (36) can further c
The Eurographics Association and Blackwell Publishing Ltd 2005
G. Li et al./A New Interpolatory Subdivision
be reduced to γ0 =
3 , 4
γ1 =
1 4
+
γ2 j+1 =
using weights defined in Equation (34) for each interior vertex p j and then calculate their average as the E-vertex of this edge: 1 qE = qE, (41) l p j is interior j
1 2n
γ2 j = 0,
for j = 1, 2, . . . , n, 1 2n
cos jθ,
for j = 1, 2, . . . , n − 1,
(37)
and β0 =
9 , 16
β1 = β3 = β2 =
1 4
−
1 (6 8n
+ 3 cos θ + 3 sin θ),
7 , 16n
1 (3 + 4 cos jθ), β2 j+2 = − 16n
β2 j+1 =
3 (1 8n
for j = 1, 2, . . . , n − 1,
+ cos jθ + sin jθ + cos( j − 1)θ
− sin( j − 1)θ), with θ =
9
qEj
for j = z, . . . , n − 1,
(38)
2π n
2.3. Outline of the Algorithm Based on the preparation of Section 2.2, we can now completely describe the new algorithm for arbitrary quadrilateral meshes. Topological rule: The 1–4 splitting operator is used to refine the mesh. Namely, insert a vertex for each edge (Evertex) and each face (F-vertex) and then connect each Fvertex with all of its E-vertices. Geometric rules: For interpolatory subdivision schemes, it is sufficient to construct geometric rules for those newly inserted vertices. Two kinds of vertices, i.e. E-vertices and F-vertices, need to be considered here. In addition, for open meshes we also have to treat boundary edges and faces having boundary vertices. All the geometric rules can be summarized as the following four cases (1) ∼ (4). (1) For a given quadrilateral face (p 0 , p 1 , p 2 , p 3 ) with at least one interior vertex, use the 1-neighborhood mask of each interior vertex p j as shown in Figure 4(a) to compute a new vertex denoted as qFj , and then take their average as the F-vertex of this face: 1 qF = qF, (39) l p j is interior j where l ∈ {1, 2, 3, 4} is the number of the interior vertices of the face. (2) If all the vertices of face (p 0 , p 1 , p 2 , p 3 ) are boundary ones, we only need to compute the F-vertex as the average of the vertices: 3 1 qF = pj. (40) 4 j=0 (3) For a given interior edge (p 0 , p 1 ) with at least one interior vertex as endpoints, compute an immediate vertex
where the inner endpoint number of the edge l ∈ 1, 2. (4) If the given edge (p 0 , p 1 ) is boundary one, the 4-point interpolatory mask defined by Equation (17) is employed. Suppose p −1 is the other boundary vertex adjacent to p 0 and p 2 is the other boundary vertex adjacent to p 1 . Then the E-vertex of edge (p 0 , p 1 ) is 1 E qE = q0 + q1E , (42) 2 where q 0E = α 0 p −1 + α 1 p 1 + α 2 p 1 , q 1E = α 2 p 0 + α 1 p 1 + α 0 p 2. Remark 2. It is easy to show that the above masks are coincident to that of the Kobbelt interpolatory subdivision for regular meshes. Namely, E-vertices are computed using the 4-point interpolatory scheme and F-vertices the tensorproduct mask of the 4-point interpolatory scheme. However, the approaches are different when processing faces and edges incident to an extraordinary vertex. Remark 3. In Item (4), we do not directly apply the weights of the 4-point interpolatory subdivision in order to obtain flexibility in processing models with corners. If p 0 is a corner, for example, one can define q E = q 1E . Otherwise, if p 1 is a corner, we will set q E = q 0E . Certainly, if both vertices are corners, we only simply take q E = 12 ( p0 + p1 ). Crease edges are treated using the same approach as that for processing boundaries. 3. Continuity Analysis As pointed out in [18], the C1 continuity of subdivision surfaces for regular meshes directly follows from the C1 continuity of the subdivision curves of the 4-point interpolatory scheme [16]. It is only required to show that the scheme is also C1 continuous for vertices of arbitrary valence. According to [9,20,21], it remains to demonstrate that characteristic maps of the subdivision scheme are regular and injective. The proof is similar to that of [18], which is also numerical. We firstly establish a subdivision matrix between similar stencils centered at an extraordinary vertex of two subsequent subdivision levels. Based on the approach described in [21], such stencils are generated by adding a layer of faces to the smallest invariant stencil. They are 3-neighborhood stencils of the extraordinary vertex in our setting. Figure 6 depicts one sector of such stencils. In addition, to take advantage of the Fourier transform for analyzing the eigenstructure of the subdivision matrix we partition the stencil of the vertex of valence n into n + 1 blocks with one block consisting of only the center and other n blocks consisting c
The Eurographics Association and Blackwell Publishing Ltd 2005
10
G. Li et al./A New Interpolatory Subdivision
12
11
6 12
11
4
52 9 8
6 2 0
1
0
3
1
10
5
9
10
4
8
7
3
7
Figure 6: A sector of 3-neighborhood stencils. The solid-line sector is initial while the dotted-line one is the result around the same irregular center after one step of refinement. The big numbers label the vertices of the coarse sector and the small numbers label the refined sector. of twelve vertices. In each block, the vertices are labeled as shown in Figure 6. Denote the jth vertex of the kth block p p as p k,j . Let B¯ 0 = ( p0 ), B¯ k = ( pk,1 , pk,2 , . . . , pk,12 )T (k = p p 1, 2, . . . , n) and B¯ p = ( B¯ 0 , B¯ 1 , . . . , B¯ np )T . Moreover, denote the corresponding vertex vector of the refined stencil by B¯ q . Similar to the establishment of Equation (23), we have q B¯ k = S¯n B¯ p ,
(43)
where S¯n is the subdivision matrix of (12n + 1) × (12n + 1) used to analyze continuity. It is not surprising to find out that the leading eigenvalues of the subdivision matrix of S¯n defined by weights of Equations (34) and (35) have the following values: (i) For n > 3 λ1 = 1 > λ2 = λ3 =
1 1 > λ4 = λ5 = λ6 = , 2 4
Figure 7: Visualization of regularity and injectivity of characteristic maps for valence n = 3, 5, 6, 7, 8, 9. The first and third rows are initial control nets, which are constructed from the eigenvectors of the corresponding subdominant eigenvalues, the second and fourth rows are generated through refining the corresponding control nets, with four steps.
(ii) For n = 3 λ1 = 1 > λ2 = λ3 =
1 1 > λ4 = λ5 = , 2 4
where the subdominants λ 2 and λ 3 are of geometric multiplicity two. Derivation of the above result is detailed in the appendix. A characteristic map of an n-valence vertex is defined as the planar limit surface whose initial control net consists of two eigenvectors corresponding to the two subdominant eigenvalues λ 2 and λ 3 , respectively. Namely, x- and y-coordinates of a vertex of the control net come from the corresponding elements of the two eigenvectors, respectively, with the same index. The z-coordinate of all vertices is set to zero. We have calculated such initial control meshes for a wide range of valences (n = 3, . . . , 50) all of which are well behaved. Figure 7 depicts the local structure near the extraordinary vertex of the initial control meshes and the corresponding subdivided meshes after four refinement steps using the new subdivision masks for n = 3, . . . , 50. The numerical results illustrates
that the corresponding limit surfaces are injective and regular. This concludes that the new scheme also produces C1 continuity at extraordinary vertices. 4. Remarks on Smoothness Though the smoothness analysis at extraordinary vertices was only established recently [9,10,20,22] a necessary condition for curvature continuity at extraordinary vertices, i.e. λ22 = λ 4 , was discovered much earlier in [23]. This condition leads λ2 to the ratio δ = log = 2. The curvature diverges for δ < 2 log λ4 while the curvature is zero if δ > 2 [7]. Specifically, if the six leading eigenvalues of the subdivision matrix have the following structure: 1, λ, λ, λ2 , λ2 , λ2 , then the scheme produces limit surfaces with bounded curvature. Hence, Loop referred the above eigen structure as bounded curvature spectrum [24]. This property is generally employed to improve subdivision surface quality [25–27]. It c
The Eurographics Association and Blackwell Publishing Ltd 2005
G. Li et al./A New Interpolatory Subdivision
11
Actually, only minor modification is needed to achieve this goal. Namely, it is sufficient to generalize the mask of the ‘quadrilateral 1-neighborhood of Figure 2(a) to arbitrary polygonal 1-neighborhoods. Suppose that v is an extraordinary vertex, f = (v 1 , v 2 , . . . , vk ) is a k-gon incident to v with v = v 1 , and v 2 and v k are two vertices incident to v. We further define k−1 k > 3, j=3 v j , v¯ = 1 (v + v3 ), k = 3. 2 2
Figure 8: Comparison of the ratio δ defined as the logarithm of two successive leading eigenvalues. The value approximates to 1 when valence n → ∞ with the Kobbelt scheme [18]. It consistently equals to 2 for our new masks. : The present subdivision; e: Kobbelt’s subdivision.
should be mentioned that, sometimes the behavior of limit surfaces is probably not good enough yet even if the scheme admits the bounded curvature spectrum. Sabin and Barthe gave an exhaustive classification for hackneyed artifacts of subdivision surface quality in [28]. Barthe and Kobbelt initiated another way to derive new weights for improving surface quality [29]. In their method, the notion of quadratic precision was proposed as a new constraint on surface quality besides bounded curvature. The new weights can then be derived by modifying the eigenvectors of the subdivision matrix. Following the analysis of Section 3, we know that the present scheme satisfies the above necessary condition and therefore has bounded curvature. As a comparison, we illustrate the valence-ratio curve together with that of Kobbelt’s masks [18] in Figure 8. It can be observed that, with Kobbelt’s masks, the bounded curvature condition is only satisfied at regular vertices (i.e. valence n = 4). At extraordinary vertices, one has δ < 2 and the ratio approximates to 1 when n → ∞. Therefore, the curvature is divergent at all extraordinary vertices and the situation becomes worse and worse with valence of extraordinary vertex increasing.
When calculating the mask, we could then substitute the virtual quadrilateral face f¯ = (v1 , v2 , v, vk ) for the k-gon. Examples will be given in Section 6. 6. Examples One can evaluate the weight of each vertex based on the masks of Equations (34)–(36). With the geometric rules (1) ∼ (4) of Section 2.3, it is not difficult to see that in contrast to Kobbelt’s interpolatory scheme, the presented approach admits a smaller mask for computing E-vertices and the same size of the mask for computing F-vertices. Nevertheless, no 4-point format is available for evaluating F-vertices in the new method as has been done in [18]. Considering the fact that the cost of collecting the vertices of the mask and identifying their topological positions is much more expensive than that of finding the 1-neighborhood stencils of all face vertices, in the current implementation, we calculate the new vertices strictly using the geometric rules (1) ∼ (4) of Section 2.3. To avoid repetition in evaluating the 1-neighborhood stencil of the vertices we do this for each vertex as a preprocessing operation in each refinement step. Similarly, weights are also computed and stored in an array for valences up to an upper valence bound in order to improve efficiency. In the following, some examples are discussed.
5. Generalization to Arbitrary Polygonal Meshes
Figure 9 depicts a group of experiments for modeling different sharp features using our new schemes. These features are, respectively, creases, corners (where three or more creases meet) and cones (where only the apex point is C0 continuous while it is smooth elsewhere in a local region). All experiments are performed with six subdivision steps. It is quite natural and easy to realize these features using the new masks.
It is useful to further extend the scheme with the ability to process arbitrary polygonal meshes. Kobbelt √ employed the √ so-called CC splitting operator (named as 2 splitting operator in [3]) to first convert and refine an arbitrary initial polygonal mesh into a quadrilateral mesh. The interpolatory scheme is then applied to the intermediate mesh for further refinement. Nevertheless, Kobbelt [18] did not present a strategy to perform this preprocessing step such that all vertices of the initial mesh are also interpolated. This paper develops a direct and practical approach.
The next two examples shown in Figures 10 and 11 are designed to compare our approach with Kobbelt’s interpolatory scheme [18] and the improved butterfly scheme [15]. We have pointed out in Section 3 that the presented scheme produces limit surfaces with bounded curvature. The ratio between the logarithm values of the subdominant eigenvalue and the third largest eigenvalue equals to 2 while the ratio of Kobbelt’s scheme is always smaller than 2 and even approximates to 1 when the valence number increases. Figure 10 illustrates the difference between these two c
The Eurographics Association and Blackwell Publishing Ltd 2005
12
G. Li et al./A New Interpolatory Subdivision
Figure 9: Examples modeling sharp features: from left to right are respectively for crease curve, corners and cone with (a)–(c) being the initial control nets while (d)–(f) being the corresponding results after six subdivision steps.
Figure 10: A comparison example: (a) the initial mesh, (b) the result with Kobbelt’s scheme [18] and (c) the result with our new approach, all after six subdivision steps.
Figure 11: Another comparison example: (a) the initial mesh, (b) the result with the improved Butterfly scheme of [15] and (c) the result with the proposed scheme. All are generated after five refinement steps. approaches. The scheme presented in this paper yields a ‘smoother’ surface than that of Kobbelt’s subdivision. Figure 11 is an example for a triangular control mesh. As a comparison, the result generated using the improved but-
terfly scheme [15] is also given. Due to the use of negative weights, interpolatory subdivision schemes lose the property of preserving convexity. This can be easily observed from the results of both of the schemes. c
The Eurographics Association and Blackwell Publishing Ltd 2005
G. Li et al./A New Interpolatory Subdivision
13
Figure 12: Three complex examples: from left to right are, respectively, triangular, quadrilateral and arbitrarily polygonal mesh models. Top row gives initial control nets while bottom row displays corresponding results with three subdivision steps for the mannequin (left) and the Beethoven bust (right) models, and four steps for the Klein bottle (middle). At the end of this section, three relatively complex models are given in Figure 12. They are, respectively, designed to demonstrate the effects of refining triangular, quadrilateral and arbitrarily polygonal mesh models using the proposed scheme. 7. Conclusions and Future Work As conclusions, we first describe the similarities and differences between the Kobbelt interpolatory scheme [18] and the new approach reported in this paper. Then future work is discussed at the end of this section. As an improvement over Kobbelt’s approach, the presented scheme is also mainly applied to quadrilateral meshes and based on the 1–4 split operator, i.e. the same topological rules are used in both approaches. Moreover, both employed the 4-point interpolatory mask and its tensor-product to compute E-vertices and F-vertices, respectively, for regular meshes. And therefore the two approaches produce the same limit surface provided the given control net is regular. However, the difference between the two approaches is the way to treat irregular cases. First, the proposed method decomposes regular masks into four 1-neighborhood masks.
The corresponding irregular masks of these 1-neighborhood masks are then independently synthesized for E-vertices and F-vertices by analyzing the eigen-structure of subdivision matrices of the 1-neighborhood masks using Fourier transform. Sophisticated irregular masks are thus integrated by averaging the irregular 1-neighborhood masks finally for meshes with arbitrary topology. While the irregular mask of Kobbelt’s scheme [18] employed virtual points derived by physical assumptions, the new masks reported in this paper are based on sound mathematical foundation. In addition, while Kobbelt’s scheme generates C1 surfaces with divergent curvature at extraordinary vertices, the approach presented in this paper produces C1 limit surfaces with bounded curvature. This will benefit some applications requiring bounded curvature. It is not difficult to explain this phenomenon. Because new masks of the proposed scheme are constructed by generalizing the eigen-blocks of the subdivision matrix, the eigen-structure is therefore retained through fixing those subdominant blocks. A method is also developed in this paper for processing sharp features such as boundary/crease edges in the present scheme. By discarding 1-neighborhood masks of boundary/feature vertices, new masks could be integrated c
The Eurographics Association and Blackwell Publishing Ltd 2005
14
G. Li et al./A New Interpolatory Subdivision
adaptively. Since only 1-neighborhood masks for those interior vertices are required to be computed, one can eliminates the use of extrapolation or reflection techniques as used in [18] for constructing a complete mask for faces and edges near boundary. Moreover, both interior and boundary masks are unified into the same framework in this paper. Apart from the eigenvalue analysis discussed in the appendix, the C1 continuity of the improved scheme is only illustrated with numerical computation in the paper. A strict proof is required as future work using formal approaches such as that of Zorin’s [20,21,30]. The idea of decomposing regular large masks into small ones and then obtaining irregular masks for arbitrary valence by generalizing these small masks will help to extend other subdivision schemes with large regular masks. It is an interesting topic for future research. The proposed scheme can be regarded as the counterpart of the improved butterfly scheme for quadrilateral meshes. Its applications in multiresolution representation of quadrilateral settings are also very useful for future research.
where A 21 (z) and A 31 (z) are 6-dimension column vectors, and other A ij (z) are 6 × 6 matrices. The eigenstructure analysis of B k therefore reduces to the analysis of those of A 22 (z) and A 33 (z). Also from the subdivision rules, we obtain
a21 1 A22 (z) = 9 16 0
1 − 16
0
0
0
a22
− 9(1+z) 256
z−9 256
1 256
z −1 −9 256
0
0
0
0
0
9−z −1 16
0
0
0
1 − 16
1
0
0
0
0
0
1 − 16
0
0
9−z 16
9z 16
a11 =
1 2
+
1 4n
n−1
z j cos 2 njπ ,
j=0
a21 =
Appendix: Eigenvalues Analysis of the Subdivision Matrix Instead of analyzing the subdivision matrix S¯n of Equation (43) established in Section 3, we consider its similar block diagonal matrix diag(B 0 , B 1 , B 2 , . . . , B n−1 ) which is derived using discrete Fourier transform [6,21]. From the subdivision rules, it is easy to show that these blocks can be unified into a 13 × 13 matrix of the following form (also see Ref. [6,21]):
1 B(z) = A21 (z)
0
0
A22 (z)
0
A31 (z)
A32 (z)
A33 (z)
1 4
63 64
−
3 (z 2 64
+ z −1 ) +
n−1
z j β2 j+1 ,
j=0
a22 =
1 4
72 64
−
6 (z 64
−1
+z )+
n−1
z β2 j+2 , j
j=0
and
1 − 16
9 − 256 0 A33 (z) = 1+z 256 0
0
0
0
0
9 − 256
1 256
0
0
1 − 16
0
0
0
9 − 256
9 − 256
1 256
9 − 256
9z − 256
0
0
0
0
z 256
0
0
1 256
0
0 . 9 − 256 1 − 16 9 − 256 z −1 256
Trivial calculation demonstrates that the eigen polynomial of A 33 (z) is independent of the valence n: det(A33 (z) − λI )
= λ+
1 24
= λ+
1 24
λ−
λ+
1 28
1 25
λ4 +
λ+
9 3 λ 27
1 26
2
+
7 2 λ 212
(λ +
1 27
+
9 λ 219
λ−
1 28
+
1 224
.
This means that the eigenvalues of A 33 (z) are the same for all valences n and arbitrary z value (provided that the module of z is unitary):
such that B0 = B(1), 2kπ A22 (ei n ) Bk = 2kπ A32 (ei n )
,
with
Acknowledgments This work is supported by the Chinese Postdoctoral Science Foundation and a Strategic Research Grant (Project No. 7001241) of City University of Hong Kong, National Natural Science Foundations of China (Grant No. 60373034, 60021201, 60133020, 69925204), the 973 program of China (Grant No. 2002CB312102). The Mannequin head, Klein bottle and Beethoven bust in Figure 12 are courtesy of Biermann (http://www.mrl.nyu.edu/ biermann/subdivision/). Many thanks also go to anonymous reviewers, whose suggestions have substantially improved the paper.
0
a11
0 A33 (e
i 2kπ n
)
−
, k = 1, 2, . . . , n − 1,
c
1 1 1 1 1 1 ,− ,− ,− ,− , . 16 32 64 64 128 256
The Eurographics Association and Blackwell Publishing Ltd 2005
15
G. Li et al./A New Interpolatory Subdivision
On the other hand, det(A22 (z) − λI ) a − λ − 1 11 16 = 1 −λ 1 z−9 a22 − λ 256 256 9−z −1 −λ 0 • 16 0 −λ 1 1 9−z − 0 16 16
, 0 −λ
z −1 −9 256 1 − 16
= f (λ, z, a11 )g(λ, z, a22 ), where f (λ, z, a 11 ) and g(λ, z, a 22 ) are, respectively, used to denote the polynomials calculated from the above determinants. Obviously, f (λ, z, a11 ) = λ2 − a11 λ +
1 . 16
Figure A1: For arbitrary −1 ≤ c = cos 2π ≤ 1, the magnin tude of all corresponding zero points of g(λ, c) is illustrated in the case of k = 1. The image shows that all values are less than 14 .
In the following, we detail the eigenvalues of A 22 (z) in 2kπ accordance with z = e n i , k = 0, 1, . . . , n − 1. (i) For k = 0, it can be inferred that a11 = 12 and a22 = 1 . Therefore, the eigenvalues of A 22 (z) is irrelative to 4 valence n in this case. All of them can be evaluated by performing symbolic computation: 1 1 1 1 1 1 , , , , , . 4 4 16 16 16 16 Namely, two maximal eigenvalues of A 22 (z) are 14 , 14 while the module of all other eigenvalues is less than 14 . 1 (20 − 3cos 2π ). (ii) For k = 1, we have a11 = 58 and a22 = 64 n Two zero points of f (λ, z, a 11 ) are 12 and 18 . It is easy to show by evaluating the determinant directly that g(λ, z, a 22 ) can be reduced to a function of λ and c = cos 2π . n Figure A1 illustrates that for arbitrary −1 ≤ c ≤ 1, the module of all zero points of g(λ, c) is less than 14 . The same case also appears for k = n − 1. (iii) For 1 < k < n − 1 (but k = n2 if n is even, a case to be discussed in (iv)), we have a11 = 12 and a22 = 1 (22 − 3cos 2kπ ). This leads to 14 being the eigenvalue 64 n of multiplicity 2 which comes from the zero points of f (λ, z, a 11 ). In the same way as (ii), we know that g(λ, z, a 22 ) can be reduced to the function of λ and c = cos 2kπ . n From Figure A2 we know that the magnitude of all zero points of g(λ, c) is not greater than 14 . In fact, from the figure we also know that the maximum is reached only if c = −1 which is the case discussed in (iv). (iv) If n is even and k = n2 (This case indicates that n > 3), it follows that a22 = 25 . A22 (z) is also independent to the 64 valence n. Its eigenvalues can be directly computed: 1 1 1 1 1 1 , , , , , . 4 4 4 16 16 64 Hence, the matrix admits multiplicity 3.
1 4
Figure A2: For arbitrary −1 ≤ c = cos 2kπ ≤ 1, the magn nitude of all corresponding zero points of g(λ, c) is illustrated in the case of 1 ≤ k ≤ n − 1. The image also shows that all values are less than 14 . In summary, it can be concluded that for valence n = 3, the five leading eigenvalues of the subdivision matrix are 1 1 1 1 1, , , , , 2 2 4 4 and for all other valences, the six leading eigenvalues of the subdivision matrix are 1 1 1 1 1 1, , , , , . 2 2 4 4 4 This demonstrates that at vertices of valence n > 3, the proposed scheme produces limit surfaces with bounded curvature while the surface quality at a vertex of valence 3 has also been improved comparing to Kobbelt’s interpolatory scheme. References √ 1. L. Kobbelt. 3 − Subdivision. ACM Computer Graphics (Proceedings of SIGGRAPH ’2000), pp. 103–112, 2000.
as the maximal eigenvalue of
c
The Eurographics Association and Blackwell Publishing Ltd 2005
16
G. Li et al./A New Interpolatory Subdivision
√ 2. U. Labsik and G. Greiner. Interpolatory 3 subdivision Computer Graphics Forum 19(3):131–138, 2000. √ 3. G. Li, W. Ma and H. Bao. 2 Subdivision for quadrilateral meshes. The Visual Computer 20(2–3):180–198 2004. √ 4. G. Li, W. Ma and H. Bao. Interpolatory 2 subdivision. In Proceedings of Geometric Modeling and Processing 2004, pp. 185–194, 2004. 5. L. Velho and D. Zorin. 4–8 Subdivision. Computer Aided Geometric Design 18(5):397–427, 2001. √ 6. P. Oswald and P. Schr¨oder. Composite primal/dual 3subdivision schemes. Computer Aided Geometric Design 20(3):135–164, 2003. 7. J. Stam. On subdivision schemes generalizing uniform B-spline surfaces of arbitrary degree. Computer Aided Geometric Design 18(5):383–396, 2001.
16. N. Dyn, J. A. Gregory and D. Levin. A 4-point interpolattory subdivision scheme for curves design. Computer Aided Geometric Design 4(3):257–268, 1987. 17. A. Habib and J. Warren. Edge and vertex insertion for a class of C1 subdivision surfaces. Computer Aided Geometric Design 16(4):223–247, 1999. 18. L. Kobbelt. Interpolatory subdivision on open quadrilateral nets with arbitrary topology. Computer Graphics Forum 15(3):409–420, 1996. 19. G. Farin. Curves and Surface for Computer-Aided Geometric Design: A Practical Guide, 4 edition. Academic Press, San Diego, pp. 81–83, 1997. 20. D. Zorin. Smoothness of stationary subdivision on irregular meshes. Constructive Approximation 16(3):359– 397, 2000. 21. D. Zorin. A method for analysis of C1 -continuity of subdivision surfaces. SIAM Journal of Numerical Analysis 37(5):1677–1708, 2000.
8. D. Zorin and P. Schr¨oder. A unified framework for primal/dual quadrilateral subdivision scheme. Computer Aided Geometric Design 18(5):429–454, 2001.
22. H. Prautzsch. Analysis of Gk -subdivision surfaces at extraordinary points. Oberwolfach 1995.
9. U. Reif. A unified approach to subdivision algorithms near extraordinary vertices. Computer Aided Geometric Design 12(2):153–174, 1995.
23. D. Doo and M. Sabin. Behaviour of recursive division surfaces near extraordinary points. Computer Aided Design 10(6):356–360, 1978.
10. D. Zorin. Stationary subdivision and multiresolution surface representation. Ph.D. Thesis, California Institute of Technology, Pasadena, California, 1998.
24. C. Loop. Smooth ternary subdivision of triangle meshes. In A. Cohen and L.L. Schumaker (eds), Curve and Surface Fitting: St Malo 12(2), Nashboro Press, Brentwood, 2002.
11. I. Guskov, K. Vidimˇce, W. Swelden and P. Schr¨oder. Normal meshes. ACM Computer Graphics (Proceedings of SIGGRAPH 2000), pp. 95–102, 2000. 12. A. W. F. Lee, W. Sweldens P. Schr¨oder, L. Cowsar and D. A. Dobkin. MAPs : Multiresolution adaptive parameterization of surfaces. ACM Computer Graphics (Proceedings of SIGGRAPH 1998), pp. 95–104, 1998. 13. M. Lounsbery. Multiresolution analysis for surfaces of arbitrary topological type. Ph.D. thesis, Department of Computer Science, Washington University, 1994. 14. N. Dyn, D. Levin and J. A. Gregory. A butterfly subdivision scheme for surface interpolatory with tension control. ACM Transactions on Graphics 9(2):160–169, 1990. 15. D. Zorin, P. Schr¨oder and W. Sweldens. Interpolating subdivision for meshes with arbitrary topology. ACM Computer Graphics (Proceedings of SIGGRAPH 1996), pp. 189–192, 1996.
25. C. Loop. Bounded curvature triangle mesh subdivision with the convex hull property. The Viusal Computer 18(5–6):316–325, 2002. 26. J. Maillot and J. Stam. A unified subdivision scheme for polygonal modeling. Computer Graphics Forum 20(3):471–479, 2001. 27. J. Stam and C. Loop. Quad/Triangle subdivision. Computer Graphics Forum 22(1):1–7, 2003. 28. M. Sabin and L. Barthe. Artifacts in recursive subdivision surfaces. In A. Cohen and L. L. Schumaker (eds), Curve and Surface Fitting: St. Malo, Vol. 12(2), Nashboro Press, Brentwood, pp. 353–362, 2002. 29. L. Barthe and L. Kobbelt. Subdivision scheme tuning around extraordinary vertices. Computer Aided Geometric Design 21(6):561–583, 2004. 30. G. Umlauf. Analyzing the characteristic map of triangular subdivision schemes. Constructive Approximation 16(1):145–155, 2000.
c
The Eurographics Association and Blackwell Publishing Ltd 2005