dynamic triangulation of variational implicit surfaces...

8
Dynamic Triangulation of Variational Implicit Surfaces using Incremental Delaunay Tetrahedralization B. Crespin LIGIM, Universit´ e Claude Bernard Lyon I Abstract In this paper, we present a novel method to triangulate variational implicit surfaces. The core of the algorithm is an incremental De- launay tetrahedralization of the constraint points defining the sur- face; it can be refined over time by adding new points around the surface as needed. Each tetrahedron that crosses the surface can then be triangulated to locally approximate the surface. This method allows getting several meshes of the same shape at differ- ent resolutions, which can be updated dynamically when adding new constraint points. This level-of-detail property makes varia- tional surfaces more appealing for applications such as interactive modeling. CR Categories: I.3.3 [Computer Graphics]: Display algorithms— [I.3.6]: Computer Graphics—Interaction Techniques Keywords: Geometric Modelling, Iso-surface Extraction 1 Introduction Implicit surfaces are widely used in modeling applications because of their smoothness property which allows building very round shapes. Moreover, their implicit representation can be used for high-quality, ray-tracing rendering. In the context of interactive modeling, numerous methods have also been developed since 1986 to perform efficient triangulations of implicit surfaces, which are also known as implicit surfaces polygonization. Most of these methods can be applied to general implicit models, i.e. all they need as an input are the implicit equation of the isosurface and a precision parameter. The marching cubes [Wyvill et al. 1986; Lorensen and Cline 1987] or the particles algorithms [Witkin and Heckbert 1994] are good examples of this global approach. On the other hand, some techniques are designed for the triangula- tion of specific implicit models such as skeletal-based implicit sur- faces [Blinn 1982; Bloomenthal and Wyvill 1990; Bloomenthal and Shoemake 1991]. In this paper, we present a new triangulation method specifically designed to deal with variational implicit surfaces, developed re- cently [Turk and O’Brien 1999; Turk et al. 2001]. The variational implicit equation is derived from a set of constraint points, such that the surface interpolates these points. This novel interpolation e-mail: [email protected] property makes variational surfaces a very powerful model, since it offers a precise control over the surface, somehow equivalent to the control points found in spline surfaces, while preserving the overall smooth property of traditional implicit surfaces. However, the vi- sualization method employed in most papers in the literature is the particles technique, which does not provide mesh approximations but a collection of oriented disks distributed over the surface. Our technique makes an extensive use of the interpolation prop- erty by first performing a Delaunay tetrahedralization of the con- straint points, which can then be used to produce a set of triangles that approximates the surface. Since we employ an incremental De- launay algorithm, we can refine the tetrahedralization by inserting new vertices recursively until a desired precision is reached. This level-of-details (LOD) approach, similarly found in other methods [Velho et al. 1999], allows to get representations of the surface at different resolutions, according to an application-dependent preci- sion. Moreover, the incremental Delaunay tetrahedralization can also be used to dynamically insert new constraint points and update the triangulation accordingly. Since the process is performed in real time, this dynamic feature of our algorithm becomes particularly interesting in interactive modeling applications, where the user se- quentially adds or edits control points. This paper is organized as follows. In section 2, we present the mathematical theory of variational implicit surfaces as well as a study of existing triangulation methods. Our triangulation tech- nique is then presented in section 3, where we propose a detailed overview of each processing step. In section 4, several examples of our experimental results are shown along with computation times, and our implementation and a comparison with other methods are discussed. The dynamic behavior of the algorithm is then presented in section 5. 2 State of the art 2.1 Variational implicit surfaces and radial-basis functions Variational implicit surfaces [Turk and O’Brien 1999; Turk et al. 2001] naturally take place among other implicit modeling mod- els, since the surface is defined as the zero-set of some function IR IR. The main difference between variational and tradi- tional implicit models concerns the formulation of this function. For skeletal-based surfaces for example, is defined using a set of geometric primitives (points, segments, etc) called skeleton. The surface is then the set of points located at a chosen distance of the skeleton, and its continuity is ensured by a potential function that blends primitives with each other. The problem with this model is that no control is given to the user on the precise location of the surface. To overcome this, numerous techniqueswere developed to fit a skeleton-based implicit surface to a given set of points. Variational implicit surfaces solve this problem in a natural way, since the function is actually defined in order to interpolate some points chosen by the user. More precisely, the user first defines a

Upload: others

Post on 19-Jun-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic Triangulation of Variational Implicit Surfaces ...hyperfun.org/FHF_Log/Crespin_DynamicTri_IEEEVolvis03.pdf · Dynamic Triangulation of Variational Implicit Surfaces using

Dynamic Triangulation of Variational Implicit Surfaces using IncrementalDelaunay Tetrahedralization

B. Crespin�

LIGIM, Universite Claude Bernard Lyon I

Abstract

