Tetrahedral Mesh Generation by Delaunay Refinement

Jonathan Richard Shewchuk School of Carnegie Mellon University Pittsburgh, Pennsylvania 15213 [email protected]

¢¡¤£¦¥¨§ ©¤ ¥ geometry community in the early 1990s. The first provably good Delaunay refinement algorithm is due to Paul Chew [2], and takes Given a complex of vertices, constraining segments, and planar as its input a set of vertices and segments that define the region to be straight-line constraining facets in  , with no input angle less than meshed. By inserting additional vertices, Chew’s algorithm gener-

 , an algorithm presented herein can generate a conforming mesh ates a two-dimensional constrained Delaunay whose

 

  $&% of Delaunay tetrahedra whose circumradius-to-shortest edge ratios angles are bounded between # and . Dey, Bajaj, and Sug- are no greater than two. The sizes of the tetrahedra can provably ihara [5] and Chew [4] generalize Chew’s algorithm to three di- grade from small to large over a relatively short distance. An im- mensions, but only for unconstrained point set inputs. All three plementation demonstrates that the algorithm generates excellent algorithms produce uniform meshes, whose triangles or tetrahedra meshes, generally surpassing the theoretical bounds, and is effec- are of roughly the same size. tive in eliminating tetrahedra with small or large dihedral angles, Uniform meshes sometimes have many more triangles or tetra- although they are not all covered by the theoretical guarantee. hedra than are necessary, and thus impose an excessive computa-

tional load upon the applications that make use of them. Jim Rup-

   ¥¨§  ¥"! pert [13] and Paul Chew [3] have each proposed two-dimensional Delaunay refinement algorithms that produce meshes of well-shaped Meshes of triangles or tetrahedra have many applications, including triangles whose sizes are graded, and Ruppert has furthermore pro- interpolation, rendering, and numerical methods such as the finite ven that his algorithm produces meshes that are nicely graded in a element method. Most such applications demand more than just a theoretical sense described in Section 7. triangulation of the object or domain being rendered or simulated. These algorithms are successful because they exploit several To ensure accurate results, the triangles or tetrahedra must be “well- favorable characteristics of Delaunay triangulations. Delaunay tri- shaped,” having small aspect ratios or bounds on their smallest and angulations have been extensively studied, and good algorithms are largest angles. available. Inserting a vertex is a local operation, and is inexpensive Mesh generation algorithms based on Delaunay refinement are except in unusual cases. In two dimensions, Delaunay triangula- effective both in theory and in practice. Delaunay refinement algo- tions maximize the minimum angle, compared with all other trian- rithms operate by maintaining a Delaunay or constrained Delaunay gulations of the same vertex set [8]. triangulation, which is refined by inserting carefully placed vertices The greatest advantage of Delaunay triangulations is less ob- until the mesh meets constraints on triangle quality and size. vious. The central question of any Delaunay refinement algorithm It is difficult to trace who first used Delaunay triangulations is “where should the next vertex be inserted?” As Section 3 will for finite element meshing, and equally difficult to tell where the demonstrate, a reasonable answer is “as far from other vertices as suggestion arose to use the triangulation to guide vertex creation. possible.” If a new vertex is inserted too close to another vertex, These ideas have been intensively studied in the engineering com- the resulting short edge will engender thin triangles or tetrahedra. munity since the mid-1980s; for instance, Frey [7] eliminates poor- Because a Delaunay triangle has no vertices in its circumcircle ly shaped triangles from a triangulation by inserting new vertices at (and a Delaunay has no vertices in its circumsphere), their circumcenters (defined in Section 2), whereas Weatherill [17] a is an ideal search structure for finding inserts new vertices at their centroids. points that are far from other vertices. These ideas bore vital theoretical fruit when the problem of Herein, I build upon the algorithmic and analytical framework mesh generation began to attract interest from the computational of Ruppert to design a new tetrahedral Delaunay refinement algo- rithm. This algorithm generates meshes whose tetrahedra have Supported in part by the Advanced Research Projects Agency and Rome circumradius-to-shortest edge ratios (defined shortly) no greater

Laboratory, Air Force Materiel Command, USAF under agreement number ' than the bound ')(*% . Upon relaxing to be greater than two, one F30602-96-1-0287, in part by the National Science Foundation under Grant can also guarantee good grading. My algorithm is distinguished CMS-9318163, and in part by a grant from the Intel Corporation. from those of Dey et al. and Chew by this guarantee of good grad- ing (as opposed to uniform meshes), and by its ability to handle the rather general constrained inputs described in Section 4 (as opposed to unconstrained sets of vertices). The main theoretical deficiency

of the algorithm is its requirement that incident input segments and  facets be separated by angles of at least + . (The requirements are less onerous in practice.) This deficiency can be partly ameliorated; Section 9 includes a brief summary of the steps involved. t v v

Needle / Wedge Cap Sliver

Figure 1: Tetrahedra with poor angles. Needles and wedges have edges of greatly disparate length; caps have a large solid angle; sliv- ers have neither, but can have good circumradius-to-shortest edge Figure 2: Any triangle whose circumradius-to-shortest edge ratio is ratios. larger than some bound 1 is split by inserting a vertex at its cir- cumcenter. The Delaunay property is maintained, and the triangle is

thus eliminated. Every new edge has length at least 1 times that of shortest edge of the poor triangle. Two other tetrahedral mesh generation algorithms (not based on Delaunay refinement) have provable bounds. The octree-based algorithm of Mitchell and Vavasis [11, 12] is a theoretical tour de radius-to-shortest edge ratios typically arise in small numbers in force, obtaining provable bounds on dihedral angles and grading, practice. As Section 8 will demonstrate, the worst slivers can of- but its bounds are too weak to offer any practical reassurance (and ten be removed by Delaunay refinement, even if there is no the- have not been explicitly stated). An algorithm by Miller, Talmor, oretical guarantee. Meshes with bounds on the circumradius-to- Teng, Walkington, and Wang [10] generates its final vertex set be- shortest edge ratios of their tetrahedra are an excellent starting point fore triangulating it. Their algorithm has provable bounds similar for mesh smoothing and optimization methods that remove slivers to those of the algorithm described herein, but the algorithm herein and otherwise improve the quality of an existing mesh [6]. Even has the opportunity to stop early if fewer vertices are needed than if slivers are not removed, the Voronoi dual of a tetrahedraliza- the theory suggests. As a result, the present algorithm typically tion with bounded circumradius-to-shortest edge ratios has nicely uses fewer vertices by several orders of magnitude; details are pro- rounded cells, and is sometimes ideal for use in the control volume vided elsewhere [14].

method [9].

¢¡ ¤©¤£ ! ¥¦¥¨§ ©©£  § ©  § ! £ ! ©£

2435  5    

©768©*¥ -©©79© ! ;:<©=£ ©¤ ©*¥7>?©*@ ©=A© ¥

Miller, Talmor, Teng, and Walkington [9] have pointed out that the The central operation of Chew’s, Ruppert’s, Dey’s, and my own most natural and elegant measure for analyzing Delaunay refine- Delaunay refinement algorithms is the insertion of a vertex at the ment algorithms is the circumradius-to-shortest edge ratio of a tri- circumcenter of a triangle or tetrahedron of poor quality. The De- angle or tetrahedron. The circumsphere of a is the unique launay property is maintained, perhaps by the Bowyer/Watson al- circle or sphere that passes through all its vertices. The circumcen- gorithm for the incremental update of Delaunay triangulations [1, ter and circumradius of a simplex are the center and radius of its 16]. The poor simplex cannot survive, because its circumsphere is circumsphere, respectively. The quotient of a simplex’s circumra- no longer empty. For brevity, the act of inserting a vertex at a sim- dius and the length of its shortest edge is the metric that is naturally plex’s circumcenter is called splitting a simplex. If poor simplices optimized by Delaunay refinement algorithms. One would like this are split one by one, either all will eventually be eliminated, or the ratio to be as small as possible. algorithm will run forever. But does optimizing this metric aid practical applications? In The main insight of all these Delaunay refinement algorithms two dimensions, the answer is yes. A triangle’s circumradius-to-

is that Delaunay refinement is guaranteed to terminate if the notion

 shortest edge ratio  is related to its smallest angle by the

of “poor quality” includes only simplices that have a circumradius-

 ( $ ¤! %#"%$'&( *) formula  . The smaller a triangle’s ratio, the

to-shortest edge ratio larger than some appropriate bound ' . The larger its smallest angle. Chew’s two-dimensional algorithms pro-

only new edges created by the Delaunay insertion of a vertex B are

duce meshes whose triangles’ circumradius-to-shortest edge ratios B edges connected to B (see Figure 2). Because is the circumcen-

are bounded below one, and hence their angles are bounded be-

 

ter of some Delaunay simplex C , and there were no vertices inside $&%

tween # and . Ruppert’s algorithm can produce meshes B

the circumsphere of C before was inserted, no new edge can be %

whose triangles’ ratios are bounded below + , and hence their an-

C C

 

-, . , 0

 shorter than the circumradius of . Because has a circumradius-

$ #/ gles range between % and . to-shortest edge ratio larger than ' , every new edge has length at

In three dimensions, however, a mesh of tetrahedra whose cir- C least ' times that of the shortest edge of . cumradius-to-shortest edge ratios are bounded is not entirely ade- Ruppert’s Delaunay refinement algorithm [13] employs a bound

quate for the needs of interpolation. As Dey et al. illustrate, most

+

( % of ' , and Chew’s second Delaunay refinement algorithm [3]

tetrahedra with poor angles have circumcircles much larger than

( $ employs a bound of ' . Chew’s first Delaunay refinement al- their shortest edges, including the needle, wedge, and cap illus- gorithm [2] splits any triangle whose circumradius is greater than trated in Figure 1, but there is one type called a sliver or kite tetra- the length of the shortest edge in the entire mesh, thus achieving

hedron that does not. The canonical sliver is formed by arranging

( $ a bound of ' , but forcing all triangles to have uniform size. four vertices, equally spaced, around the equator of a sphere, then In the same manner, the three-dimensional algorithms of Dey et al.

perturbing one of the vertices slightly off the equator. A sliver can

( %

and Chew achieve a bound of ' . With these bounds, every

¤+ % have a circumradius-to-shortest edge ratio as low as $ , yet be new edge created is at least as long as some other edge already in considered awful by most other measures, because its volume and the mesh. Hence, no vertex is ever inserted closer to another ver-

its shortest altitude can be arbitrarily close to zero, and its dihedral

  

 tex than the length of the shortest edge in the initial triangulation. / angles can be arbitrarily close to and $ . Delaunay refinement must eventually terminate, because the aug- Despite slivers, Delaunay refinement methods are valuable for mented triangulation will run out of places to put vertices. generating three-dimensional meshes. Slivers having good circum- F S

Figure 4: The orthogonal projections of points and sets of points (a) onto facets and segments.

ment is initially represented by one subsegment, until it is subdi- vided.) The bold edges of the tetrahedralization illustrated in Fig- ure 3(b) are subsegments; other edges are not. Similarly, each facet is subdivided into triangular faces called subfacets. All of the tri- angular faces visible in Figure 3(b) are subfacets, but most of the faces in the interior of the tetrahedralization are not. Any vertex inserted into a segment or facet during Delaunay refinement remains there permanently. However, keep in mind that the edges that partition a facet into subfacets are not permanent, are not treated like subsegments, and are subject to flipping according (b) to the Delaunay criterion. Many approaches to tetrahedral mesh generation permanently Figure 3: (a) Any facet of a PLC may contain holes, slits, and ver- triangulate the input facets as a separate step prior to tetrahedral- tices; these may support intersections with other facets and seg- izing the interior of a region. The problem with this approach ments or allow a user of the finite element method to apply boundary is that these independent facet triangulations may not be collec- conditions. (b) When a PLC is tetrahedralized, each facet of the PLC tively ideal for forming a good tetrahedralization. The algorithm is partitioned into triangular subfacets, which respect the holes, slits, discussed herein uses an alternative approach, wherein facet trian- and vertices. gulations are refined in conjunction with the tetrahedralization. The tetrahedralization process is not beholden to poor decisions made earlier. This idea generalizes without change to higher dimensions. Un-

fortunately, my description of Delaunay refinement thus far has a

5  

 §¥   ©¤£¡ §  © ¥"!  £ gaping hole: mesh boundaries have not been accounted for. The flaw in the procedure presented above is that the circumcenter of a poor simplex might not lie in the mesh at all. Delaunay refinement The following sections use the notion of the orthogonal projection

of a geometric entity onto a line or plane. Given a facet or subfacet

 algorithms, including those of Chew, Ruppert, and Dey et al., are 

 

and a point , the orthogonal projection proj ) of onto distinguished primarily by how they handle boundaries. 

is the point that is coplanar with and lies in the line that passes





¡ ! ©+ ©£¢ ! £ ©¥¤+! ©+©+§§¦ £ ©£¨*©£ through  orthogonally to , as illustrated in Figure 4. The projec-

tion exists whether or not it falls in  .

?!  Similarly, the orthogonal projection proj ) of onto a seg-

The input upon which my three-dimensional Delaunay refinement  ment or subsegment  is the point that is collinear with and lies

algorithm operates is called a piecewise linear complex (PLC). See  in the plane through  orthogonal to . Miller, Talmor, Teng, Walkington, and Wang [10] for a definition in 

Sets of points may be projected as well. If and  are facets, ©

. In three dimensions, a PLC is a set of vertices, segments, and

 

!  ! ¥ "!

) then proj ) is the set proj . facets. A segment is a constraining edge that must be represented

by a sequence of contiguous edges in the final mesh. A facet is a

# 2    5

: : ©=£ ©  ©*¥7> ©@ ©=A© ¥ £   § ! ¥  constraining planar surface that must be represented by a set of tri- angular faces in the final mesh. A facet can be quite complicated in shape; it is a (not necessarily convex), possibly augmented In this section, I describe a three-dimensional Delaunay refinement by holes, slits, and vertices in its interior. Figure 3(a) demonstrates algorithm that produces well-graded tetrahedral meshes satisfying some of the possibilities. any circumradius-to-shortest edge ratio bound greater than two.

A piecewise linear complex is required to have the following The algorithm takes a facet-bounded PLC as its input. Tetrahe-

properties. First, contains both endpoints of each segment of . dralized and untetrahedralized regions of space must be separated

Similarly, facets of are segment-bounded: for any facet in , by facets so that, in the final mesh, any triangular face not shared every edge and vertex of the facet must be a segment or vertex of by two tetrahedra is a subfacet.

. The first step is to form a Delaunay tetrahedralization of the

Second, is closed under intersection. For example, if two input vertices. Some input segments and facets might be miss-

facets of intersect at a line segment, that line segment must be a ing (or partly missing) from this mesh. The tetrahedralization is

segment of . Third, if a segment of intersects a facet of at refined by inserting additional vertices into the mesh, using the a point in the segment’s interior, then the segment must be entirely Bowyer/Watson algorithm to maintain the Delaunay property, until contained in the facet. all segments and facets are respected and all constraints on tetrahe- The process of tetrahedral mesh generation necessarily divides dron quality are met. Vertex insertion is governed by three rules. each segment into smaller edges called subsegments. (Each seg- Figure 6: Missing segments are recovered through the same recur- sive splitting procedure used for encroached subsegments that aren’t missing. In this sequence of illustrations, the thin line represents a segment missing from the triangulation. Segment recovery is illus- trated here in two dimensions for clarity, but operates no differently in three.

(a) (b) croach upon any subsegment, it is not inserted; instead, all the subsegments it would encroach upon are split.

A tetrahedron is said to be skinny if its circumradius-to-short-

est edge ratio is larger than some bound ' . Each skinny tetrahedron is normally split by inserting a vertex at its cir- cumcenter, thus eliminating the tetrahedron; see Figure 5(c). However, if the new vertex would encroach upon any sub- segment or subfacet, then it is not inserted; instead, all the subsegments it would encroach upon are split. If the skinny tetrahedron is not eliminated as a result, then all the subfacets its circumcenter would encroach upon are split. (c) Encroached subsegments are given priority over encroached sub- Figure 5: Three operations for three-dimensional Delaunay refine- facets, which have priority over skinny tetrahedra. These encroach- ment. (a) Splitting an encroached subsegment. The original subseg- ment is encroached because there is a vertex in its diametral sphere. ment rules are intended to recover missing segments and facets, and In this example, the two subsegments created by bisecting the orig- to ensure that all vertex insertions are valid. Although the proof is inal subsegment are not encroached. (b) Splitting an encroached omitted here, one can show that if there are no encroached subseg- subfacet. The triangular faces shown are subfacets of a larger facet, ments, then each subfacet circumcenter lies in the containing facet; with tetrahedra (not shown) atop them. In this example, all equato- and if there are no encroached subfacets, then each tetrahedron cir- rial spheres (included the two illustrated) are empty after the split. cumcenter lies in the mesh. (c) Splitting a skinny tetrahedron. Because encroached subsegments have priority, the algorithm begins by recovering all the segments that are missing from the initial tetrahedralization. Each missing segment is bisected by in- The diametral sphere of a subsegment is the (unique) small- serting a vertex into the mesh at the midpoint of the segment (more est sphere that encloses the subsegment. Following Rup- accurately, at the midpoint of the place where the segment should pert [13], a subsegment is said to be encroached if a vertex be). After the mesh is adjusted to maintain the Delaunay prop- other than its endpoints lies inside or on its diametral sphere. erty, the two resulting subsegments may appear in the mesh. If not, A subsegment may be encroached whether or not it actually the procedure is repeated recursively for each missing subsegment appears as an edge of the tetrahedralization. It is a property until the original segment is represented by a contiguous linear se- of Delaunay tetrahedralizations that if a subsegment is miss- quence of edges of the mesh, as illustrated (in two dimensions) in ing from the tetrahedralization, then it is encroached. Any Figure 6. We are assured of eventual success because the Delau- encroached subsegment that arises is immediately split into nay triangulation always connects a vertex to its nearest neighbor; two subsegments by inserting a vertex at its midpoint, as il- once the spacing of vertices along a segment is sufficiently small, lustrated in Figure 5(a). These subsegments may or may not its entire length will be represented. In the engineering literature, be encroached themselves; splitting continues until no sub- this process is sometimes called stitching. segment is encroached. When no encroached subsegment remains, missing facets are

recovered in an analogous manner. The main complication is that The equatorial sphere of a triangular subfacet is the (unique) if a facet is missing from the mesh, it is difficult to say what its smallest sphere that passes through the three vertices of the subfacets are. With segments there is no such problem; if a segment subfacet. A subfacet is encroached if a non-coplanar vertex is missing from the mesh, and a vertex is inserted at its midpoint, lies inside or on its equatorial sphere. It is a property of De- one knows unambiguously where the two resulting subsegments launay tetrahedralizations that if a subfacet does not appear are. But how may we identify subfacets that do not yet exist? in the tetrahedralization, and it is not covered by other faces The solution is straightforward. For each facet, it is necessary that share the same equatorial sphere, then it is encroached. to maintain a two-dimensional Delaunay triangulation of its ver- (The question of what subfacets should not be missing from tices, independently from the tetrahedralization in which we hope the mesh will be considered shortly.) Each encroached sub- its subfacets will eventually appear. By comparing the triangles facet is normally split by inserting a vertex at its circumcen- of a facet’s triangulation against the faces of the tetrahedralization, ter; see Figure 5(b). However, if the new vertex would en- one can identify subfacets that need help in forcing their way into Facet Triangulation equatorial S diametral sphere sphere of s of f f s p c proj (p) F F

PLC Mesh inside outside ¡

Figure 8: If a vertex encroaches upon a Delaunay subfacet of a

¢ ¢

facet ¢ , but its projection into the plane containing lies outside ,

£ ¢ then encroaches upon some subsegment of as well.

Unfortunately, if a facet’s Delaunay triangulation is not unique because of cocircularity degeneracies, then the facet might be rep- resented in the tetrahedralization by faces that do not match the independent facet triangulation. An implementation must detect these cases and correct the triangulation so that it matches the tetra- hedralization. Figure 7: The top illustrations depict a rectangular facet and its tri- angulation. The bottom illustrations depict the facet’s position as an When no encroached subsegment or subfacet remains, every interior boundary of a PLC, and its progress as it is inserted into the input segment and facet is represented by a union of edges or faces tetrahedralization. Most of the vertices and tetrahedra of the mesh of the mesh. The first time the mesh reaches this state, all external are omitted for clarity. The facet triangulation and the tetrahedral- tetrahedra (lying in the convex hull of the input vertices, but outside ization are maintained separately. Shaded triangular subfacets in the region enclosed by the facet-bounded PLC) are removed prior the facet triangulation (top center) are missing from the tetrahedral- to splitting any skinny tetrahedra. This measure prevents problems ization (bottom center). The bold dashed line (bottom center) rep- that might arise if superfluous skinny tetrahedra are split, such as resents a tetrahedralization edge that passes through the facet. A overrefinement and failure to terminate because of spurious small missing subfacet is forced into the mesh by inserting a vertex at its angles formed between the PLC and its convex hull. circumcenter (top right and bottom right). The vertex is indepen- dently inserted into both the triangulation and the tetrahedralization. One further amendment to the algorithm is necessary to obtain the best possible bound on the circumradius-to-shortest edge ratios of the tetrahedra. When several encroached subfacets exist, they

should not be split in arbitrary order. If a vertex  encroaches upon

the mesh. For each triangular subfacet in a facet triangulation, look 



¤ !

for a matching face in the tetrahedralization; if the latter is miss- a subfacet of a facet , but the projected point proj ) does not ¤ lie in ¤ , then splitting is not the best choice. One can show (with ing, insert a vertex at the circumcenter of the subfacet (subject to 

rejection if subsegments are encroached), as illustrated in Figure 7. the following lemma) that there is some other subfacet ¥ of that is



 ! The new vertex is independently inserted into both the facet trian- encroached upon by and contains proj ) . (The lemma assumes gulation and the tetrahedralization. Similarly, the midpoint of an that there are no encroached subsegments in the mesh, as they have encroached subsegment is independently inserted into the tetrahe- priority.) A better bound is achieved if the algorithm splits ¥ first dralization and into each facet triangulation that contains the sub- and delays the splitting of ¤ indefinitely. segment.

