THREE-DIMENSIONAL CONSTRAINED DELAUNAY TRIANGULATION:
A MINIMALIST APPROACH. 2 Paulo Roma Cavalcanti1 , Ulisses T. Mello
1 Federal University of Rio de Janeiro, Rio de Janeiro, RJ, Brazil. ([email protected]) Present Address: IBM T.J. Watson Research Center
2 IBM T.J. Watson Research Center, Yorktown Heights, NY, U.S.A. ([email protected])
ABSTRACT D
In this paper we summarize our experiences with 3 constrained Delaunay triangulation algorithms for D industrial applications. In addition, we report a robust implementation process for constructing 3 con- strained triangulations from initial unconstrained triangulations, based on a minimalist approach, in which we minimize the use of geometrical operations such as intersections. This is achieved by inserting Steiner
points on missing constraining edges and faces in the initial unconstrained triangulations. This approach D allowed the generation of tetrahedral meshes for arbitrarily complex 3 domains.
Keywords: Delaunay triangulation, constrained triangulations, three-dimensional mesh generation,
industrial strength triangulations, tetrahedralization, computational geometry.
D 3D 1 INTRODUCTION Unlike the 2 case, Delaunay triangulations do not have the property of maximizing the minimum an- The automatic generation of unstructured meshes for gle. Nonetheless, they are very attractive from a ro-
bustness point of view due to the simplicity of the De- D three-dimensional (3 ) objects is essential for many areas of applied sciences, such as Finite Element Anal- launay criteria and because they require only two pred- ysis (FEA), Computer Graphics, Biomechanics, and icates. In addition, the quality of Delaunay triangu- etc. Automatic mesh generation is needed for produc- lations can be improved by various local transforma- tivity reasons; it takes an extensive amount of time and tions [12]. effort to generate meshes by any technique that is not The generation of unconstrained triangulations is triv- fully automated [1].
ial [3, 13]. However, the application of the aforemen- D A general problem for automatic mesh generation is to tioned algorithms to generate 3 triangulations sub-
ject to constraining external and internal boundaries is D create a mesh that represents 3 objects bounded by polygonal faces and possibly with interior constrain- complex and, in general implementations of these al- ing faces and edges. Algorithms for mesh generation gorithms, have robustness problems when applied to have been a research topic over the last two decades. industrial applications. This occurs due to the finite Basically, three main families of algorithms have been precision of the representation of floating point num- described in the literature: octree methods [2, 1]; De- bers and the associated round-off errors, which may launay-based methods [3, 4, 5, 6]; and advancing front cause in some cases an implementation to abort, get methods [7, 8, 9, 10]. A good survey of these methods trapped in infinite loops or produce invalid meshes. can be found in Owen [11].
119 For industrial purposes, a mesh generator should be 2 DELAUNAY TRIANGULATIONS
capable of handling thousands of polygons describing
the constraining boundaries, and it is expected to pro- In n dimensions, a triangulation of a set of points
T (V ) duce a valid mesh in a reasonable wall-clock time. Fur- V is a set of non-intersecting simplices , whose thermore, there should not be restrictions on the po- vertices form V , and whose union completely fills the sitioning of points defining polygons other than their convex hull of V . Simplices of dimension 3 are called topological consistency. In this study, we discuss a tetrahedra, whose faces are simplices of dimension 2 process that: (triangles), whose edges are simplices of dimension 1 (segment lines), and whose vertices are simplices of dimension 0 (points). 1) uses known techniques to produce Delaunay-based
meshes that honor the geometry of the boundary There are many ways to triangulate the set V , and the
of the object; Delaunay triangulation is the one in which, for any
(V ) n simplex of T , there is an empty dimensional 2) produces valid meshes; and sphere that passes through its vertices. A sphere is said to be empty if there is no vertex in its interior. A De-
3) requires only the topological consistency of the launay triangulation is unique if and only if there are
n + 2) V
input polygons. no ( co-spherical vertices in the set . D A 3 constrained Delaunay triangulation of a set of A prerequisite for the automatic mesh generation is the planar simple polygons F is the triangulation in which
robustness of the algorithms, which is directly depen- F V is the set of vertices of and any polygon is ob-
dent on the type of geometric operations necessary to
(V ) tained as the union of faces of T . generate the mesh. In the literature, two methods heav- ily dependent on intersections have been reported to Delaunay triangulations can be constructed by reduc- generate constrained Delaunay triangulations [14, 15]. ing all geometric operations to only two predicates:
In our implementation, intersections are used only to P recover missing constraining faces which were not re- 1 - point-in-sphere testing.
covered by an heuristic that we have created for insert- P
2 - locating a point in relation to a plane and its two ing Steiner points. Generally, we obtain conforming associated semi-spaces. meshes without calculating any intersection and using only two predicates. This reduction is an important step to minimize the Although there are various techniques for mesh im- errors associated with the computer’s finite precision, provement (e.g.,[16, 17]), an initial mesh is necessary which affects directly the robustness of the mesh gen- to apply any of these techniques. Here, we will focus eration process. A detailed discussion of a robust adap- our discussion on the generation of the initial mesh, but tive implementation, based on exact arithmetic of these we will not discuss refinement or mesh improvement predicates, can be found in [6]. techniques. The traditional unconstrained Delaunay triangulation This paper summarizes our approach to generate a con- algorithm uses only pointsets, and thus there is no guar- strained Delaunay Triangulation in the following four antee that the boundary faces will be present on the steps: triangulation of its convex hull. This occurs if there is a set of faces that do not appear in any triangulation of the input points [14]. However, an unconstrained 1) generate unconstrained Delaunay triangulation us- mesh generator can be used as the starting point for ing the object pointset (section 2.1). the implementation of a constrained mesh generator. This is normally achieved by either adding extra points 2) recover missing constraining edges (section 3.1). (Steiner points) to the triangulation on missing faces, or in some cases, by flipping faces of the tetrahedra of 3) recover missing constraining faces (section 3.2). the starting mesh. Our process relies on Steiner points tied to a simple way of choosing their positions. 4) perform local triangulation of tetrahedra if there still are missing faces (section 3.3). Two-dimensional constrained Delaunay triangulation
120 D is considered a closed problem [18], but in 3 there hand, comparisons with floating point numbers gener-
are still many issues to be solved. Although it is al- ally need tolerances. The best compromise is obtained P
ways possible to produce a constrained triangulation by using the predicate 2 . D of a general 2 domain without Steiner points, this is
An alternative approach for the cavity algorithm is the D
not true in 3 . This is the main factor that precludes D
3 flip algorithm created by Barry Joe [4, 5], which
D 3D
the simple generalization of 2 algorithms to .
D 2D generalizes to 3 the well known flip algorithm of Lawson [20]. The flip algorithm is very elegant 2.1 Computing Delaunay Triangulations and has the advantage of keeping a triangulation at all times. However, it is more complex to implement.
Watson [3] and Bowyer [13] described the first incre- D
The 3 flip algorithm is based on the fact that there mental algorithms to compute n dimensional Delau- are only two ways for triangulating a five point convex nay triangulations. These algorithms are based on the
hexahedron: one with 2 tetrahedra and the other with 3
n + 1) n fact that choosing the ( points that lie on di-
tetrahedra. One of the two possible triangulations must mensional empty spheres, for defining n dimensional be the Delaunay triangulation of the five points. There- simplices, guarantees the appearance of Voronoi ver- fore, two local transformations switch between these tices (circumcenters of the spheres) in the dual Voronoi
two triangulations (from 2 to 3 tetrahedra and vice-
n + 1) tesselation. Therefore, these ( points form a min- versa), and a third local transformation is used when imal cluster of data that are immediately adjacent. four out of the five points are coplanar (a 4 4 flip). Watson’s incremental algorithm adds one point at a In the flip algorithm, the tetrahedron that contains the time to the triangulation, which initially has a single
newly inserted point v is retriangulated by connecting
n dimensional simplex large enough to envelop all v its vertices to v . If falls on a face or on an edge, the
points in the set V . His algorithm is generically known
procedure is basically the same, but the triangulation is as the cavity algorithm, since it deletes all n dimen-
more complex. Then, a list l F of all faces that defines a sional simplices that are no longer empty after the in-
tetrahedron when connected to v is constructed. These sertion of the new point, forming a polyhedral cavity faces are the initial candidates to be flipped. The point- enveloping the newly inserted point.
in-sphere testing is performed using the sphere defined l F The cavity is then triangulated by connecting the newly by the three points of a face f in plus the fourth
inserted point to all vertices on the cavity boundary. vertex belonging to the tetrahedron at the opposite side
v v f To prevent structural inconsistencies, the cavity must of f from . If the sphere contains , the face is be star-shaped [19], satisfying the condition of point considered for flipping. convexity. This condition is easily added to the cavity The preconditions to use the three different types of algorithm by enforcing:
flips are the following: