dynamic remeshing and applications · dynamic remeshing and applications ... face features, which...

8
Dynamic Remeshing and Applications J. Vorsatz, Ch. R¨ ossl, and H.-P. Seidel Max-Planck-Institut f ¨ ur Informatik Saarbr ¨ ucken, Germany ABSTRACT Triangle meshes are a flexible and generally accepted boundary representation for complex geometric shapes. In addition to their geometric qualities and topological simplicity, intrinsic qualities such as the shape of the triangles, their distribution on the surface and the connectivity are essential for many algorithms working on them. In this paper we present a flexible and efficient remeshing framework that improves these intrinsic properties while keeping the mesh geometrically close to the original surface. We use a parti- cle system approach and combine it with an incremental connectiv- ity optimization process to trim the mesh towards the requirements imposed by the user. The particle system uniformly distributes the vertices on the mesh, whereas the connectivity optimization is done by means of Dynamic Connectivity Meshes, a combination of local topological operators that lead to a fairly regular connectivity. A dynamic skeleton ensures that our approach is able to preserve sur- face features, which are particularly important for the visual quality of the mesh. None of the algorithms requires a global parameter- ization or patch layouting in a preprocessing step but uses local parameterizations only. We also show how this general framework can be put into practice and sketch several application scenarios. In particular we will show how the users can adapt the involved algorithms in a way that the resulting remesh meets their personal requirements. Categories and Subject Descriptors I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling—Curve, surface, solid, and object representations Keywords Remeshing,Dynamic Meshes,Multiresolution Modeling 1. INTRODUCTION Nowadays the literature on triangle meshes comprises a huge amount of excellent work and is still growing rapidly. The virtual mesh- processing pipeline starting from acquisition down to rendering is well covered, thus triangle meshes have become an appealing sur- face representation. Opposed to meshes that, e.g., represent char- acters in the animation-/game industry which are often hand-made and highly optimized with respect to triangle count, visual quality and kinematics, we turn our attention to densely sampled triangle meshes often stemming from 3D scanning devices or volume ex- traction [12, 18]. Even though a mesh might be 2-manifold without any unwanted holes or handles, in practice, the given tessellation often does not satisfy the requirements imposed by an application in a later step of the pipeline. Obviously, even for a prescribed approximation tolerance, there exist a multitude of tessellations. The requirements can be as diverse as a regular connectivity, bounded minimal angles of the triangles or the alignment of edges along surface features. In order to prepare a given mesh for a specific application, a variety of remeshing algorithms have been proposed. Among those are mesh decimation algorithms [10, 8, 21], semi–regular remeshing schemes [6, 19, 9, 15] and irregular remeshing [12, 3, 25]. The dynamic remeshing framework we present is in spirit similar to Feature Sensitive Remeshing (FSR) [25]. We link our remesh M to a domain mesh D and use a particle system on M for an equal vertex distribution. Moreover, M is a Dynamic Connectivity Mesh (DCM) [13] that provides incremental changes of the connectivity. Our approach differs from [25] in that we are not building our par- ticle system upon a (precomputed) global parameterization, instead we are using a set of local parameterizations of small parts of D. This is done for the following reason. In order to be as flexible as possible, we make sure that we have a consistent mapping for each 1–ring of M and that we are not limited by the base-domain/chart- boundaries of some underlying global parameterization. Since the particle system and the dynamic mesh approach change M just locally, we have to update only small parts of each local parame- terization or we are even able reuse the ones that were previously computed.

Upload: others

Post on 09-Feb-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic Remeshing and Applications · Dynamic Remeshing and Applications ... face features, which are particularly important for the visual quality ... in a physical interpretation

Dynamic Remeshing and Applications

J. Vorsatz, Ch. Rossl, and H.-P. Seidel

Max-Planck-Institut fur InformatikSaarbrucken, Germany

ABSTRACTTriangle meshes are a flexible and generally accepted boundaryrepresentation for complex geometric shapes. In addition to theirgeometric qualities and topological simplicity,intrinsic qualitiessuch as the shape of the triangles, their distribution on the surfaceand the connectivity are essential for many algorithms working onthem. In this paper we present a flexible and efficient remeshingframework that improves these intrinsic properties while keepingthe mesh geometrically close to the original surface. We use a parti-cle system approach and combine it with an incremental connectiv-ity optimization process to trim the mesh towards the requirementsimposed by the user. The particle system uniformly distributes thevertices on the mesh, whereas the connectivity optimization is doneby means ofDynamic Connectivity Meshes, a combination of localtopological operators that lead to a fairly regular connectivity. Adynamic skeleton ensures that our approach is able to preserve sur-face features, which are particularly important for the visual qualityof the mesh. None of the algorithms requires a global parameter-ization or patch layouting in a preprocessing step but uses localparameterizations only. We also show how this general frameworkcan be put into practice and sketch several application scenarios.In particular we will show how the users can adapt the involvedalgorithms in a way that the resulting remesh meets their personalrequirements.