Lemma 1 (Projection Lemma) Let ¤ be a subfacet of the Delau- In essence, the same procedure is used to recover missing seg- 

nay triangulated facet . Suppose that ¤ is encroached upon by

ments. However, the process of forming a one-dimensional trian- 

some vertex  , but does not encroach upon any subsegment of 

gulation is so simple that it passes unnoticed. 



 ! . Then proj ) lies in the facet , and encroaches upon a

Which vertices of the tetrahedralization need to be considered 



! subfacet of that contains proj ) . in a facet triangulation? If a facet appears in a Delaunay tetrahe-

dralization as a union of faces, then the triangulation of the facet is 



! Proof: First, I prove that proj ) lies in . Suppose for the sake

determined solely by the vertices of the tetrahedralization that lie 



! ¦ of contradiction that proj ) lies outside the facet . Let be

in the plane of the facet. If a vertex lies near a facet, but is not  ¦ the centroid of ¤ ; clearly lies inside . Because all facets are

coplanar with the facet, it may cause a subfacet to be missing (as



! ¦ segment-bounded, the line segment connecting to proj ) must

in Figure 7, bottom center), but it cannot otherwise affect the shape  ¨ intersect some subsegment § in the boundary of . Let be the of the triangulation. If a facet appears as a union of faces in a De-  plane that contains § and is orthogonal to , as illustrated in Fig- launay tetrahedralization, then those faces form a two-dimensional ure 8. Delaunay triangulation of the facet. 

