Smooth Subdivision of Tetrahedral Meshesjwarren/papers/tetrahedral.pdfS. Schaefer & J. Hakenberg &...

8
Eurographics Symposium on Geometry Processing (2004) R. Scopigno, D. Zorin, (Editors) Smooth Subdivision of Tetrahedral Meshes S. Schaefer 1 J. Hakenberg 1 J. Warren 1 1 Rice University Abstract We describe a new subdivision scheme for unstructured tetrahedral meshes. Previous tetrahderal schemes based on generalizations of box splines have encoded arbitrary directional preferences in their associated subdivision rules that were not reflected in tetrahderal base mesh. Our method avoids this choice of preferred directions resulting a scheme that is simple to implement via repeated smoothing. In an extended appendix, we analyze this tetrahedral scheme and prove that the scheme generates C 2 deformations everywhere except along edges of the tetrahedral base mesh. Along edges shared by four or more tetrahedra in the base mesh, we present strong evidence that the scheme generates C 1 deformations. Categories and Subject Descriptors (according to ACM CCS): I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling 1. Introduction Given a base mesh p 0 , subdivision is a recursive process that defines increasingly refined meshes via a relation of the form p k+1 = Sp k . If the subdivision process S is chosen correctly, the limit mesh p is guaranteed to be a smooth mesh that approxi- mates the base mesh p 0 . Using subdivision has become pop- ular for geometric modeling because the subdivision process places no restriction on the topological connectivity of the base mesh. While most work on subdivision has focused on surface meshes, we consider the problem of subdividing volumetric meshes. Perhaps the most obvious questions to ask concern- ing volumetric subdivision is why bother with building such schemes. Typically, volumetric subdivision schemes have been proposed as a means to define deformations. However, the existence of simple schemes for tensor product volumet- ric meshes such as free-form deformations [SP86] reduces this question to why subdivision scheme for unstructured meshes are important. Figure 1 shows an application of subdivision to the prob- lem of image deformation that illustrates the superiority of unstructured methods. In this case, the image being de- formed is a cross-section of a mouse brain where the pixel intensities represent the cell density in different anatomi- cal (colored) regions of the brain. On the left, the image has been covered by a uniform base mesh. Subdividing this quad mesh using bi-cubic subdivision yields a C 2 mesh that defines a smooth parameterization of the image. Perturbing the vertices of the base mesh in the region of the cerebel- lum (dark folds) induces a corresponding deformation of the underlying image. On the right, the image has been cov- ered by an unstructured quadrilateral mesh. A subset of the edges in this mesh have been creased to define a network of crease curves that partition the base mesh into anatomi- cal regions. Now, this quadrilateral base mesh is subdivided using Catmull-Clark subdivision to define a smooth param- eterization of the underlying image. Perturbing the vertices of the quadrilateral base mesh induces deformations that are restricted to a single anatomical region. Thus, the use of unstructured mesh allows the construction of deformations with much finer control than those built using tensor product methods. 1.1. Previous work While previous work on subdivision of unstructured volu- metric meshes has been limited, there are a few papers that have addressed this problem. MacCracken and Joy [MJ96] developed one of the first volumetric subdivision schemes. This scheme was developed primarily to define deforma- tions based on unstructured hexahedral meshes. Unfortu- nately, the subdivision rules proposed in the paper were de- c The Eurographics Association 2004.

