Taubin ibm22213


Published on

Published in: Technology, Art & Photos
  • Be the first to comment

  • Be the first to like this

Taubin ibm22213

  1. 1. RC 22213 (W0110-051) 10/18/2001Computer Science / MathematicsIBM Research ReportLINEAR ANISOTROPIC MESH FILTERINGGabriel TaubinIBM T.J. Watson Research CenterP.O. Box 704Yorktown Heights, NY 10598Email : taubin@us.ibm.comLimited Distribution NoticeThis report has been submitted for publication outside of IBM and will probably be copyrighted is accepted for publication.It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to theoutside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specificrequests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g.,payment of royalties). Some reports are available at http://domino.watson.ibm.com/library/CyberDig.nsf/home. Copiesmay requested from IBM T.J. Watson Research Center, 16-220, P.O. Box 218, Yorktown Heights, NY 10598 or sendemail to reports@us.ibm.com.IBM Research DivisionAlmaden - Austin - Beijing - Delhi - Haifa - India - T.J. Watson - Tokyo - Zurich
  2. 2. IBM Research Report RC-22213 10/18/2001 Linear Anisotropic Mesh Filtering Gabriel Taubin£ IBM T.J. Watson Research Center A B CFigure 1: Application to smoothing without tangential drift. (A) Noisy mesh with irregular edge length distribution. (B) After4 steps of unit-length isotropic Laplacian smoothing of face normals with ¼ , constrained boundary faces (blue), andfix vertices. (C) After 10 subsequent steps of face normal integrating anisotropic Laplacian smoothing on vertex positions with ¼ , constrained boundary vertices (red), and fix face normals. Flat-shading used to enhance the faceting effect. Connectivityis kept constant.Abstract 1 IntroductionNo algorithm for unconstrained polygon mesh denoising can The problem of smoothing or denoising large irregular poly-beat Laplacian smoothing in simplicity and ease of imple- gon meshes of arbitrary topology, such as those extractedmentation. In this paper we introduce a new algorithm for from volumetric medical data by iso-surface construction al-polygon meshes smoothing with vertex position and face gorithms, or constructed by integration of multiple range im-normal interpolatory constraints composed of two phases. ages, has motivated most of the recent work in geometric sig-First the face normals are filtered independently of vertex po- nal processing [19].sitions. Then the vertex positions are filtered integrating theface normals in the least squares sense. Laplacian smoothingis used to smooth both the face normal field and the vertex 1.1 Previous Workpositions, with a properly defined Laplacian operator in each Because of the size of the typical data sets, only linear timecase. We define isotropic, anisotropic, linear, and non-linear and space algorithms can be considered, particularly for ap-Laplacian operators for signals defined in Euclidean space, plications such as surface design and mesh editing, whereand on the unit sphere. In addition to the obvious applica- interactive rates are a primary concern. The simplest smooth-tions to shape design, our algorithm constitutes a new fast ing algorithm that satisfies the linear complexity requirementand linear solution to the tangential drift problem, observed is Laplacian smoothing, a well established iterative algorithmin meshes with irregular edge length and angle distribution. introduced in the mesh generation literature to improve theWe show how classical linear filter design techniques can be quality of meshes used for finite element computations [5, 8].applied in both cases, and conclude the paper determining In this context boundary vertices of the mesh are constrainedintegrability conditions for face normal fields. not to move, but internal vertices are simultaneously movedCR Categories and Subject Descriptors: in the direction of the barycenter of their neighboring ver-I.3.5 [Computer Graphics]: Computational Geometry and tices. And then the process is iterated a number of times.Object Modelling - surface, solid, and object representations. Laplacian smoothing is not problem-free, though. When Laplacian smoothing is applied to a noisy 3D polygon meshGeneral Terms: Mesh Signal Processing, Smoothing, Denois- without constraints, noise is removed, but significant shapeing, Anisotropic Diffusion, Algorithms, Graphics. distortion may be introduced. This problem is called shrink- age. When a large number of Laplacian smoothing steps are £ http://www.research.ibm.com/people/t/taubin IBM iteratively performed, the shape undergoes significant defor-T.J. Watson Research Center, Yorktown Heights, NY 10598 mations, eventually converging to the centroid of the origi-taubin@us.ibm.com nal data. The algorithm introduced by Taubin [18] solves
  3. 3. IBM Research Report RC-22213 10/18/2001 tion. Kuriyama [13] and Yamada et. al. [23] introduced soft vertex normal constraints trough a spring-based approach, but report slow convergence. 1.2 Contributions In this paper we present a simpler and unified solution to A B C some of the problems listed above based on new modifica- tions of the Laplacian smoothing algorithm and the closelyFigure 2: Laplacian vs. Taubin smoothing. FIR Filters based related FIR linear filters. As a first contribution we intro-on the linear isotropic Laplacian operator. (A) Noisy mesh. duce an anisotropic Laplacian operator in which the weighting(B) Result of Laplacian smoothing (10 steps with ¼ ¿¼ ). of displacements to neighboring vertices is given by matri-(C) Result of Taubin Smoothing (10 steps with ½ ¼ ¿¼ ces. These matrices defined on the vertices of the mesh canand ¾  ¼ ¿¾ ). be regarded as a discrete tensor field. In the classical isotropic Laplacian operator the weights are scalars. To prevent tan- gential drift we compute the weights as functions of a field of face normals, in such a way that the resulting Laplacianthe shrinkage problem with a simple alternating sign modifi- smoothing algorithm integrates the face normals in the leastcation that converts the Laplacian smoothing algorithm into squares sense. Other anisotropic Laplacian operators can bea low-pass filter. Figure 2 shows the result of smoothing a constructed to produce different effects, but we will not studynoisy mesh with Laplacian and Taubin smoothing. In both them here.cases the algorithms perform exactly the same number of op- If the field of face normals is smooth, a linear low-passerations. In the same paper, Taubin introduced Fourier Anal- filter based on this anisotropic Laplacian operator removesysis on mesh signals as a tool to understand and predict the noise while preventing tangential drift. Since computing facebehavior of these linear smoothing processes [18]. This work normals from noisy data produces much noisier face normalwas followed by a number of extensions, improvements, ap- fields, we need to smooth the field of face normals before us-plications, and closely related algorithms, which addressed ing it to generate the anisotropic weights for the vertex po-the following existing and/or open problems with mesh fil- sition smoothing process. As a second contribution we in-ters to some extent: enhancement and prevention of tangen- troduce an algorithm to evaluate FIR linear filters on signalstial drift, boundary and crease curve detection and enhance- defined on graphs and with values in the unit sphere. Wement, and introduction and intuitive control of position and then apply this algorithm to a field of face normals definednormal constraints. on the dual graph of a mesh. Again, our algorithm is Lapla- Taubin et.al. [21] introduced efficient and robust algo- cian smoothing with a properly defined Laplacian operatorrithms to evaluate any finite impulse response (FIR) linear for unit-length vector signals.filter on mesh signals. Zorin et.al. [24] showed an applica- In our algorithm for denoising without tangential drift thetion to multiresolution interactive shape design. Kuriyama face normals are first filtered independently of the vertex po-and Tachibana [13] used an anisotropic diffusion mechanism sitions. Then the matrix weights of the linear anisotropicto generate smooth interpolatory subdivision surfaces with Laplacian operator are computed, and finally the vertex po-vertex position and normal constraints, and tension control. sitions are filtered using the resulting linear anisotropic fil-Hausler and Karbacher [9, 10] describe a non-linear method ter with constant weights. This algorithm is related to thefor smoothing polygon meshes based on circular arc approx- non-linear anisotropic diffusion crease-enhancing algorithm in-imations. Kobbelt et.al. [11, 12] introduced a multiresolu- troduced by Ohtake et.al. [14, 15], where a non-linear cou-tion approach to denoising and shape design based on lin- pled diffusion process is introduced to simultaneously pro-ear filters and constrained minimization. Desbrun et. al. [4] cess face normals and vertex positions. But here the twoaddressed the tangential drift problem observed in meshes processes are decoupled. We filter the face normals inde-with irregular edge length and angle distribution with a non- pendently of the vertex positions, and then, as in the linearlinear Laplacian operator and an infinite impulse response isotropic case, we compute the weights once and keep them(IIR) filter with rational transfer function. And more recently, fixed during the vertex position filtering process.several authors [3, 14, 2, 15] have proposed closely related In the now classical Laplacian smoothing algorithm andnon-linear algorithms that extend to meshes the anisotropic its derivatives, imposing interpolatory vertex position con-diffusion approach to image segmentation introduced by straints is easy, but imposing interpolatory normal con-Perona and Malik [16]. straints is not. In our new algorithm both kinds of interpola- The ability to impose constraints to the smoothing pro- tory constraints are easy to apply. Interpolatory face normalcess, such as specifying the positions of some vertices, or constraints are imposed as in the classical case by not movingnormal vectors, specifying ridge curves, or the behavior of the constrained face normals in the direction determined bythe smoothing process along the boundaries of the mesh, is the Laplacian operator. Similarly, the constrained vertices areneeded in the context of free-form interactive shape design. not moved in the second phase of the algorithm.Taubin [18] shows that by modifying the neighborhood struc-ture certain kind of constraints can be imposed without anymodification of the algorithm, while other constraints that re- 1.3 Paper Organizationquire minor modifications and the solution of small linearsystems. Bierman et.al. [1] show how to construct subdi- The paper is organized as follows. In section 2 we basic meshvision surfaces with vertex normal constraints. Kobbelt et. signal processing concepts and establish some notation. Inal. [11, 12] formulate the problem as an energy minimiza- section 3 we define the different types of Laplacian operators:tion problem, and solve it efficiently with a multi-resolution linear, non-linear, isotropic, and anisotropic. In section 4 weapproach on levels of detail hierarchies generated by decima- extend the Fourier Analysis of mesh signals [18] to the linear 2
  4. 4. IBM Research Report RC-22213 10/18/2001anisotropic case, and in section 5 we review the design of lin-ear filters. In section 6 we describe a solution of the boundary LaplacianOperator ÏÜ ´ µshrinkage problem of classical Laplacian smoothing as a mo- if (non-linear)tivation for the algorithm introduced in this paper. In section ´µ Ï ComputeWeights Ü7 we describe the existing non-linear isotropic solutions to the ¡ ¼ new Ütangential drift problem, and our new linear anisotropic so- for ( ´ µ¾ )lution. In section 8 we define an isotropic Laplacian operator ¡Ü ¡Ü · Û ´Ü   Ü µfor signals with values on the unit sphere, which allows us to endextend the Laplacian smoothing algorithm to these signals. return ¡ÜIn section 9 we review the formulation of Rodrigues formularequired in the previous section. In section 10 we determineintegrability conditions for vector fields defined on the faces Figure 3: Algorithm to evaluate the Laplacian operator.of a mesh, we formulate an orthogonal decomposition theo- ´Î µ directed graph, Ï matrix of weights defined on therem, and show that our algorithm integrates the field of face ¡ edges of , Ü input signal on , Ü output signal. Thenormals in the least squares sense. In section 11 we show isotropic scalar weight Û is replaced by a matrix weight Ïsome experimental results, and we discuss applications and in the anisotropic case.extensions of our algorithm, other than denoising. Finally, insection 12 we present our conclusions. 3 Anisotropic Laplacian Operator2 Mesh Signals The Laplacian operator can be isotropic or anisotropic, and in- dependently linear or non-linear. The four combinations areA graph , composed of a set of vertices Î , and a set of edges possible. As Weickert points out [22], sometimes in the im- can be directed or undirected. In addition to vertices and age processing literature a filter that we would call non-linearedges, a polygon mesh Å includes a set of faces . For sim- isotropic, is called anisotropic. This is also the case in some ofplicity, we only consider faces defined as cycles of vertices. the recent work on anisotropic mesh processing [4, 2, 14, 15]The undirected graph of a mesh Å is composed of the set of In this paper the isotropic Laplacian operator is defined on amesh vertices and the set of mesh edges as unordered pairs. graph signal Ü with values in Euclidean space by weightedIn the directed case, where the edges of are ordered pairs of averages over the neighborhoodsvertices, every edge of Å corresponds to two oriented edgesof . We use the symbols Î , , and not only to denote ¡Ü Û ´Ü  Ü µ (1)the sets of vertices, edges, and faces, but also for the number ¾of vertices, edges, and faces. The correct meaning can alwaysbe deduced from the context. where the edge weights Û are non-negative scalars that add In this paper we look at the vertices of Å in two ways. One up to one for each vertex starway is as a three-dimensional graph signal Ü ´ ܽ µ ÜÎ Ødefined on . In general, a -dimensional graph signal on Û ½ (2)a graph is a ¢ Î matrix Ü Ü½ ´ µ ÜÎ Ø , where each ¾row of Ü is regarded as the signal value at the -th. vertex ofthe graph. We are mainly interested in the cases ½ and One way to impose these constraints is to define the weights ¼ ¿ . The other way we look at a -dimensional graph as normalized edge È Û costs ¼ , where is ansignal on a graph is as a Î column vector Ü constructed edge cost, and ¾ is a vertex cost equal to theconcatenating the Î vectors ܽ ÜÎ of dimension on total cost of edges incident to the -th. vertex. The simplesttop of each other. choice here is to make all the edge costs equal to one ½, In this paper we will also look at the face normals of Å as i.e., to make the weight Û equal to the inverse of the num-a graph signal on the dual graph of Å and with values in the ber of neighbors ½ of the -th. vertex. Other non-linear choices of isotropic weights are discussed in section 7.unit sphere, and more generally on vector fields of arbitrarydimensionality defined on the faces of the mesh. We define the anisotropic Laplacian operator on a ¿ graph The edges of Å are classified as boundary, regular, or singu- signal Ü also by weighted averages over the neighborhoods ¡Ü Ï ´Ü  Ü µlar depending on the number of incident faces. A boundaryedge has one incident face, a regular edge has two incident (3)faces, and a singular edge has three or more incident faces. ¾The dual graph of Å has the faces of Å as vertices, and theregular edges of Å as edges. The boundary faces of Å are but here the edge weights Ï are symmetric È and non-those incident to one or more boundary edges. negative definite ¿¢¿ matrices such that their sum ¾ Ï A neighborhood or star of a vertex index in the graph is has eigenvalues in the interval ¼½ . One way to constructthe set of vertex indices connected to by an edge ´ µ . these weight matrices is as functions of edge and vertex costs, as in the isotropic case. Here the edge costs , and the ver- ´ µ¾ tex cost , are ¿¢¿ È symmetric and non-negative definite matrices such that ¾ È as quadratic forms (i.e.,If the index belongs to the neighborhood , we say that is such that Ü ¾ IR¿ ÜØ Ü ¾ Ü Ü).È example, Ø Fora neighbor of . The neighborhood structure of an undirected if is an upper bound for the eigenvalues of ¾ , wegraph, such as the graph of a mesh defined above, are sym- can take Á , which is what we have used in our im-metric. That is, a vertex is a neighbor of a vertex , if and plementation (see section 7). To simplify the formulation, weonly if is a neighbor of . will also assume that is non-singular, which is true in the 3
  5. 5. IBM Research Report RC-22213 10/18/2001previous example, and set Ï Ä ½ Ä Ø , where Ä isthe Cholesky decomposition [7] of , i.e. the unique lower LaplacianSmoothing ÏÆ ´ ܵtriangular matrix such that Ä ÄØ . ¡ new Ü Both in the isotropic and anisotropic cases we call the for ( ¼ Æ )  ½Laplacian operator linear when the weights are constants, ¡Ü LaplacianOperator ´ Ï Üµand non-linear when the weights are computed as an addi- for ( Î ) ¼  ½tional function of the signal values. Figure 3 describes the Ü Ü · ¡Üalgorithm to evaluate the different Laplacian operators de- endfined in this section on a signal Ü defined on a directed graph end , with given weight matrix Ï . The isotropic weights dis- returncussed in section 7 are all non-linear. Figure 4: The Laplacian Smoothing Algorithm. graph, Ï4 Fourier Analysis on Meshes matrix of weights defined on the edges of , Æ number of iterations, scaling factor, Ü signal on to be smoothed. TheFourier analysis can be used to understand and predict the algorithm is the same, whether the Laplacian operator is lin-behavior of linear operators [18, 21]. Since the isotropicLaplacian operator Ü ¡ Ü is linear on the space of graph ear or non-linear cases, and isotropic or anisotropic.signals defined on , and operates independently on eachof the coordinates of Ü, it is sufficient to analyze the case ´ µ matrix à of the same size. Although many functions ofof one-dimensional graph signals. If we define the matrix  Ã Á Ï , with Á the identity matrix, the isotropic Lapla- one variable can be evaluated in matrices [7], in this paper we only consider polynomials [21]. The function is the ´µcian operator applied to a graph signal Ü can be written in transfer function of the filter.matrix form as follows It is well known that for any of these functions, the ma- ¡Ü  Ã Ü trix à has the eigenvectors ½ ¾ ´ µ of the matrix à as (4) eigenvectors, and the result ½ ´ µ ´ µ ¾ of evaluating theFor undirected graphs and weights defined by symmetric function on the eigenvalues of à as eigenvalues.costs ( ), the matrix à has real eigenvalues ½ ¼ Since for any polynomial transfer function ¾ ¡¡¡ ¾ with corresponding linearly independent ܼ ´Ã µ Ü ´ µÜreal unit length right eigenvectors ½ Î Î . In matrix form à (5) because à , to define a low-pass filter we need to ´ ½ µ½ ´ µ find a polynomial such that ´ µ ½ for low frequencies, ´ µ ¼ Î Øwith , Î , and the diagonal and for high frequencies in the region of interestmatrix with in its -th. diagonal position. Seen as one-dimensional graph signals, these eigenvectors can be consid- ¾¼¾ . Figure 4 describes the Laplacian smoothing algorithm,ered as the natural vibration modes of the graph, and the corre-sponding eigenvalues as the associated natural frequencies. with a scaling factor ¼ ½ which is used to control the Since ½ speed of the diffusion process. With this parameter, one step Î form a basis of Î -dimensional space, ev- of the linear isotropic Laplacian smoothing algorithm can beery graph signal Ü can be written as a linear combination described in matrix form as follows Πܽ Ü · ¡Ü ´Á   à µ Ü ´Ã µ Ü (7) Ü Ü Ü (6) ½ where ´Ã µ is a matrix obtained by evaluating the univari- ate polynomial ´ µ ½   in the matrix à . If the pro-The vector of coefficients Ü is the Discrete Fourier Transform cess is iterated Æ times, the output can still be expressed as(DFT) of Ü, and is the Fourier Matrix. ÜÆ ´Ã µ Ü, but with a different univariate polynomial The analysis for the anisotropic Laplacian operator is sim- ´µ ´½   µ . When ¼ Æ ½, we see that for ev-ilar, but requires the treatment of the 3 coordinates of thegraph signal at once. In this case we look at the signal Ü not ery ¾ ´¼ ¾ , we have ´½   µ ¼ when Æ ½ Æ because ½   ½. This means that all the frequency ¿as a matrix but as a Î -dimensional vector; the matrix à is a ¢Î Î block matrix, with each block a matrix: ¿¢¿ components, other than the zero frequency component (the barycenter of all the vertices), are attenuated for large Æ . On Á Ï the other hand, the neighborhood normalization constraint à  Ï if of equation 2 implies that the matrix à always has as its ¼ if first eigenvalue with associated eigenvector Ø ´½ , and ½µ the zero frequency component is preserved without changesThe rest of the analysis is exactly the same as for the isotropic ¿case, except that here à has Î eigenvalues and eigenvec- because ´¼µ ½ independently of the values of and Æ . A similar analysis applies to the linear anisotropic case.tors, and each eigenvector simultaneously defines the 3 coor- Taubin [18] proposed the following second degree transferdinates of all the vertices of the mesh. function to solve the problem of shrinkage5 Mesh Filters ´ µ ´½   ¼ µ´½   ½ µ (8) which can be implemented as two consecutive steps of Lapla-A Linear Filter is defined by a univariate function that ´µ cian smoothing with different scaling factors; the first onecan be evaluated on the square matrix à to produce another with ¼ ¼ , and the second one with ½ ¼ .   ¼ 4
  6. 6. IBM Research Report RC-22213 10/18/2001 MeshFilter´ ÏÆ Ü µ new Ü¡ for ( ¼ Æ )  ½ ¡ Ü LaplacianOperator ´ Ï Üµ for ( Î ¼ )  ½ Ü Ü · ¡Ü end end returnFigure 5: A mesh filter more general than Laplacian smooth-ing can be implemented by making the scaling factor func-tion of the iteration number. Compare to the algorithm in fig-ure 4. Again, the same algorithm applies to the linear or non-linear Laplacian operator, and to the isotropic or anisotropiccases. To implement a more general linear filter, and by doingso being able to solve the shrinkage problem, we make thescaling factor dependent on the iteration number . That is, Figure 6: The boundary shrinkage problem. Laplacian opera-the scaling factor is now a vector ¼ Æ  ½ Ø ´, and µ tor defines vertex displacements that approximate curvature normal at non-boundary vertices. The displacements havethe transfer function is strong tangential components at boundary vertices. The neg- Æ  ½ ative of the Laplacian operator displacements  ¡ Ü are plot- ´µ ´½   µ (9) ted because they easier to visualize. ¼ A different way to implement FIR linear filters based on independently of the subjacent smooth surface, where ¾ isclassical digital filter design techniques and Chebyshev poly- the average square length from vertex to its neighborsnomials was introduced by Taubin et.al. [21]. Ignoring numerical errors, in the linear case, the Æ Lapla- ¾ Û Ü  Ü ¾cian smoothing steps of equation 9 can be performed in any ¾order, without affecting the result. Since the weights of thenon-linear Laplacian operator are computed as a function of When the vertex is on the boundary of the mesh, the vec-the signal values, in the non-linear case we have to be moreprecise. The same equation 9 can be used, but the non-linear ¡ tor Ü has a very strong tangential component, and the vec- tor of equation 10 cannot be considered a good approxima-Laplacian smoothing steps have to be performed in the spec- tion of the surface normal. This problem is illustrated in fig-ified order, as shown in the algorithm of figure 5. ure 6. As a result, when an isotropic filter is applied to a mesh with boundary, while non-boundary vertices tend to move along the normal direction, boundary vertices tend to move6 Preventing Boundary Shrinkage in a tangential direction, producing shrinkage, even when the filter is a low-pass filter such as the algorithm.Although the normal vector to a polygon mesh is not defined The hierarchical smoothing approach described by Taubinat a vertex, it is customary to define it by averaging some [18], where the boundary vertices are filtered as a curve in-local information for shading purposes. When the signal Ü dependently of the rest of the mesh, is one way to preventin equation (1) corresponds to the 3-dimensional mesh ver- boundary shrinkage. But because the boundary and meshtex positions, the Laplacian operator can be used to define a smoothing processes proceed at different speeds, the bound-normal vector ary curves may be over-smoothed, and there is no control on ¡ Ü ¡Ü ¼ the surface normals along the boundary. Ò ¡ if ¼ ¡Ü ¼ Ü (10) The following alternative solution to the boundary shrink- if age problem produces better results, and is a good motiva- tion to the definition of the anisotropic Laplacian operatorWhen the length of edges incident to vertex and the angles given above. In this case we need an additional vertex nor-formed by these edges are all similar, the mesh is a discretiza- mal vector Ò for each boundary vertex , and we redefine thetion of a smooth surface, and the vertex is not on the bound- Laplacian operator for the boundary vertex as the projectionary of the surface, this vector average approximates the cur- of the old Laplacian operator onto line defined by the normalvature normal, modulo a scale factor function of the average vector Òedge length (sampling wavelength). In fact, the following ex-pression can be used as the definition of the mean curvature ¡Ü Ò Ò Ø Û ´Ü  Ü µ[17] of the graph signal Ü at the vertex ¾ ½ Ò ¾ Û ´Ü   Ü µ The boundary vertex normal vectors can either be explicitly provided as constraints, or computed by averaging face nor- ¾ ¾ (11) mal vectors to incident faces. 5
  7. 7. IBM Research Report RC-22213 10/18/2001 Equivalently, we can define the following anisotropicweights LaplacianOperatorNormals´ Ï Òµ new ¦ ¼ Ï Û Ò Ò Ø if is a boundary vertex for ( ´ µ¾ ) Û Á if is not a boundary vertex ¦ ¦ ·Û Ò endwhere Û is the old isotropic weight. The resulting lin- for ( ¼ Æ   ½)ear anisotropic diffusion algorithm removes noise but the ¦ Ò ¢¦boundaries do not shrink. end return ¦7 Preventing Tangential Drift MeshFilterNormals ´ Ï Æ Òµ new ¦The boundary shrinkage problem mentioned above is a for ( ¼ Æ   ½)particular case of the tangential drift problem. With unit ¦ LaplacianOperatorNormals ´ Ï Òµedge costs, very satisfactory results are obtained with lin- for ( ¼ Î   ½)ear isotropic FIR filters [21] on meshes with no boundaries Ò Ê´ ¦ µ Òdisplaying very small variation in edge length and face an- endgles across the whole mesh. When these assumptions are endnot met, local distortions are introduced, mainly because the returnLaplacian operator defines vertex displacement vectors withstrong tangential components. The edge weights can be usedto compensate for the irregularities of the tessellation, and Figure 7: Algorithms to evaluate the Laplacian operator, andproduce results which are function of the local geometry of a general linear filter on a graph signal with values the unitthe signal, rather than the local parameterization. For ex- sphere. Laplacian smoothing corresponds to the case of con-ample, shorter edges have to be given larger weights. The stant .following non-linear strategies to compute weights have beenproposed. Fujiwara weights [6] try to compensate for irregular edge can definelengths by determining the edge costs as a function of the Ò Ò Øedge length ´   µ Ú Ú . For example, Fujiwara pro- ¾ (13)posed the inverse of the edge length Ø ´µ ½ Ø as the func-tion, which makes the Laplacian operator independent of the where is the set of faces incident to the edge joining ver-edge lengths, and only dependent on the directions of the tices and , Ò is the unit length normal vector to facevectors pointing to the neighboring vertices. This weight- , and ¼ is a non-negative cost. In this paper weing scheme does not solve the problems arising from unequal use È ½ Á , and Èindependently of produces ,excellent results. , , orface angles. ¾ ¾ , which Desbrun weights [4] compensate not only for unequal edge Note that for manifold meshes the set is composed of onlylengths, but also for unequal face angles. Laplacian smooth- one or two elements. Another possible choice is to makeing with equal edge costs tends to equalize the lengths of the equal to the area of face , but this would make the cost aedges, and so, tends to make the triangular faces equilateral. non-linear function of the vertex coordinates, which we haveThe vertex displacements produced by the Laplacian opera- been trying to avoid in this paper.tor can be decomposed into a normal and a tangential compo-nent. In some cases the edge equalization is the desired effect,such as when mesh smoothing is used to improve the qual- 8 Laplacian Smoothing on the Sphereity of finite-elements mesh. But in other cases, such as whena texture is mapped onto the mesh, having a non-zero tan- In order for this linear anisotropic filter to produce the de-gential component is undesirable. Based on a better approxi- sired results, we need a smooth face normal field. Since themation to the curvature normal, Desbrun et.al. proposed the field of face normals of a noisy mesh is even noisier, we nowfollowing choice of edge costs have to solve the problem of smoothing a field of unit-length face normal vectors. We regard such vector field as a signal ÓØ « · ÓØ ¬ (12) defined on the dual graph of the mesh, and with values in the unit sphere. We solve this problem again with Laplacianwhere « and ¬ are the two angles opposite to the edge smoothing, or a more general FIR filter, based on a redefined ´ µ in the two triangles having in common. This Laplacian operator for signals with values in the unit sphere,choice of weights produces no tangential drift when all the and then use the algorithms described in figure 7.faces incident to the vertex are coplanar. The Laplacian operator can be applied to unit length vec- The weighting schemes described above can be applied to tors, but the result of one Laplacian smoothing stepa FIR filter, but both Fujiwara weights and Desbrun weightsmust be recomputed after each iteration, or at least after a Ò¼ Ò · Û ´Ò  Ò µsmall number of iterations. This makes the whole smoothing ¾process a nonlinear operation, and computationally more ex-pensive. The alternative solution that we propose in this pa- is no longer a unit length vector. This can be fixed by nor-per is based on using a linear anisotropic Laplacian operator malizing the length of the resulting vector, but the resultswhere the edge costs are computed as a function of the face are poor, particularly when the angles between neighboringnormals, in such a way that tangential displacements are pe- normals are large. A better solution is to look at the expres-nalized. For example, if vertex is a neighbor of vertex , we sion Û Ò ´   µ Ò as a displacement along a geodesic on the 6
  8. 8. IBM Research Report RC-22213 10/18/2001sphere, i.e., along a great circle, and at the scaled Laplacian requires computation of trigonometric functions, it is bettervector ¡ Ò as the average of these displacements in a well- to represent the rotation as a vector with length equal to thedefined local chart. positive sine of the angle of rotation. The conversion from The resulting displacement ¡ Ò is represented by a ro- vector to matrix representation is given by Rodrigues formulatation Ê ´µ , where the function Ê ´µ is a continuous func-tion of such that when ¼ the rotation is the identity Ê´ µ Á · ´½   µ ÖÖ · × Ö£ Ø (17)Ê ´µ Á . For each neighbor of such that Ò and Ò arelinearly independent, there are two rotations that keep the where × ´ ¾ µ½ ¾ × Ò´«µ, ´½   ¾ µ½ ¾ Ó×´«µ,plane defined by the vectors Ò and Ò invariant . Of these ×Ö , andtwo let Ê be the rotation of minimum angle. If Ò Ò wedefine Ê Á , and we will assume that the case Ò Ò   ¼  Ö Ö Ö£ ¼  Ö Þ Ýnever happens. In section 9 we show that the rotation Ê can Ö  Ö Ö ¼ Þ Übe computed using Rodrigues’ formula as Ý Ü Ê Ê´Ò ¢Ò µ This last matrix is skew-symmetric ´Ö£ µ Ø  Ö£ , and repre-where Ê ´µ sents the vector product: when we multiply the matrix Ö£ by a is the Rodrigues function that maps vectors oflength not larger than one onto rotation matrices vector Ú we obtain the vector product Ö Ú ¢ Ê ½ ´¿µ Ö Ú  Ö Ú Ö£ Ú SO (14) Ö¢Ú  Ö Ú Ý Þ Þ Ý Ö Ú  Ö Ú Þ Ü Ü ÞNow we can define the Laplacian operator for signals with Ö Ú Ü Ý Ý Üvalues in the unit sphere as follows Rodrigues’ formula defines the function Ê ½ SO ´¿µwhich is clearly ½ ½ and continuous for , but it ¼ Ê´ µ Ê Ò ¢ Û Ò (15) is not difficult to show that it is well defined and continuous ¾ at ¼ as well.for ½ . We do all the scaling and averaging in the do- To convert from matrix to vector representation we first note that, since Á ÖÖØ is symmetric, and × Ö £ skew- · ´½   µmain of Ê ´µ which is a convex subset of Euclidean space symmetric, the transpose of the matrix Ê in equation 17 is ÈÛthat contains the origin, and so close under scaling ( ) ½and convex averaging ( ). ½ Ê Ø Á · ´½   µ ÖÖ Ø   × Ö£ Finally, we define a Laplacian smoothing step as follows and so, the skew-symmetric part of Ê is Ò¼ Ê ´ µÒ (16)Now we can implement any FIR filter using the polynomial ´Ê   Ê µ ¾ Ø × Ö£ ´× Öµ£ (18)factorization of equation 9. For example, one step of Taubinsmoothing becomes The value of × is obtained as the length of the vector × Ö. Ô The value of is obtained by computing a square root Ò¼¼ Ê ´ ½µ Ê ´ ¼µ Ò ½ ×¾ . With and × we can determine «, if needed. And the unit length vector Ö is obtained by normalization, except when Ê ÊØ   ¼ , which corresponds to the identity rotation9 Rodrigues Formula Ê Á . This case has multiple solutions. So, the inverse ofA 3D rotation can be represented as a ¿ ¢ ¿ matrix Rodrigues’ formula of equation 18 defines the inverse func- tion ½ Ê  Ê Ê Ê Ê  Ê Ü ÞÜ ÜÞ Ê Ê Ê ÜÜ ÝÜ Ê ÜÝ ÝÝ ÜÞ Ê ÝÞ Ý ¾ Ê ÜÞ  Ê ÞÜ Ê Ê Ê Þ ÝÜ ÜÝ ·Ò ÞÜ ÞÝ ÞÞ If Ò and Ò are two unit length vectors such that Òorthogonal ÊÊØ Á and with unit determinant Ê . In ½ ¼, it is not difficult to show thatparticular, the inverse rotation is represented by the trans-posed matrix Ê  ½ ÊØ . The result of applying the rotation Ê´Ò ¢ Ò µ Ò Òrepresented by the matrix Ê to a vector Ú is computed bymultiplying the matrix by the vector ÊÚ . The group of 3Drotation matrices, also called special orthogonal group of dimen-sion 3, is usually denoted SO . ´¿µ 10 Integration of Face Normal Fields A more intuitive way of representing a 3D rotation is byspecifying an axis of rotation with a unit length vector Ö, and In this section we first study the existence and uniqueness ofan angle of rotation « in radians. Usually, these two values are solution to the problem of reconstructing the mesh vertex po-jointly specified as a single vector «Ö. The angle of rota- sitions from a given field of face normals. Then we formulatetion is the length of , and the axis of rotation is determined an orthogonal decomposition theorem that explains the leastby normalization Ö . In the case , which corre- ¼ squares solution of the previous problem in the case wheresponds to the identity matrix, the unit vector is not uniquely an exact solution does not exists. Finally, we discuss how ourdetermined. algorithm relates to the solution of these problems. Our ap- Since this representation produces multiple representa- proach is totally self-contained and based on basic conceptstives for each rotation, and the conversion to matrix form from linear algebra. 7
  9. 9. IBM Research Report RC-22213 10/18/2001 ables, which we rewrite in matrix form as follows ¼ . . ½¼.½Ø . . . . . . ¡ ¡ ¡  Ù Ù ¡¡¡ Ü . . . . . . . . . ¡¡¡ Ù ¼ ¡¡¡ Ü ¼ (20) . . . . . . . . . ¡¡¡ ¼  Ù ¡ ¡ ¡ Ü . . . . . . . . . If Í denotes the Î ¿ ¢¾ left matrix, and the Î - ¿ dimensional right vector, we have Í Ø ¼ . Since the equa- tions are linear an homogeneous, the space of solutions is a subspace in IR¿Î . Note that the dimension of this subspace is ¿ at least , because the constant vector Ü Ü for Î ½ is a solution of our problem for any point Ü IR ¿ . Since the ¾ problem is invariant with respect to translations, we can re- duce its dimensionality by imposing the constraint ÜÎ  ½ . ¼ A solution of the original system can be decomposed as a so- lution of the reduced system plus a 3D translation. Let Í be ´¿   ¿µ ¢ ¾ the Î matrix obtained from Í by deleting the last row, and let be the Î ´¿   ¿µ -dimensional right vectorFigure 8: Java implementation of the algorithms introduced obtained from by deleting the last three coordinates corre-in this paper. sponding to ÜÎ  ½ . Now, our original problem has a solution if and only if the system Í Ø ¼ has a non-trivial solution, and the solution is unique if and only if the dimension of the subspace of solutions is 1. Equivalently, if ¼½ ¾ ¡¡¡10.1 Integrability are the singular values of Í , the problem has a solution if ½ ¼ as well, and the solution is unique if ¾ . If ¼We restrict our analysis here to the case of triangle meshes, ½ ¡¡¡ ¼ and ·½ ¼ , the problem has multi-where the notation is simpler. The results can be extend to ple solutions, and the subspace of solutions has dimension .general polygon meshes, but we leave the details of the ex- That is, the problem has degrees of freedom in addition totension to the reader, or a subsequent paper. the 3 degrees of freedom corresponding to the invariance to The problem is this: given a non-zero vector Ù for each translation. A unique solution can be obtained by imposingface ´ µ of a triangular mesh Å , we want to describe further independent linear constraints. Also note that since ´the set Ë of vertex positions ܽ µ ÜÒ so that, for each tri- the problem is homogeneous, the solutions can only be ob-angular face , the vector Ù is orthogonal to the plane de- tained modulo scale.fined by the points Ü Ü Ü , and in what sense our algo- In the overconstrained case Î ¿  ¿ ¾ , the problem mayrithm helps find the elements of Ë . In principle, the set Ë have no solution, a unique solution (modulo scale), or mul-may be empty (i.e., the field is not integrable), may be com- tiple degrees of freedom. In the last case, the general solu-posed of a single element (i.e., the problem has a unique so- tion can be represented as a linear combination of the singu- lar vectors corresponding to the zero singular values. In thelution), may be composed of a finite number of element (i.e.,the problem has a multiple solutions), or may be composed underconstrained case Î ¿  ¿ ¾ , when we have fewer equations than unknowns, the dimension of the subspace ofof an infinite number of elements (i.e., the problem has freedegrees of freedom). solutions is at least ο  ¿ ¾ ¼ , and the problem always has at least one solution. If the triangular mesh is manifold without boundary, the numbers of vertices Î , edges , and faces satisfy the Euler formula Î   · ¾´½   µwhere ¼ is the genus ofUnconstrained case We first consider the case where no the mesh. For example, a sphere has genus and a torus has¼further constraints are imposed on the vertex positions. The ½ genus . Since each triangular face of a manifold mesh with-face orthogonality conditions described above are equivalentto the following family of simultaneous linear equations out boundary corresponds to three half-edges, or ,¿ ¾ we obtain a necessary and sufficient condition for the prob- lem to be overconstrained Ù ´Ü Ø  Ü µ ¼ ´ µ Ù ´Ü Ø  Ü µ ¼ (19) Î  ¿ ¾ ¸ ¾  Ù ´Ü Ø  Ü µ ¼ For example, for a mesh with sphere topology we get ¾, which is always satisfied because the tetrahedron is theNote that for each face , the corresponding three equations smallest in this class with . For higher genus, the leftare linearly dependent because their sum is equal to zero. term is negative, and the condition is always satisfied. If theAs a result, we can discard one of the three equations, and triangular mesh is manifold with boundary, a similar nec-obtain an homogeneous system of ¾ ¿ equations in Î vari- essary and sufficient condition can be derived involving in 8
  10. 10. IBM Research Report RC-22213 10/18/2001 A B C D E FFigure 9: Hierarchical smoothing can be used to introduce crease lines and to control their shape. (A) Mesh with tagged boundaryand crease edges. (B) The result of applying 10 steps of Taubin smoothing without constraints. Observe the shrinkage of theboundary and the over-smoothing of the crease lines. (C) The result of applying 10 steps of Taubin smoothing with hierarchicalconstraints, but ignoring the crease lines. The boundary curve is smoothed independently of the interior vertices. (D) Same as(C) but taking the crease edges into account. (E) The result of applying 10 steps of Taubin smoothing with fixed vertices on thetagged edges. Noise present on the boundary vertices remains. (F) The result of applying the new algorithm introduced in thispaper with fixed face normals and vertices incident to tagged and boundary edges.addition the number of boundary loops Ä and the number with ;ÝØ ´ ; ;  ½ ; the pseudo-inverse of ; . If the rank µ Ø Øof boundary edges , but it is a lot easier just to check the of the matrix ; is less than ο´   µ the problem still has freeoriginal inequality. In this case the system can be undercon- degrees of freedom, and if the rank is larger than Î ¿´   µstrained. For example, look at the extreme case of discon- the problem has no solution. In this case the least squaresnected triangles with Î ¿ vertices. solution is also described by the previous equation.Constrained case In the case of triangular meshes with 10.2 Orthogonal Decompositionboundary, where a large number of boundary edges may re-sult in an underconstrained system of equations, further con- Helmholtz decomposition theorem, used extensively in elec-straints can be imposed by specifying, for example, the posi- tromagnetism, states that every smooth vector field in IR¿tions of some or all of the boundary vertices. In general, we can be decomposed as the sum of two components: awill consider the case when of the vertices are constrained rotation-free vector field (gradient of a scalar potential) and ato be in specified locations. Since the ordering of the ver- divergence-free vector field (curl of a potential vector field)tices is irrelevant, we will assume without loss of generalitythat the vertices ܽ Ü are constrained, and the vertices Ö ·Ö¢Ü ·½ ÜÎ are free. Since the invariance to translation nolonger applies here, we need to look at the original system of For vector fields defined on surfaces, Hodge decompositionequations Í Ø ¼ . We partition the matrix Í into two ma- theorem states that every vector field on a surface can be de-trices ͽ and ; . The first one composed of the first ¿ rows composed into three components: a rotation-free vector field,of Î , and the second one composed of the remaining rows. a divergence-free vector field, and a harmonic vector fieldWe also partition the vector into ½ and ¾ in a similar (with zero Laplacian). We seek a similar decomposition ofmanner. The system to be solved can be written as follows vector fields defined on the faces of a mesh, where the con- cept of integrable face vector field on a mesh correspond to ͽ ½ · ; ¾ Ø Ø ¼ rotation-free smooth vector field on a surface. In general, in the unconstrained case, given an arbitrarywhere ͽ , ; , and ½ are given. For the system not to be un- non-zero vector Ù for each face ´ µ of the triangularderconstrained, we need to have at least as many equations mesh Å , the system of equations 19 will have no solution. ¿´   µ ¾as variables, i.e., Î . In this case the problem has Equivalently, the first singular value ½ of the matrix Í isa unique solution if and only if the rank of the matrix ; is positive. ¿´   µequal to Î , and the solution is ´ If vertex positions ܽ µ ÜÒ are given and no triangular face is degenerate (zero surface area), the face vector field Ù ¾  Í¾Ýν ½ Ø Ø can be decomposed as the sum of a normal face field and a 9
  11. 11. IBM Research Report RC-22213 10/18/2001 A B A B C D C DFigure 10: Pre-smoothing of boundary curves. (A) Noisy Figure 11: Application to mesh design in conjunction withmesh with noisy boundary curve. (B) The result of apply- recursive connectivity subdivision operators. (A) Coarse tri-ing the algorithm introduced in this paper with fixed bound- angular mesh. (B) After two steps of linear triangle quadri-ary vertices and faces. (C) Same as (B) but with 2 steps of section with vertices inserted at the midpoints of edges. (C)Laplacian smoothing along the boundary as a pre-processing After applying the algorithm introduced in this paper withphase. (D) (C) Same as (B) but with 2 steps of Taubin smooth- 10 steps of Taubin smoothing on the face normal field, fol-ing along the boundary as a pre-processing phase. lowed by 10 steps of linear anisotropic Laplacian smoothing on the vertex positions. (D) Same as (C) but using 10 steps of isotropic Laplacian smoothing to smooth the field of facetangent vector field. In general, even if some faces defined normals.by the vertex positions are degenerate, we can define the fol-lowing face vector field ´ ´   µ¢´   µ first singular value ½ of Í ( of Í ). Equivalently, Ò Ü Ü ´   µ¢´   µ Ü Ü if ´Ü   Ü µ ¢ ´Ü   Ü µ ¼ ¾ Ü Ü ¼ Ü Ü ´Ü   Ü µ ¢ ´Ü   Ü µ ¼ ÑÒ Í Ø ¾ if ¾ ½ (21)For a non-degenerate face Ò is a unit length normal vectorto face defined by the points Ü Ü Ü . Otherwise it is Note that in general, the solution to this problem obtainedthe zero vector. Now we can define the normal component in this way may define a mesh with degenerate triangular faces. We leave the problem of determining conditions forof Ù as ÙÆ Ò ÒØ Ù and the tangential component byÙÌ ´   µ Á Ò ÒØ Ù . If ÍÆ and Í are the Î ¿ ¢¾ matrices non-degenerate solutions for future study. A similar line of reasoning can be followed in the con-constructed as Í in equation 20 from the face vector fieldsÙÆ and ÙÌ , we have Í ÍÆ ÍÌ and ÍÆ ÍÌ ·Ø . In ¼ strained case, which includes additional linear constraintsaddition, by construction ÍÆ Ø ¼ and the first singular (fixed boundary vertex positions).value of ÍÆ is zero Æ ½ ¼ corresponding to the singular 10.3 Integration Algorithmsvector . The problem we are facing here is to find vertexpositions minimizing the tangential error ÍÌ Ø ¾ ¾ The linear anisotropic Laplacian smoothing algorithm intro-defined by the decomposition described above. duced in this paper to integrate a field of face normals is a de- Note that, since by construction ÍÆ ¾ Ø and ÍÆ ÍÌ Ø ¾ , and the solution to this prob- ¼, ¼ scent algorithm for the quadratic function 22. The anisotropicwe have Í Ø ÍÌØ Laplacian operator introduced in previous sections is thelem is given by the least squares solution to the original negative of the gradient of Ù ´ µ , scaled to make it convergeproblem. Solving the system of equations 19 in the least in a stable fashion. Since the function being minimized issquares sense is equivalent to the minimization of the follow- convex, our algorithm converges to the global minimum.ing quadratic function Ù ´Üµ Í Ø ¾ ´Ù ´Ü   Ü µµ¾ Ø (22) 11 Implementation and Applications ´ µ¾ The intended application of these algorithms is as toolsSince the equations are homogeneous, the first non-trivial so- in an interactive shape design system. Figure 8 shows alution corresponds to the singular vector associated with the screen dump of our prototype implementation written in 10
  12. 12. IBM Research Report RC-22213 10/18/2001Java, which integrates a number of related mesh processing resulting smooth face normals are integrated, is based onalgorithms. All the illustrations presented in this paper have simple extensions of Laplacian smoothing. In addition, webeen generated with this tool. demonstrated explicit control of a variety of constraints for Overall, in the applications to noise removal a small num- mesh design applications. In our view, the main advantage ofber of iterations produce satisfactory results, even for very this algorithm is its simplicity and its relation with the Lapla-large meshes such as the one shown in figure 1. We envision cian smoothing family of algorithms that allows a clean, sim-applications to shape design, where the user interactively ple, efficient and elegant implementation.modify the face normal field, and then linear anisotropicLaplacian smoothing is used to integrate the field of face nor-mals. In this case the initial position of the vertices may be Referencesvery far away from their intended destination, and a largenumber of iterations may be needed to produce satisfactory [1] H. Bierman, A. Levin, and D. Zorin. Piecewise smoothresults. This is so because the length of the displacement vec- subdivision surfaces with normal control. In Sig-tor defined by the Laplacian operators at a vertex is never graph’2000 Conference Proceedings, 2000.longer than the average length of edges incident to that ver-tex. In this case a multi-resolution approach is advisable [2] U. Clarenz, U. Diewald, and M. Rumpf. Anisotropic ge-[11, 12]. ometric diffusion in surface processing,. In Proceedings of IEEE Visualization 2000, October 2000.11.1 Extensions [3] M. Desbrun, M. Meyer, P. Schroder, and A. Barr. Anisotropic feature-preserving denoising of heightWe describe in this section a number of potential extensions fields and bivariate data. In Proceedings of Graphics In-and applications. Some are implemented and some are not. terface 2000, May 2000.Those implemented are in different states of maturity. [4] M. Desbrun, M. Meyer, P. Schroder, and A.H. Barr. Im- ¨Hierarchical smoothing The hierarchical smoothing ap- plicit fairing of irregular meshes using diffusion andproach described by Taubin [18] can be applied in conjunc- curvature flow. In Siggraph’99 Conference Proceedings,tion with the algorithm introduced in this paper to achieve pages 317–324, August 1999.more precise control along boundaries and tagged disconti- [5] D.A. Field. Laplacian smoothing and delaunay trian-nuity edges, and non-manifold meshes. In addition to the gulations. Communications in Applied Numerical Methods,faces incident to the boundary edges, faces incident to other 4:709–712, 1984.tagged edges can be constrained during the face normalssmoothing process to produce interesting effects such as in- [6] K. Fujiwara. Eigenvalues of laplacians on a closed rie-troduction and shape control of creases. Figure 9 shows an mannian manifold and its nets. Proceedings of the AMS,example of this application, comparing different variations 123:2585–2594, 1995.of older algorithms and constraints with the new algorithmintroduced in this paper. [7] G. Golub and C.F. Van Loan. Matrix Computations. John Hopkins University Press, 2nd. edition, 1989.Boundary smoothing If we constrain boundary verticesand faces not to move at all during the smoothing process, [8] K. Ho-Le. Finite element mesh generation methods:we may obtain undesirable results along noisy boundaries. A review and classification. Computer Aided Design,Figure 10 shows additional ways to smooth boundary curves 20(1):27–38, 1988.as a pre-processing step to produce more pleasing shapes. [9] G. Husler and S. Karbacher. Reconstruction of smoothed polyhedral surfaces from multiple range images. In Pro-Vertex normal fields Sometimes mesh normals are speci- ceedings of 3D Image Analysis and Synthesis ’97, pagesfied at the vertices, rather than the faces of the mesh. If the 191–198, Sankt Augustin, 1997. Infix Verlag.mesh is manifold, we can apply the algorithm introduced inthis paper to reconstruct the position of the vertices of the [10] S. Karbacher and G. Husler. A new aproach for model-dual mesh, and then reconstruct the positions of the primal ing and smoothing of scattered 3d data. In R.N. Ellsonvertices by dual mesh resampling [20], which is yet another and H. Nurre, editors, Proceedings of the SPIE on Three-variation of Laplacian smoothing. Dimensional Image Capture and Applications, volume 3313, pages 168–177, 1998.Subdivision meshes The algorithm introduced in this pa- [11] L. Kobbelt, S. Campagna, J. Vorsatz, and H.-P. Sei-per can be used to design piecewise smooth meshes as a se- del. Interactive multi-resolution modeling on arbitraryquence of connectivity refinement and smoothing steps per- meshes. In Siggraph’98 Conference Proceedings, pagesformed within and interactive modelling system [18]. Figure 105–114, July 1998.11 shows some examples of this use in connection with trian-gle quadrisection as the connectivity refinement operator. [12] L. Kobbelt, J. Vorsatz, and H.-P. Seidel. Multiresolution hierarchies on unstructured triangle meshes. Compu- tational Geometry Theory and Applications, 1999. special12 Conclusions issue on multi-resolution modeling and 3D geometry compression.In this paper we introduced a new algorithm for polygonmeshes smoothing with vertex position and face normal in- [13] S. Kuriyama and K. Tachibana. Polyhedral surface mod-terpolatory constraints. The algorithm, composed of two eling with a diffusion system. In Eurographics’97 Confer-phases where the face normals are first filtered, and the ence Proceedings, pages C39–C46, 1997. 11
  13. 13. IBM Research Report RC-22213 10/18/2001[14] Y. Ohtake, A.G. Belyaev, and I.A. Bogaevski. Polyhedral surface smoothing with simultaneous mesh regulariza- tion. In Proceedings of the Geometric Modeling and Process- ing 2000, April 2000.[15] Y. Ohtake, A.G. Belyaev, and I.A. Bogaevski. Mesh regu- larization and adaptive smoothing. Computer Aided De- sign, 2001.[16] P. Perona and J. Malik. Scale-space and edge detection using anisotropic diffusion. IEEE Transactions on Pattern Analysis and Machine Intelligence, July 1990.[17] G. Taubin. Estimating the tensor of curvature of a sur- face from a polyhedral approximation. In Proceedings, International Conference on Computer Vision (ICCV), 1995.[18] G. Taubin. A signal processing approach to fair surface design. In Siggraph’95 Conference Proceedings, pages 351– 358, August 1995.[19] G. Taubin. Geometric signal processing on polygonal meshes. In Eurographics 2000 State of The Art Report (STAR), September 2000.[20] G. Taubin. Dual mesh resampling. In Conference Proceed- ings, Pacific Graphics 2001, Tokyo, Japan, October 2001.[21] G. Taubin, T. Zhang, and G. Golub. Optimal surface smoothing as filter design. In Fourth European Confer- ence on Computer Vision (ECCV’96), 1996. Also as IBM Technical Report RC-20404, March 1996.[22] J Weickert. Scale-Space Theory in Computer Vision, vol- ume 1252 of Lecture Notes in Computer Science, chapter A Review of Nonlinear Diffusion Filtering, pages 3–28. Springer-Verlag, 1997.[23] A. Yamada, T. Furuhata, K. Shimada, and K. Hou. A dis- crete spring model for generating fair curves and sur- faces. In Proceedings of the Seventh Pacific Conference on Computer Graphics and Applications, pages 270–279, 1998.[24] D. Zorin, P. Schroder, and W. Sweldens. Interactive mul- ¨ tiresolution mesh editing. In Siggraph’97 Conference Pro- ceedings, pages 259–268, August 1997. 12