Because ¤ is a Delaunay subfacet of , its circumcircle (in the  Furthermore, because each facet is segment-bounded, and seg- plane containing  ) encloses no vertex of . However, its equa-

ments are recovered (in the tetrahedralization) before facets, each ¤ torial sphere may enclose vertices—including  —and might not facet triangulation can safely ignore vertices that lie outside the appear in the tetrahedralization.

facet (coplanar though they may be). The requirements set forth



 ! ¨ It is apparent that and proj ) lie on the same side of , be- in Section 4 ensure that all of the vertices and segments of a facet cause the projection is defined orthogonally to  . Say that a point

must be explicitly identified in the input PLC. The only additional

¨ ¦ ¨ is inside ¨ if it is on the same side of as , and outside if it is

vertices to be considered are those that were inserted in segments to



 ! ¤ on the same side as and proj ) . The circumcircle of cannot

help recover those segments and other facets. The algorithm main-  ¤ enclose the endpoints of § , because is Delaunay in . Further-

tains a list of the vertices on each segment, ready to be called upon  ¤ more, the circumcenter of ¤ lies in ; otherwise, a vertex of when a facet triangulation is initially formed. would encroach upon some boundary segment of  . It follows that E equatorial equatorial sphere sphere of f of g f e p c g

F ¡ Figure 9: If a vertex encroaches upon a subfacet of a Delaunay

triangulated facet ¢ , but does not encroach upon any subsegment

¢ of ¢ , then encroaches upon the subfacet(s) of that contains

Figure 10: The radius of each disk illustrated is the local feature size

¢¡ ¤£ proj .

of the point at its center.



+ ¨ the portion of ¤ ’s equatorial sphere outside lies entirely inside or a dihedral angle of at least . Thanks to the Projection Lemma, on the diametral sphere of § (as the figure demonstrates). Because

this rule ensures that no vertex in the interior of one segment or

¤   is inside or on the equatorial sphere of , also lies inside or

facet can cause the splitting of a subsegment or subfacet in an inci-  on the diametral sphere of § , contradicting the assumption that  dent segment or facet, except that a vertex in the interior of a facet encroaches upon no subsegment of .

may encroach upon a subsegment of that facet. In theory (and more



! ¥ It follows that proj ) must be contained in some subfacet

 so in practice), the projection condition can be relaxed somewhat,