Categories and Subject DescriptorsI.3.5 [Computer Graphics]: Computational Geometry and ObjectModeling—Curve, surface, solid, and object representations

KeywordsRemeshing,Dynamic Meshes,Multiresolution Modeling

1. INTRODUCTIONNowadays the literature on triangle meshes comprises a huge amountof excellent work and is still growing rapidly. The virtual mesh-processing pipeline starting from acquisition down to rendering iswell covered, thus triangle meshes have become an appealing sur-face representation. Opposed to meshes that, e.g., represent char-acters in the animation-/game industry which are often hand-madeand highly optimized with respect to triangle count, visual qualityand kinematics, we turn our attention to densely sampled trianglemeshes often stemming from 3D scanning devices or volume ex-traction [12, 18].

Even though a mesh might be 2-manifold without any unwantedholes or handles, in practice, the given tessellation often does notsatisfy the requirements imposed by an application in a later stepof the pipeline. Obviously, even for a prescribed approximationtolerance, there exist a multitude of tessellations. The requirementscan be as diverse as a regular connectivity, bounded minimal anglesof the triangles or the alignment of edges along surface features. Inorder to prepare a given mesh for a specific application, a varietyof remeshing algorithmshave been proposed. Among those aremesh decimation algorithms [10, 8, 21], semi–regular remeshingschemes [6, 19, 9, 15] and irregular remeshing [12, 3, 25].

The dynamic remeshing framework we present is in spirit similarto Feature Sensitive Remeshing (FSR)[25]. We link our remeshMto a domain meshD and use a particle system onM for an equalvertex distribution. Moreover,M is aDynamic Connectivity Mesh(DCM) [13] that provides incremental changes of the connectivity.

Our approach differs from [25] in that we are not building our par-ticle system upon a (precomputed) global parameterization, insteadwe are using a set oflocal parameterizations of small parts ofD.This is done for the following reason. In order to be as flexible aspossible, we make sure that we have a consistent mapping for each1–ring ofM and that we are not limited by the base-domain/chart-boundaries of some underlying global parameterization. Since theparticle system and the dynamic mesh approach changeM justlocally, we have to update only small parts of each local parame-terization or we are even able reuse the ones that were previouslycomputed.

Page 2: Dynamic Remeshing and Applications · Dynamic Remeshing and Applications ... face features, which are particularly important for the visual quality ... in a physical interpretation

In the next section we describe a particle system approach whichlets vertices ofM float onD and redistribute them equally on thedomain surface. This way we achieve an isotropic resampling ofthe original geometry. In this context we will show that different(local) parameterization methods influence the relaxation processand we will discuss how to construct parameterizations based ona minimal local domain. Section 3 briefly recapitulates the notionof DCM, a technique for integrated connectivity optimization. Af-ter that we explain how the vertex-relaxation in the particle systemand Dynamic Connectivity Meshes are combined. Section 4 intro-duces the notion of a skeleton that enables us to preserve importantsurface features. Finally, section 5 sketches some application sce-narios for our dynamic remeshing approach. In particular we willgo into interactive multiresolution modeling, semi-regular- and in-teractive remeshing.

2. RELAXATION ON THE DOMAINWe optimize the vertex distribution ofM by relaxing its verticeswhile restricting their positions to the domainD. In this Sectionwe define a particle system that allows the vertices to float on theoriginal surface represented byD. A relaxation operator locallyrepositions a vertex with respect to its direct neighbors (1-ring).This optimization process iteratively applies the local relaxation,in a physical interpretation this minimizes the energy of a globalsystem of spring-edges connecting the vertices.

The relaxation is done in a 2D parameter domain. So we need to beable to parameterize regions ofM over the plane. For this purposewe first parameterizeM over the domain meshD by assigning toevery vertexvi ∈ M the domain triangle∆j ∈ D that includesvi

and barycentric coordinates w.r.t.∆j . We call the mapping

vi 7→(∆j , (αi1, αi2, αi3)

),

3∑j=1

αij = 1 ∧ αij ≥ 0

of all verticesvi ∈M the link betweenM andD. So if we flattena region ofD to the plane, the link will provide us also a mappingof the associated vertices and triangles ofM to the plane.

Now we define the localrelaxation operatorU as the so calledweighted2D Umbrellaoperator. It shifts a vertexvi depending ona convex combination of its direct neighborsvij . Let pi andpij bethe respective parameter values obtained from the link toD. ThenU is defined as

U(pi) := pi +1∑n

j=0 ωij

n∑j=0

ωij(pij − pi) , ωij ≥ 0