In this paper, we present a novel method to triangulate variationalimplicit surfaces. The core of the algorithm is an incremental De-launay tetrahedralization of the constraint points defining the sur-face; it can be refined over time by adding new points aroundthe surface as needed. Each tetrahedron that crosses the surfacecan then be triangulated to locally approximate the surface. Thismethod allows getting several meshes of the same shape at differ-ent resolutions, which can be updated dynamically when addingnew constraint points. This level-of-detail property makes varia-tional surfaces more appealing for applications such as interactivemodeling.

CR Categories: I.3.3 [Computer Graphics]: Display algorithms—[I.3.6]: Computer Graphics—Interaction Techniques

Keywords: Geometric Modelling, Iso-surface Extraction

1 Introduction

Implicit surfaces are widely used in modeling applications becauseof their smoothness property which allows building very roundshapes. Moreover, their implicit representation can be used forhigh-quality, ray-tracing rendering. In the context of interactivemodeling, numerous methods have also been developed since 1986to perform efficient triangulations of implicit surfaces, which arealso known as implicit surfaces polygonization. Most of thesemethods can be applied to general implicit models, i.e. all they needas an input are the implicit equation of the isosurface

������������� ��and a precision parameter. The marching cubes [Wyvill et al. 1986;Lorensen and Cline 1987] or the particles algorithms [Witkin andHeckbert 1994] are good examples of this global approach. Onthe other hand, some techniques are designed for the triangula-tion of specific implicit models such as skeletal-based implicit sur-faces [Blinn 1982; Bloomenthal and Wyvill 1990; Bloomenthal andShoemake 1991].

In this paper, we present a new triangulation method specificallydesigned to deal with variational implicit surfaces, developed re-cently [Turk and O’Brien 1999; Turk et al. 2001]. The variationalimplicit equation is derived from a set of constraint points, suchthat the surface interpolates these points. This novel interpolation

�e-mail: [email protected]

property makes variational surfaces a very powerful model, since itoffers a precise control over the surface, somehow equivalent to thecontrol points found in spline surfaces, while preserving the overallsmooth property of traditional implicit surfaces. However, the vi-sualization method employed in most papers in the literature is theparticles technique, which does not provide mesh approximationsbut a collection of oriented disks distributed over the surface.

Our technique makes an extensive use of the interpolation prop-erty by first performing a Delaunay tetrahedralization of the con-straint points, which can then be used to produce a set of trianglesthat approximates the surface. Since we employ an incremental De-launay algorithm, we can refine the tetrahedralization by insertingnew vertices recursively until a desired precision is reached. Thislevel-of-details (LOD) approach, similarly found in other methods[Velho et al. 1999], allows to get representations of the surface atdifferent resolutions, according to an application-dependent preci-sion.

Moreover, the incremental Delaunay tetrahedralization can alsobe used to dynamically insert new constraint points and update thetriangulation accordingly. Since the process is performed in realtime, this dynamic feature of our algorithm becomes particularlyinteresting in interactive modeling applications, where the user se-quentially adds or edits control points.

This paper is organized as follows. In section 2, we present themathematical theory of variational implicit surfaces as well as astudy of existing triangulation methods. Our triangulation tech-nique is then presented in section 3, where we propose a detailedoverview of each processing step. In section 4, several examples ofour experimental results are shown along with computation times,and our implementation and a comparison with other methods arediscussed. The dynamic behavior of the algorithm is then presentedin section 5.

2 State of the art

2.1 Variational implicit surfaces and radial-basisfunctions

Variational implicit surfaces [Turk and O’Brien 1999; Turk et al.2001] naturally take place among other implicit modeling mod-els, since the surface is defined as the zero-set of some function���

IR ��� IR. The main difference between variational and tradi-tional implicit models concerns the formulation of this function.For skeletal-based surfaces for example,

�is defined using a set of

geometric primitives (points, segments, etc) called skeleton. Thesurface is then the set of points located at a chosen distance of theskeleton, and its continuity is ensured by a potential function thatblends primitives with each other. The problem with this model isthat no control is given to the user on the precise location of thesurface. To overcome this, numerous techniques were developed tofit a skeleton-based implicit surface to a given set of points.

Variational implicit surfaces solve this problem in a natural way,since the function

�is actually defined in order to interpolate some

points chosen by the user. More precisely, the user first defines a

Page 2: Dynamic Triangulation of Variational Implicit Surfaces ...hyperfun.org/FHF_Log/Crespin_DynamicTri_IEEEVolvis03.pdf · Dynamic Triangulation of Variational Implicit Surfaces using

set of � constraints, each constraint being a point ��� along with avalue � � . This implies that

�must satisfy:����� � � ��� � ��� � � � � � (1)

As pointed out elsewhere [Turk et al. 2001], a solution can befound if

�is defined as a sum of � weighted, radial-basis functions

[Duchon 1977], that is:

�����IR � � ������� ���������� ��� ��� � � � � � � (2)

The formulation for the radial-basis function � usually dependson the dimension of the data: for example, Turk recommends using� ��� � ���!#"%$�& �

in two dimensions, and � ��� � �� � in three dimen-sions. Using this formulation, satisfying the set of constraints inequation 1 can be expanded in:

����� � � ��� � ���'����� ��� ��� �(� � � � � � �)� (3)

This reduces to solving the following linear system, where � � � � ��� � � � � � � � :*++,�-�)�.�/� ! 01010 �/� �� ! �.� !)! 01010 � ! �...

......� � � � � ! 01010 � �#�

2%334*++, ��� !...5 �

2%334

*++,� �� !...� �

2%334 (4)

Well-known methods such as Cholesky or LU decompositioncan then be used to find the � � . The radial-basis function theoryensures that the resulting function will be continuous everywhere,provided that not all constraints have zero value, e.g. some positiveand/or negative constraints must be specified. In that case, thesurface has all the usual properties of implicit surfaces such assmoothness and point membership classification (for any point

�in space, it is possible to know whether it lies inside, outside or onthe surface depending on

�������).

Practically, the modeling process recommended by Turk consistsin defining two sets of constraints. In the first one, all the constraintshave zero value, thus defining the surface contour. The second oneis a set of positive constraints, corresponding to the surface normalvectors (see figure 1, left). But this modeling process has not beenwidely explored yet, since most authors use the variational modelas a data fitting tool.

2.2 Triangulation of implicit surfaces

Numerous techniques exist in the literature for producing a set oftriangles approximating an implicit surface. We propose to classifythem in two main categories, spatial partitioning and continuationmethods. The reader may also refer to other reviews [Bloomenthalet al. 1997; Akkouche and Galin 2001].

2.2.1 Spatial partitioning

Spatial partitioning methods consider the space surrounding thesurface as a collection of small cells (either cubes or tetrahedra).For each cell crossing the implicit surface, a local triangulation isproduced. If the cell size is small enough, the mesh deduced fromthe set of local triangles provides a good approximation of the sur-face. The local triangulation step is relatively simple, but disam-biguation strategies have to be used to preserve topological con-sistency, especially in the case of cubic cells (a complete study isproposed in [Ning and Bloomenthal 1993]).

Different approaches were proposed in the literature to find thecrossing (or transverse) cells. Enumeration techniques divide spaceinto cubic cells of fixed size 6 that can be explored recursively ei-ther by starting from an initial crossing cell [Wyvill et al. 1986;Bloomenthal 1994] or by exhaustive search [Lorensen and Cline1987]. However, these methods rely on the assumption that an ini-tial cell can be found, and they also may fail to handle small featuresof the implicit surface if these features are smaller than 6 . Othertechniques propose an adaptive subdivision scheme applied to aninitial cube [Bloomenthal 1988], which allows converging to theexact surface: if a cube is not locally adequate, it is subdivided intoeight smaller cubes. The main difficulty here is that the subdivi-sion can generate cracks in the resulting triangulation; this problemneeds to be addressed properly as in [Hall and Warren 1990] wherea tetrahedral decomposition is used, but requires a more complexdata structure.

2.2.2 Continuation

Continuation methods do not rely on space decomposition butrather try to find a collection of vertices distributed on the surface.This approach is commonly known as particle sampling [Szeliskiand Tonnesen 1992; Witkin and Heckbert 1994]: a particle sys-tem driven by attraction and repulsion forces is used to samplethe surface incrementally. But although this method produces nice,evenly distributed samples (see for example figures 4 and 5 in [Turket al. 2001]), it does not provide a triangular mesh. Therefore,some authors recently proposed a new approach to produce evenlydistributed triangles rather than vertices: this is the marching tri-angles method, first developed in [Hilton et al. 1996] for rangeimage fusion, then adapted and optimized by others [Hartmann1998; Akkouche and Galin 2001; Karkanis and Stewart 2001]. Thismethod allows adapting the incremental mesh to the curvature, thusgenerating better shaped triangles than spatial partitioning methods.Moreover, it proves to run faster than the marching cubes imple-mentation [Bloomenthal 1994] in the case of incremental, skeletal-based implicit modeling.

An equivalent to the crack problem also appears in the marchingtriangles approach; but these holes in the mesh are somehow easyto fill in a post-processing step. Other methods exhibit similar prob-lems, for example seed-based polygonization [Desbrun et al. 1995;Crespin et al. 1998], which is specifically designed for skeletal-based surfaces, or shrink-wrap methods [van Overveld and Wyvill1993; Rodrian and Moock 1996; Velho et al. 1999]. In this lastcase, a rough, global mesh is recursively subdivided according tocurvature or a desired, fixed precision. This is especially interest-ing in real-time applications, where the first, rough approximationcan be refined over time as needed. But, as noted in [Akkoucheand Galin 2001], this method can sometimes fail to handle implicitsurfaces in the general case.

2.3 Discussion: LOD triangulation of variationalsurfaces

Among all these methods, the marching triangles seems to give thebest results, both in terms of efficiency and visual result. How-ever, even if the mesh can be built and updated incrementally, thismethod cannot be used to provide a topologically correct represen-tation of the surface at different resolutions. Other methods pro-vide such level-of-detail approach, such as adaptive partitioning orshrink-wrap, but they need to be enhanced to deal with the case ofvariational implicit surfaces.