! of . (The containment is not necessarily strict; proj ) may fall  although the analysis becomes too complicated to present here. on an edge interior to , and be contained in two subfacets.) To Ruppert’s algorithm and the three-dimensional algorithm de- complete the proof of the lemma, I shall show that  encroaches

scribed here produce nicely graded meshes, in the sense that a small

¤ ( ¥ upon ¥ . If the result follows immediately, so assume that

feature in one part of a mesh does not unreasonably reduce the edge

¦¥( ¥ ¤ .

lengths at other, distant parts of the mesh. To formalize this idea, ¤ Again, let ¦ be the centroid of . The line segment connect-

Ruppert introduces a function called the local feature size, defined



¦ ! § ¥ ing to proj ) must intersect some edge of the subfacet , as

on all points. §

illustrated in Figure 9. Let ¨ be the plane that contains and is



!  Given a PLC , the local feature size lfs ) at any point

orthogonal to . Say that a point is on the ¥ -side if it is on the 

is the radius of the smallest ball centered at  that intersects two ¥ same side of ¨ as . Because the triangulation of is Delaunay,

nonincident features of (where each of the two features might be ¥ the portion of ¤ ’s equatorial sphere on the -side lies entirely inside

a vertex, segment, or facet). Figure 10 illustrates the notion in two

 ¥ or on the equatorial sphere of ¥ . The point lies on the -side or in

dimensions (with no facets) by giving examples of such balls for a



! ¨ ¥  (because proj ) lies in ), and lies inside or on the equatorial variety of points.

sphere of ¤ , so it must also lie inside or on the equatorial sphere of

!

The function lfs ) is continuous and has the property that its

¥ © ¥ , and hence encroaches upon .

directional derivatives (where they exist) are bounded in the range





$ $

If  encroaches upon some subfacet of but no subfacet of , as the following lemma shows. This property sets a lower





!  contains proj ) , then also encroaches upon some boundary bound (within a constant factor to be derived shortly) on the rate at subsegment of  . Because encroached subsegments have priority, which edge lengths grade from small to large as one moves away

subsegments encroached upon by  are split until none remains. from a small feature.

The Projection Lemma guarantees that any subfacets of  that were



encroached upon by  are eliminated in the process. Lemma 2 (Ruppert [13]) For any PLC , and any two points



B ! B !  B

)¢ ) 



! ¥ On the other hand, if proj ) lies in a subfacet of , and and , lfs lfs .

no subsegment is encroached, then splitting ¥ is a good choice. As

! 

a result, several new subfacets will appear, at least one of which Proof: The ball having radius lfs ) centered at intersects two

!  B

 

nonincident features of . The ball having radius lfs )



! contains proj ) ; if this subfacet is encroached, then it is split

centered at B contains the prior ball, and thus also intersects the



! as well, and so forth until the subfacet containing proj ) is not

encroached. The Projection Lemma guarantees that any other sub- same two features. Hence, the smallest ball centered at B that 

contains two nonincident features of has radius no larger than

facets of that were encroached upon by  are eliminated in the

!  B ©

 

process. lfs ) .

!

With each vertex B , associate an insertion radius equal to

3    

¡ §  = = ©¤§  ! ©¥"!  ©    §©¤ !  B the length of the shortest edge connected to B immediately after

is introduced into the tetrahedralization. Consider what this means

B 

The proof of termination for this algorithm is related to that of Rup- in each possible circumstance. If is an input vertex, then is B

pert’s. Ruppert’s analysis requires that any two incident input seg- the Euclidean distance between B and the input vertex nearest .

¤

! ments be separated by an angle of at least . Similarly, the three- If B is a vertex inserted to split a subsegment or subfacet, then

dimensional analysis requires that the input PLC satisfy the follow- is the distance between B and the nearest encroaching mesh ver-

ing projection condition: if two constraints (each being a segment tex. If there is no encroaching vertex in the mesh (a vertex was

 or facet) in intersect, then the orthogonal projection of either one considered for insertion but rejected as encroaching), then is the onto the other cannot intersect the interior of the other. (Here, “in- radius of the diametral/equatorial sphere of the encroached subseg-

terior” is defined to exclude all boundaries, including isolated slits ment/subfacet. If B is a vertex inserted at the circumcenter of a  and input vertices in the interior of the facet.) For example, if two skinny tetrahedron, then is the circumradius of the tetrahedron. convex facets intersect along a segment, they must be separated by If a vertex is considered for insertion but rejected because of an p encroachment, its insertion radius is defined the same way, even r > Br though it is never actually inserted. v p

Each vertex B , whether inserted or rejected, has a parent vertex p rp

 ! B B ) , unless is an input vertex. Intuitively, for any non-input rp

v

B  ! B vertex , ) is the vertex that is “responsible” for the insertion of rv

B . v rv

If B is a vertex inserted to split a subsegment or subfacet, then

 ! B ) is the encroaching vertex, whether that vertex is inserted or

rejected. If there are several encroaching vertices, choose the one rp = 2rv B

nearest B . If is a vertex inserted (or rejected) at the circumcen- (a) (b)

 ! B ter of a skinny tetrahedron, then ) is the most recently inserted

endpoint of the shortest edge of that tetrahedron. p

B  (  ! B

Lemma 3 Let be a vertex of the mesh, and let ) be its rp

 ! B  ¦¥

¡ ) ¢ ¤£

parent, if one exists. Then either lfs , or , where

B (*' f

£ if is the circumcenter of a skinny tetrahedron; v rv

¨ ©

B ( § £ if is the midpoint of an encroached subsegment or the circumcenter of an encroached subfacet. rp = 2rv

Proof: If B is an input vertex, there is another input vertex a dis- (c)

 B ! B  ¢ tance of from , so lfs ) , and the theorem holds.

If B is inserted in an encroached subsegment or subfacet, and Figure 11: The relationship between the insertion radii of a child and

its parent  is an input vertex or lies on another subsegment or sub- its parent. (a) When a skinny tetrahedron is split, the child’s insertion 1 facet, then there are two cases to consider. The case in which B radius is at least times larger than that of its parent. (b) When a subsegment is encroached upon by a circumcenter, the child’s inser-

lies in a boundary segment of a facet that contains  will be consid- 

tion radius may be a factor of smaller than its parent’s. (c) When  ered shortly. Otherwise, B and must lie on nonincident features

a subfacet is encroached upon by the circumcenter of a skinny tetra-

! B 

¢

(because satisfies the projection condition), so lfs ) .  hedron, the child’s insertion radius may be a factor of smaller If B is inserted at the circumcenter of a skinny tetrahedron, then

