0% found this document useful (0 votes)
22 views10 pages

Delaunay Tetrahedral Mesh Generation

Uploaded by

spoors006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views10 pages

Delaunay Tetrahedral Mesh Generation

Uploaded by

spoors006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Tetrahedral Mesh Generation by Delaunay Refinement

Jonathan Richard Shewchuk


School of Computer Science
Carnegie Mellon University
Pittsburgh, Pennsylvania 15213
jrs@[Link]

   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
 , an algorithm meshed. By inserting additional vertices, Chew’s algorithm gener-
presented herein can generate a conforming mesh
of Delaunay tetrahedra whose circumradius-to-shortest edge ratios
ates a two-dimensional constrained
angles are bounded between #
  andDelaunay
$&%   . Dey, Bajaj, and Sug-
triangulation whose

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 tetrahedron has no vertices in its circumsphere),
their circumcenters (defined in Section 2), whereas Weatherill [17] a Delaunay triangulation 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

facets be separated by angles of at least


+  . (The
of the algorithm is its requirement that incident input segments and
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
ratios. larger than some bound 1
Figure 2: Any triangle whose circumradius-to-shortest edge ratio is
is split by inserting a vertex at its cir-

1
cumcenter. The Delaunay property is maintained, and the triangle is
thus eliminated. Every new edge has length at least 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 768*  -79 5 !  ;:<=   *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 simplex 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
formula 
shortest edge ratio
( $ %
is related to its smallest angle by the
. The smaller a triangle’s ratio, the
of “poor quality” includes only simplices that have a circumradius-
to-shortest edge ratio larger than some appropriate bound ' . The
larger its smallest angle. Chew’s two-dimensional algorithms pro-
B
duce meshes whose triangles’ circumradius-to-shortest edge ratios
B B
only new edges created by the Delaunay insertion of a vertex are

BC C
edges connected to (see Figure 2). Because is the circumcen-
 and
are bounded below one, and hence their angles are bounded be-
tween # $&% . Ruppert’s algorithm can produce meshes
+ C
ter of some Delaunay simplex , and there were no vertices inside

-, . / , 0
% , and hence their an- C
the circumsphere of before was inserted, no new edge can be
whose triangles’ ratios
gles range between %
 and
 are $# .
bounded below shorter than the circumradius of . Because has a circumradius-
to-shortest edge ratio larger than ' , every new edge has length at
In three dimensions, however, a mesh of tetrahedra whose cir-
cumradius-to-shortest edge ratios are bounded is not entirely ade-
least ' times that of the shortest edge of .C
+
Ruppert’s Delaunay refinement algorithm [13] employs a bound
of ' ( % , and Chew’s second Delaunay refinement algorithm [3]
quate for the needs of interpolation. As Dey et al. illustrate, most
employs a bound of ' ( $ . Chew’s first Delaunay refinement al-
tetrahedra with poor angles have circumcircles much larger than
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
a bound of ' ( $ , but forcing all triangles to have uniform size.
hedron that does not. The canonical sliver is formed by arranging
four vertices, equally spaced, around the equator of a sphere, then
In the same manner, the three-dimensional algorithms of Dey et al.
+ and Chew achieve a bound of ' ( % . With these bounds, every
perturbing one of the vertices slightly off the equator. A sliver can
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-
angles can be arbitrarily close to
  and
its shortest altitude can be arbitrarily
$ . /
close to zero, and its dihedral

Despite slivers, Delaunay refinement methods are valuable for


tex than the length of the shortest edge in the initial triangulation.
Delaunay refinement must eventually terminate, because the aug-
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.
 5        "!   
This idea generalizes without change to higher dimensions. Un-
fortunately, my description of Delaunay refinement thus far has a 
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
algorithms, including those of Chew, Ruppert, and Dey et al., are
distinguished primarily by how they handle boundaries.
of
and a point  , the orthogonal projection
 <! )
 a geometric entity onto a line or plane. Given a facet or subfacet
proj  of  onto


! + !  +!  ++  *


is the point that is coplanar with and lies in the line that passes
 through  orthogonally to , as illustrated
 in Figure 4. The projec-

The input upon which my three-dimensional Delaunay refinement


tion exists whether or not it falls in .
?! )
Similarly, the orthogonal projection proj  of  onto a seg-
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
. In three dimensions, a PLC is a set of vertices, segments, and
! ) !)
Sets of points may be projected as well. If and  are facets,
then proj  is the set  proj    "! .
2 : : =   *7> @  =A       !  5 
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 #
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 polygon (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 projF (p)
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
the mesh. For each triangular subfacet in a facet triangulation, look
for a matching face in the tetrahedralization; if the latter is miss-
should not be split in arbitrary
 order. If a vertex  encroaches upon
a subfacet of a facet , but the projected point proj  does not
 !)