The appropriate choice of the weightsωij will be discussed at theend of this section. The Umbrella operatorU shifts vertices in theparameter domain, that are lifted back to 3-space using the link.This allows the restriction toD without expensive and error-proneprojection operators.

The actual relaxation process is similar to parameter-based fairingapplied in FSR [25] where aglobal parameterization ([19]) ofDis used. In contrast to FSR (and also e.g. [2, 3]), we give up theglobal parameterization and replace it by a set oflocal parameter-izations mapping small regions ofD to the plane. The benefit isthat we do not have to rely on the (locally varying) quality of theglobal parameterization that may even be hard to construct. Fora global parameterization ofD that is defined over a coarse base

Figure 1: Simple projections into a fitting plane leads to de-generacies in areas with high curvature (left), whereas a lo-cal mapping with Floater’s shape preserving parameterizationsperforms well (right).

domain, this prescribed domain additionally limits the coarsest res-olution of the remesh, as the size of a 1-ring inM is then restrictedto that of a 1-ring inD. On the other hand, for global flatteningmethods that induce cuts to the original surface, it is not clear howthe relaxation operator should behave if a 1-ring intersects a cut.The price we have to pay with the new approach is the on-the-flyconstruction of the local parameterizations which cannot be donein a preprocessing step anymore. For this reason we keep the do-mains of the different local parameterizations as small as possibleand apply caching whenever feasible.

We construct a set of local parameterizations{Φi}. Each param-eterizationΦi provides a piecewise linear mapping from a set ofdomain triangles – thelocal domainDi

L ⊂ D – to the plane.With the link to the remeshM we can thus map associated ver-tices and triangles ofM. When we start the remeshing procedurewith M = D, the initial link provides a 1-to-1 mapping betweenthe corresponding vertices. Formally, for a vertexv ∈ M corre-sponding tov ∈ D we can choose a single triangle∆ ∈ D thatcontainsv as its local domain.

As we start the optimization process,U will compute a shift vectorfor v from a convex combination of the direct neighborsvj in the1-ring. Hence shiftingv requires a larger domain, since a parame-terization of the 1-ring is needed. We try to keep this local domainsmall as well as the updates on it. So we restrict the shift to parame-ter points located in the intersection of the 1-ring∆1(v) ⊂M andthe subsetDv

L ⊂ DL of triangles that this vertexv is assigned to.This way we ensure that the new position is well defined, i.e. hasa mapping in the parameterization, and we avoid a more expensivepoint-in-triangle test.

This determines theminimal domainthat has to be covered by thelocal parameterization. It consists of the union of

• triangles ofDL covered by the triangles ofv’s 1-ring, i.e.{∆ ∈ DL|Φ(∆) ∩ Φ(∆1(v)) 6= ∅},

andDvL which is defined as

Page 3: Dynamic Remeshing and Applications · Dynamic Remeshing and Applications ... face features, which are particularly important for the visual quality ... in a physical interpretation

Figure 2: Example for calculating the shift vector for the vertex inside triangle (left), on edge (middle), and on vertex (right) case.The remeshM is drawn in wireframe, the domain meshD is shaded. The arrow shows the vector calculated by the relaxationoperator U , the shift is restricted to the shaded area, the dot marks the final position of the center vertex.

• a single triangle∆ ∈ DL, if the vertex is inside this triangle,i.e. Φ(v) ∈ Φ(∆), or

• two neighboring triangles∆1, ∆2 ∈ DL, if v is located ontheir common edge, i.e.Φ(v) ∈ Φ(∆1 ∩ ∆2), or

• a 1-ring inDL, if v corresponds to a vertexv in DL, i.e.Φ(v) = Φ(v).

Fig. 2 shows the three different cases.

The reasons for keepingDL small are the lower costs for the con-struction of a local parameterization as well as the lower distortionthat is induced. But even for these small regions however, we mightnot even be able to construct a reasonable parameterization in cer-tain situations. Thus,U cannot be computed for the correspondingvertex and we keep its position. This rarely happens, and as theneighborhood of the vertex is relaxed and strives to form equilat-eral triangles, we are likely to find a parameterization in the nextiteration.