than its parent’s.

 (  ! B its parent ) is the most recently inserted endpoint of the

shortest edge of the tetrahedron; see Figure 11(a). Hence, the ¥

length of the shortest edge of the tetrahedron is at least  . Be- 

cause the tetrahedron is skinny, its circumradius-to-shortest edge 

¥

 ¢ '  ratio exceeds ' , so its circumradius is .

Tetrahedron 

If B is inserted at the midpoint of an encroached subsegment  § , and its parent is a tetrahedron/subfacet circumcenter that was Circumcenters

considered for insertion but rejected because it encroaches upon





 

 § § , then lies inside or on the diametral sphere of . Because the tetrahedralization/facet triangulation is Delaunay, the circum- 

sphere/circumcircle centered at  encloses no vertices, and in par- Subfacet



§  ¥ + %* ticular does not enclose the endpoints of . Hence,  ; see Circumcenters

Figure 11(b) for an example where the relation is equality.

 

B

  

If is inserted at the circumcenter of an encroached subfacet 

  ¤ , and its parent is a tetrahedron circumcenter that was consid-

ered for insertion but rejected because it encroaches upon ¤ , then Subsegment

  ¤  lies inside or on the equatorial sphere of . Because the tetrahe- Midpoints dralization is Delaunay, the circumsphere centered at  encloses no

vertices, including the vertices of ¤ . Recall that the algorithm splits

¤ ¤ !

only if contains proj ) . Given these facts, one can show that Figure 12: Dataflow diagram illustrating the worst-case relation be-

¦¥ + % 

 ; see Figure 11(c) for an example where the relation is tween a vertex’s insertion radius and the insertion radii of the chil- dren it begets. If no cycle has a product smaller than one, Delaunay equality. © refinement will terminate. Lemma 3 limits how quickly the insertion radius can decrease as one traverses a sequence of descendants of a vertex. If vertices with ever-smaller insertion radii cannot be generated, then edges A guarantee of termination alone is not satisfying when a graded shorter than existing ones cannot be introduced, and Delaunay re- mesh is required. What follows is a proof that each edge of the out- finement is guaranteed to terminate. Figure 12 expresses this notion put mesh has length proportional to the local feature sizes of its as a dataflow graph. Mesh vertices are divided into four classes: in- endpoints. Hence, edge lengths are determined by local consider- put vertices (which are omitted from the figure because they cannot ations; features lying outside the ball that defines the local feature contribute to cycles), vertices inserted into segments, vertices in- size of a point can only weakly influence the sizes of edges that serted into facet interiors, and vertices inserted at circumcenters of contain that point. tetrahedra. Labeled arrows indicate how a vertex can cause the in- Lemma 3 was concerned with the relationship between the in-

sertion of a child whose insertion radius is some factor times that sertion radii of a child and its parent; the next lemma is concerned

¥

¦  

of its parent. If the graph has no cycle whose product is less than lfs  lfs

B   with the relationship between  and . For any vertex ,

one, termination is guaranteed. This goal is achieved by choosing

¦

lfs 

(

 % ' to be at least . define . Think of as the one-dimensional density

,

!# + % '

 ) B

of vertices near B when is inserted, weighted by the local fea-





( © %

ture size. One would like this density to be as small as possible. '

$

 for any input vertex, but tends to be larger for a vertex

inserted late. Theorem 6 (Ruppert [13]) For any vertex B of the output mesh,

¦

lfs  

the distance to its nearest neighbor  is at least .

B  (  ! B

) §

Lemma 4 Let be a vertex with parent . Suppose that 



¢

 ¦¥ $

¢ ¤£  ¡ 

(following Lemma 3). Then . 

¤£

Proof: Inequality 3 indicates that is larger than and ,



lfs 



B B

 

so Theorem 5 shows that  for any vertex . If was

! B ! B 

 )  

Proof: By Lemma 2, lfs ) lfs . By definition, the

¦



 B    

insertion radius is  if is a mesh vertex, whereas if is lfs

 B ( 



added after , then  , and the theorem holds.

 B 

¡  

rejected, then . Hence, we have 

B 

If  was added after , apply the theorem to , yielding

! B ! 

 ) 

lfs ) lfs

,

! 

lfs )

B 

 

( ¢¥¦¥ 





,

¢¥

 

 

!  B ! B

)  )

£ By Lemma 2, lfs lfs , so



 ©

The result follows by dividing both sides by .

,

! B B

 

lfs )

B

 



% Theorem 5 Suppose the quality bound ' is strictly larger than ,

and the input PLC satisfies the projection condition. Then there



lfs 







B ©

 

$ ¤£ $ $

exist fixed constants , , and such that, for It follows that .

§

,



B

! -,

any vertex inserted (or rejected) at the circumcenter of a skinny ,

, ,