ing, insert a vertex at the circumcenter of the subfacet (subject to lie in , then splitting is not the best choice. One can show
 

 (with
rejection if subsegments are encroached), as illustrated in Figure 7.
The new vertex is independently inserted into both the facet trian-
the following lemma) that there is some other subfacet of that is
encroached upon by  and contains proj  . (The lemma assumes
that there are no encroached subsegments in the mesh, as they have
!) 

gulation and the tetrahedralization. Similarly, the midpoint of an


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-


gulation is so simple that it passes unnoticed.


some

!)
vertex  , but  does not encroach
 upon any subsegment of

!)
. 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


in Figure 7, bottom center), but it cannot otherwise affect the shape
segment-bounded, the line segment connecting to  proj  must 

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
facet (coplanar though they may be). The requirements set forth
in Section 4 ensure that all of the vertices and segments of a facet
appear in the tetrahedralization.
!)
It is apparent that  and proj  lie on the  same side of , be-
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,
when a facet triangulation is initially formed.


 a vertex of 

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
of . (The containment is not necessarily strict; proj  may fall
on an edge interior to , and be contained in two subfacets.) To
!) 

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


although the analysis becomes too complicated to present here.
Ruppert’s algorithm and the three-dimensional algorithm de-
complete the proof of the lemma, I shall show that  encroaches
upon . If (
scribed here produce nicely graded meshes, in the sense that a small
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-
ing to proj  must intersect some edge  of the subfacet , as
 

Ruppert introduces a function called the local feature size, defined


9. Let  be the plane that contains  and is
on all points.
!)
 

illustrated in Figure
 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
 (because proj  lies in ), and  lies inside or on the equatorial
 

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


variety of points.
!)


The function lfs  is continuous and has the property that its
sphere of , so it must also lie inside or on the equatorial sphere of


, and hence encroaches upon .



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


$ $ , as the following lemma shows. This property sets a lower
 If  encroaches upon some subfacet of
!)
but no subfacet of
contains proj  , then  also encroaches upon some boundary
subsegment of . Because encroached subsegments have priority,
bound (within a constant factor to be derived shortly) on the rate at
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. 
On the other hand, if proj  lies in a subfacet of , and !) B !B ) ! )
Lemma 2 (Ruppert [13]) For any PLC
and , lfs  lfs     . B , and any two points

! )


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


Proof: The ball having radius lfs  centered at  intersects two
! ) B


!)
a result, several new subfacets will appear, at least one of which
nonincident features of . The ball having radius lfs    
B
!)
contains proj  ; if this subfacet is encroached, then it is split
as well, and so forth until the subfacet containing proj  is not
encroached.  The Projection Lemma guarantees that any other sub-
centered at contains the prior ball, and thus also intersects the
same two features. Hence, the smallest ball centered at that B
facets of that were encroached upon by  are eliminated in the
process. ! ) B
contains two nonincident features of
lfs     .
has radius no larger than

  = = 3   !  "!        !   B


With each vertex , associate an insertion radius ! equal to
B
the length of the shortest edge connected to immediately after
 B
BB
The proof of termination for this algorithm is related to that of Rup-
is introduced into the tetrahedralization. Consider what this means
in each possible circumstance. If is an input vertex, then is  B
pert’s. Ruppert’s analysis requires that anytwo
 . Similarly, B 
incident input seg- the Euclidean distance between and the input vertex nearest .
If is a vertex inserted to split a subsegment or subfacet, then !
ments be separated by an angle of at least the three-
dimensional analysis requires that the input PLC satisfy the follow- B
is the distance between and the nearest encroaching mesh ver-
ing projection condition: if two constraints (each being a segment
or facet) in intersect, then the orthogonal projection of either one
tex. If there is no encroaching vertex in the mesh (a vertex was
considered for insertion but rejected as encroaching), then is the 
B
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
and input vertices in the interior of the facet.) For example, if two skinny tetrahedron, then 
ment/subfacet. If is a vertex inserted at the circumcenter of a
is the circumradius of the tetrahedron.
If a vertex is considered for insertion but rejected because of an
convex facets intersect along a segment, they must be separated by
encroachment, its insertion radius is defined the same way, even p
rv > B rp

!B ) B !B B B
though it is never actually inserted.
Each vertex , whether inserted or rejected, has a parent vertex p rp

B B )
 , unless is an input vertex. Intuitively, for any non-input rp
v
vertex ,  is the vertex that is “responsible” for the insertion of rv
. v rv

!B )

If is a vertex inserted to split a subsegment or subfacet, then
is the encroaching vertex, whether that vertex is inserted or

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

ter of a skinny tetrahedron, then  !B )


nearest . If is a vertex inserted (or rejected) at the circumcen-
is the most recently inserted
(a)
p
(b)
endpoint of the shortest edge of that tetrahedron.

