Progressive Interpolation based on Catmull-Clark Subdivision Surfaces Zhongxian Chen, Xiaonan Luo, Le Tan, Binghong Ye, Jiapeng Chen School of Information Science and Technology, Sun Yat-sen University, Guangzhou, China Key Laboratory of Digital Life (Sun Yat-sen University), Ministry of Education
[email protected] Abstract We introduce a scheme for constructing a CatmullClark subdivision surface that interpolates the vertices of a quadrilateral mesh with arbitrary topology. The basic idea here is to progressively modify the vertices of an original mesh to generate a new control mesh whose limit surface interpolates all vertices in the original mesh. The scheme is applicable to meshes with any size and any topology, and it has the advantages of both a local scheme and a global scheme.
1. Introduction Subdivision schemes have been a powerful tool for a number of applications in 3D surface modeling and in computer graphics, because of their flexibility and multiresolution structure. As the construction of smooth interpolating surfaces is becoming increasingly important in various graphics applications including scientific visualization and data modeling, it is necessary to design some subdivision schemes that generate smooth interpolating surfaces at a low cost. There are two principal categories of techniques for defining an interpolatory scheme. The first is to construct specific masks which guarantee that after each subdivision step, the refined mesh will contain all the vertices in the original mesh. As a consequence, the limit surface will contain the original mesh. Such schemes include Butterfly scheme [4], Kobbelt scheme [6], etc. However, those schemes are sensitive to irregularity in the given mesh and the quality of the surfaces generated by them is hardly comparable to the best approximating schemes. It is those reasons that limit their attractiveness for modeling applications. The other approach to generate interpolating surfaces is to start with an approximating subdivision scheme and modify the coordinates of the vertices in the given mesh in such a way that the subdivision surface of the modified
mesh interpolates the vertices of the original mesh. Several methods have been proposed to embody this approach. Nasri [8] reported a scheme that is capable of interpolating points on irregular meshes as well as normal vectors given at the points. Halstead et al. [5] proposed a method that modifies the coordinates of the vertices in the original mesh by solving a global linear system built with fairness constraints. An advantage of those methods is that the methods are global, meaning that the generated surfaces resemble the original meshes well. However, one drawback of them is that they necessitate solving a global system of linear equations, which may be an expensive process for complicated meshes. Also, there appears to be no results concerning the solvability of this system of equations. Some methods have been designed to eliminate the need of solving a system of linear equations. Based on the method of quasi-interpolation, Litke et al. [7] proposed an algorithm that does not require the solution of linear systems. More recently, Zheng et al. [10] presented a twophrase process to construct a smooth surface that interpolates some or all vertices of a mesh with arbitrary topology. However, a method that has the advantages of both a local method and a global method is yet unavailable. This paper introduces a scheme designed for the task of interpolating the vertices of a given quadrilateral mesh with arbitrary topology. The proposed scheme falls into the second category mentioned above and is based on the famous Catmull-Clark [1] subdivision scheme. The scheme repeatedly modify the coordinates of the vertices in the given mesh until it converges to a mesh whose limit surface interpolates the given mesh. The convergence of the scheme will also be proved. Since the limit of the process has the form of a global method and the modification of vertex coordinates is done by an local approach, this scheme has the advantages of both a global method and a local method. In the following sections we first describe Catmull-Clark subdivision scheme and then present the details of our method and give some implementation results.
2. Catmull-Clark subdivision scheme Catmull-Clark subdivision scheme is defined over closed nets of arbitrary topology, as an extension of the tensor product bi-cubic B-spline subdivision scheme. The surfaces generated by the scheme are C 2 everywhere except at a finite number of irregular points, where they are C 1 . The way Catmull-Clark subdivision scheme splits faces is shown in Fig.1. Each face is split into k subfaces, where k is number of vertices in the face.
v i+1 =
n−2 i 1 X i 1 X i+1 v + 2 ej + 2 f , n n j n j j
(2)
where n is the valence of v i . ˆ 0 conAccording to Halstead et al. [5], a point v 0 of M verges to the point v
∞
=
n2 v 0 + 4
P j
e0j +
n(n + 5)
P j
fj0
,
(3)
ˆ 0 is quadrilateral. Othon the limit surface, if each face of M ˆ 0 and erwise a step of subdivision needs to be done on M 1 ˆ then the same result can be obtained on M .
3. Mesh interpolation by Catmull-Clark subdivision surfaces Figure 1. Face splitting.
ˆ = (V, E) consisting of a Given a quadrilateral mesh N set of vertices V and a set of edges E, the basic idea here ˆ0 = N ˆ and progresis to start with the original mesh M ˆ such that the sively modify it to generate a control mesh M Catmull-Clark subdivision surface it defines interpolates all the vertices in V . First of all the progressive method we employ to modify the mesh is introduced in 3.1, and then the convergence of the interpolation process is discussed in 3.2.
3.1
Figure 2. V i and its neighborhood. Since we employ a result from Halstead et al. [5], we mainly follow their way to describe Catmull-Clark subdiˆ 0 denote the initial mesh and let vision scheme. Let M i ˆ M denote the mesh generated after i steps of Catmullˆi Clark subdivision. As shown in Fig.2, v i is a vertex of M i i and is surrounded by n edge points e1 , ..., en and n faces. f1i+1 , ..., fni+1 are new face points placed at the centroid of ˆ i . Each new face point is made as the aveach face in M erage of the old vertices in the face. Then each new edge i+1 point ei+1 can be computed as follows: 1 , ..., en ei+1 = j
i+1 + fji+1 v i + eij + fj−1 , 4
(1)
where subscripts are to be taken modulo n. Finally a new vertex point v i+1 is calculated as
Interpolation process
ˆ k is the mesh we get from the original Denote that M mesh after k steps of modification. For each vertex v k in k ˆ k , we first compute its limit position, namely v∞ , by the M method mentioned in the previous section. Then the disˆ , namely v 0 , tance dk between the counterpart of v k in N k and v∞ is computed, k dk = v 0 − v∞ .
(4)
Then we modify v k by adding dk to it and get v k+1 by v k+1 = v k + dk .
(5)
ˆ k , we get a new set of After modifying each vertex in M k+1 ˆ vertices M . By repeating the above process, we can get a sequence ˆ k (k = 1, 2...). It is proven in the later subsecof meshes M ˆ k converges to M ˆ whose tion that as k tends to infinity M subdivision surface interpolates all the vertices in the given ˆ. mesh N
3.2
Convergence analysis
ˆ k is to show The key to proving the convergence of M k that when k tends to infinity, d converges to zero. First of all, from Eq. (4) we can see that at the (k + 1)st step the difference dk+1 can be written as follows, k+1 dk+1 = v 0 − v∞ .
(6)
k+1 Then by applying Eq.(3) to v∞ , we have P P n2 v k+1 + 4 j ek+1 + j fjk+1 j k+1 0 ). d =v −( n(n + 5)
(7)
where ek+1 = ekj + dkek and fjk+1 = fjk + dkf k . j j
Denote l as the number of vertices in the given mesh. We can write the above equation in matrix form, k+1 k 0 d1 d1 d1 dk+1 dk2 d02 2 . = (I −M ) .. = (I −M )k+1 .. . .. . . dk+1 l
dkl
Lemma 1: Eigenvalues of the product of two positive definite matrices are positive. We then decompose the matrix M into A and B M = AB,
And then we apply Eq.(5) to v k+1 and each of ek+1 and j fjk+1 , and get P P n2 v k + 4 j ekj + j fjk dk+1 = v 0 − ( ) n(n + 5) P P n2 dk + 4 j dkek + j dkf k j j −( ) n(n + 5) P P n2 dk + 4 j dkek + j dkf k j j k =d −( ), n(n + 5) j
For our purposes we need to introduce the following lemma and the proof of it is stated in Appendix A.
d0l
(8) Here, I is an identity matrix and M is a matrix in the following form: n21 4 1 . . . . . . . . . n1 (n1 +5) n1 (n1 +5) n1 (n.1 +5) .. . . . n2i 4 , ... ni (ni +5) . . . ni (ni +5) .. .. . . 2 nl ... ... nl (nl +5) where ni is the valence of the i-th vertex. For the i-th row of M , there are ni elements that equal ni (n4i +5) and another ni elements that equal ni (n1i +5) , respectively corresponding to the edge points and face points surrounding the i-th vertex. Elements corresponding to the vertices that are not on the 1-ring of the ith vertex all equal zero. Then the key to proving the convergence of the scheme now turns to proving that absolute value of the eigenvalues of the matrix (I − M ) are all less than 1.
(9)
where A=
1 n1 (n1 +5)
0 .. . 0
0 1 n2 (n2 +5)
... ... .. . ...
0 0
,
1 nl (nl +5)
and
n21 . . . .. .. . . 4 . . . B= . .. ...
4 n2i
...
1
...
... .. . ...
n2l
.
Obviously, matrix A is diagonal and all elements on the diagonal line are positive, thus it is positive definite. As for the symmetric matrix B, we can prove that it is positive definite as well (see Appendix B for the proof). Based on Lemma 1, we can make the following conclusion: Proposition 1: Absolute value of the eigenvalues of the matrix (I − M ) are all less than 1. Proof: First, denote mij as the element in the i-th row and j-th column of matrix M and λi (i = 1, 2, · · · , l) as the eigenvalues of M . Since mij ≥ 0(i, j = 1, 2, · · · , l) and Pl j=1 mij = 1, we have kM k∞ = 1, meaning that λi ≤ 1 for i = 1, 2, · · · , l. Furthermore, M is the product of two positive definite matrices, therefore based on Lemma 1, we have 0 < λi ≤ 1 for i = 1, 2, · · · , l. Finally we get 0 ≤ 1 − λi < 1, reaching the conclusion that absolute value of the eigenvalues of the matrix (I − M ) are all less than 1. Following the above proposition, we are able to prove that the sequence of meshes generated by our scheme converges a mesh whose Catmull-Clark subdivision surface interpolates the given mesh. In addition, given a specific tolerance of the distance between the given mesh and the mesh generated by the proposed scheme, we can directly calculate how many steps of modification are needed and ignore the testing steps in between. The number of needed steps,
namely k, can be calculated as follows:
k≥
k) ln ε(1−kI−M kd1 −d0 k
ln kI − M k
,
(10)
where k.k denotes the norm and ε is the given tolerance.
4. Examples Fig.3 is a simple example showing the result of the interpolating process. The original mesh and the interpolating mesh are shown on the top left and the top right, respectively. Below each mesh is the corresponding CatmullClark subdivision surface. The interpolating mesh here is generated after 5 steps of modification. As we can see, the surface generated by the proposed scheme faithfully resembles the shape of the original mesh.
Figure 4. Left column: Control meshes. Right column: Surfaces generated by the proposed method.
5. Conclusions
Figure 3. Top left: Original mesh. Top right: Interpolating mesh. Bottom row: Corresponding Catmull-Clark subdivision surfaces
More examples of the application of the proposed scheme are shown in Fig.4. The original meshes are shown on left column and the surfaces generated by the proposed scheme are on the right column. For the model on the top, middle and bottom, the number of the modification step needed to generate the control mesh of the interpolating surface is 10, 5 and 4, respectively. From these examples, we can see that the scheme is able to handle large meshes and only a small number of modification steps are needed, because of the exponential convergence rate of the progressive process. In addition, even though the convergence of the scheme can not be proved when it is applied to hexahedrons (as mentioned in Appendix B), the surface generated from the model on the top is visually acceptable.
We have presented a scheme for constructing CatmullClark subdivision surfaces that interpolate the vertices of a given mesh with arbitrary topology. The scheme is to progressively modify the mesh into a new control mesh whose limit surface interpolates the given mesh. The convergence of the proposed scheme is proved. The vertices of the new control mesh is obtained by a local approach, thus the scheme takes the advantages of a local scheme. Furthermore, the limit of the interpolating process has the form of a global method, so the proposed scheme also has the advantages of a global scheme. The implementation results show that the scheme generates surfaces that resemble the shape of the original meshes well.
Acknowledgments This work is Supported by the National Science Fund for Distinguished Young Scholars (No.60525213), the Key Project of NSFC (No. 60533030), 973 Program of China (No. 2006CB303106),and 863 Program of China (No.2007AA01Z236)
References
B Positive definiteness of matrix B
[1] E. Catmull and J. Clark. Recursively generated b-spline surfaces on arbitrary topological meshes. Computer-Aided Design, 10(6):350–355, 1978. [2] T. DeRose, M. Kass, and T. Truong. Subdivision surfaces in character animation. Proceedings of SIGGRAPH 98, pages 85–94. [3] D. Doo and M. Sabin. Behaviour of recursive division surfaces near extraordinary points. Computer Aided Design, 10(6):356–360, 1978. [4] N. Dyn, D. Levin, and J. Gregory. A butterfly subdivision scheme for surface interpolation with tension control. ACM Transactions on Graphics, 9(2):160–169, 1990. [5] M. Halstead, M. Kass, and T. DeRose. Effcient, fair interpolation using catmull-clark surfaces. In SIGGRAPH 93 Conference Proceedings, pages 47–61. [6] L. Kobbelt. Interpolatory subdivision on open quadrilateral nets with arbitray topology. Computer Graphics Forum, 5(3):409–420, 1996. [7] N. Litke, A. Levin, and P. Schroder. Fitting subdivision surfaces. Proceedings of the conference on Visualization 2001, pages 319–324. [8] A. Nasri. Surface interpolation on rrregular networks with normal conditions. Computer Aided Geometric Design, 5:89–96. [9] S. Wang, M. Wu, and Z. Jia. Matrix Inequations(in Chinese). Scientific Publisher, Beijing, China, 2006. [10] J. Zheng and Y. Cai. Interpolation over arbitrary topology meshes using a two-phase subdivision scheme. IEEE Transactions on Visualization and Computer Graphics 2006, 12(3):301–310. [11] D. Zorin, P. Schroder, and S. Sweldens. Interactive multiresolution mesh editing. SIGGRAPH 97 Conference Proceedings, Annual Conference Series, pages 259–268, August 1997.
In this appendix, we prove that the matrix B is positive definite.
A Proof of Lemma 1 Lemma 1: Eigenvalues of the product of two positive definite matrices are positive. Proof: First of all, it is not difficult to see that if A and B are two n × n Hermite matrices with positive definiteness, and λi (A)(i = 1, 2, · · · , n) and λj (B)(j = 1, 2, · · · , n) are the eigenvalues of A and B respectively, such that λ1 (A) ≥ · · · ≥ λn (A) and λ1 (B) ≥ · · · ≥ λn (B), then we have λi (A)λn (B) ≤ λi (AB) ≤ λi (A)λ1 (B), i = 1, · · · , n (see p.99 of [9] for more details). Then since both A and B are positive definite, we have λi (A) > 0 and λj (B) > 0. And therefore we get λk (AB) > 0(k = 1, 2, · · · , n) and reach the conclusion that eigenvalues of the product of two positive definite matrices are positive.
Proof: B is positive definite if and only if the quadric form f (x1 , x2 , · · · , xl ) = X T BX
(11)
is positive for any non-zero vector X = (x1 , x2 , · · · , xl ). We can see that if vertex vi and vj are ajacent, then bij = bji = 4. And If vj and vi are not ajacent but lie in the same face, then bij = bji = 1. Thus we have f (x1 , x2 , · · · , xl ) =
l X
n2i x2i +
X
8xi xj +
eij
i=1
X
2xi xj ,
gij
(12) where eij and gij range through all the edges of the given mesh and the diagonals of each face in the mesh, respectively. Suppose fijkl is a face consisting of vertices vi , vj , vp and vq . Note that a vertex of valence n is shared by n faces and each edge in a closed quadrilatera mesh is shared by exactly two faces, we get X
(xi +xj +xp +xq )2 =
l X
X X ni x2i + 4xi xj + 2xi xj , eij
i=1
fijpq
gij
(13) where fijpq ranges through all the faces in the given mesh. Similarly, based on the fact that a vertex of valence n is shared by n edges, we get X
(xi + xj )2 =
eij
l X
ni x2i +
X
2xi xj .
(14)
eij
i=1
Then, by using Eq.(12)(13)(14) we have X f (x1 , x2 , · · · , xl ) = (xi + xj + xp + xq )2 fijpq
+2
X eij
(xi + xj )2 +
l X
(n2i − 3ni )x2i .
(15)
i=1
From the above euqation, we can conclude that f (x1 , x2 , · · · , xl ) is positive for any non-zero vector X in most cases, except in a specific case that the valence of all vertices in the mesh equals 3. In other words, matrix B is always positive definite except in that specific case, where it is positive semi-definite. It is easy to prove that the given quadrilateral mesh is a hexahedron in that special case. Even though the convergence of the proposed scheme can not be proved for that case, our experiment shows that the results we get by implementing the scheme on hexahedrons are visually acceptable.