Delaunay Tetrahedral Mesh Generation
Delaunay Tetrahedral Mesh Generation
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
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
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
(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
facet , but its projection into the plane containing lies outside ,
(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
!)
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-
!)
. 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
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-
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
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
proj .
of the point at its center.
!)
Again, let be the centroid of . The line segment connect-
ing to proj must intersect some edge of the subfacet , as
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,
!)
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
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
$ $ , 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
! )
!)
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
!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
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
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
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-
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,
(
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
.
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 ' ( %
%$
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
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.