B
Lemma 3 Let be a vertex of the mesh, and let 
parent, if one exists. Then either lfs , or   ! B )  (  !  B ,) where
be its rp

 (*' if B is the circumcenter of a skinny tetrahedron; f


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

B B B !B ) 
Proof: If is an input vertex, there is another input vertex a dis- (c)
tance of from , so lfs  , and the theorem holds.
If 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-
facet, then there are two cases to consider. The case in which B 1
its parent. (a) When a skinny tetrahedron is split, the child’s insertion
radius is at least times larger than that of its parent. (b) When a

B
lies in a boundary segment of a facet that contains  will be consid- subsegment is encroached upon by a circumcenter, the child’s inser-

ered shortly. Otherwise, and  must lie on nonincident features
!B ) 
tion radius may be a factor of smaller than its parent’s. (c) When
(because satisfies the projection condition), so lfs 
B
a subfacet is encroached upon by the circumcenter of a skinny tetra-
.

!B )
If is inserted at the circumcenter of a skinny tetrahedron, then hedron, the child’s insertion radius may be a factor of smaller
its parent  (  is the most recently inserted endpoint of the than its parent’s.
shortest edge of the tetrahedron; see Figure 11(a). Hence, the
length of the shortest edge of the tetrahedron is at least . Be-  

ratio exceeds ' , so its circumradius is
B ' .  
cause the tetrahedron is skinny, its circumradius-to-shortest edge

If is inserted at the midpoint of an encroached subsegment  Tetrahedron


, 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- 
ticular does not enclose the endpoints of . Hence,  % ; see
   + * Subfacet
Circumcenters
B
Figure 11(b) for an example where the relation is equality.
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


 lies inside or on the equatorial sphere of . Because the tetrahe- 


  Subsegment
dralization is Delaunay, the circumsphere centered at  encloses no Midpoints

!)
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-
equality. dren it begets. If no cycle has a product smaller than one, Delaunay
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 radii of a child and its parent; the next lemma is concerned
       
sertion of a child whose insertion radius is some factor times that
of its parent. If the graph has no cycle whose product is less than with the relationship between lfs and lfs . For any vertex , B
 
one, termination is guaranteed. This goal is achieved by choosing
' to be at least % . define ( lfs . Think of as the one-dimensional density
B
of vertices near when is inserted, weighted by the local fea- B  ( !# '  + % % ) ' ,
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
B   

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

B ( ! B ) . Suppose that the distance to its nearest neighbor is at least lfs .


 

Lemma 4 Let be a vertex with parent  
  
(following Lemma 3). Then  $  . Proof: Inequality 3 indicates that  is larger than and  , 
   B B
  B B ! B )
 lfs  ! )   B   . so Theorem 5 shows that lfs   for any vertex . If was
 B
Proof: By Lemma 2, lfs By definition, the
is    if  is a mesh vertex, whereas if  is added after , then  (   

insertion radius lfs , and the theorem holds.
rejected, then    . Hence, we have  B 
lfs ! B )  ! ) 
If was added after , apply the theorem to , yielding

(
lfs 
   
B   lfs ! ) ,
 ,

  
  By Lemma 2, lfs !  ) B  lfs! B ) , so
The result follows by dividing both sides by  . lfs ! B )

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


and the input PLC satisfies the projection condition. Then there
$ ,  $ , and  $ such that, for 
B 
  . lfs  