If the cone of normals of the triangles inDL has only a small open-ing angle we can even use a simple projection to a fitting plane forconstructing the parameterization to speed up our algorithm. Thisis especially useful in the case whenD is relatively coarse com-pared toM. (Just consider the trivial case when a 1-ring ofM iscompletely contained in a single domain triangle ofD.) In generalwe have to apply a more sophisticated parameterization scheme.There are a number of methods for flattening disk-like 2-manifoldmeshes to the plane ([7, 5, 11, 23]. We use Floater’s [7] shape pre-serving parameterization after projecting the boundary ofDL to aplane. Due to the definition ofU the boundary is usually ”fairlyconvex” and we almost always get a valid, bijective parameteriza-tion without foldovers of triangles. In case of an invalid parame-terization we either could map the boundary to a circle and applyFloater’s method again, thus ensuring a valid mapping or give upfor this iteration as mentioned above. Our experiments show thatthe less expensive second alternative works well. We use the firstalternative only after the construction of a local parameterizationfor this vertex has failed several times.

Consider a configuration as illustrated in Fig. 3. Despite the factthat a projection parameterization is in general not a good choicefor highly curved surface regions (cf. Fig. 1), there is the problemthat the remeshMmisses some feature part of the domainD. Thissituation is likely to happen ifM is coarse (cf. connectivity op-timization described in the next section) compared to the surface

Figure 3: The remeshM (straight lines) might miss some fea-ture part of the domain meshD (curved) if we setωij = 1. Wehave to incorporate the area of the triangles ofD that are cov-ered by a 1-ring of a vertex inM into the relaxation operatorto solve this problem and get a uniform sampling ofD.

feature onD. In order to avoid this situation the relaxation oper-atorU will take into account not only a 1-ring ofM but also thearea of the domain triangles it coveres, i.e. the convex weightsωij

used for relaxation depend on the area of domain triangles. Thisalso explains why we made the decision that the local domainDL

must cover a 1-ring ofM.

Formally, we can assign a local domain to every 1-ring. Practically,we assign to every mesh triangle∆ ∈M the set

C(∆) := {∆ ∈ D|Φ(∆) ∩ Φ(∆) 6= ∅}

of domain triangles that have a non-empty intersection with∆ inthe parameter domain. The application ofU requires the union ofall C(∆j) with triangles∆j from the respective 1-ring.

In every single relaxation step only a single vertexv is repositioned.So the correspondingC(∆j) have to be updated. We intersect eachparameter triangleΦ(∆′

j) of the new 1-ring with all triangles ofDvL

and reassign them to the new triangles∆′j . This update step can be

implemented efficiently since the intersection tests are done for alltriangles of the 1-ring which are sharing common edges. Thus,intermediate intersection results can be reused. Moreover the outerhull of the 1-ring remains unchanged, hence there is no need to testagainst it. Also, we only need to recompute a parameterization ifdomain triangles have been added to the set of triangles assignedto a 1-ring. This caching of local parameterizations considerablyspeeds up our algorithm.

The choice of the weightsωij determines the energy to be mini-mized in the optimization process. Uniform weights will providea uniform distribution of triangles in the local parameter domains.

Page 4: Dynamic Remeshing and Applications · Dynamic Remeshing and Applications ... face features, which are particularly important for the visual quality ... in a physical interpretation

As the local domains are kept small, the resulting parameteriza-tions are near isometric resulting in a uniform point distributionin 3-space. However, Fig. 3 illustrates, that surface features ofDmight be missed in the remesh. Hence we choose the weightsωij

for the weighted umbrella proportional to the area (in 3-space) ofall those domain-triangles that are covered by the 1-ring ofvij andthus are able to capture those features.

Of course, this is just one possible choice for the weightsωij andthere are many ways to adapt theωij ’s to a specific application.For instance one might also think of adapting the weights with re-spect to principal directions of curvature which would lead to ananisotropic remeshing. However, within the scope of this paper wejust want to illustrate the core concept of our framework and willnot go into detail here.

3. DYNAMIC CONNECTIVITY MESHESUp to now, our remeshing scheme is able to reposition the verticesof M onD. The other important component is to adapt the reso-lution of M while optimizing the connectivity. Starting from theinitial connectivity ofM, we apply simple topological operatorsthat insert or remove vertices and regularize the connectivity. Thisway we can incrementally adjust the complexity ofM to a desiredtarget resolution. In order to achieve this, we apply an algorithmsimilar toDCM [13], since we want to obtain a good mesh qualityaccording to the following criteria:

• No edge should be shorter thanεmin.

• No edge should be longer thanεmax.

• A vertex’ valence should be six.

First, we apply ahalf-edge collapse— which removes two triangles(or one triangle for boundary edges) by collapsing one edge into asingle vertex — to all edges that fall below a length ofεmin.

In the second step we insert a vertex on every edge that is longerthanεmax and connect it with the opposite vertex in the adjacenttriangle(s). The new vertex will be positioned on one of the end-points of that edgee which was split (its parent-vertex). In fact,we are creating two geometrically degenerated triangles in the firstplace. But inserting the new vertex on the midpoint ofe wouldrequire an expensive point-in-triangle-search (cf. [4]) in the param-eter plane, since we have to establish the link toD for the newvertex.

To regularize the connectivity, we perform edge-flipping. This be-comes necessary since both edge-collapse and edge-split affect thevertex balance, and according to Euler’s formula we want most ver-tices to have valence six. Consequently, for every two neighboringtriangles4(A, B, C) and4(A, B, D) we flip the common edgebetweenA andB, if that reduces the total valence excess:∑

p∈{A,B,C,D}

(valence(p)− 6)2

Note that all three topological operations are inexpensive and localsince they do not need any global optimization and since they onlyaffect a small region onM. Moreover,M always remains a valid2-manifold (opposed to the 1–to–4 triangle-split which is used inmany subdivision schemes).

Figure 5: After a split of a bone-edge ofM the newly insertedbone-vertex (light) gets attached to a bone-edge ofD (thicklines). If the new vertex has a corner-vertex as its parent (cen-tral vertex), we attach it to that bone-edge that has the smallestenclosing angle with the bone-edge that was split. Additionallywe require, that the opposite vertex ofM can be reached viaD’s skeleton (dotted arc). After that, the new vertex is allowedto move on bone-edges ofD exclusively.

Now the desired resolution ofM can be set by adaptingεmin andεmax. Notice thatεmax > 2εmin has to be satisfied in order toavoid generating two (with respect toεmin) invalid edges duringthe split operation.

In practice, both algorithms, i.e. relaxation andDCM work inde-pendently of each other. The relaxation operatorU is iteratively ap-plied to all the vertices. Here, the algorithm simply steps throughthe list of vertices in a linear order. As soon as an edge exceedsεmax or falls below εmin, the corresponding topological opera-tion is performed. Additionally, we schedule those vertices forimmediate relaxation that were affected by the topological oper-ation (the remaining vertex during the half-edge collapse and thenewly inserted vertex introduced by the edge–split) thus ensuringa faster convergence of the particle system. Moreover, we partic-ularly test the affected regions for possible edge-flips, since bothhalf–edge–collapse and edge–split presumably amplify the localvalence-excess.

Obviously, changes in the connectivity enforce an update of the lo-cal domains that are used in the relaxation step. This is trivial forthe edge-split, since we introduce degenerated triangles which donot have an intersection with domain triangles. During the half-edge collapse, we assign those domain triangles that were associ-ated to the removed triangles to their respective neighbors. For theedge-flip, the reassignment is trivial.

4. FEATURE PRESERVATIONAliasing is a fundamental problem for a remeshing algorithm whichtypically occurs at corners or sharp creases ofD. It is often manda-tory to preserve such surface features but it can also be desirable topreserve additional user defined features such as certain vertices oredges.

Of course, refiningM near the feature ad infinitum is not an ap-propriate solution. Instead we have to make sure that we representthose features with a limited number of faces ofM. In order to doso, it seems natural to align the edges along the features, i.e. or-thogonal to the direction of maximal curvature.FSR[25] proposesan effective feature-snapping algorithm that is able to recapture fea-tures and is particularly useful ifM andD differ.

Page 5: Dynamic Remeshing and Applications · Dynamic Remeshing and Applications ... face features, which are particularly important for the visual quality ... in a physical interpretation

Figure 4: The original fandisk dataset with its skeleton and corner-vertices (left) gets remeshed (middle). Due to the restrictions im-posed on the relaxation and topological operators, the skeleton is preserved even though we generated a really coarse approximation(right) of the original mesh.

Since we start withM = D, similar to [12, 3], we take a sim-pler approach and make use of skeletons that are attached to bothmeshes. In principle, a skeleton is a set of edges ofD and can beeither selected by an automatic algorithm (e.g. [22, 20]) or by aninteractive selection done by the user. Additionally the users canadd vertices to the skeleton that they want to be preserved duringthe remeshing.

In order to preserve this basic set of vertices and edges, we enhancethe simple skeleton in a way that it consists of the following threeprimitives:

bone-edgesare edges that were selected by the user/feature detec-tion algorithm.

bone-vertices are vertices that have exactly 2 adjacent bone-edges.

corner-vertices are vertices that have6= 2 adjacent bone-edges orvertices that are explicitly selected by the user.

The skeleton which is attached toD remains fixed during the wholeremeshing process while its counterpart onM is modified. In or-der to ensure that the skeleton onM preserves the structure ofD’sskeleton, the key idea is to restrict the relaxation operatorU for thebone-vertices ofM to the bone-edges ofD. At the same time weensure that the three topological operations during the retriangula-tion process (see Sec. 3) do not destroy this structure.

Hence, we apply the following restrictions to the relaxation opera-tor U and to the topological operations onM.

• Corner-verticesremain fixed and never get touched by anytopological operation.

• Bone-verticesare moving onbone-edgesof D exclusively –U(p) is simply projected back to thatbone-edge, that has thesmallest enclosing angle withU(p).

• A half-edge-collapse of abone-edgeis allowed only if bothendpoints belong to the skeleton (vertices that do not belongto the skeleton are allowed to collapse into the skeleton, butbecome part of it in that case (cf. Fig. 5)

• Bone-edgesnever get flipped.

• If a bone-edge egets split, the new vertex is abone-vertexas well. If the parent-vertex (see Sec. 3) happens to be acorner-vertex, it is allowed to move in the direction of thatbone-edgeof D that has the smallest enclosing angle witheand where the other endpoint ofe is reachable (cf. Fig. 5).

5. APPLICATIONS5.1 Multiresolution ModelingThe motivation for creating our remeshing environment is its appli-cation in our interactive multiresolution modeling frameworkHU-MID (cf. [14]). In this paper, we just sketch the basic ideas, thedetailed description of the whole modeling procedure will soon beavailable as separate technical report.

In our framework, the user selects the modeling-areaMS0, a boundedregion on the mesh which separates that part of the mesh which issubject to the modeling operation from the one that remains fixed.Inside the submeshMS0, the user transforms dedicated verticesand the algorithm adapts the remaining vertex-positions in such away thatMS0 transforms smoothly intoMSi while surface detailsare preserved (cf. [17]).

The original algorithm does not change the connectivity ofMS0

(but just adapts the vertex positions). This might lead to badlyshaped triangles in regions where extreme stretching/compressionoccurs. We have incorporated our remeshing technique intoHU-MID and are now able to do interactive multiresolution modelingwith changing connectivity.

In contrast to Sec. 2 and for reasons of efficiency, we first try tocreate a global parameterization ofMS0. This is done by project-ing the boundary ofMS0 to a 2D polygon. The 2D position of thevertices in the interior ofMS0 are obtained by the same relaxationprocedure as it is described in Sec. 2 until the system converges(the boundary vertices remain fixed). We are choosing this param-eterization to ensure that the tessellation does not change as longas the user does not apply any modification toMS0. Typically thisstep takes only a fraction of a second for a moderately large regionof 5-10K4.

Page 6: Dynamic Remeshing and Applications · Dynamic Remeshing and Applications ... face features, which are particularly important for the visual quality ... in a physical interpretation

Figure 6: An interactive remeshing session on a mechanical part. The original triangulation on the left gets refined in order to havemore degrees of freedom for further processing. Note that the partially remeshed area automatically connects to the fixed vertices ofthe original mesh.

If the parameterization algorithm fails, i.e. if foldovers occur (whichrarely happens in our experiments), we fall back to successive localparameterizations (cf. Sec. 2) at the price of a lower frame-rate.Of course, computing a global parameterization only once in a pre-processing step is preferred compared to successively recomputinglocal parameterizations in every relaxation step. However, our lo-cal method enables us to process even those meshes that cannot bemapped to 2D with the method from above.

The actual modeling is done in two separate steps. We first performa modeling operation (cf. [14]) and feed the modified surfaceMSi

to the remeshing algorithm. Instead of using the original modelingregionMS0, we useMSi as domain meshD. SinceM0 andDare linked, we are always able to sample detail information fromthe original surface and thus ensure that the surface details are re-constructed correctly.

Note that the dynamic remeshing also ensures, that the triangula-tion of the whole mesh remains intact. No stitching [24] to recon-nect the region which remained fixed with the remeshed modelingregionMS0 is necessary.

5.2 Interactive OptimizationWhile the remeshing per se is fully automatic once the user hasspecified input parameters as e.g. the target resolution and/or a fea-ture skeleton, we can also use it to provide a framework for interac-tive mesh optimization. Therefore, the optimization process is vi-sualized by updating the displayed remesh after each iteration. Theuser can change input parameters during the optimization process,and (s)he gets immediate visual feedback as the mesh converges toan optimal remesh.

Even more important in this context is the ability to specify onlycertain regions on the mesh that should be remeshed while the restremains fixed. This can be regions on the original surface that in-clude only few sample points for example. The optimization pro-cess runs just as before but schedules only vertices and edges inthe specified regions for optimization. Again, this automaticallyensures that the remeshed regions stay connected to the fix part of

the mesh as its resolution and connectivity are optimized, and noadditional zippering or stitching is necessary.

In practice the user defined regions are often small enough to al-low the parameterization of a whole region over the plane. As nolocal parameterizations have to be updated, this will significantlyspeedup the algorithm.

In addition, the user can influence the behavior of the relaxation op-eratorU by adapting its weightsωij . This is done by e.g. defininga scalar-field for the domain vertices that is linearly interpolatedon D. The field can be manipulated interactively and increasesincrease the local vertex density onM. The new weights are com-puted by sampling and integrating the scalar values scaled by theinverse areas of the domain triangles. Of course, the user can al-ways modify the feature skeleton during the remeshing process.Fig. 6 shows an example of an interactive remeshing session.

5.3√

3-RemeshingArbitrary (irregular) meshes are the most general and flexible bound-ary representation using triangles, but there is also the importantclass ofsemi–regular– or subdivision–connectivity– meshes of-ten stemming from subdivision-algorithms (cf. e.g. [26]) that offermany advantages over the irregular setting. On the one hand this isdue to their regular structure and on the other hand one can exploittheir mathematical proximity to polynomial surfaces. Many algo-rithms, in particular in the context of rendering, filtering, texturingand compression (cf. [1]), can benefit from this special structure.

In the past, a number of algorithms [6, 19, 9, 15] have been pro-posed to convert an arbitrary input mesh into one having subdivision–connectivity. We can apply our dynamic remeshing framework forthis conversion in the following way:

Instead of dyadic refinement (repeated 1–to–4–split operation), whichimplies dealing with ’intermediate’ meshes containing red–splits,we follow the idea of Kobbelt [16] and perform

√3-adic splits.

This way we can reuse the basic topological operators and ideasfrom Sec.3.

Page 7: Dynamic Remeshing and Applications · Dynamic Remeshing and Applications ... face features, which are particularly important for the visual quality ... in a physical interpretation

The conversion is done in two phases. Similarly to theMAPS-algorithm (cf. [19]), we generate a coarse version ofM = D(cf. Sec. 2 and 3) by incrementally decreasingεmin andεmax. The-oretically, for genus zero objects, we can perform dynamic remesh-ing down to a tetrahedron as long as we find a valid parameteriza-tion for every 1–ring inM. In practice, for objects with features,we are restricted by the rules imposed by the skeleton (see Sec. 4).

Once we have generated this coarse base-domain, we can start withthe refinement phase. Again, this is done similarly to the aboveremeshing algorithm in that we apply topological changes com-bined with permanent relaxation. But instead of using theDCM-approach, we apply the topological operations as they are describedin [16]. (The 1–to–3 split can be implemented analogue to theedge–split operation, i.e. we perform a topological 1–to–3 split ofa triangle, place the newly inserted vertex on one of the corner ver-tices of the triangle which was just split and let the relaxation op-erator handle the repositioning.) Note that due to the hierarchicalcoarse-to-fine approach, the particle system converges quickly andwe need just a few relaxation steps until the accumulated lengths ofthe relaxation vectors fall below some user defined threshold.

We have to make one restriction in order to conserve the skeleton ofM. As mentioned in Sec. 4, a skeleton-edge is not allowed to flipin the first place. However, applying two refinement steps at onceleads to a complete triadic split of all triangles (and edges). Thuswe have a 1–to–1 correspondence of edges from the coarser levelto those on the finer level and consequently are able to preserve theskeleton.

6. CONCLUSIONWe presented a new algorithm for optimizing triangular meshes.This incremental remeshing process includes the optimization ofthe mesh connectivity based on the DCM approach as well as theoptimization of the vertex distribution. The vertices are scatteredregularly on the surface by simulating a particle system. This re-laxation requires only local parameterization of the original sur-face, a global parameterization is explicitly avoided. In particular,we show how the local domains that are flattened to the plane canbe efficiently constructed and updated after vertex shifts and con-nectivity changes.

The algorithm does not require to start with an initial meshM = Dthat is mapped 1-to-1 to the domain mesh, but we can also start withanarbitrary mesh. In that case, we first construct a valid link be-tweenM andD in a preprocessing step, and we require valid localdomains, e.g. a mapping from triangles ofM to sets of trianglesof D. This can be done by an appropriate projection operator, e.g.as used in [15]. However, for the sake of clarity we restricted our-selves toM = D.

We have applied our framework to various application scenarios.Results are shown on the next pages, a video with our dynamicremeshing framework in action is available on our web-site (www.mpi-sb.mpg.de/ vorsatz). Even for the tooth model at highest resolu-tion (77K∆), the response times never exceeded 4-5 seconds.

7. REFERENCES[1] Pierre Alliez and Mathieu Desbrun. Progressive compression for

lossless transmission of triangle meshes. InSIGGRAPH 2001Conference Proceedings, pages 198–205, 2001.

[2] Pierre Alliez, Mark Meyer, and Mathieu Desbrun. Interactivegeometry remeshing. InSIGGRAPH 2002 Conference Proceedings,

pages 347–354.

[3] Pierre Alliez,Eric Colin Verdiere, Oliver Devillers, and MartinIsenburg. Isotropic surface remeshing. 2003.

[4] P. J. C. Brown and C. T. Faigle. A robust efficient algorithm for pointlocation in triangulations. Technical report, Cambridge University,1996.

[5] Mathieu Desbrun, Mark Meyer, and Pierre Alliez. Intrinsicparameterizations of surface meshes. InComputer Graphics Forum,(Eurographics 2002), pages 209–218.

[6] M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, andW. Stuetzle. Multiresolution analysis of arbitrary meshes. InSIGGRAPH 1995 Conference Proceedings, pages 173–182.

[7] Michael S. Floater. Parametrization and smooth approximation ofsurface triangulations.Computer Aided Geometric Design,14(3):231–250, 1997. ISSN 0167-8396.

[8] M. Garland and P. S. Heckbert. Surface simplification using quadricerror metrics. InSIGGRAPH 1997 Conference Proceedings, pages209–216.

[9] Igor Guskov, Kiril Vidimce, Wim Sweldens, and Peter Schroder.Normal meshes. InSIGGRAPH 2000 Conference Proceedings, pages95–102, 2000.

[10] H. Hoppe. Progressive meshes. InSIGGRAPH 1996 ConferenceProceedings, pages 99–108.

[11] K. Hormann and G. Greiner. MIPS: An efficient globalparametrization method. InCurve and Surface Design: Saint-Malo1999, pages 153–162. 2000.

[12] Tao Ju, Frank Losasso, Scott Schaefer, and Joe Warren. Dualcontouring of hermite data. InSIGGRAPH 2002 ConferenceProceedings, pages 339–346.

[13] L. Kobbelt, T. Bareuther, and H.-P. Seidel. Multiresolution shapedeformations for meshes with dynamic vertex connectivity. InComputer Graphics Forum (Eurographics 2000), volume 19, pages249–260.

[14] L. Kobbelt, S. Campagna, J. Vorsatz, and H.-P. Seidel. Interactivemulti–resolution modeling on arbitrary meshes. InSIGGRAPH 98Conference Proceedings, pages 105–114.

[15] L. Kobbelt, J. Vorsatz, U. Labsik, and H.-P. Seidel. A shrinkwrapping approach to remeshing polygonal surfaces.ComputerGraphics Forum (Eurographics 1999), 18(3):119–130.

[16] Leif Kobbelt. sqrt(3) subdivision. InSIGGRAPH 2000 ConferenceProceedings, pages 103–112.

[17] Leif Kobbelt and Jens Vorsatz. Multiresolution hierarchies onunstructured triangle meshes.Computational Geometry,14(1-3):5–24, 1999.

[18] Leif P. Kobbelt, Mario Botsch, Ulrich Schwanecke, and Hans-PeterSeidel. Feature-sensitive surface extraction from volume data. InSIGGRAPH 2001 Conference Proceedings, pages 57–66.

[19] A. W. F. Lee, W. Sweldens, P. Schroder, L. Cowsar, and D. Dobkin.MAPS: Multiresolution adaptive parameterization of surfaces. InSIGGRAPH 98 Conference Proceedings, pages 95–104.

[20] Bruno Levy, Sylvain Petitjean, Nicolas Ray, and Jerome Maillot.Least squares conformal maps for automatic texture atlas generation.In SIGGRAPH 2002 Conference Proceedings, pages 362–371.

[21] P. Lindstrom. Out–of–core simplification of large polygonal models.In SIGGRAPH 2000 Conference Proceedings.

[22] Christian Rossl, Leif Kobbelt, and Hans-Peter Seidel. Recoveringstructural information from triangulated surfaces. InMathematicalMethods for Curves and Surfaces: Oslo 2000, pages 423–432, 2001.

[23] Olga Sorkine, Daniel Cohen-Or, Rony Goldenthal, and DaniLischinski. Bounded-distortion piecewise mesh parameterization. InIEEE Visualization 2002 Conference Proceedings, pages 355–362.

[24] Greg Turk and Marc Levoy. Zippered polygon meshes from rangeimages. InSIGGRAPH 94 Conference Proceedings), pages 311–318.

[25] Jens Vorsatz, Christian Rossl, Leif Kobbelt, and Hans-Peter Seidel.Feature sensitive remeshing. InComputer Graphics Forum(Eurographics 2001), pages 393–401.

[26] D. Zorin and P. Schroder. Subdivision for modeling and animation. InSIGGRAPH 2000 Course Notes.

Page 8: Dynamic Remeshing and Applications · Dynamic Remeshing and Applications ... face features, which are particularly important for the visual quality ... in a physical interpretation

Figure 7: Remeshing of a geometrically and topological more complex model (original data-set on the left, remeshed version on theright). Generating a global parameterization an an explicit patch-layout would be a challenging and time consuming task.

Figure 8:√

3-remeshing of a tooth-model (original upper left). We first generate the coarse base domain (upper right) and start therefinement steps by applying the topological

√3 split operator twice per step (middle row). The newly inserted vertices are get evenly

distributed on the input mesh by the particle system. The lower row shows the final remesh.