Transcript of Smooth Subdivision of Tetrahedral Meshesjwarren/papers/tetrahedral.pdfS. Schaefer & J. Hakenberg &...

  • Eurographics Symposium on Geometry Processing (2004)R. Scopigno, D. Zorin, (Editors)

    Smooth Subdivision of Tetrahedral Meshes

    S. Schaefer1 J. Hakenberg1 J. Warren1

    1 Rice University

    AbstractWe describe a new subdivision scheme for unstructured tetrahedral meshes. Previous tetrahderal schemes based ongeneralizations of box splines have encoded arbitrary directional preferences in their associated subdivision rulesthat were not reflected in tetrahderal base mesh. Our method avoids thischoice of preferred directions resulting ascheme that is simple to implement via repeated smoothing. In an extended appendix, we analyze this tetrahedralscheme and prove that the scheme generates C2 deformations everywhere except along edges of the tetrahedralbase mesh. Along edges shared by four or more tetrahedra in the base mesh, we present strong evidence that thescheme generates C1 deformations.

    Categories and Subject Descriptors(according to ACM CCS): I.3.5 [Computer Graphics]: Computational Geometryand Object Modeling

    1. Introduction

    Given a base meshp0, subdivision is a recursive process thatdefines increasingly refined meshes via a relation of the form

    pk+1 = Spk.

    If the subdivision processS is chosen correctly, the limitmeshp∞ is guaranteed to be a smooth mesh that approxi-mates the base meshp0. Using subdivision has become pop-ular for geometric modeling because the subdivision processplaces no restriction on the topological connectivity of thebase mesh.

    While most work on subdivision has focused on surfacemeshes, we consider the problem of subdividing volumetricmeshes. Perhaps the most obvious questions to ask concern-ing volumetric subdivision is why bother with building suchschemes. Typically, volumetric subdivision schemes havebeen proposed as a means to define deformations. However,the existence of simple schemes for tensor product volumet-ric meshes such as free-form deformations [SP86] reducesthis question to why subdivision scheme for unstructuredmeshes are important.

    Figure1 shows an application of subdivision to the prob-lem of image deformation that illustrates the superiorityof unstructured methods. In this case, the image being de-formed is a cross-section of a mouse brain where the pixelintensities represent the cell density in different anatomi-

    cal (colored) regions of the brain. On the left, the imagehas been covered by a uniform base mesh. Subdividing thisquad mesh using bi-cubic subdivision yields aC2 mesh thatdefines a smooth parameterization of the image. Perturbingthe vertices of the base mesh in the region of the cerebel-lum (dark folds) induces a corresponding deformation of theunderlying image. On the right, the image has been cov-ered by an unstructured quadrilateral mesh. A subset of theedges in this mesh have been creased to define a networkof crease curves that partition the base mesh into anatomi-cal regions. Now, this quadrilateral base mesh is subdividedusing Catmull-Clark subdivision to define a smooth param-eterization of the underlying image. Perturbing the verticesof the quadrilateral base mesh induces deformations that arerestricted to a single anatomical region. Thus, the use ofunstructured mesh allows the construction of deformationswith much finer control than those built using tensor productmethods.

    1.1. Previous work

    While previous work on subdivision of unstructured volu-metric meshes has been limited, there are a few papers thathave addressed this problem. MacCracken and Joy [MJ96]developed one of the first volumetric subdivision schemes.This scheme was developed primarily to define deforma-tions based on unstructured hexahedral meshes. Unfortu-nately, the subdivision rules proposed in the paper were de-

    c© The Eurographics Association 2004.

  • S. Schaefer & J. Hakenberg & J. Warren / Smooth Subdivision ofTetrahedral Meshes

    Figure 1: Close-up of the cerebellum on a cross-section of a mouse brain. Initial embedding in a uniform grid and its deforma-tion using free-form deformations (left). Subdivision surface that models the boundaries of the different anatomical regions andthe explicit deformation of those boundaries (right).

    veloped in a somewhat ad-hoc manner making any type ofproof of smoothness for the scheme very difficult. Later, Ba-jaj et al [BSWX02] developed different subdivision rules forhexahedral meshes, which generated deformations that wereprovably smooth everywhere except at vertices of the hexa-hedral base mesh.

    Both of these schemes used hexahedra (topological cubes)as their volumetric elements. Unfortunately, building un-structured meshes of hexahedra that conform to specificboundary shapes can be difficult. Traditionally, mesh gen-eration methods generate unstructured meshes of tetrahe-dra instead. The most relevant piece of previous work is asubdivision scheme for unstructured tetrahedral meshes pro-posed by Chang et al [CMQ02]. In that paper, the authorsbuild subdivision rules for unstructured tetrahedral meshesby generalizing the subdivision rules for a particular class oftrivariate box-splines.

    While this approach was successfully used byLoop [Loo87] to generalize the subdivision rules forthe C2 three-direction quartic box splines to unstructuredtriangular meshes, using trivariate box splines to generatesubdivision rules for unstructured tetrahedral grids is muchmore difficult. The drawback of the subdivision rulesproposed in Chang et al’s is that these rules encode apreferred direction in each tetrahedron of the base mesh.(Section2.1 will elaborate on this point.) This directionalpreference makes implementing the Chang et al schemetricky and proving any results concerning the smoothness ofthe scheme extremely difficult.

    ContributionsIn contrast to Chang et al, we develop volumetric subdivi-sion rules for unstructured tetrahedral meshes that avoid theassumption of any preferred direction in the base mesh. Thisconstruction also generalizes the bivariate case and leads toa trivariate scheme with two important properties:

    • The scheme is simple to implement in terms of linear sub-division and smoothing.

    • The deformations induced by the scheme are provablyC2

    everywhere except along edges of the base mesh. Along

    edges shared by four or more tetrahedra, we present strongevidence that the resulting deformations areC1.

    The body of the paper presents the tetrahedral scheme andconsiders several of its applications with no accompanyingtheoretical analysis. In an extended appendix, we performa mathematical analysis of the smoothness of the schemeusing a combination of regularity analysis (Reif [Rei95]) andspectral analysis (Levin/Levin [LL03]).

    2. A tetrahedral subdivision scheme

    Our proposed scheme is a combination of linear subdivisionfollowed by a smoothing pass. This structure is similar tothat of the several schemes proposed for subdividing surfacemeshes [BSWX02, Sta01, ZS01]. As in the bivariate case,implementing our scheme is quite simple and does not re-quire neighbor finding or mesh traversal algorithms. To il-lustrate the ease of implementation, we provide pseudocodefor the smoothing pass at the end of this section.

    Figure 2: Splitting a tetrahedra generates an octahedron inthe middle. Splitting the octahedron into tetrahedra requiresthe choice of a diagonal.

    2.1. Linear subdivision

    To perform linear subdivision on a mesh of tetrahedra, wedefine a split on a single tetrahedron, which is then appliedto all tetrahedra in the mesh. Given a tetrahedron, we insertnew vertices at the midpoints of each edge and connect thevertices together to form four new tetrahedra at the cornersof the original tetrahedron. Chopping these four children offthe corners of the parent tetrahedron leaves an octahedron

    c© The Eurographics Association 2004.

  • S. Schaefer & J. Hakenberg & J. Warren / Smooth Subdivision ofTetrahedral Meshes

    Figure 3: Linear subdivision splits a tetrahedron into fourtetrahedra and an octahedron (top). An octahedron is splitinto six octahedra and eight tetrahedra (bottom).

    (see figure3 top). (Note that performing this corner chop-ping on a triangle yields a triangle making linear subdivisionfor triangular meshes much easier.)

    At this point, we are faced with a dilemma. We can ei-ther split the octahedron into four tetrahedra by choosinga diagonal for the octahedron (see figure2) or leave theoctahedron alone and develop an analog of linear subdivi-sion for octahedra. At first glance, splitting the octahedronalong a diagonal might seem like a simplifying choice. Inreality, this choice leads to substantial complications duringany attempt to analyze the smoothness of the associated sub-division scheme. This choice of diagonal cause the result-ing tetrahedral mesh to contain a preferred direction asso-ciated with the choice of diagonal. To generate a provablysmooth subdivision scheme, this diagonal must be inheritedduring linear subdivision. More crucially, each tetrahedronin the base mesh must be assigned such a diagonal. Any typeof smoothness analysis that considers the interface betweentwo tetrahedra in the base mesh must enumerate all possiblechoices for this diagonal.

    Given that our goal is to create a scheme that contains nopreferred direction and is simple enough to prove smooth-ness results about, we do not choose a diagonal for the mid-dle octahedron and split a tetrahedron into four new tetrahe-dra and an octahedron (see figure3). Since we have intro-duced an octahedron into the volumetric mesh, our subdivi-sion scheme is not simply a tetrahedral subdivision scheme,but a tetrahedral/octahedral subdivision scheme. Therefore,we must define a refinement rule for octahedra as well.

    To refine an octahedron, we insert vertices at the mid-points of each edge on the octahedron and at the centroidof the octahedron, which is formed by averaging all of the

    vertices of the octahedron together. Next, we connect thevertices together to form six new octahedra (correspondingto the six vertices of the original octahedron) and eight newtetrahedra (corresponding to the eight faces of the originaloctahedron). The entire refinement process is illustrated infigure3.

    While Chang et al’s tetrahedral scheme is similar to oursin that it does not topologically split the octahedron, theirscheme generates subdivision rules that encode a preferreddiagonal along the octahedron. This preferred diagonal is anatural result of their use of trivariate box splines in gener-ating their subdivision rules. Due to the existence of a pre-ferred diagonal, Chang et al’s scheme is guaranteed to besmooth only on the interior of each tetrahedron in the basemesh. In particular, Chang et al make no attempt to analyzethe smoothness of their scheme across the face shared by twotetrahedra in the base mesh.

    The need for such face/face analysis is somewhat surpris-ing and was not even recognized by Chang et al. This failureis understandable since a subdivided triangular mesh is uni-form along the interior of edges in the base mesh. Similarly,a subdivided hexahedral mesh is uniform along the interiorof quad faces of the base mesh. Unfortunately, a subdivided,unstructured tetrahedral mesh isnot uniform across the in-terior of triangular faces of the base mesh. Thus, substantialcare must be used in designing the subdivision rules of thescheme if one hopes to construct a scheme that is provablysmooth across these faces. In the appendix, we use the jointspectral radius techniques of Levin/Levin to prove that ourscheme isC2 across the interior of these faces.

    Figure 4: Centroid masks for tetrahedra/octahedra. Thehighlighted vertex is the vertex being repositioned bysmoothing.

    2.2. Smoothing

    After linear subdivision, we perform a smoothing pass overthe tetrahedral/octahedral mesh to reposition each vertex.

    c© The Eurographics Association 2004.

  • S. Schaefer & J. Hakenberg & J. Warren / Smooth Subdivision ofTetrahedral Meshes

    // input: T is list of cells, p is an array of vertex positions// a cell is a list of indices into pnewP← 0val← 0for eachTi

    if ( Ti is a tetrahedron )

    newP[Ti ]+=

    −116

    1748

    1748

    1748

    1748

    −116

    1748

    1748

    1748

    1748

    −116

    1748

    1748

    1748

    1748

    −116

    .p[Ti ]

    else// must be an octahedron

    newP[Ti ]+=

    38

    112

    112

    724

    112

    112

    112

    38

    112

    112

    724

    112

    112

    112

    38

    112

    112

    724

    724

    112

    112

    38

    112

    112

    112

    724

    112

    112

    38

    112

    112

    112

    724

    112

    112

    38

    .p[Ti ]

    val[Ti ]++for eachnewPi

    newPi /= val[i]return mesh of{T,newP}

    Figure 5: Smoothing pass for tet/oct subdivision

    For each vertex in the mesh after linear subdivision, we findeach volumetric cell (tetrahedron or octahedron) containingthat vertex. Then we compute the weighted centroids shownin figure 4 for each cell. For tetrahedra, this centroid com-putes−116 of the vertex being repositioned and

    1748 of the edge

    adjacent vertices. To generate the centroid for octahedra wetake 38 of the vertex being repositioned,

    112 of the edge ad-

    jacent vertices and724 of the cell-adjacent vertex. We thenaverage all of these centroids together to obtain the new lo-cation of the repositioned vertex. Despite the fact that thereis a negative weight in the centroid mask for tetrahedra, thesubdivision rules produced by combining linear subdivisionand smoothing use only convex combinations.

    Since this smoothing pass is described only in termsof centroid masks, it yields a very simple implementation.Given an unstructured tetrahedra/octahedra mesh, we firstapply linear subdivision. This operation can be implementedon a cell by cell basis. For smoothing, we initialize the ver-tices of a mesh with the same topology as the input to beidentically 0. Then, for each cell in the mesh, we computethe centroid mask of figure4 in all possible orientations andadd that quantity to the vertex to be repositioned for thatorientation. Finally, we divide each vertex by its valence(the number of cells containing that vertex). Figure5 illus-trates pseudocode for the smoothing pass. This descriptionrequires no neighbor finding in the mesh or external datastructures to traverse the mesh and is quite easy to imple-ment.

    We can also incorporate sharp features where we alter thecontinuity of the volume to beC0 easily using the methoddescribed by Hoppe et al [HDD∗94]. Figure8 shows a cylin-drical volume with a crease surface defined by Loop subdi-vision and crease edges, which form B-splines, around thetop and bottom of the cylinder.

    3. Application to deformations

    As alluded to in the introduction, volumetric subdivisionschemes find their main use in generating smooth volumetricdeformations. Given a volumeR, a volumetric deformationf maps pointsx in R to new pointsf (x) in f (R). The defor-mation f is Ck continuous if each coordinate function com-prising f can be expressed locally as the graph of a functionwith k continuous derivatives.

    Figure 6: Subdivision defines a map f between points in arest configuration to a deformed configuration.

    To construct volumetric deformations, we use the basictechnique described in MacCracken and Joy [MJ96]. Givena base meshp0, we defineR to be the volume spanned by thelimit meshp∞. If the meshp∞ forms a one-to-one coveringof R, we can express each pointx in R as a unique point onthe limit meshp∞ of the form ∑i αi p

    0i where thep

    0i are

    vertices of the base meshp0 (see figure6). Perturbing thevertices of the base mesh to form a new mesh ˆp0 defines anassociated deformationf of the form

    f (x) = ∑i

    αi p̂0i . (1)

    In the attached appendix, we show that the deformations in-duced by our tetrahedral subdivision scheme are provablyC2 everywhere except along edges of the base mesh. Alongedges shared by four or more tetrahedra, we hypothesize thescheme isC1 and provide strong evidence to support this hy-pothesis.

    Figure7 shows an application of our method to the prob-lem of deforming a dinosaur skeleton. First, we embed theskeleton in a tetrahedral base meshp0. Next, we performseveral rounds of subdivision on the base mesh to form arefined meshpk. Each new vertex inserted in the tetrahe-dral/octahedral meshpk is represented as an convex combi-nation of the vertices of the base meshp0. Then, for eachvertexx of the skeleton, we find the tetrahedra or octahedrain the refined meshpk that contains that vertex and compute

    c© The Eurographics Association 2004.

  • S. Schaefer & J. Hakenberg & J. Warren / Smooth Subdivision ofTetrahedral Meshes

    Figure 7: Surface deformation via tetrahedral subdivision. Initial shape shown (left)and three deformed poses (right).

    the barycentric coordinates of that vertex with respect to itsenclosing cell. Since all vertices of the cell are convex com-binations of vertices ofp0, the skeleton vertexx can then berepresented as a convex combination of the vertices ofp0.Perturbing the vertices of the base mesh forms a new basemesh ˆp0 that defines a deformationf (x) of the vertices ofthe skeleton as given in equation1.

    Figure7 illustrates several different deformations of thedinosaur model. Since we use an unstructured grid of tetra-hedra, we can encase the surfaces to be deformed in far fewervolumetric elements than would be required by free-formdeformations using structured grids. Therefore, this sparseembedding yields deformations that require relatively fewtetrahedral vertices and can be performed in real-time.

    Figure8 depicts another example in which a 3D test pat-tern is deformed using our scheme. The base meshp0 is atetrahedral mesh approximating the shape of a cylinder. Togenerate the sharp circular edges along the top and bottomof the cylinder, we have creased the appropriate edges ofthe cylinder. The left part of the figure shows the tetrahedralmesh in wireframe. The middle and right portions of the fig-ure show the 3D test pattern before and after perturbation ofthe base mesh.

    4. Conclusions

    We have presented a simple subdivision scheme for unstruc-tured tetrahedral mesh. This scheme consists of linear subdi-vision followed a smoothing pass. Implementing the pass ofthe scheme requires only a standard topological mesh repre-sentation without the need for any auxiliary adjacency infor-mation. The key to the simplicity of the scheme is the sym-metric treatment of the octahedron generated by choppingoff the corners of a tetrahedron. As we show in the appendix,this choice makes smoothness analysis possible.

    5. Acknowledgements

    This work was supported by NSF grant ITR-0205671.

    References

    [BSWX02] BAJAJ C., SCHAEFER S., WARREN J., XU G.: Asmooth subdivision scheme for hexahedral meshes. InThe Visual Computer(2002), vol. 18, pp. 409–420.2

    [CMQ02] CHANG Y.-S., MCDONNELL K. T., QIN H.: A newsolid subdivision scheme based on box splines. InPro-ceedings of the seventh ACM symposium on Solid mod-eling and applications(2002), ACM Press, pp. 226–233. 2

    [HDD∗94] HOPPE H., DEROSE T., DUCHAMP T., HALSTEADM., JIN H., MCDONALD J., SCHWEITZERJ., STUET-ZLE W.: Piecewise smooth surface reconstruction.In Proceedings of the 21st annual conference onComputer graphics and interactive techniques(1994),ACM Press, pp. 295–302.4

    [LL03] L EVIN A., LEVIN D.: Analysis of quasi uniform sub-division. Applied and Computational Harmonic Anal-ysis 15(1)(2003), 18–32.2, 7, 8

    [Loo87] LOOPC.: Smooth subdivision surfaces based on trian-gles, 1987.2

    [MJ96] MACCRACKEN R., JOY K. I.: Free-form deforma-tions with lattices of arbitrary topology. InProceedingsof the 23rd annual conference on Computer graph-ics and interactive techniques(1996), ACM Press,pp. 181–188.1, 4

    [Rei95] REIF U.: A unified approach to subdivision algorithmsnear extraordinary vertices.Computer Aided Geomet-ric Design 12, 2 (1995), 153–174.2, 8

    [SP86] SEDERBERGT. W., PARRY S. R.: Free-form deforma-tion of solid geometric models. InProceedings of the13th annual conference on Computer graphics and in-teractive techniques(1986), ACM Press, pp. 151–160.1

    [Sta01] STAM J.: On subdivision schemes generalizing uni-form b-spline surfaces of arbitrary degree. InComputerAided Geometric Design(2001), vol. 18, pp. 383–396.2

    [War95] WARREN J.: Subdivision methods for geometric de-sign. unpublished manuscript, 1995.7

    c© The Eurographics Association 2004.

  • S. Schaefer & J. Hakenberg & J. Warren / Smooth Subdivision ofTetrahedral Meshes

    Figure 8: Initial set of tetrahedra, subdivided surface, deformed surface and cut interior. Parameter lines are smooth afterdeformation.

    [ZS01] ZORIN D., SCHRODER P.: A unified framework forprimal/dual subdivision schemes. InComputer AidedGeometric Design(2001), vol. 18, pp. 429–454.2

    Appendix A: Smoothness analysis

    Given a tetrahedral base meshp0, we consider the smooth-ness of a deformationf (x) induced by a perturbation of thebase mesh. In particular, our smoothness analysis considersfour cases:

    • x lies in the interior of a tetrahedron of the base mesh,• x lies on the interior of a face shared by two tetrahedra of

    the base mesh,• x lies on the interior of an edges shared by several tetra-

    hedra of the base mesh,• x lies at a vertex of the base mesh.

    Interior of a base tetrahedron

    To begin our analysis, we first consider the structure ofthe uniform mesh generated by linearly subdividing a sin-gle tetrahedron repeatedly. If this base tetrahedron has ver-tices of the form(1,0,0,0),(0,1,0,0),(0,0,1,0),(0,0,0,1),k rounds of linear subdivision generate a uniform 3D meshwhose vertices have barycentric coordinates of the form12k (i0, i1, i2, i3) where thei j are non-negative integers that

    sum to 2k. (The embedding of the base tetrahedron in theplane x0 + x1 + x2 + x3 = 1 allows the coordinates to betreated symmetrically and avoids the use of any preferreddirection in our construction.)

    Relaxing the restriction that the coordinates of the meshvertices are non-negative yields a sequence of infinite uni-form meshesMk associated with the subdivision process.Unfortunately, the scaling relation between consecutivemeshesMk andMk+1 is subtle due to the use of barycen-tric coordinates. However, if we translate the base meshM0

    to interpolate the origin, the resulting meshMc lies on theplanex0 + x1 + x2 + x3 = 0 and has vertices of the form(i0, i1, i2, i3) where thei j are integers whose sum is 0. After

    translation, linearly subdividing the meshMc yields a dilatedmesh of the form12Mc.

    For this scale-invariant mesh, we now consider the hatfunctionn(x) centered at the origin that is generated by lin-ear subdivision with no smoothing. Based on the splittingrules for linear subdivision,n(x) satisfies a scaling relationof the form

    n(x) = n(2x)+12

    12

    ∑j=1

    n(2x−δ j )+16

    6

    ∑j=1

    n(2x− γ j ) (2)

    where the vectorsδ j andγ j define integer offsets in the uni-form meshM. These offsets correspond to vertices ofMcthat lie in the one-ring of the origin (see the left portion offigure9) and correspond to

    δ = Permutations(1,−1,0,0)γ = Permutations(1,1,−1,−1)

    where Permutations yields a set without duplication (δ con-tains 12 elements whileγ has 6). The right portion of figure9shows the 3D subdivision mask formed by the coefficients ofequation2.

    Figure 9: The subdivision mask for the linear subdivision onthe uniform grid M.

    We next consider the effect of the smoothing pass onthe mesh formed by linear subdivision. If we apply the

    c© The Eurographics Association 2004.

  • S. Schaefer & J. Hakenberg & J. Warren / Smooth Subdivision ofTetrahedral Meshes

    Figure 10: Two face-adjacent tetrahedra subdivided andopened at the shared face. Subdivision generates tet/tet andoct/oct pairs along that face.

    weighted-centroid averaging rules for this pass to the one-ring of the origin, the smoothing mask that results is alsosupported over the one-ring of origin and is exactly18 of thesubdivision mask for linear subdivision. (The agreement isno coincidence as we chose the weights used in the smooth-ing pass to ensure this agreement.)

    Now, the subdivision mask for the composite schemeformed by linear subdivision and smoothing is simply18 ofthe discrete convolution of the mask of figure9 with itself.As shown in [War95], the discrete convolution of two subdi-vision masks yields a new subdivision mask whose associ-ated basis function is the continuous convolution of the ba-sis functions associated with each original mask. In our case,the convolution of the hat functionn(x) with itself is the ba-sis function for our composite scheme. Since the continuousconvolution of twoC0 functions (n(x) with itself) is always aC2 function, our scheme generatesC2 deformations on uni-form meshes.

    Faces of the base mesh

    While the smoothness of our subdivision scheme on the in-terior of a base tetrahedron follows by appealing to convolu-tion, we must verify smoothness of our scheme in the othercases using spectral methods suitable for analysis of non-uniform schemes. This difference is due to the fact that themesh formed by applying linear subdivision to an unstruc-tured tetrahedral mesh is uniform only on the interior of basetetrahedra and is no longer uniform across the faces of thebase mesh. In particular, the uniform meshMc generated onthe interior of a base tetrahedron has the property that everyface in the grid is shared by a tet/oct pair. On the other hand,the infinite meshM f generated by applying linear subdivi-sion to two face-adjacent tetrahedra consists of two copies ofMc joined along a triangular interface formed by tet/tet pairsand oct/oct pairs. (see figure10.)

    To prove that our scheme isC2 on the meshM f , we

    use the joint spectral radius test originally developed byLevin/Levin [LL03] to analyze the smoothness of trian-gle/quad subdivision along the interface between trianglesand quads. Note that the mesh structure in their triangle/quadanalysis is similar to the mesh structure ofM f : two uniformmeshes separated by planar interface.

    If S is the subdivision matrix associated withM f , we firstcompute the eigenvaluesλ j and eigenvectorszj of the formSzj = λ jzj . The Levin/LevinC2 smoothness test involveschecking three conditions:

    • First, check whether the eigenvaluesλ j (ordered in de-scending value) have the form

    1,12,12,12,14,14,14,14,14,14

    > .. . (3)

    Note that the subdominant eigenvectors(z1,z2,z3) repro-duce the gridM f . As a result, the eigenfunctions associ-ated with these eigenvectors define a characteristic mapthat produces a one-to-one covering of space.

    • Next, we check whether the eigenfunctions associatedwith eigenvectorsz4, . . . ,z9 are quadratic functions whenplotted over the characteristic map.

    • Finally, the joint spectral radius of the subdivision schememust be less than14 .

    The first test is simple to check and involves only extrac-tion of the eigenvalues and eigenvectors of the subdivisionmatrix. The second condition can be checked using quasi-interpolants as in Levin/Levin [LL03]. However, the jointspectral radius test requires more work.

    Figure10 (left) shows a portion ofM f with the interfacebetween a tet/tet and oct/oct pair highlighted. This pair formsa patch on the face between two tetrahedra. To perform thejoint spectral radius test, we must construct 4 subdivisionmatricesSi that map the support of the patch on figure10(left) to the support of each of the four sub-quads formedafter one round of subdivision (figure10 right). Each sub-quad is a scaled and translated version of the original quadand yields a square subdivision matrixSi .

    After building theSi , we then construct a diagonalizingmatrixW usingS1 such that

    W−1S1W =

    (

    Λ C10 Y1

    )

    W−1SiW =

    (

    θi Ci0 Yi

    )

    i 6= 1

    whereΛ is a diagonal matrix whose entries are the speci-fied eigenvalues in equation3 andθi is an upper triangularmatrix that shares the same diagonal entries asΛ. W can beconstructed using the eigenvectors inS1 corresponding to theeigenvalues inΛ and the null space of those vectors.

    Finally, to perform the joint spectral radius test, we com-pute

    ρ[k](Y1, ...,Y4) = (Max‖YεkYεk−1 . . .Yε1‖∞)1k

    c© The Eurographics Association 2004.

  • S. Schaefer & J. Hakenberg & J. Warren / Smooth Subdivision ofTetrahedral Meshes

    Figure 11: Characteristic map for edges of valence3through10.

    whereεi ∈ {1, ...,4}. If ρ[k] < 14 for somek, then the schemeis C2 over that extraordinary complex. For our four subdivi-sion matrices we computedρ[9] = 0.238 and conclude thatour scheme isC2 along the face shared by two tetrahedra.

    Edges of the base mesh

    To analyze the smoothness of our scheme along edges ofthe base mesh is more difficult than the face case since thestructure of the infinite meshMe form by subdividingn tetra-hedra sharing a common edge depends onn. In practice, weknow of no analysis technique capable of establishing thesmoothness of our scheme along this edge. However, wehypothesize that a combination of the analysis methods ofLevin/Levin [LL03] and Reif [Rei95] can be used to analyzethe smooth of volumetric scheme in configurations of thistype.

    Given the subdivision matrixS for the meshMe, we hy-pothesize that the scheme isC1 if:

    • Its eigenvalues are of the form 1> λ1 ≥ λ2 ≥ λ3 > .. .• The characteristic map formed by the eigenvectors

    z1,z2,z3 is regular and injective.• Finally, the joint-spectral radius of the scheme

    (ρ[k](Y1,Y2)) must be less thanλ3.

    The core of our hypothesis is that the second condition al-lows the smoothness analysis to be reduced to the functionalcase used in the joint spectral radius test.

    We have checked these three criteria for our scheme.Since the meshMe is parameterized by the number of tetra-hedra sharing the edge of the base mesh, the subdivision ma-tricesS will contain a block circulant structure that makesextraction of the eigenvectorsz1,z2,z3 as a symbolic func-tion of n possible. However, it is unclear how the block cir-culant structure interacts with the joint spectral radius test.Therefore, we have numerically computed the characteristicmap for edge valences 3 through 10 and visually inspectedtheir shape (see figure11).

    To apply the joint spectral radius test, we construct sub-division matricesS1,S2 corresponding to one of two shifts

    Figure 12: Characteristic maps for several low valence con-figurations of tetrahedra around a vertex.

    along the edge. For our scheme, these matrices have eigen-values of the form 1,λ1,λ1, 12 , ... and satisfy the joint spec-tral radius test for valences 10≥ n > 3. Forn = 3, we couldnot find ak that satisfied the joint spectral radius condition.While this failure does not mean the scheme isC0, we vi-sually inspected the smoothness of the volumes using the3D test patterns shown in figure8 and the deformations pro-duced are not smooth. For other valences 10≥ n> 3, the 3Dtest patterns undergoes visually smooth deformation.

    Vertices of the base mesh

    As for the edge case, we know of no analysis method forproving that our scheme is smoothness at a vertex of the basemesh. However, we again hypothesis that the conditions forthe edge case suffice to establish smoothness at a vertex. Inthe vertex case, the third test is redundant since there is onlya single matrixS1 = S used in computing the joint spectralradius.

    Similar to the edge case, we only consider arbitrary pack-ing of tetrahedra around a base vertex. Unfortunately, thesimple parameterization by valence used in analyzing sur-face subdivision schemes is unavailable for volume schemesand no block circulant structures can be exploited to analyzethe smoothness of the scheme. Therefore, we enumeratedthrough all configurations of tetrahedra around a vertex forvalences 4 through 10 and tested random configurations oftetrahedra for higher valences. Each configuration of tetra-hedra passed the eigenvalue and characteristic map test. Fig-ure12shows several characteristic maps produced for differ-ent configurations and number of tetrahedra around a vertex.

    c© The Eurographics Association 2004.