As in the shrink-wrap, our idea is to follow the LOD approachand adapt it to the case of variational implicit models by buildingan initial, rough mesh from the constraint points, then refine overand over according to specific applications criteria: this is detailed

Page 3: Dynamic Triangulation of Variational Implicit Surfaces ...hyperfun.org/FHF_Log/Crespin_DynamicTri_IEEEVolvis03.pdf · Dynamic Triangulation of Variational Implicit Surfaces using

in the next section. The main difference with the shrink-wrap is thepresence of an underlying tetrahedralization, which allows speed-ing up the refinement step. In that sense, our method is closer toadaptive partitioning approaches, but avoids the crack problem. Itis presented in the next section.

On the other hand, we are also interested in the incremental ap-proach of the marching triangles that is the possibility to add newfeatures to the surface and update the mesh accordingly. In thecase of variational surface, this means adding new constraint points.Fortunately, our method only needs minor changes to include thisdynamic feature, since the underlying tetrahedralization can be up-dated in real time when adding new vertices. The dynamic versionof our algorithm is presented in section 5.

3 LOD triangulation of variational implicitsurfaces: our algorithm

All of the previously described methods can be used for variationalimplicit surfaces, but they usually make no assumption about themodel of the surface to triangulate. This means that the main prop-erty of variational surfaces, that is, the definition through constraintpoints, is never used, although it provides direct information aboutthe geometry and topology of the surface. Since the surface has tofit the constraint points with zero values, it is obvious that this setof constraint points gives a good idea of the global shape of the sur-face, similarly to the control points of a spline surface for example.Our idea is to start with a simple tetrahedralization of these con-straint points, then refine it recursively around the surface until adesired precision is reached. At any step of the refinement process,a triangular mesh can be extracted from the tetrahedralization as inspatial partitioning approaches.

3.1 Outline of the algorithm

The major feature of our algorithm is the use of an incrementalDelaunay tetrahedralization. As a first step, this tetrahedralizationis computed from the initial set of constraint points and the verticesof the bounding box of the surface. Let � be the resulting set oftetrahedra.

Each tetrahedron �� � crossing the surface has to be inspected

according to a precision criterion; if this criterion is not satisfied,� will be refined by introducing new vertices into the Delaunay.This evaluation and refinement step requires to find the tetrahedrathat cross the surface efficiently; it is repeated until no tetrahedronneeds further refinement.

At each step, a set of triangles approximating the surface can beextracted from � by considering only the tetrahedra that cross thesurface.

3.2 Initial tetrahedralization

3.2.1 Incremental Delaunay

A tetrahedralization computed from a set�

of � points ��� ��� �is a collection � of non-overlapping tetrahedra, whose vertices arethe �(� . If no degeneracy occur (cospherical configurations, etc.),a Delaunay tetrahedralization, also called Delaunay triangulationin 3D, can be computed, such that the circumscribing sphere of atetrahedron � does not contain any other point of

�except the four

vertices of � [Preparata and Shamos 1985]. The maximal order ofcomplexity is theoretically �

� � ! � , but it strongly depends on thepoints distribution.

Some Delaunay algorithms follow an incremental approach: thepoints � � are inserted sequentially, meaning that the tetrahedraliza-tion is only recomputed locally [Boissonnat et al. 1990]. Of course,

Figure 1: A typical variational surface in two dimensions definedby two sets of constraints points (left); the convex hull of the con-straint points does not cover the whole volume (middle), whereasan extended bounding box solves the problem (right)

it also involves a more complex tree structure. The choice of thisincremental approach was obvious, because our algorithm is essen-tially based on the insertion of new vertices around the surface.

3.2.2 Extending the tetrahedralization

In our case, the tetrahedralization should be computed only fromthe set of constraint points. But our requirement for this step isthat the volume enclosed by the variational surface be embedded inthe initial tetrahedralization, because this is only way to ensure thatno part of the surface is missed in the triangulation step. Therefore,the tetrahedralization computed only from the constraint points maynot be satisfying, as illustrated in two dimensions on figure 1 (mid-dle).

Of course, knowing exactly where the variational surface lies inspace is a difficult task, since this cannot be deduced only from theconstraint points location. We solve the problem by computing anestimated bounding box of the variational surface and adding itsvertices to the Delaunay. More precisely, we extend the boundingbox of the constraint points by a factor 2. This produces a voluntar-ily large box, but increases the chances to cover the whole volume,as on figure 1 (right). In the case of infinite surfaces, the triangula-tion will be arbitrarily limited to the bounding box domain.

3.3 Finding transverse tetrahedra

The key idea of our algorithm is that only the tetrahedra that crossthe surface need further refinement, since we are only interestedin finding a local approximation of the variational function in theboundary of the surface. Such tetrahedra are called transverse. Atransverse tetrahedron has either positive and negative vertices, i.e.the function

�evaluates to negative and positive values at its ver-

tices. Thus, the tetrahedron crosses the zero surface without ambi-guities [Bloomenthal 1994].

The problem is now to efficiently extract the set of transversetetrahedra from the Delaunay. Two methods can be used.

3.3.1 Enumeration

In spatial partitioning techniques, the set of transverse tetrahedrais usually found in a two-step process called continuation. Usingthe neighboring relationship between two adjacent tetrahedra, onehas to find an initial transverse tetrahedron. Then, the others areinspected recursively until the initial one is reached again. But thismethod is computationally expensive, and fails if the implicit sur-face has multiple, disconnected parts.

3.3.2 FIFO queuing

Therefore, we prefer an alternative method: each time a new trans-verse tetrahedron is created, a pointer is added in a FIFO structurecalled the transverse queue. This method gives better results than

Page 4: Dynamic Triangulation of Variational Implicit Surfaces ...hyperfun.org/FHF_Log/Crespin_DynamicTri_IEEEVolvis03.pdf · Dynamic Triangulation of Variational Implicit Surfaces using

Figure 2: The set of transverse tetrahedra for our test example(clockwise): initial set (18 vertices) and after several steps of re-finement (respectively 68, 223 and 889 vertices)

the enumeration in our case, since we can store the values of thevariational function at the vertices into the tetrahedron definition,which allows knowing rapidly if it’s transverse or not. This methodalso ensures that no disconnected part of the surface is missed. Fig-ure 2 shows the queue of transverse tetrahedra from a test example.

3.4 Refinement step

3.4.1 Refinement criterion

The criterion applied to the transverse tetrahedra is based on thetetrahedron’s circumsphere. If the radius of this sphere is greaterthan a predefined distance, the corresponding tetrahedron is not lo-cally adequate and should be replaced by several smaller ones. Thisdistance criterion can be seen as an equivalent to the predefined sizeof cubes in the marching cubes algorithm.

3.4.2 Tetrahedron refinement

The refinement of a tetrahedron is usually performed through sub-division: the tetrahedron is replaced by smaller ones. The Kuhndecomposition for example produces eight sub-tetrahedra from thecenters of each edge and the initial vertices [Bloomenthal et al.1997] (the centers of each face could also be used). But this kindof methods has some drawbacks: a tree is needed to store the hi-erarchy of recursive sub-volumes, and, as noted earlier, one has todeal efficiently with the subdivision of adjacent tetrahedra (sincethis may result in cracks in the following triangulation step).

Since we use an incremental Delaunay algorithm, we can insertnew vertices into the Delaunay tetrahedralization instead of replac-ing the tetrahedron. A storage tree is also involved, but the crackproblem disappears. In our case, the centers of edges or faces aredirectly inserted; we also make use of the circumsphere again, andinsert its center. This method has proven to yield very regular struc-tures in two and three dimensions [Shewchuk 1999] (see figure 2).The only restriction is to forbid the insertion of new vertices outsidethe bounding box defined in section 3.2.2.

3.4.3 Refinement loop

As mentioned earlier, each time a transverse tetrahedron is createdin the Delaunay, it is added in the transverse queue. Then the re-finement step can be seen as a repeat-until loop:

1. Let � be the transverse tetrahedron at the head of the queue.Compute the radius � and the center � of the circumsphere of� .

Figure 3: Tetrahedral polygonization of a transverse tetrahedronwhich can either have 3 similarly-signed vertices (left) or 2 positiveand 2 negative. In this last case, two triangles configurations canoccur (middle and right)

Figure 4: The different meshes generated from the transverse tetra-hedra shown on figure 2: initial mesh (36 vertices) and after severalsteps of refinement (respectively 137, 491 and 1763 vertices)

2. If � is greater than the precision criterion, insert � into theDelaunay (this may add new tetrahedra in the queue).

3. Suppress � from the queue.

4. If the queue is not empty, go back to step 1.

The main advantage of the FIFO queue is that large tetrahedraare usually refined first. This could be further enhanced by sortingthe tetrahedra according to their radius � (as in a priority queue),but requires extra computations.

3.5 Triangulation

At any time during the refinement step, we can produce a set oftriangles that approximates the surface. This is performed using atetrahedral polygonization method as in [Bloomenthal 1994], ap-plied to the queue of transverse tetrahedra (see figure 3). All wehave to do here is to slightly perturb the position of vertices havingzero value. Since we now only have vertices that are either posi-tive or negative, the polygonization can be deduced from a

��� ���cases table lookup (with zero vertices, the table would have �

� ����entries, as noted in [Shu et al. 1995]). Figure 4 shows the set of tri-angles produced from the tetrahedra of figure 2.

Of course, some degenerate cases can occur: for example, onetetrahedron may not be considered as transverse although it crossesthe surface, as illustrated on figure 5, resulting in a hole in the trian-gulation. This is a general problem with spatial partitioning meth-ods like ours, especially when dealing with general implicit surface.Disambiguation strategies must be used, such as searching criticalpoints [Wu and de Gomensoro Malheiros 1999]. But in the case ofvariational surfaces, it’s worth noticing that the surface is designedto interpolate the constraint points: if a peak or a hole appears, then

Page 5: Dynamic Triangulation of Variational Implicit Surfaces ...hyperfun.org/FHF_Log/Crespin_DynamicTri_IEEEVolvis03.pdf · Dynamic Triangulation of Variational Implicit Surfaces using

�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

Figure 5: A degenerate case: a tetrahedron with all positive verticescan still cross the surface if a peak occurs

Vertices Delaunay Triangulation Totalrefinement

32 10 10 20 ms135 +40 20 70 ms425 +180 50 280 ms

1,763 +810 230 1,270 ms

Table 1: Computation times for the different meshes shown on fig-ure 4 (in milliseconds)

it means that a constraint point should also be located here. Andsince constraint points belong to the tetrahedralization, this reducesthe problem.

4 Experimental results

4.1 Implementation

For the incremental Delaunay method, we chose an implementa-tion called ”Delaunay tree” [Boissonnat et al. 1990], since it offersa more intuitive programming interface compared to other pack-ages, and apparently efficient computation times. One problem wasthe necessity to add a random perturbation on all vertices (and notonly on constraint points with zero value); if not, our incremen-tal refinement process seemed to produce cocyclic configurationswhich were not handled. We also had to modify this refinementstep to prevent inserting a new vertex too close to others. There-fore, a proximity test was added. Fortunately, a proximity test wasalready performed in the Delaunay tree in order to prevent multipleinsertions of the same vertex. This was also a way for our methodto avoid too thin tetrahedra, which would have resulted in very thintriangles.

4.2 Computation cost

The final meshes obtained from the triangulation of the transversetetrahedra of figure 2 are shown on figure 4. The variational implicitsurface on this test example is defined by 23 constraint points. Table1 shows the times needed to compute the different meshes on aPentium III processor running at 500 MHz.

Let us recall that the algorithm presented here is incremental,because the same tetrahedralization is refined to produce differentmeshes. Therefore, the total computation times given on table 1are presented as the sum of different computation times, that is re-finement + triangulation (for the first mesh where no refinementis needed, this is the computation of the initial tetrahedralization).This means that from the initial tetrahedralization, we only need� ��� � � � �

milliseconds more to produce the second mesh, then� � ����� � � ��

ms more to compute the third, and so on. ThisLOD paradigm is one of the important features of our algorithm:since the tetrahedralization does not need a global recomputation ateach step, we can use it to produce meshes at different resolutions

Figure 6: A torus defined by 200 constraint points rendered at dif-ferent resolutions (a) 616 vertices, 2.39 sec. (b) 7066 vertices, 26.25sec.

with lower computation costs. Thus, a rough triangulation can bedisplayed in real time, then replaced with finer and finer approxi-mations according to different criteria. For example, the distanceto the viewer can be used to display a rough mesh if the variationalobject is very far in the scene, and can be replaced by a finer one ifthe viewer moves towards.

Figures 6 and 7 show some experiments made with variationalmodels generated from polygonal models, using the method de-scribed in [Turk et al. 2001]. Of course, the computation is farmore expensive here because of the evaluation of the function

�which involves thousands of constraint points.

4.3 Comparison with the marching cubes algo-rithm

We tried to test our software against the marching cubes implemen-tation of Bloomenthal [Bloomenthal 1994] available on the web. Interms of computation cost, the marching cubes is obviously less ex-pensive, especially because the enumeration of transverse cells iswell optimized, without the need of a refinement step. Experimentswith our test example showed that the marching cubes is approxi-mately 2 times faster, depending on the resolution.

But these experiments also exhibited some singular problems.Thus, the marching cubes algorithm cannot ensure that the meshis topologically correct, except for the highest resolutions. Low-resolution meshes shown on figure 8 exhibit undesirable holes, al-though a tetrahedral decomposition is used prior to the triangulationof transverse cubes. This is mainly due to the degenerate cases dis-cussed in section 3.5, which are not handled by the marching cubes,even for a simple example. These degenerate cases could also occurin our algorithm, but our experiments did not exhibit such problems,thanks to the interpolation property of variational surfaces.

Page 6: Dynamic Triangulation of Variational Implicit Surfaces ...hyperfun.org/FHF_Log/Crespin_DynamicTri_IEEEVolvis03.pdf · Dynamic Triangulation of Variational Implicit Surfaces using

Figure 7: A fist defined by 1500 constraint points rendered at differ-ent resolutions (a) 2402 vertices, 1 min. 22 sec. (b) 9988 vertices,5 min. 24 sec.

Figure 8: Different meshes of our test example obtained with themarching cubes algorithm at different resolutions (respectively 46,164, 488 and 1770 vertices)

Vertices Delaunay Triangulation Totalrefinement

409 60 240 300 ms486 +40 250 350 ms527 +30 290 420 ms567 +30 290 450 ms

Table 2: Computation times needed to dynamically update themeshes shown on figure 9 (in milliseconds)

5 Dynamic re-triangulation

In interactive modeling applications, the graphical user interfaceusually provides a designing tool controlling different degrees offreedom offered by the underlying geometric model. This is thecase when dealing with spline surfaces for example, with the pos-sibility to add, move or delete the control points. In that context,the triangulation method must be dynamic, that is, able to regener-ate the triangulation at interactive rates if a change has occurred inthe model, in order to let the user see the result on the triangulatedsurface in real time.

In our case, the underlying model is also controlled by controlpoints. Therefore, our triangulation algorithm should try to provideefficient recomputations by refining the tetrahedralization only inthe regions where the variational function has changed. Fortunately,our algorithm can be enhanced rapidly thanks to the underlying in-cremental Delaunay tetrahedralization.

5.1 Constraint points modification

The incremental tetrahedralization already allows adding or delet-ing constraint points; in the case of a constraint point displace-ment, it is simply removed, then inserted at its new location. Thenthese changes are processed by the Delaunay algorithm, that re-moves some tetrahedra and create new ones in the region of inter-est. Therefore, the new transverse tetrahedra created in that regionwill be automatically added to the transverse queue to see if theyneed further refinement.

5.2 Transverse tetrahedra enumeration

Since the variational surface model uses radial-basis functions withinfinite support, the regions where the surface changes are not nec-essarily close to the inserted or removed constraint points. For thisreason, we must check if the transverse tetrahedra computed priorto the changes now cross the modified surface. If they do, they arealso added to the transverse queue.

For the same reason, we must also check whether the tetrahedrathat did not cross the unchanged surface have now become trans-verse. The only way here is to extensively enumerate the transversetetrahedra, as in traditional spatial partitioning techniques: startingfrom an initial tetrahedron that crosses the surface, we track theothers by recursively inspecting its neighbors. Even if this processis tedious when starting “from scratch”, it converges rapidly in ourcase since only the regions where the surface changes have to beinspected.

5.3 Results

The dynamic algorithm was used to produce the meshes shown onfigures 9 and 10, resulting from the sequential insertion of severalconstraint points. The different computation times needed to up-date the mesh are summarized in tables 2 and 3. Of course, it isalso possible for the user to add constraint points and increase the

Page 7: Dynamic Triangulation of Variational Implicit Surfaces ...hyperfun.org/FHF_Log/Crespin_DynamicTri_IEEEVolvis03.pdf · Dynamic Triangulation of Variational Implicit Surfaces using

Figure 9: Dynamic triangulation at low resolution

Figure 10: Dynamic triangulation at high resolution

Vertices Delaunay Triangulation Totalrefinement

2,214 450 1,170 1,620 ms2,311 +60 1,310 1,820 ms2,570 +40 1,670 2,220 ms2,726 +30 1,740 2,320 ms

Table 3: Computation times needed to dynamically update themeshes shown on figure 10 (in milliseconds)

resolution, but in that case more time is needed to refine all thetransverse tetrahedra.

Still, we think that radial-basis functions with finite supportwould help to greatly reduce these computations times: onlybounded regions would have to be inspected (see conclusion).

6 Conclusion and future work

In this paper, we presented a novel method designed specificallyto triangulate variational surfaces. This method can be improved inseveral ways. The definition of a consistent bounding box enclosingthe surface is necessary: since it seems that there’s no theoreticalsolution, we think that the problem might be solved by using finitekernels for the radial-basis functions. In this context, recent work[Morse et al. 2001] might be helpful. Our method could also beenhanced by adapting the refinement step to the curvature as in themarching triangles approach: but we have to find a tradeoff betweena simple but low-cost criterion like the circumsphere’s radius and amore complex one that would produce fair meshes. We would alsolike to investigate other ways to avoid too thin triangles that appearsin our experiments.

Finite kernels could also help to speed the local re-triangulationstep in the dynamic version of our algorithm, since adding or mod-ifying one constraint point would have a limited effect on the sur-face. Therefore, we could enhance our algorithm by storing thetriangulation extracted from a transverse tetrahedron (using themethod presented in section 3.5).

Still, we think the tetrahedralization approach we used is verywell-adapted to the case of variational surfaces triangulation, sincewe totally exploit the constraint points definition of the model. Themost important property of our method is that it always producesconsistent meshes which are topologically correct and preserve theshape of the object even at low resolution. Our idea is that, usingthis level-of-detail visualization, variational surfaces become moreappealing for interactive modeling applications.

References

AKKOUCHE, S., AND GALIN, E. 2001. Adaptive implicit surfacepolygonization using marching triangles. Computer Graphic Fo-rum 20, 2, 67–80.

BLINN, J. 1982. A generalization of algebraic surface drawing.ACM Transactions on Graphics 1, 3, 235–256.

BLOOMENTHAL, J., AND SHOEMAKE, K. 1991. ConvolutionSurfaces. Computer Graphics 25, 4, 251–256.

BLOOMENTHAL, J., AND WYVILL, B. 1990. Interactive Tech-niques for Implicit Modeling. Computer Graphics 24, 2, 109–116.

BLOOMENTHAL, J., BAJAJ, C., BLINN, J., CANI-GASCUEL, M.-P., ROCKWOOD, A., WYVILL, B., AND WYVILL, G. 1997.Introduction to Implicit Surfaces. Morgan Kaufmann.

BLOOMENTHAL, J. 1988. Polygonization of implicit surfaces.Computer Aided Geometric Design 5, 4.

BLOOMENTHAL, J. 1994. An implicit surface polygonizer. InGraphics Gems IV. Academic Press, 324–349.

BOISSONNAT, J.-D., DEVILLERS, O., AND TEILLAUD, M. 1990.A dynamic construction of higher-order Voronoi diagrams andits randomized analysis. Tech. Rep. 1207, INRIA.

Page 8: Dynamic Triangulation of Variational Implicit Surfaces ...hyperfun.org/FHF_Log/Crespin_DynamicTri_IEEEVolvis03.pdf · Dynamic Triangulation of Variational Implicit Surfaces using

CRESPIN, B., GUITTON, P., AND SCHLICK, C. 1998. Effi-cient and accurate tessellation of implicit sweeps. In Proc. ofCSG’98 (Set-theoretic Solid Modelling Techniques and Applica-tions), I. Geometers, Ed., 49–63.

DESBRUN, M., TSINGOS, N., AND GASCUEL, M.-P. 1995. Adap-tive sampling of implicit surfaces for interactive modeling andanimation. In Implicit Surfaces’95 Proceedings, Eurographics,171–185.

DUCHON, J. 1977. Spline minimizing rotation-invariant semi-norms in sobolev spaces. In Constructive Theory of Functionsof Several Variables, W. Schempp and K. Zeller, Eds., vol. 571,85–100.

HALL, M., AND WARREN, J. 1990. Adaptive polygonization ofimplicitly defined surfaces. IEEE Computer Graphics and Ap-plications 10, 6, 33–42.

HARTMANN, E. 1998. A marching method for the triangulation ofsurfaces. The Visual Computer 14, 3, 95–108.

HILTON, A., STODDART, A., ILLINGWORTH, J., ANDWINDEATT, T. 1996. Marching triangles: Range image fu-sion for complex object modeling. In International Conferenceon Image Processing.

KARKANIS, T., AND STEWART, A. J. 2001. Curvature-dependenttriangulation of implicit surfaces. IEEE Computer Graphics andApplications 22, 2 (March), 60–69.

LORENSEN, W., AND CLINE, H. 1987. Marching cubes: a highresolution surface construction algorithm. Computer Graphics21, 4, 163–169.

MORSE, B., YOO, T. S., RHEINGANS, P., CHEN, D. T., ANDSUBRAMANIAN, K. 2001. Interpolating implicit surfaces fromscattered surface data using compactly supported radial basisfunctions. In Proceedings of Shape Modelling International.

NING, P., AND BLOOMENTHAL, J. 1993. An evaluation of im-plicit surface tilers. IEEE Computer Graphics and Applications13, 6, 33–41.

PREPARATA, F., AND SHAMOS, M. 1985. Computational Geom-etry: an Introduction. Springer-Verlag.

RODRIAN, H.-C., AND MOOCK, H. 1996. Dynamic triangula-tion of animated skeleton-based implicit surfaces. In ImplicitSurfaces’96 Proceedings, Eurographics, 37–52.

SHEWCHUK, J. R., 1999. Lecture notes on delaunay mesh genera-tion (available on citeseer.nj.nec.com/shewchuk99lecture.html).

SHU, R., ZHOU, C., AND KANKANHALLI, M. 1995. Adaptivemarching cubes. The Visual Computer 11, 4, 202–217.

SZELISKI, R., AND TONNESEN, D. 1992. Surface modeling withoriented particle systems. Computer Graphics (SIGGRAPH ’92Proceedings) 26, 2, 185–194.

TURK, G., AND O’BRIEN, J. F. 1999. Variational implicit sur-faces. Tech. Rep. GIT-GVU-99-15, Georgia Institute of Tech-nology.

TURK, G., DINH, H. Q., O’BRIEN, J., AND YNGVE, G. 2001.Implicit surfaces that interpolate. In Proceedings of Shape Mod-elling International, 62–71.

VAN OVERVELD, C., AND WYVILL, B. 1993. Shrinkwrap : anadaptive algorithm for polygonizing and implicit surface. Tech.rep., University of Calgary.

VELHO, L., DE FIGUEIREDO, L. H., AND GOMES, J. 1999. Aunified approach for hierarchical adaptive tesselation of surfaces.ACM Transactions on Graphics 18, 4, 329–360.

WITKIN, A., AND HECKBERT, P. 1994. Using particles to sampleand control implicit surfaces. In SIGGRAPH’94 Proceedings.

WU, S.-T., AND DE GOMENSORO MALHEIROS, M. 1999. Onimproving the search for critical points of implicit functions. InImplicit Surfaces.

WYVILL, G., MCPHEETERS, C., AND WYVILL, B. 1986. Datastructure for soft objects. The Visual Computer 2, 4, 227–234.