Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Taubin pg01


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Taubin pg01

  1. 1. Pacific Graphics 2001, Tokyo, Japan, October 2001 Dual Mesh Resampling Gabriel Taubin IBM T.J. Watson Research Center £AbstractThe dual of a 2-manifold polygonal mesh without boundary is com- (a)monly defined as another mesh with the same topology (genus)but different connectivity (vertex-face incidence), in which facesand vertices occupy complementary locations and the position ofeach dual vertex is computed as the center of mass (barycenter orcentroid) of the vertices that support the corresponding face. Thisbarycenter dual mesh operator is connectivity idempotent but notgeometrically idempotent for any choice of vertex positions, other ¡ BD RDthan constants. In this paper we construct a new resampling dual ¡mesh operator that is geometrically idempotent for the largest pos- « ¡ Ísible linear subspace of vertex positions. We look at the primal and (b) (e)dual mesh connectivities as irregular sampling spaces, and at therules to determine dual vertex positions as the result of a resam-pling process that minimizes signal loss. Our formulation, moti-vated by the duality of Platonic solids, requires the solution of asimple least-squares problem. We introduce a simple and efficientiterative algorithm closely related to Laplacian smoothing, and withthe same computational cost. We also characterize the configura-tions of vertex positions where signal loss does and does not occurduring dual mesh resampling, and the asymptotic behavior of itera-tive dual mesh resampling in the general case. Finally, we describe (c) (f)the close relation existing with discrete fairing and variational sub- BD RDdivision, and define a new primal-dual interpolatory recursive sub-division scheme.CR Categories and Subject Descriptors:I.3.5 [Computer Graphics]: Computational Geometry and ObjectModeling - surface, solid, and object representations.General Terms: Geometric Signal Processing, Mesh resampling,Subdivision surfaces, Algorithms, Graphics. (d) (g) BD¾ RD¾1 IntroductionA polygonal mesh is defined by the association between the facesand their sustaining vertices (connectivity), by the vertex positions(geometry), and by optional colors, normals and texture coordinates(properties). Properties can be bound to the vertices, faces, or cor-ners of the mesh, but it is sufficient to consider meshes with vertexpositions and no other properties. This is so because: propertiesbound per vertex can be treated in the same way as vertex posi-tions, and properties bound per face or per corner can be regardedas bound per vertex to a closely related mesh (dual mesh in the per Figure 1: Barycenter dual mesh operator (BD) vs. resampling dualface case, Doo-Sabin [4] connectivity in the per corner case). mesh operator (RD). (a): primal mesh; (b) dual mesh; (c) D¾ ap- In general we look at vertex positions as signals defined on the plied to primal mesh has same connectivity but different geometry;mesh connectivity. In section 2 we review some basic concepts (d) D applied to primal mesh displays evident shrinkage; (e): re-about meshes and mesh signals, and establish the notation for the sampling dual mesh; (f): primal geometry is recovered when RD¾rest of the paper. The result of applying the barycenter dual mesh is applied to primal mesh; (g): RD applied to primal mesh alsooperator to a manifold polygonal mesh without boundary (the pri- recovers primal geometry. In general, some signal loss may occurmal mesh) is another mesh with the same topology but different when RD¾ is applied to the primal mesh, but the sequence RD¾Ò £ IBM T.J. Watson Research Center, Yorktown Heights, NY 10598 converges Work performed at the California Institute ofTechnology during the 2000-2001 academic year, while on sabbatical fromIBM Research as Visiting Professor of Electrical Engineering
  2. 2. Pacific Graphics 2001, Tokyo, Japan, October 2001 Ú¾ ½ ¾ ¾ Ú ¿ ½ Ú½ A BFigure 2: A: an edge connects two vertices and two incident faces.B: a dual mesh face corresponds to cycle in the dual graph arounda primal vertex.connectivity (the barycenter dual mesh), in which faces and vertices Figure 3: Platonic solids: tetrahedron, cube, octahedron, icosahe-occupy complementary locations, and the centers of mass (barycen- dron, and dodecahedron.ters or centroids) of the vertices supporting the primal faces definethe dual vertex positions. In section 3 we discuss this classical con-struction in more detail. For example, a primal mesh is shown in implemented as a minor modification of the Laplacian smoothingfigure 1-(a), and the result of applying the dual mesh operator to it algorithm, converges very fast, we exploit the relation to Laplacianis shown in figure 1-(b). We claim that this operator is not prop- smoothing even further, and define approximate algorithms that runerly named because the term dual is reserved in Mathematics to in a fraction of the time in a pre-determined number of operations.operators that are equal to the identity when squared (idempotent In the classical problem of uniform sampling rate conversion inoperators); and when the square of the barycenter dual mesh op- signal processing [2, 16], under conditions determined by Shanon’serator is applied to a mesh, the original connectivity is recovered sampling theorem, when the sampling rate is reduced (fewer facesbut the vertex positions are not. In fact, the linear operator defined than vertices in the primal mesh) the frequency content of the signalby the square of the barycenter dual mesh operator on the primal determines whether loss of information (due to aliasing) occurs orvertex positions is a second order smoothing operator that displays not, and when the sampling rate is increased (more faces than ver-the same kind of shrinkage behavior as Laplacian smoothing [13], tices in the primal mesh), no loss of information occurs because thealways producing shrinkage when applied to non-constant vertex resampled signal is of low frequency. The situation here is morepositions. For example, figures 1-(c) and 1-(d) show the result of complex, due to lack of regularity, but in section 8 we establishapplying the square and the fourth power of the dual mesh operator the conditions under which loss of information occurs and is pre-to the primal mesh of figure 1-(a), respectively. vented, and study the asymptotic behavior of iterative dual mesh In this paper we look at the construction of the dual vertex po- resampling, in fact defining the space of low frequency signals, i.e.sitions as a resampling process, where the primal vertex positions, the largest linear subspace of signals that can be resampled withregarded as signals defined on the primal mesh connectivity, are no loss of information. For example, figures 1-(e), 1-(f), and 1-(g),linearly resampled (transferred) according to the dual mesh connec- shows the result of applying the first, second, and fourth powers oftivity. The problem is how to define resampling rules as a function our new resampling dual mesh operator to the primal mesh of fig-of the connectivity so that loss of information is minimized, i.e., so ure 1-(a). Note that the second and fourth powers (and any eventhat in general the original signal is recovered when the same pro- power) recover the primal mesh because the conditions for losslesscess is applied to the resampled signal (dual vertex positions) on the dual mesh resampling are satisfied.dual mesh connectivity. Note that this is not the case when the dual In addition to Taubin’s low-pass filter algorithms [13, 15], a num-vertex positions are defined as the barycenters of the faces. Here ber of enhancements have been introduced in recent years to Lapla-the result of resampling back from the dual to the primal sampling cian smoothing to try to overcome some of its limitations, such asspace always produces loss of signal, unless the signal is constant prevention of tangential drift [7, 3], implicit fairing for aggressive(zero frequency). smoothing [3], the variational approach for interpolatory fairing In section 4 we show that the dual vertex positions of the Pla- [11], and the explicit incorporation of normals in the smoothingtonic solids [17] circumscribed by a common sphere can also be process for better control in shape design [18]. The algorithms in-defined as the solution of a least-squares problem with a quadratic troduced in this paper have potential applications in these areas. Weenergy function linking primal and dual vertex positions, and that do not explore these applications here, but we in section 10 we de-this energy function is well defined for any manifold polygonal fine a new interpolatory recursive subdivision scheme based on themesh without boundary. In section 5 we derive explicit expressions primal-dual mesh operator, and we study the relation with varia-for the new resampling dual vertex positions as linear functions of tional fairing in section 12. Finally, we present our conclusions andthe primal vertex positions. In section 6 we rewrite the formula plans for future work in section 13.for the resampling dual vertex positions as a function of the primaland dual Laplacian operators, and we show that the linear opera-tor defined by the square of the resampling dual mesh operator is 2 Meshes and Signalsa smoothing operator that prevents shrinkage as in Taubin’ssmoothing algorithm [13]. The new expression for the resampling The connectivity of a polygonal mesh Å is defined by the incidencedual vertex positions with the Laplacian operator leads to an effi- relationships existing among its Î vertices, edges, and faces.cient algorithm, described in section 7, to compute the resampling We also use the symbols Î , , and to denote the sets of vertices,dual vertex positions. Even though this algorithm, which can be edges, and faces of Å . A boundary edge of a polygonal mesh has 2
  3. 3. Pacific Graphics 2001, Tokyo, Japan, October 2001 primal vertex signals corresponding to the corners of the face Ü ½ Ò ÜÚ Ò ½ We can also write this assignment in vector form as Ï Î Î (1) where Ï Î is the vertex-face incident matrix Á Î normalized so that the sum of each row is equal to one. If this construction is repeated on the dual mesh, we obtain a mesh with the same con- Figure 4: Platonic duals: icosahedron and dodecahedron. nectivity as the primal mesh, but with vertex positions ¼ ÏÎ Ï Î Î Î where the matrix ÏÎ is the face-vertex incident matrix ÁÎ nor-exactly one incident face, a regular edge has two incident faces, and malized so that the sum of each row is equal to one. The matrixa singular edge has three or more incident faces. The dual graph of ÏÎ Ï Î is not symmetric, but is composed of non-negative ele-a polygonal mesh is the graph defined by the mesh faces as graph ments, and its rows add up to one. It defines a second order smooth-vertices, and the regular mesh edges as graph edges. ing operator closely related to Laplacian smoothing [13]. When we refer to a mesh in this paper, we mean a 2-manifold If we look at the set of vertex signals such that Î ¼ Î ,polygonal mesh without boundary. No other types of polygonal i.e., the invariant subspace of ÏÎ Ï Î associated with the eigen-meshes, such as meshes with boundary or non-manifold meshes, ½ value , we generally end up with a subspace spanned by the con-will be considered here. Extensions of the techniques introduced in stant vector Î ´½ Ø ½µ . Our approach,described in the nextthis paper to meshes with boundary and non-manifold are possible, three sections, is to construct new matrices Ï Î and ÏÎ ,but will be done elsewhere. as functions of the connectivity, to replace the matrix Ï Î in the So, our meshes have no isolated vertices, i.e., every vertex is the construction of dual vertex signal values, in such a way that the di- mension of the invariant subspace of ÏÎ Ï Î associated withcorner of at least one face. Although the methods described in thispaper work for meshes with multiple connected components, it is ½ the eigenvalue is maximized.sufficient to consider connected meshes, because all the operationscan be decomposed into independent operations on the connectedcomponents. The concepts of orientation and orientability play no 4 Platonic Solidsrole in this paper, and will be ignored as well. In our meshes every Figure 3 shows the five Platonic solids: the tetrahedron, the cube,edge is regular, and the subgraph of the dual graph defined by all the octahedron, the icosahedron, and the dodecahedron. All of themthe faces incident to each mesh vertex form a closed loop, or cycle are circumscribed by a sphere, say of unit radius. In terms of con-of faces. Figure 2 illustrates these concepts. The connectivity of nectivity, the tetrahedron is dual of itself, and both the cube and thethe dual mesh of Å is defined by the primal faces as dual vertices, octahedron, and the icosahedron and the dodecahedron, are dual ofand these dual graph loops as dual faces. Since each primal edge each other. Because of the symmetries, if we construct the dualconnects two vertices and has two incident faces, we identify primal mesh of each of these meshes as described in section 3, with theand dual edges, and refer to them as just edges. Figures 1-(a) and dual vertex positions at the barycenters of the primal faces, we end1-(b) show a mesh, and its dual. up with the corresponding dual platonic solids, but circumscribed We consider vertex, edge, and face signals defined on the ver- by spheres of smaller radii. This can be solved by adjusting thetices, edges, and faces of a mesh, i.e., on the different connectivity scale, moving the face positions away from the center of the pri-elements. These signals define vector spaces. For example, primal mal mesh along the corresponding radial directions until the dualvertex positions are three-dimensional vertex signals, and dual ver- vertex positions are circumscribed by the unit sphere. This pro-tex positions are three-dimensional face signals (vertex signals on cedure solves the problem for the Platonic solids, but it does notthe dual mesh). The role of the edge signals will become evident work for other more general meshes. However, the constructionin subsequent sections. Since all the computations in this paper has the following property [17], that can be observed in figure 4 forare linear and can be performed on each vertex coordinate inde- the case of the icosahedron and the dodecahedron: for each edgependently, it is sufficient to consider one-dimensional signals. We Ú½ Ú¾ ½ ¾ connecting two vertices and two faces, thearrange these one-dimensional signals as column vectors Î , , segments joining the corresponding vertex positions and face posi-and , of dimension Î , , and , respectively. The element of tions intersect at their midpoints, i.e., Î corresponding to a vertex Ú is denoted ÜÚ , the elementcorresponding to an edge is denoted Ü , and the element of ½ ´Ü · Ü µ ½ ´Ü · Ü µcorresponding to a face is denoted Ü . ¾ ½ ¾ ¾ ½ ¾ Ú Ú This means that the construction of the dual vertex positions of the Platonic solids can be described as the minimization of the follow- ing energy function3 The Barycenter Dual Mesh ¾ ´ Î µ ÜÚ½ ·Ü ¾  Ü ½  Ü ¾ Ú (2)The quad-edge data structure [6] can be used to efficiently repre- ¾sent and traverse a mesh, and in particular to construct the connec- with respect to with Î fixed, the sum taken over all the edgestivity of the dual mesh. The faces of the dual mesh can be recon- of the mesh. The value attained at the minimum is zero. Notestructed by cycling around each vertex of the primal mesh using that the vertex positions of the double dual mesh are obtained bythe information stored in the quad-edge data structure. In the dual minimizing the same energy function with respect to Î withmesh construction the dual vertex signal corresponding to a face fixed. In addition, this energy function is defined for every manifold ´ Ú½ µ ÚÒ with Ò corners is computed as the average of the polygonal mesh without boundary. 3
  4. 4. Pacific Graphics 2001, Tokyo, Japan, October 2001 PrimalLaplacian ´ µ Î # accumulate ; ¼ ´ ¾µ ¾ Î for Ú½ Ú¾ ½ ÝÚ½ ÝÚ½ ÜÚ½ · ´   Ü ¾ µ; · ´   Ü ½ µ; Ú ÝÚ¾ ÝÚ¾ ÜÚ¾ Ú end; # normalize for Ú Î ¾ ÝÚ ÝÚ Ú ; end; A B # return ÃÎ Î return Î ; DualLaplacian ´ µ # accumulate ; ¼ for Ú½ Ú¾ ½ ´ ¾µ ¾ Ý ½ Ý ½ Ü ½ · ´   Ü ¾ µ; Ý ¾ Ý ¾ Ü ¾ · ´   Ü ½ µ; end; # normalize C D for ¾ Ý Ý ; end; # return à return ;Figure 5: Algorithms to evaluate the primal (ÃÎ Î ) and dual(à ) Laplacian operators by traversing the mesh edges5 The Resampling Dual Mesh E FEquation 2 can be written in matrix form for any mesh as follows Figure 6: Resampling with rank-deficient Á Ø Á Î . (A) primal ´ µ  Á ¾ mesh (B) resampling dual mesh, (C) second power of resampling dual mesh, (D) third power, (E) fourth power (È ¾ ) , and (F) sixth Î Á Î Î (3)where Á Î and Á are the edge-vertex and edge-face incidence power (È ¿ ).matrices without normalization. In general, these are full-rank ma-trices. Since equation 3 is quadratic, the minimizer of Î is ´ µthe solution of the linear system 6 Relation to Laplacian Smoothing Ø Ø Á Á Á Á Î Î (4) In this section we establish the relation between dual resamplingwhich is obtained by differentiating with respect to , or equiv- formula Î ¼ ÏÎ and Laplacian smoothing. In section 7alently we use this formulation to define a simple and efficient algorithm to ¼ Ï Î Î evaluate the resampling dual vertex signals as a minor modificationwith of the Laplacian smoothing algorithm. Ï Î ÁØ Á ´  ½ Á Ø Á Î µ (5) In its simplest form, the primal Laplacian operator is defined forAnd due to symmetry, the minimizer of can be written as ´ µ a vector of vertex positions Î as ¼ Î ÏÎ ¡ Î ÜÚ ´  Ü µ ÛÚÚ¼ ÜÚ Ú¼ Ú¼ ¾ Úwith ÏÎ ´Á Ø Î Á Î µ ½ Á Ø Î Á (6) where Ú is the set of vertices Ú¼ connected to vertex Ú by an edge,The matrix in equations 5 can also be written as the weight ÛÚÚ¼ is equal to ½ Ú , and Ú is the number of ele- Ý ments in the set Ú . If we organize the weights as a matrix ÏÎ , we Ï Î Á Á Î can write the Laplacian operator in matrix form as followswhere ÁÝ Î ´Á Ø Î Á Î µ ½ Á Ø Î ¡ Î Î  Ã Î Îis the pseudo-inverse of the matrix Á Î . A similar expression can where ÃÎ   ÁÎ ÏÎ has eigenvalues in ¼¾ , and ÁÎ is the iden-be written for the matrix ÏÎ of equation 6. tity matrix in the space of vertex signals [13]. A similar expression 4
  5. 5. Pacific Graphics 2001, Tokyo, Japan, October 2001can be written for the dual Laplacian operator . Pseudocode ¡implementations of the algorithms to evaluate the primal and dual PrimalDualSmoothing Î Ò steps ´ µlaplacian operators are described in figure 3. for × ¼ steps  ½ Note that the diagonal element of the matrix Á Ø Î Á Î corre- ¼ Ï Î Î;sponding to a vertex Ú is equal to the number Ú of vertices con- for Ò¼  ½nected to Ú through an edge, and if we organize these numbers as a DualLaplacian ; ´ µdiagonal matrix Î , we have ·½ ¼ ; · end; Á Ø Á ´Á · Ï µ ¾ ´Á   ÃÎ µ Î ¼ ÏÎ Ò; ¼  ½ Î Î Î Î Î Î Î for Òwith ¼ , and also PrimalLaplacian Î ; ´ µ · Î Î ·½ Î ¼ Î ; Á Ø Î Á ¾ Î ÏÎ end; Î Î Ò;where ÏÎ is the matrix introduced in section 3 (ÁÎ normalized end;so that the sum of each row is equal to one). This allows us to return Î ;rewrite the equation (dual of 4) used to compute the double dualvertex positions as a function of the face positions, as follows ´Á  Î ÃÎ µ ¼ ÏÎ (7) Figure 7: Primal-dual smoothing algorithm. Pseudocode for the Î primal and dual Laplacian operators is described in figure 3. With a similar derivation, we can rewrite equation 4, used tocompute the face positions as a function of the primal vertex posi- with ¼  ½ . The following simple algorithmtions, as follows ¼ ¼·À  ½ ´Á   à µ Ï (8) Ò Ò (10) ½¾ Î Î defines a sequence of estimates Ò Ò that convergeswhere à is the matrix of the Laplacian operator defined on the to the solution of the original system of equations 9, because thedual mesh. series ½ Note that in equation 8, the face positions are computed by ap-plying implicit smoothing [3] to the barycenters of the faces with ´Á   µ ½negative time step Ø  ¼ . This process is not a smoother, but ¼actually enhances high frequencies. The behavior of this processis closely related to Taubin’s non-shrinking smoothing algo- converges absolutely and uniformly for ½, and Òrithm [13], where a true low pass-filter is constructed by two stepsof Laplacian smoothing with positive (high frequency attenuating) Ò À ¼and negative (high frequency enhancing) scaling factors. Here the ¼computation of face barycenters has a high frequency attenuating The rate of convergence is determined by the spectral radius ofeffect, and the implicit smoother with negative time step has a highfrequency enhancing effect: À : if À for all , and , then ¼ ½ ½ ½ ·½ ´Á   µ ½ Ï Ò Ï Î Ã Î   Ò À ¼ ½  ¼ ¼ Ò·½ Ò·½The final result, as in Taubin’s algorithm, is a low-pass filter ef-fect without shrinkage, while the data is transferred from the primal For example, if ½ ¾, the relative error is less than ¼ ½± afterto the dual mesh. ten iterations, and the estimates have about six correct digits after twenty iterations. To solve equation 8 we set À à , , and ¼7 Algorithm Ï Î Î . Although the spectral radius À is bound above by (be- ½ cause the eigenvalues are in the interval ), in typical meshes ¼½To compute the dual vertex signals ¼ Ï Î Î as a function this upper bound is closer to ½¾ , and we observe in practice con-of the primal vertex signals we solve the linear system of equation vergence to an error of less than ¼ ½± after ten iterations.8 using a simple iterative method, which, as we will see in this sec- Note that, if we replace ¼ by Ò ½ in the iteration rule describedtion, is a minor modification of the Laplacian smoothing algorithm. in equation 10 we obtain  ½ · À Iterative methods are used to solve systems of linear equationssuch as Ò Ò Ò  ½ (9) or equivalentlywhere the non-singular square matrix is large and sparse, and Ò ´Á · À µ Ò ¼ and are vectors of the same dimension [5]. Several popular which corresponds to Ò steps of the Laplacian smoothing with pa-iterative solvers, such as Jacobi and Gauss-Seidel, are based on the rameter ½¾ . The main difference is that in Laplacian smooth-following general structure. By decomposing the matrix as the ing the number of iterations is specified in advance, while in oursum of two square matrices , such that is easy to  ½ is less · new algorithm it depends on an error criterion. As an alternative,invert and the spectral radius of the matrix À   we can use the new algorithm with both an error tolerance and athan one, the problem is reduced to the solution of the equivalent maximum number of iterations, and stop as soon as either stoppingsystem criterion is satisfied. In our experience, a maximum number of iter- Á À ¼ ´   µ ¾¼ ations of and error tolerance of ¼ ¼¼½ produces excellent results. 5
  6. 6. Pacific Graphics 2001, Tokyo, Japan, October 2001 A B A B C D C D E F E FFigure 8: Primal-Dual smoothing vs. Laplacian smoothing. (A) Figure 9: The Primal-Dual mesh. (A) a coarse mesh, (B) the facesa mesh. The result of applying (B) 12 Laplacian smoothing steps are triangulated by connecting the new face vertices (red) to thewith parameter ¼ ¿¼ , and (C) 12 steps of Taubin’s smooth- original vertices (blue), (C) the primal-dual connectivity is obtaineding algorithm with parameters ¼ ¿¼ and  ¼ ¿¾ . by removing the original edges, (D) the Catmull-Clark connectiv-The result of applying primal-dual smoothing steps with parame- ity is obtained after a second primal-dual refinement step. (E) theters ¼ : (D) 6 steps with Ò ½ , (E) 3 steps with Ò ¾, and primal connectivity can be recovered from the primal-dual connec-(F) 1 step with Ò . The computational cost is about the same in tivity by inserting the primal diagonals and removing the dual ver-all cases. tices. (F) the dual connectivity can be recovered by inserting the dual diagonals and removing the primal vertices.8 Analysis of Dual Mesh Resampling where ÈÎ Á Î Á Ý Î , and Á is the identity in the space of edge signals. The pseudo-inverse Á Ý Î of the matrix Á Î defines a linearIn this section, and based on simple concepts from Linear Alge-bra, we establish necessary and sufficient conditions under which mapping from the space of edge signals into the space of vertex ¼ ÁÝ Îno loss of information occurs when primal vertex signals are re-sampled, and describe the general behavior of the dual resampling signals Î that recovers the vertex signal part of any edge signalprocess. Ý Á ÎÁ Î Î The matrix Á Î defines a linear mapping from the space of ver- Î because Á Ý Î Á Îtex signals into the space of edge signals Á Î Î . Sincenormally meshes have more edges than vertices and the matrix Á Î ÁÎ (with ÁÎ the identity of vertex signals). The matrix ÈÎ is a projector (ÈÎ ¾ ÈÎ ) in the space of edgeis full-rank, the image of this mapping is a subspace ËÎ of dimen-sions Î in the space of edge signals. Let ÌÎ be the orthogonal signals which has ËÎ as its invariant subspace associated with the ¨complement of ËÎ in the space of edge signals, i.e., ËÎ ÌÎ is the ½ eigenvalue and ÌÎ as its invariant subspace associated with thefull space of edge signals. Every edge signal can be decomposed ¼ eigenvalue . The matrix Á also defines a linear mapping fromin a unique way as a sum of two edge signals; a first one ÈÎ the space of face signals into the space of edges signalsbelonging to ËÎ and a second one Á´   µ ÈÎ belonging to ÌÎ Á , orthogonal subspaces Ë and Ì of edge signals, and a projector È Á ÁÝ . ÈÎ · ´Á   È µ Î The intersection Ë ËÎ Ë of the subspaces ËÎ and Ë 6
  7. 7. Pacific Graphics 2001, Tokyo, Japan, October 2001plays a key role in determining whether signal loss occurs or not inthe dual mesh resampling process. We call a vertex signal Î dualresamplable if È Î Î , i.e., if the dual resampling processproduces no loss of information. These signals correspond to edgesignals Á Î Î that belong to Ë . To prove this statement,let È ÏÎ Ï Î be the matrix corresponding to the squareof the dual mesh resampling process, and let Î be a vertex signal.If the corresponding edge signal Á Î Î belongs to Ë , thenthere is a face signal so that Á . It follows that È ÁÝ Î Á ÁÝ Á ÁÝ Î Á ÁÝ Á Î Î Î A B ÁÝ Î Á ÁÝ Î Á Î Î ÎNote that since the subspaces ËÎ and Ë are spanned by thecolumns of the matrices Á Î and Á , the dimension of Ë is equalto the rank of the matrix Á Ø Á Î . We have three particular cases:1) the dimension of Ë is Î (ËÎ is a subspace of Ë ); 2) the dimen-sion of Ë is (Ë is a subspace of ËÎ ); and 3) the dimension of Ëis strictly less than the minimum of Î and . In the first case (sam-pling rate increase), no loss of information occurs for any vertexsignal, i.e., È ÁÎ . In the second case (sampling rate decrease)the process is idempotent, i.e., È ¾ È . This is so because since C DË ËÎ we have ÈÎ È È , and so Ⱦ Á Ý Î È ÈÎ È Á ÁÝ Î È ¾ Á Figure 10: The primal-dual mesh operator applied recursively to a ÁÝ Î È Á Î Î Î Î Î Î coarse mesh (A), once (B), twice (C), and four times (D). These È subdivision meshes are fair in the variational sense.Neither one of these first two cases are very common. Most typi-cally we encounter the third case, in which iterative dual mesh re-sampling produces a sequence of vertex signals that quickly con- 9 Primal-Dual Smoothingverges to a resamplable one: If we use the new algorithm to compute the dual vertex positionsProposition 1 (lossy resampling) For any vertex signal Î the se- by specifying just a maximum number of iterations, and then ap-quence È Ò Î converges to a dual resamplable signal. ply the same algorithm to recompute primal vertex positions as aP ROOF 1 : Let us define the following sequence of vertex signals function of the dual vertex positions, we obtain a new family of non-shrinking smoothing operators for the primal vertex signals ¼ ¼ ÈÒ Î described by the following steps  ½ Î ¼ Î Î Ò Ò È Ò ¼ Î Î ½µ ¼ ´Á · ¡ ¡ ¡ · Ò µ ÃÒ Ï Î ¼ ½ satisfies the ¾µ ´Á · ¡ ¡ ¡ · µ ÎClearly, if the sequence converges, the limit vector Î Ò ÃÎ ÏÎ Òdesired property È Î ½ ½ Î . To show convergence, it is suffi- Î Îcient to prove that the sequence Á Î Î converges. Our argument Ò and illustrated in pseudocode in figure based on an eigenvalue analysis. Note that Since for large Ò we have Î ¼ È Î , with È ÏÎ Ï Î which satisfies È ¾ È , as Ò increases, these oper- Á Î Ò Î Á Î ÈÒ Î ´È Î È µ Ò Á Î Î ators produce less smoothing. We also have the freedom of playingand since ÈÎ is a projector, and ÈÎ Á Á , we have with the parameter . Figure 8 shows some results compared to Î Î Î Î Laplacian and Taubin’s smoothing algorithms. ´È Î È µ Ò Á Î Î ´È Î È ÈÎ µ Ò Á Î Î Note that to implement the primal-dual smoothing algorithm we do not need to construct the connectivity of the dual mesh explicitly.Now, the matrix ÈÎ È ÈÎ is symmetric and non-negative definite. The two steps are based on recursively evaluating products of theSince ÈÎ and È are projectors, the eigenvalues of ÈÎ È ÈÎ are Laplacian matrices ÃÎ and à by vectors of dimensions Î and ,between zero and one, with eigenvalue corresponding to eigen- ½ ½ and by accumulating partial results in temporary arrays of the samevectors in Ë , and eigenvalues strictly less than corresponding to dimensions. But both matrix vector products can be accumulatedeigenvectors orthogonal to Ë . Let be the largest of the eigenval- ½ by traversing the same list of mesh edges.ues less than , which is equal to the cosine of the angle betweenthe subspaces ËÎ Ë and Ë © © Ë . While the projection of Á Î Î Òonto Ë stays constant, the projection onto the orthogonal subspace 10 The Primal-Dual Meshto Ë converges to zero at least as fast as Ò . £ Figure 6 illustrates this last case. Numerical algorithms to de- As noted by Kobbelt [10], the operator that transforms the connec-termine the rank of the matrix Á Ø Á Î can be based on the QR tivity of a mesh into its Catmull-Clark connectivity [1] has a squaredecomposition for small meshes, and the SVD algorithm for large root. The result of applying this square root operator to the con-meshes [5]. Computing the smallest singular value would be suf- nectivity of a mesh has the vertices and faces of the original meshficient to know whether we are in cases 1 or 2, or 3. Further work as vertices, the edges of the original face as quadrilateral faces, andis needed to relate local combinatorial relations between vertices, the vertex-face incident pairs as edges. The quad-edge data struc-faces, and edges to the rank of the matrix ÁØ Á Î . ture [6] can be used to operate on the primal-dual mesh. Figure 9 7
  8. 8. Pacific Graphics 2001, Tokyo, Japan, October 2001 A B A B C D C DFigure 11: Non-shrinking Doo-Sabin subdivision operator is the Figure 12: Surface designed by combining resampling-dual (RD)composition of the square of the primal-dual operator followed by and primal-dual (PD) mesh operators. (A) coarse mesh, the resultthe resampling dual operator. (A) coarse mesh, (B) coarse mesh of applying (B) È Æ Ê Æ È , (C) È Ê Æ È , and (D) Æafter three shrinking Doo-Sabin refinement steps, (C) coarse mesh È Æ Ê Æ È to the coarse mesh.after three non-shrinking Doo-Sabin refinement steps, (D) superpo-sition of (A) and (C). resampling dual. An example is shown in figure 11. This Doo- Sabin resampling operator is also an example of a resampling pro-illustrates the construction, and how to recover the connectivity of cess to a different mesh with the same topology. More general casesthe original mesh and its dual from the resulting mesh connectivity. will be studied in a subsequent paper. If we add to this connectivity refinement operator our algorithm Another application for other combinations of these two opera-to compute the resampling dual vertex positions, we obtain an inter- tors is as a design tool in an interactive modeling environment. Onepolatory refinement mesh operator. Because of the symmetric role example of a surface designed in this way is shown in figure 12.that primal and dual vertices play in this construction, we prefer tocall it the primal-dual mesh operator. Note that this operator hastwo inverses that can be used to recover either the original mesh, or 12 Relation to Variational Fairingthe resampling dual mesh. Also, since the scheme is interpolatory,and the original vertices are a subset of the vertices of the resulting In this section we discuss the close relation existing betweenmesh, there is no loss of information. our primal-dual operator and the discrete fairing approach, which The primal-dual mesh operator defines a linear operator that shows that the surfaces produced by recursive primal-dual subdivi-maps vertex signals on the primal mesh to vertex signals on the sion are smooth in the variational sense. Further work is requiredprimal-dual mesh to understand the local asymptotic behavior of primal-dual subdivi- sion. Î First of all, we modify the energy function ´ of equa- µ ¢ Î Î tion 3 by introducing a symmetric positive definite matrix À as follows ´ µSince the matrix that defines this linear operator is full-rank, the Øimage is a subspace of dimension Î . And this is true even if the À Î À (11)primal-dual mesh operator is applied iteratively several times to re- where is the edge signal vectorfine the mesh more and more. We will see in section 12 that thesemeshes are smooth in the variational sense. Figure 10 shows an ex- Á Î Î  Áample of applying the primal-dual mesh operator recursively sev-eral times to a coarse mesh as a mesh design tool. The qualitative behavior of the primal-dual subdivision process for different values of diagonally dominating À is very similar. The Laplacian operator on the primal-dual mesh can be written11 Non-Shrinking Doo-Sabin in block matrix form as followsSince the Doo-Sabin connectivity of a mesh is the dual of the ¡ ÁÎ  Ï  Ï Î Î ÎCatmull-Clark connectivity, and this is the square of the primal- Î Ádual connectivity, we can combine the resampling dual and primal-dual mesh operators to produce a non-shrinking version of the Doo- where ÁÎ and Á are the identity matrices in the spaces of vertexSabin [4] subdivision scheme: apply primal-dual twice followed by and faces signals, respectively, and the matrices ÏÎ and Ï Î 8
  9. 9. Pacific Graphics 2001, Tokyo, Japan, October 2001are the face-vertex and vertex-face incident matrices normalized so [4] D. Doo and M. Sabin. Behaviour of recursive division sur-that each row adds up to one introduced in section 3. faces near extraordinary points. Computer Aided Design, In the Discrete Fairing approach [11], the smoothness of a mesh 10:356–360, increased by minimizing an energy function such as the squareof the Laplacian [5] G.H. Golub and C.F. Van Loan. ”Matrix Computations”. ¬ ¬ ¾ ”The Johns Hopkins University Press”, 2nd. edition, 1989. ¡ ¬ ¬ ¬ Î ¬ ¬ ¬ [6] L.J. Guibas and J. Stolfi. Primitives for the manipulationwith some vertices fixed, or other linear constraints. In our case we of general subdivisions and the computation of voronoi dia-would minimize this expression with the primal vertex positions grams. ACM Transactions on Graphics, 4(2):74–123, 1985. Î fixed to obtain the dual vertex positions , or with the dual [7] I. Guskov, W. Sweldens, and P. Schr¨ der. Multiresolution sig- overtex positions fixed to obtain the primal vertex positions. nal processing for meshes. In Siggraph’99 Conference Pro- If we replace the matrices ÏÎ and Ï Î by the new matrices ceedings, pages 325–334, August 1999.ÏÎ and Ï Î defined in section 5, we obtain a new resam- ¡pling Laplacian operator Ì which behaves in a very similar way [8] Z. Karni and C. Gotsman. Spectral compression of mesh ¡ ÁÎ  Ï geometry. In Siggraph’2000 Conference Proceedings, pages  Ï Î Î Î 279–286, July 2000. Ì Î Á [9] A. Khodakovsky, P. Schr¨ der, and W. Sweldens. Progressive oBut if we expand the square of the resampling Laplacian operator geometry compression. In Siggraph’2000 Conference Pro-we obtain ceedings, pages 271–278, July 2000. Î  Ï Î ¾·  Ï Î Î ¾ [10] L. Kobbelt. Interpolatory subdivision on open quadrilateral nets with arbitrary topology. Computer Graphics Forum,or equivalently 15:409–420, 1996. Eurographics’96 Conference Proceedings. ¬ ¾ ¬ ¡ ÁÝ Î ¾ · ÁÝ ¾ ´ µ ¬ ¬ [11] L. Kobbelt, S. Campagna, J. Vorsatz, and H.-P. Seidel. In- ¬ Î ¬ ¬ Ì ¬ À Î teractive multi-resolution modeling on arbitrary meshes. In Siggraph’98 Conference Proceedings, pages 105–114, Julywith 1998. À ´Á Ý µ Á Ý · ´Á Ý µ Á Ý Î Ø Î Ø [12] A.W. Lee, D. Dobkin, W. Sweldens, L. Cowsar, and P. Schr¨ der. Maps: Multiresolution adaptive parameteriza- o13 Conclusions and Future Work tion of surfaces. In Siggraph’1998 Conference Proceedings, pages 95–104, July 1998.In this paper we described a solution to the problem of shrinkage inthe construction of the dual mesh, introduced efficient algorithms to [13] G. Taubin. A signal processing approach to fair surface de-solve the problem, and shown some applications. Through a signal sign. In Siggraph’95 Conference Proceedings, pages 351–processing resampling point of view, we established necessary and 358, August 1995.sufficient conditions under which no loss of information occurs, and [14] G. Taubin and J. Rossignac. Course 38: 3d geometry com-analyzed the asymptotic behavior of iterative dual mesh resampling. pression. Siggraph’2000 Course Notes, July 2000. We regard the results introduced in this paper as a first step to-ward a general theory for general mesh resampling, and comple- [15] G. Taubin, T. Zhang, and G. Golub. Optimal surface smooth-mentary to existing approaches to remeshing [12], recursive subdi- ing as filter design. In Fourth European Conference on Com-vision [10, 20, 19], and 3D geometry compression [9, 8, 14]. We puter Vision (ECCV’96), 1996.plan to explore these applications in subsequent papers. In this paper we restricted our meshes to oriented manifold [16] P.P. Vaidyanathan. Multirate Systems and Filter Banks. Signalmeshes without boundary. We also plan to extend the formulation Processing Series. Prentice-Hall, 1993.and algorithms to meshes with boundary and non-singular edges. Inthis extended formulation we will have explicit parameters (bound- [17] E. Weisstein. conditions), such as normals, associated with boundary and sin-gular edges, that could be used very effectively in an interactive [18] A. Yamada, T. Furuhata, K. Shimada, and K. Hou. A dis-free-form shape design environment. crete spring model for generating fair curves and surfaces. In Proceedings of the Seventh Pacific Conference on Computer Graphics and Applications, pages 270–279, 1998.References [19] D. Zorin and P. Schr¨ der. Course 23: Subdivision for model- o [1] E. Catmull and J. Clark. Recursively generated B-spline sur- ing and animation. Siggraph’2000 Course Notes, July 2000. faces on arbitrary topological meshes. Computer Aided De- sign, 10:350–355, 1978. [20] D. Zorin and P. Schr¨ der. A Unified Framework for Pri- o mal/Dual Quadrilateral Subdivision Schemes. Computer [2] R.E. Crochiere and L.R Rabiner. Multirate Digital Signal Aided Geometric Design, 2001. (to appear). Processing. Signal Processing Series. Prentice-Hall, 1983. [3] M. Desbrun, M. Meyer, P. Schr¨ der, and A.H. Barr. Implicit o fairing of irregular meshes using diffusion and curvature flow. In Siggraph’99 Conference Proceedings, pages 317–324, Au- gust 1999. 9