, -,
B , !
exist fixed constants It follows that

 B To, provide , " /,


 ( $# ,  , and  ( %% , $ . Hence, the spacing of vertices is
any vertex inserted (or rejected) at the circumcenter of a skinny
tetrahedron,  ; for any vertex inserted (or rejected) at an example, suppose ' ( % . Then (
  ; and for
B
the circumcenter of an encroached subfacet,
any vertex inserted at the midpoint of an encroached subsegment, at worst about % # times smaller than the local feature size. Note
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.

Proof: Consider any non-input vertex


 
B with parent  (  ! B ) . If As Figure 13 shows, the algorithm performs much better in
practice. In this example, as soon as all encroached subsegments
 is an input vertex, then ( lfs  $ by Lemma 3. Other-   and subfacets have been eliminated (upper left), the largest circum- ,
  + !
radius-to-shortest edge ratio is already less than % $ . The shortest
Hence,    B 
wise, assume for the sake of induction that the lemma is true for  .
     ! .
edge length is $ , and lfs ( , so the spectre of edge lengths
%# times smaller than the local feature size has not materialized.
First, suppose is inserted or considered for insertion at the
circumcenter of a skinny tetrahedron. By Lemma 3, ' .
        ,  As the quality bound ' decreases, the number of tetrahedra
,# ' $  . inWith
the , $!
')( $  , the algorithm fails to terminate on this example.
final mesh increases gracefully until drops below
 $ 
Therefore, by Lemma 4,
that one can prove that  if  
It follows
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-
B
Second, suppose is inserted or considered for insertion at the
millionth that of the cube. Although this mesh satisfies a bound on
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-
tee, but the worst edge is # times shorter than the local feature size ,!
!B ) 
lies on a segment or facet not incident to the facet containing ,
 , so  $ and the theorem holds. If  is the at one of its endpoints. If a bound of ' ( %


then lfs is applied, the worst


   edge is (rather than % # ) times smaller than the local feature size
circumcenter of a skinny tetrahedron (rejected for insertion because
it encroaches upon ), by Lemma 3, so by Lemma 4,
+ 


at one of its endpoints.


 $  % . It follows that one can prove that   if After the initial Delaunay tetrahedralization has been formed,
 is chosen so that my implementation runs in constant time per vertex insertion—in

$  + %    , (2) worse, and may be % !& )


practice. The theoretical worst-case running time is surely much
time per vertex insertion, even after
B
Third, suppose is inserted at the midpoint of a subsegment
amortization, in pathological cases. I do not know how to devise
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
 , and the !B )  ally banish any large vertex-free regions, after which further vertex


not incident to the segment containing , then lfs 

insertions tend to be well-localized and thus execute in constant


theorem holds. If  is the circumcenter of a skinny tetrahedron or time.
   '   ! (* >?= ) (   :<=   *>?*@  =A  
encroached subfacet (rejected for insertion because it encroaches
upon ), by Lemma 3, so by Lemma 4,  $ 
+  


%    ! . It follows that one can prove that  


if  is chosen so that
$  + %       !   , (3)
The only known theoretical guarantee about Delaunay refinement’s
ability to remove sliver tetrahedra is provided by Chew [4], whose
bound on tetrahedron quality is too weak to provide any practical
If the quality bound ' is strictly larger than % , Inequalities 1, 2, assurance. Nonetheless, it is natural to wonder whether Delaunay
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  ,     (()- $ , . / ## ,$ 334, vertices, ' ( $
   ( $# # / ,   (    ( $#/ / ,   ( $ / ,
   ( $ % ,   ( $ , 307 vertices, 891 tetrahedra.
,
1761 vertices, 7383 tetrahedra.
143 vertices, 346 tetrahedra.
1009 tetrahedra.
the smallest dihedral angle  .  
Figure 15: Meshes created by Delaunay refinement with bounds on

%$
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
 ,
mum angle of $
  can be
a result.) Experiments with very large meshes suggest that a mini-
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
    (( $ , # 0+ $+,$ 1397
,
vertices,
    (()- $ , $ /  %# , 3144
,
vertices,
dihedral angles and a good circumradius-to-shortest edge ratio is
relatively small.
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.

1
Figure 13: Several meshes of a  PLC generated with Practitioners report that they have the most difficulty removing sliv-

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

hedral angle   
each mesh is listed the smallest dihedral angle 
, and the shortest edge length
does not terminate on this PLC for the bound
, the largest di-

1
. The algorithm
  .
improvement techniques such as optimization-based smoothing and
topological transformations can likely remove some of the imper-
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
was generated by enforcing a lower bound   
for useful dihedral angle bounds. Each of the meshes illustrated
on dihedral angles,
and edge length than the theory promises. (Miller et al. [10] can-
,!
not exploit this slack, and thus require about 8,000 times as many
vertices to guarantee a bound of ')(*% on the PLC in Figure 13).
rather than a circumradius-to-shortest edge ratio bound. However,
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
Computational Geometry, 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
24(11):2183–2200, November 1987.
in the vicinity of small input angles. A few other tricks are needed
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
,0
rithm described here. The bound on circumradius-to-shortest edge
ratio can be improved to $ # by replacing equatorial spheres with
Generation. Ph.D. thesis, School of Computer Science,
Carnegie Mellon University, Pittsburgh, Pennsylvania, May
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.)
The bound can be further improved to $ $ with a technique called
[15] . A Condition Guaranteeing the Existence of Higher-
Dimensional Constrained Delaunay Triangulations. This
range-restricted segment splitting, albeit by sacrificing good grad-
ing in theory (not in practice). With or without these improvements,
proceedings, June 1998.
&
[16] David F. Watson. Computing the -dimensional Delaunay
a bound as small as $ can be applied to any tetrahedron that does Tessellation with Application to Voronoi Polytopes. Computer
,0 ,!
not intersect the interior of a segment or facet, and thus only bound-
ary tetrahedra are subject to the weaker bound of % , $ # , or $ $ .
Journal 24(2):167–172, 1981.
[17] Nigel P. Weatherill. Delaunay Triangulation in Computa-

ple, a
0
+  separation
The projection condition can be somewhat weakened; for exam-
between incident segments suffices. All these
tional Fluid Dynamics. Computers and Mathematics with
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.

You might also like