( / ( % "£

To provide an example, suppose ' . Then ,

¤£ B



, 

tetrahedron, ; for any vertex inserted (or rejected) at ,





( $# ( %% $

 , and . Hence, the spacing of vertices is



the circumcenter of an encroached subfacet, ; and for # at worst about % times smaller than the local feature size. Note

any vertex B inserted at the midpoint of an encroached subsegment,





' % £

 that as approaches , the values of , , and approach

 . Hence, the insertion radius of every vertex has a lower bound proportional to its local feature size. infinity.

As Figure 13 shows, the algorithm performs much better in

B  (  ! B

Proof: Consider any non-input vertex with parent ) . If practice. In this example, as soon as all encroached subsegments

¥ 

lfs  and subfacets have been eliminated (upper left), the largest circum-

 ¢¥ ( $

 ,

is an input vertex, then   by Lemma 3. Other- $

radius-to-shortest edge ratio is already less than % . The shortest !

wise, assume for the sake of induction that the lemma is true for  .

( + $ 

edge length is , and lfs  , so the spectre of edge lengths





¥

 £¢  !

¦¥¨§ © Hence,  .

%# times smaller than the local feature size has not materialized.

First, suppose B is inserted or considered for insertion at the

As the quality bound ' decreases, the number of tetrahedra in the

, $!

 ' ¦¥

circumcenter of a skinny tetrahedron. By Lemma 3, .



' $

, 

 final mesh increases gracefully until drops below . With

, 



$

 

 

Therefore, by Lemma 4,  It follows

$ #

')( , the algorithm fails to terminate on this example.

¤£ ¤£ that one can prove that  if is chosen sufficiently large Figure 14 offers a demonstration of the grading of a tetrahe-

that dralization generated by Delaunay refinement. A cube has been





,

   !

¥¨§© £

$

 £  (1) truncated at one corner, cutting off a portion whose width is one-

' millionth that of the cube. Although this mesh satisfies a bound on

,

B

( $ %

Second, suppose is inserted or considered for insertion at the circumradius-to-shortest edge ratio of ' , reasonably good 

circumcenter of a subfacet ¤ . If its parent is an input vertex or grading is apparent. For this bound there is no theoretical guaran- . lies on a segment or facet not incident to the facet containing ¤ ,

tee, but the worst edge is # times shorter than the local feature size

, !

! B  $ 

)  

( %

then lfs , so and the theorem holds. If is the at one of its endpoints. If a bound of ' is applied, the worst



# circumcenter of a skinny tetrahedron (rejected for insertion because %

  edge is (rather than ) times smaller than the local feature size

¨ ©

¤  it encroaches upon ), by Lemma 3, so by Lemma 4, at one of its endpoints.

 After the initial Delaunay tetrahedralization has been formed,

$ + %

  £  . It follows that one can prove that if

 my implementation runs in constant time per vertex insertion—in is chosen so that

practice. The theoretical © worst-case running time is surely much

,



+

$ % ¤£

 

% ! & (2) worse, and may be ) time per vertex insertion, even after amortization, in pathological cases. I do not know how to devise

Third, suppose B is inserted at the midpoint of a subsegment such a case, however. In practice, the first few vertex insertions usu- 

§ . If its parent is an input vertex or lies on a segment or facet ally banish any large vertex-free regions, after which further vertex

§ ! B 

 not incident to the segment containing , then lfs ) , and the insertions tend to be well-localized and thus execute in constant theorem holds. If  is the circumcenter of a skinny tetrahedron or time.

encroached subfacet (rejected for insertion because it encroaches





©

¨

§  $

 

'   

£ ! (*©§ >?©= )( ©¤£ ¡¥ :<©=£ ©¤ ©*¥¨>?©*@ ©=A© ¥

upon ), by Lemma 3, so by Lemma 4, 





+

%  ¤£¢ ! 

¥¨§ © . It follows that one can prove that  if is chosen so that The only known theoretical guarantee about Delaunay refinement’s

, ability to remove sliver tetrahedra is provided by Chew [4], whose





+

$ %   !

¥¨§ © £   (3) bound on tetrahedron quality is too weak to provide any practical

assurance. Nonetheless, it is natural to wonder whether Delaunay % If the quality bound ' is strictly larger than , Inequalities 1, 2, and 3 are simultaneously satisfied by choosing refinement might be effective in practice. If one inserts a vertex

at the circumcenter of any tetrahedron with a small dihedral angle,

+ +

! $ % ' %

%  )  ' $ + 

 will the algorithm fail to terminate?



 

¤£ (  ( 

' % ' %

  

, ,  , , ! ,  ,



, $! , 0

' ( $ %  ( $ % ' ( $ //  (*% # ')(*% %  (*% $ #

 

,  , , , , ,

  

. ,  , ¤, .*0$! , -, !

 ( $

')(*% , ,



.0-, 

 ()$ / $  ( $# # / (  ( $#/ / ( $ /

      

 , , , , ,

-, .

 ( $ % ( $

 

 , ,

 ( ## 143 vertices, 346 tetrahedra. , 334 vertices, 307 vertices, 891 tetrahedra. 1761 vertices, 7383 tetrahedra. 1009 tetrahedra.

Figure 15: Meshes created by Delaunay refinement with bounds on

¨

the smallest dihedral angle  .

 



$ $# % and . The mesh on the right was generated with bounds on both tetrahedron volume and dihedral angle, so that enough tetra-

hedra were generated to ensure that the mesh on the left wasn’t



, % merely a fluke. (The best attainable lower bound drops by % as

a result.) Experiments with very large meshes suggest that a mini-

 

mum angle of $ can be obtained reliably. See Chew [4] for some intimations as to why slivers might be eliminated so readily. One

of his useful observations is that the region in which a tetrahedron’s

 

. , + ,  ¤, 

, apex must lie so that the tetrahedron can simultaneously have poor

')( $  ( $ ' ( $ # $  ( #



,  , , ,

 

. , 

.*.¤, dihedral angles and a good circumradius-to-shortest edge ratio is

 ( $ $+$    ()$ / #

  , ,

¤, 0+ -, 

 relatively small.

( # ( $ %

  , 1397 vertices, , 3144 vertices, Unfortunately, my success in removing slivers is probably due 5596 tetrahedra. 13969 tetrahedra. in part to the severe restrictions on input angles I have imposed. Practitioners report that they have the most difficulty removing sliv- Figure 13: Several meshes of a ¡£¢¥¤¦¡£¢§¤¦¡£¢ PLC generated with

different bounds ( 1 ) on circumradius-to-shortest edge ratio. Below ers at the boundary of a mesh, especially near small angles. Mesh

¨

each mesh is listed the smallest dihedral angle  , the largest di- improvement techniques such as optimization-based smoothing and

¨ ©

 

hedral angle , and the shortest edge length  . The algorithm topological transformations can likely remove some of the imper-

¡ ¢

does not terminate on this PLC for the bound 1 . fections that cannot be removed directly by Delaunay refinement.

  

¦  *£ ¤£ !  £

Delaunay refinement is an effective technique for three-dimensional mesh generation. Its theoretical guarantees on tetrahedron qual- ity and grading make it attractive. However, these guarantees are not entirely satisfying. There is no guarantee that slivers can be eliminated. The bounds on edge length are reassuring, but might not be strong enough for all practical purposes, as the number of tetrahedra is inversely proportional to the cube of the edge length. Although Ruppert uses Theorem 6 to prove the size-optimality of the triangular meshes his algorithm produces, an analogous result is not possible in three dimensions. Fortunately, Delaunay refinement algorithms outperform their Figure 14: At left, a mesh of a truncated cube. At right, a cross- worst-case bounds. There is a great deal of “slack” in the analysis; section through a diagonal of the top face. the relationship between the insertion radii of a child and its par- ent is usually looser than in the worst case. This slack accumulates as one traces a sequence of descendants from an input vertex, and As Figure 15 demonstrates, Delaunay refinement can succeed makes it possible to achieve better bounds on tetrahedron quality for useful dihedral angle bounds. Each of the meshes illustrated

and edge length than the theory promises. (Miller et al. [10] can-

 was generated by enforcing a lower bound  on dihedral angles,

not exploit this slack, and thus require about 8,000 times as many ! rather than a circumradius-to-shortest edge ratio bound. However, ,

vertices to guarantee a bound of ')(*% on the PLC in Figure 13). the implementation prioritizes poor tetrahedra according to their ra- The main outstanding problem in three-dimensional Delaunay tios, and thus slivers are split last. I suspect that the program gener- refinement is the question of how best to handle small input angles. ates meshes with fewer tetrahedra this way, and that the likelihood The difficulty is that if vertices lying in segments or facets can en- of termination is greater. Intuitively, one expects that a vertex in- croach upon incident subsegments and subfacets, then additional serted at the circumcenter of the tetrahedron with the largest ratio arcs appear in the dataflow diagram of Figure 12, creating cycles is more likely to eliminate more bad tetrahedra. of ever-diminishing insertion radii. Fortunately, it is possible to Both meshes illustrated have dihedral angles bounded between modify the algorithm so that it always terminates, even when the [2] L. Paul Chew. Guaranteed-Quality Triangular Meshes. Tech- nical Report TR-89-983, Department of Computer Science, Cornell University, 1989. [3] . Guaranteed-Quality Mesh Generation for Curved Surfaces. Proceedings of the Ninth Annual Symposium on , pages 274–280. ACM, May 1993. [4] . Guaranteed-Quality Delaunay Meshing in 3D. Pro- ceedings of the Thirteenth Annual Symposium on Computa- tional Geometry, pages 391–393. ACM, June 1997. [5] Tamal Krishna Dey, Chanderjit L. Bajaj, and Kokichi Sugi- hara. On Good Triangulations in Three Dimensions. Inter- national Journal of Computational Geometry & Applications 2(1):75–95, 1992. Figure 16: A counterexample demonstrating that the three- dimensional Delaunay refinement algorithm is not size-optimal. [6] Lori A. Freitag and Carl Ollivier-Gooch. A Comparison of Tetrahedral Mesh Improvement Techniques. Fifth Interna- tional Meshing Roundtable (Pittsburgh, Pennsylvania), pages projection condition is not satisfied. The insertion radius of each 87–100. Sandia National Laboratories, October 1996. vertex can be explicitly computed. A vertex should be rejected if [7] William H. Frey. Selective Refinement: A New Strategy for its insertion radius is too small compared to its parent’s. As a re- Automatic Node Placement in Graded Triangular Meshes. sult, some skinny tetrahedra may remain in the final mesh, but only International Journal for Numerical Methods in Engineering

in the vicinity of small input angles. A few other tricks are needed 24(11):2183–2200, November 1987. § to ensure that all segments and facets are recovered: segments are [8] Charles L. Lawson. Software for £ Surface Interpolation. recovered by using a technique based on concentric spherical shells Mathematical Software III (John R. Rice, editor), pages 161– suggested by Ruppert [13], then facets are recovered by forming a 194. Academic Press, New York, 1977. constrained Delaunay tetrahedralization [15]. [9] Gary L. Miller, Dafna Talmor, Shang-Hua Teng, and Noel The reason why a size-optimality result cannot be established Walkington. A Delaunay Based Numerical Method for Three is worth exploring. Gary Miller and Dafna Talmor (private com- Dimensions: Generation, Formulation, and Partition. Pro- munication) have pointed out the counterexample depicted in Fig- ceedings of the Twenty-Seventh Annual ACM Symposium on ure 16. Inside this PLC, two segments pass very close to each other the Theory of Computing, pages 683–692, May 1995. without intersecting. The PLC might reasonably be tetrahedral- [10] Gary L. Miller, Dafna Talmor, Shang-Hua Teng, Noel Walk- ized with a few dozen tetrahedra having bounded circumradius-to- ington, and Han Wang. Control Volume Meshes using Sphere shortest edge ratios, if these tetrahedra include a sliver tetrahedron Packing: Generation, Refinement and Coarsening. Fifth In- whose four vertices are the endpoints of the two internal segments. ternational Meshing Roundtable, pages 47–61, October 1996. However, the best the present Delaunay refinement algorithm can [11] Scott A. Mitchell and Stephen A. Vavasis. Quality Mesh promise is to fill the region with tetrahedra whose edge lengths Generation in Three Dimensions. Proceedings of the Eighth are proportional to the distance between the two segments. Be- Annual Symposium on Computational Geometry, pages 212– cause this distance may be arbitrarily small, the algorithm is not 221, 1992. size-optimal. However, if guaranteed bounds could be established [12] . Quality Mesh Generation in Higher Dimensions. for the dihedral angles, and not merely the circumradius-to-shortest Submitted to SIAM Journal on Computing, February 1997. edge ratios, then size-optimality might be proven using ideas like [13] Jim Ruppert. A Delaunay Refinement Algorithm for Qual- those with which Mitchell and Vavasis [11, 12] demonstrate the ity 2-Dimensional Mesh Generation. Journal of Algorithms size-optimality of their octree-based algorithms. 18(3):548–585, May 1995. Many theoretical improvements can be made to the core algo- [14] Jonathan Richard Shewchuk. Delaunay Refinement Mesh

rithm described here. The bound on circumradius-to-shortest edge Generation. Ph.D. thesis, School of Computer Science, 0

, Carnegie Mellon University, Pittsburgh, Pennsylvania, May # ratio can be improved to $ by replacing equatorial spheres with narrower protective shells called equatorial lenses. (This technique 1997. Available as Technical Report CMU-CS-97-137.

also requires the use of constrained Delaunay tetrahedralizations.) [15] . A Condition Guaranteeing the Existence of Higher- !

, Dimensional Constrained Delaunay Triangulations. This $ The bound can be further improved to $ with a technique called range-restricted segment splitting, albeit by sacrificing good grad- proceedings, June 1998. ing in theory (not in practice). With or without these improvements, [16] David F. Watson. Computing the & -dimensional Delaunay Tessellation with Application to Voronoi Polytopes. Computer a bound as small as $ can be applied to any tetrahedron that does

not intersect the interior of a segment or facet, and thus only bound- Journal 24(2):167–172, 1981.

0 , !

, [17] Nigel P. Weatherill. Delaunay Triangulation in Computa-

$ # $ $ ary tetrahedra are subject to the weaker bound of % , , or .

The projection condition can be somewhat weakened; for exam- tional Fluid Dynamics. Computers and with

 + ple, a 0 separation between incident segments suffices. All these Applications 24(5/6):129–150, September 1992. improvements are described in detail elsewhere [14]. The improve- ments in circumradius-to-shortest edge ratio, in particular, are sig- nificant and further propel the approach described here beyond the pioneering tetrahedral mesh generation algorithms of Dey et al.,

Chew, and Miller et al.



>?©* ©§ © ©+£

[1] Adrian Bowyer. Computing Dirichlet Tessellations. Com- puter Journal 24(2):162–166, 1981.