Chapter 16: Delaunay–Voronoï Methods

the user to proceed directly from CAD definition to surface and volume grid, and then finite element ... presence of slivers, formed by four coplanar points, can arise and indeed will ..... edge P1P3 and inserts edge AB assuming, of course, that points A and B ..... Physics, 1993, 106, p 125. 24. ... of California at Berkeley, 1932.
135KB taille 11 téléchargements 66 vues
16 Delaunay–Voronoï Methods 16.1 16.2

Introduction Underlying Principles Voronoï Diagram and Delaunay Triangulation • Bowyer–Watson Algorithm • Tanemura–Ogawa–Ogita Algorithm • Edge/Face Swapping • Grid Optimization • Constrained Delaunay Triangulation

Timothy J. Baker

16.3

Research Issues

16.1 Introduction It is a remarkable fact that seemingly simple concepts can often lead to whole new fields of research and find extensive applications in many diverse areas. This phenomenon is well illustrated by the Voronoï diagram [Voronoï, 1908] and its dual the Delaunay triangulation [Delaunay, 1934]. Though formulated early in the twentieth century long before the rise of scientific computing, these fundamental geometric ideas have recently found a wealth of applications ranging from interpolation of data [Farin, 1990], to medical imaging [Boissonnat, 1988], computer animation and grid generation [Cavendish, et al., 1985; Shenton and Cendes, 1985; Baker, 1987; George, et al., 1988; Perronnet, 1988; Schroeder and Shephard, 1988; Weatherill and Hassen, 1992; Sharov and Nekahashi, 1996]. Each application has its own specific requirements that lead to interesting and often difficult questions. For example, medical imaging usually requires the detection and representation of biological tissues and features (i.e., complicated surfaces embedded in 3D space). The input data provided by the imaging device is often in the form of a cloud of points. A precise representation of the surface geometry is usually not required, but a faithful rendering of the topology certainly is. The requirements for computer animation are somewhat similar, although there is often a greater need for correct rendering of surface geometry, especially sharp corners and cusp-like features. In addition, the constraints of computer memory and processing speed put a premium on efficient data management. Thus it is preferable to choose a set of points and surface triangles with small cardinality to represent a given object. Consequently, one would like to know what is the best surface representation for a given number of points and triangles. Grid generation places a great emphasis on achieving a good representation of the surface geometry. This in turn requires a close link between the CAD definition and grid generator and a stringent need to ensure that not only the surface points but also the edges and faces of the surface grid lie on the true surface. At the same time, it would be highly desirable to automate the grid generation process and allow the user to proceed directly from CAD definition to surface and volume grid, and then finite element solution, without any user intervention.

©1999 CRC Press LLC

Despite the large number of grid generation papers whose titles contain the adjective “automatic” (the author is himself guilty of this hyperbole), truly automatic grid generation still remains an elusive goal. Although fully automated grid generators have been created for very specific problems (e.g., a structured grid around a fuselage and two lifting surfaces [Baker, 1991a], grid generation for arbitrary domains is still insufficiently robust to qualify as completely automatic. Despite this cautionary note, it is fair to say that tetrahedral grid generation, and in particular Delaunay-based methods, are at a highly advanced stage and tantalizingly close to achieving the ultimate goal of black box grid generation. The most difficult issue is the preservation of surface integrity. Since the Delaunay triangulation of a set of points does not necessarily have edges and faces that coincide with the desired boundary surface, some extra algorithm or procedures must be imposed to ensure this property. One early method [Baker, 1987; Baker, 1989] allowed the boundary surface to be defined by a cloud of points arranged as a series of cuts or space curves (see also [Boissonnat, 1988]). An algorithm to generate a layer of additional points just offset from the boundary surface [Baker, 1991b] provided the means to create a Delaunay triangulation whose edges and faces almost always lay on the boundary surface. In the few instances that this technique failed to preserve boundary integrity, the defining cloud of points could be modified until the desired end was achieved. The disadvantage of this approach is the lack of any direct control over boundary surface integrity; varying degrees of user interaction are required depending on the complexity of the domain being triangulated. An alternative approach that does, in principle, lead to full automation is based on the idea of modifying the Delaunay triangulation by a series of edge/face swaps until boundary surface integrity is achieved. First proposed by George et al. [1988] (see [George, 1988] for a more detailed description), this idea has been pursued by several others [Weatherill and Hassan, 1992; Sharov and Nakahashi, 1996] and a number of grid generators that exploit this technique are now available. One advantage of this approach is the opportunity to treat surface grid generation and volume grid generation as independent operations. Thus surface grid generation can be closely coupled to the CAD systems, allowing the user to create a good quality surface grid that conforms to the true boundary. The volume grid generator, as a separate module, then creates a grid of tetrahedra that conform to the prescribed surface grid. For planar domains the situation is very satisfactory. In this case, the boundary surface is given by a prescribed set of points and edges, and a grid of triangles is required that conforms to the boundary edges. Given a pair of triangles with a common edge that form a convex quadrilateral, one can replace the common edge by connecting the other pair of points instead. Using this technique of diagonal swapping, it is known [Guibas and Stolfi, 1985] that any planar triangulation of a fixed point set can be converted into the Delaunay triangulation. Moreover, it is possible to convert the Delaunay triangulation of the set of boundary points into a triangulation whose edges match the prescribed boundary edges (the so-called constrained Delaunay triangulation [Lee and Lin, 1986]). Selective insertion of points inside the domain will then lead to a planar triangulation whose triangles meet certain guaranteed quality measures [Ruppert, 1992; Chew, 1993; Baker 1994]. In three dimensions the theory is far less developed. The main difficulties are the following: (1) there exist configurations of boundary points and faces for which no conforming grid of tetrahedra exists unless extra points are inserted, (2) although 3D analogs of diagonal swapping exist, it does not appear possible to convert an arbitrary 3D triangulation into the corresponding Delaunay triangulation, (3) the presence of slivers, formed by four coplanar points, can arise and indeed will often arise when efforts are made to create a constrained Delaunay triangulation that conforms with a prescribed boundary. In practice, it is possible to generate a constrained Delaunay triangulation in 3D provided the prescribed surface triangulation is sufficiently nice, and what distinguishes a good tetrahedral grid generator from one that is not so good lies in how nice the surface triangulation has to be for the grid generator to create a valid grid of boundary conforming tetrahedra. For example, if the boundary surface is extracted from the Delaunay triangulation of the boundary surface points, then there should clearly be no difficulty in creating a conforming grid of tetrahedra, since this is precisely the Delaunay triangulation to which

©1999 CRC Press LLC

FIGURE 16.1

Voronoï diagram of a planar set of points.

the boundary surface corresponds. If, as is usually the case, the surface triangulation is close to but not completely Delaunay, then a combination of edge/face swaps and point insertions will establish a constrained Delaunay triangulation that does conform to the boundary. For boundary triangulations which deviate greatly from the Delaunay state, it will be difficult and perhaps impossible to construct a conforming set of tetrahedra. Surface triangulation is addressed in Chapter 19. Once the initial boundary-conforming set of tetrahedra has been established, a final grid can be created by selectively adding points into the domain in order to produce a set of good quality tetrahedra whose size varies gradually, leading to a grid suitable for accurate computation by a finite element method. Because of the appearance of slivers, it is also necessary to apply a grid optimization procedure to remove these singular tetrahedra. The following sections provide more detail about the current procedures and outline those areas that are actively being researched.

16.2 Underlying Principles 16.2.1 Voronoï Diagram and Delaunay Triangulation The Delaunay triangulation [Delaunay, 1934] of a set of points and the dual geometric construct, the Voronoï diagram [Voronoï, 1908], are extremely fertile concepts that have been the subject of considerable theoretical investigation and have found numerous practical applications. The Voronoï diagram marks off the region of space that lies closer to each point than the other points. This is illustrated for the planar case in Figure 16.1. The solid lines make up the Voronoï diagram, forming a tessellation of the space surrounding the points. Each Voronoï tile (e.g., the hatched area around point P) consists of the region of the plane that is closer to that point than any other. The edges of the Voronoï diagram are formed from the perpendicular bisectors of the lines connecting neighboring points (e.g., points P, Q3, Q4 in Figure 16.1) and, hence, each vertex is the circumcenter of the triangle formed by three points. This determines a unique triangulation known as the Delaunay triangulation and is such that the circumcircle through each triangle contains no points other than its forming points. These concepts generalize to higher dimensions. In particular, the Delaunay triangulation of threespace is the unique triangulation such that the circumsphere through each tetrahedron contains no points other than its forming points. In two dimensions, this circle criterion can be shown [Sibson, 1978] to be equivalent to the equiangular property that selects the triangulation that maximizes the minimum of the six angles in any pair of two triangles that make up a convex quadrilateral. No equivalent characterization appears to be known in three dimensions, but the circle criterion can still be regarded as selecting a good triangulation for the given set of points.

©1999 CRC Press LLC

16.2.2 Bowyer–Watson Algorithm A particularly straightforward method for generating the Delaunay triangulation is the Bowyer–Watson algorithm [Bowyer, 1981; Watson, 1981], which can readily be applied to any number of dimensions. It is an incremental algorithm that directly exploits the circle criterion of the Delaunay triangulation as follows. Let Tn be the Delaunay triangulation of the set of n points, Vn = {Pi | i = 1, …, n}. For any simplex S ∈ Tn, let Rs be the circumradius and Qs the circumcenter. Now introduce a new point Pn+1 inside the convex hull of Vn, and define B = {S | S ∈ Tn, d (Pn+1, Qs) < Rs} where d(P, Q) is the Euclidean distance between points P and Q. Now B is non-empty, since Pn+1 is inside the convex hull of Vn and hence inside some simplex S′ ∈ Tn, from which it follows that S′ ∈ B. The region C formed when B is removed from T is simply connected, contains Pn+1 (since Pn+1 is inside S′ ∈ B), and Pn+1 is visible from all points on the boundary of C. It is therefore possible to generate a triangulation of the set of points Vn+1 = Vn ∪ {Pn+1} by connecting Pn+1 to all points on the boundary of C. Furthermore, this triangulation is precisely the Delaunay triangulation Tn+1. Proofs that the cavity C is simply connected, that Pn+1 is visible from the cavity boundary and that the new triangulation is also Delaunay can be found in [Baker, 1987; Baker, 1989]. The implementation of the Bowyer–Watson algorithm in three dimensions starts with a supertetrahedron, or supercube partitioned into five tetrahedra, which contains all the other points. The remaining points, which comprise the grid to be triangulated, are introduced one at a time and the Bowyer–Watson algorithm is applied to create the Delaunay triangulation after each point insertion. It is necessary to maintain two lists, each of length four, for each tetrahedron in the existing structure. One list holds the forming points of the tetrahedron, the other holds the addresses of the four neighboring tetrahedra that have a common face. The second list, which provides information about the contiguities between the tetrahedra, is not strictly needed for the implementation of the algorithm. However, it allows all tetrahedra belonging to a cavity to be found by means of a tree search, once one such tetrahedron has been found. Without the contiguity information the algorithm would be hopelessly inefficient. It is also convenient to store the radius of the circumsphere and the coordinates of the circumcenter for each tetrahedron. The remaining step in the Bowyer–Watson algorithm is the requirement to update the data structure. Tetrahedra belonging to the set B are deleted from the lists, and new tetrahedra, obtained by connecting the new point to all triangular faces of the cavity boundary, are added. Finally, it is necessary to determine the contiguities that exist among the new tetrahedra, and also between the new tetrahedra and the old tetrahedra that have faces on the cavity boundary. The only floating point operations required in this algorithm occur in the Delaunay test for each tetrahedron that is examined when searching for those tetrahedra that make up the cavity. Owing to the finite precision arithmetic that is used, the Delaunay test will make an ambiguous decision if the new point falls on the circumsphere of a tetrahedron [Baker, 1992]. High-precision arithmetic must therefore be used. Moreover, it is particularly important when forming the set of B of cavity tetrahedra to exclude from B any tetrahedron whose circumsphere does not strictly contain the new point. This can be achieved by introducing a tolerance µ > 0 and including in B only those tetrahedra S for which d(P, Q) < Rs – µ, where µ is chosen sufficiently large to ensure strict inclusion. When a new point is inserted, a search is made through the list of tetrahedra to find the first tetrahedron that fails the Delaunay test. The remaining tetrahedra that make up the cavity can be found by a tree search. After these tetrahedra have been removed, the points on the boundary of the cavity are connected to the new point P and the new tetrahedra thus formed are added to the data structure. The time required to triangulate N points will be given by N

T =

∑ (T k

©1999 CRC Press LLC

k

+ T ′k )

Here, Tk is the time taken to search for the first cavity tetrahedron that arises from the introduction of the kth point into the triangulation of k – 1 points. T′k is the time taken to find all remaining tetrahedra in the cavity and construct the new triangulation. The time T′k will be proportional to the number of tetrahedra in the cavity. If the points are inserted in a widely distributed manner corresponding to a coarse sprinkling followed by a finer distribution [Baker, 1987], the cavity size, and hence time T′k , should be roughly independent of k. The majority of points are field points that are introduced selectively (e.g., at the circumcenter of the tetrahedron having maximum volume). Under fairly mild conditions on the current state of the triangulation, the time T′k can therefore be regarded as O(1). Thus, the time complexity of the algorithm is dominated by the search time Tk . In general, the list of tetrahedra will be randomly ordered and, in the worst case, Tk will be O(k), leading to an overall time complexity for the triangulation that is O(N2). It is therefore necessary to introduce a data structure that allows an efficient search for the first tetrahedron that fails the Delaunay test irrespective of the point ordering. To achieve this, one can exploit an octree structure to store the points that have previously been inserted [Baker, 1989]. The octree data structure is used to find the point nearest to a newly introduced point. With each previously introduced point, one associates a tetrahedron that has this point as a vertex. The search for the first tetrahedron in the Delaunay cavity thus starts with the tetrahedron associated with the point nearest to the new point, and proceeds to examine all neighboring tetrahedra that have this nearest point as a vertex. In this way, it is possible to find the first cavity tetrahedron in a time Tk, that is O(log k). It follows that the overall time complexity of the algorithm is O(N log N). Other data structures have been proposed that also achieve a fast search time [Bonet and Peraire, 1991].

16.2.3 Tanemura–Ogawa–Ogita Algorithm An alternative algorithm [Tanemura, et al., 1983] for generating the Delaunay triangulation can be described for the planar case as follows. Given a set of points Vn and a Delaunay edge e, we can construct a circle Ci through the endpoints of e and any one of the remaining points Pi. One of these circles, say C1, will be empty and thus defines the Delaunay triangle T containing point P1 and e as the edge opposite P1. For a constrained Delaunay triangulation with respect to a fixed edge e, we require only the segment of the circle on the same side of e as the candidate point Pi to be empty. The triangle T contains two edges other than e. If either of these edges is not among the list of edges already generated, it is added to the list. Any internal edge (i.e., nonboundary edge) that is associated with only one triangle is considered an active edge on which a new Delaunay triangle should be constructed by the above procedure. The algorithm stops, and the triangulation is complete, when every boundary edge corresponds to the side of one triangle and every internal edge forms the common side of precisely two triangles. This approach is the basis of an algorithm first proposed by Tanemura et al. [1983] and subsequently exploited by Merriam [1991] and Mavriplis [1993]. In the planar case, the Tanemura–Ogawa–Ogita algorithm is well suited to the task of generating the constrained Delaunay triangulation with respect to a prescribed set of boundary edges. After establishing a triangulation consisting of the boundary points and conforming to the boundary edges, it is then possible to use the Bowyer–Watson algorithm to selectively add points until an acceptable grid has been created. Various point placement strategies including circumcenter point insertion [Weatherill and Hassan, 1992] and the Voronoï segment method [Rebay, 1993] have been proposed and analyzed [Chew, 1993; Baker 1994]. In 3D the possible nonexistence of a constrained Delaunay triangulation that will conform to a prescribed surface triangulation severely limits the usefulness of the Tanemura–Ogawa–Ogita algorithm. In this case, the preferred approach appears to be based on the Bowyer–Watson algorithm followed by a series of edge/face swaps to establish any edges and faces of the prescribed boundary surface [George, et al., 1988; Weatherill and Hassan, 1992; Sharov and Nakahashi, 1996].

©1999 CRC Press LLC

FIGURE 16.2

Three tetrahedra with common edge AB, or two tetrahedra with common face P1P2P3.

FIGURE 16.3

Several tetrahedra surrounding edge AB.

16.2.4 Edge/Face Swapping The simplest swappable combination in 3D occurs when three tetrahedra share a common edge. In Figure 16.2, the three tetrahedra ABP1P2, ABP2P3, and ABP3P1 together with the common edge AB can be replaced by the two tetrahedra AP1P2P3 and BP1P2P3 together with the common face P1P2P3. Provided that the ensemble of tetrahedra is convex (i.e., edge AB intersects face P1P2P3), then either combination can exist without affecting the remaining tetrahedra. In the general case, when n tetrahedra share a common edge (see Figure 16.3), a transformation that replaces the n tetrahedra by 2(n – 2) tetrahedra can be found provided the ensemble of tetrahedra is convex. In order to determine the new set of tetrahedra it is necessary to cover the interior of the polygon {P1, …, Pn} by triangular facets. For n ≥ 4 the set of new tetrahedra is not uniquely defined [Briére de L'isle and George, 1993]. The utility of these swapping operations lies in the opportunity to establish any prescribed boundary edges and faces that do not exist in the volume grid. Suppose, for example, that a given edge AB lies on the prescribed boundary but does not exist in the volume mesh. After identifying the face P1P2P3 in the volume mesh that intersects the line segment AB, one can apply the reverse of the edge/face swap illustrated in Figure 16.2. It is possible, however, for the line segment AB to lie in or very close to one of the faces AP1P2, AP2P3, AP3P1. For example, suppose that AB lies in face AP3P1 and thus intersects edge P1P3. In this singular case it is necessary to identify the ring of tetrahedra incident to edge P1P3 and use an edge/face swap that removes edge P1P3 and inserts edge AB assuming, of course, that points A and B are both vertices associated with the tetrahedral ring. If this is not the case, or if the ring of tetrahedra is not convex, then the line segment AB cannot be established as an edge of the volume grid. In practice, an edge that was not established initially can often appear in the volume grid or be established by swapping procedures after further missing boundary edges have been inserted. If some missing boundary edges stubbornly remain, then one can resort to the insertion of extra grid points, either inside the domain [George, et al., 1988] or perhaps on the boundary surface [Weatherill and Hassan, 1992; Sharov and Nakahashi, 1996] at the midpoint of the missing edge.

©1999 CRC Press LLC

After all boundary edges and possible additions of new boundary points and edges have been established, it is necessary to ensure that all boundary faces are contained in the volume grid. In practice, a volume grid that contains all boundary edges will at worst be missing only a handful of boundary faces. Suppose, for example, that a missing face has vertices P1P2P3. Then (see Figure 16.2) it is necessary to identify the edge AB that intersects the missing face and carry out the edge/face swap that removes edge AB and establishes face P1P2P3. It is, however, possible for more than one edge of the volume grid to intersect the missing face. In this case, it is again necessary to add an extra grid point either in the domain or on the boundary surface at say, the barycenter of the missing face. The reader is referred to the literature [George, et al.,1988; Weatherill and Hassan, 1992; Sharov and Nakahashi, 1996] for a more detailed discussion of the various ways in which edge/face swaps and grid point insertion can be applied to establish the prescribed boundary surface.

16.2.5 Grid Optimization The objective of grid optimization is to achieve a volume grid with a smooth grading in size of tetrahedra and good tetrahedral quality as measured by some criterion such as dihedral angle or ratio of circumradius to in-radius. Perhaps the most pressing requirement is the identification and removal of slivers. These tetrahedra are formed by four co-planar or nearly co-planar points and hence will have a volume that is extremely small [Cavendish, et al., 1985]. Although it is possible to monitor the formation of such tetrahedra during the grid generation process, any attempt to prevent their formation at this stage will usually sabotage efforts to establish the boundary surface or lead to a final volume grid whose overall quality is in fact worse. It appears best to apply grid optimization as a post processing operation on the final grid [Briére de L'isle and George, 1993]. Sliver-like tetrahedra can be found by searching for edges which have adjacent incident faces with a dihedral angle close to 180°. It follows that at least one of the incident tetrahedra is a sliver, and an edge/face swap that removes this edge will also remove the sliver. If the ring of tetradedra incident to the edge is nonconvex, then this approach fails. In practice, it is usual to apply the edge/swap procedure to remove as many slivers as possible and then smooth the grid (i.e., adjust the positions of the nonboundary grid points). This two-step process can be iterated until a grid of acceptable quality has been obtained. A popular smoothing technique is Laplacian smoothing, although care must be taken to ensure that no grid points cross any faces, thus leading to an invalid grid. Another technique is based on moving each grid point until all incident edges have nearly equal length. Still other techniques have been based on linear programming. Smoothing changes the positions of the nonboundary grid points but leaves the topology intact. Edge/face swaps leave the grid positions fixed but change the topology. It is therefore reasonable to expect that an iterative process alternating between these two procedures should lead to an improved grid.

16.2.6 Constrained Delaunay Triangulation The key procedure that lies at the heart of the Bowyer–Watson algorithm is the determination of the cavity tetrahedra whose circumspheres contain the new point P. For a Delaunay triangulation, the cavity is simply connected and the point P is visible from all faces of the cavity. When the triangulation is no longer Delaunay but constrained by the presence of fixed faces that arise, for example, when one or more of the interior cavity faces is a boundary surface face, then the visibility issue needs to be reexamined. Since some of the faces of the restricted cavity need not be visible from P, it is necessary to find the tetrahedron that contains P and then examine neighboring tetrahedra by means of a tree search. Clearly P lies within the circumsphere of the tetrahedron that contains P and every face of this tetrahedron is visible from P. Each face of this tetrahedron is examined to determine whether it is a fixed (i.e., protected) face that must not be removed. If it is not a protected face, then the tree search proceeds to the adjacent tetrahedron on the other side of this face. If P lies within the circumsphere of the new tetrahedron and P is visible from its other three faces, then this tetrahedron is added to the list of cavity tetrahedra. After

©1999 CRC Press LLC

each of the neighboring faces and tetraheda have been examined in this way, the process is repeated for each of the tetradehra that has been newly admitted to the cavity list. Starting from the original set B of tetrahedra whose circumspheres contain the point P we arrive at a reduced set B1 ⊂ B whose faces found by the tree search were judged visible from the point P. Since the tree search examines the tetrahedra in a particular sequence, it is possible that there exist one or more tetrahedra in the subset B1 whose faces are not visible from P when the visibility test is reapplied to the reduced set B1. The tree search and visibility test must therefore be repeated for set B1 to create a new subset B2 ⊂ B1. If the sets B2 and B1 are identical, then all faces of B1 are visible from P. The points on the boundary of the restricted cavity C1, formed when B1 is removed from the triangulation T, can then be connected to point P to form a valid retriangulation. A detailed discussion of these issues has been given by Wright and Jack [1994]. Let ri = (xi, yi, zi) be the coordinate vector of the ith vertex of a tetrahedron where i = 1, …, 4 and let rp = (xp, yp, zp) be the coordinate vector of the point P. The face opposite vertex 4 is visible with respect to point P if point P lies on the same side of this face as vertex 4. An alternative statement is that point P and vertex 4 must lie in the same half space formed by the plane containing vertices 1, 2, and 3. The visibility test thus amounts to checking whether the volume of the tetrahedron formed by the points r1, r2, r3, and r4, has the same sign as the volume of the tetrahedron formed by the points r1, r2, r3, and rp. In other words, the sign of the determinant 1 x1 y1 z1

1 x2 y2 z2

1 x3 y3 z3

1 x4 y4 z4

must be compared with the sign of the determinant formed by replacing x4, y4, and z4 with xp, yp, and zp. The validity of the retriangulation therefore rests on the accuracy of the determinant evaluation and hence on the precision of the computer arithmetic that is used. Difficulties arise when one or both determinants are extremely close to zero leading to uncertainty as to whether the correct sign has been computed. Various schemes using variable precision arithmetic [Shewchuk, 1996] and also integer arithmetic have been proposed to handle this situation. An interesting development by Edelsbrunner and Mücke [1990] could lead to a systematic handling of these situations.

16.3 Research Issues At the present stage of knowledge, it is fair to say that planar triangulations are well understood and that they enjoy a number of properties that do not apparently extend to three dimensions. The existence in the planar case of a constrained Delaunay triangulation that conforms to any set of prescribed edges makes it possible to construct a grid of triangles for any two-dimensional region whether simply connected or multiply connected. The refinement of the planar grid by insertion of points inside the region can be shown to generate isotropic grids of high quality. The issue of generating anisotropic grids that are designed to contain high aspect ratio triangles, aligned with particular features in a finite element solution, is less well developed but is currently an area of active research. The most obvious difference between three-dimensional triangulations and the planar counterpart is the existence in 3D of valid boundary surface triangulations for which no space filling, conforming set of tetrahedra exists. This precludes the possibility of generating a constrained Delaunay triangulation (in fact, any triangulation) containing only the boundary points and conforming with the boundary surface for every possible boundary surface configuration. It should always be possible, although the author is not aware of a proof, to achieve a conforming triangulation if extra points (so-called Steiner points) are inserted inside the domain. To ensure that the final grid has good quality tetrahedra, the inserted points should not be too close to the boundary surface. In order to guarantee a grid for any boundary surface configuration one therefore needs to know when and where any extra points should be inserted inside the domain.

©1999 CRC Press LLC

One potential research area of great importance is the classification of those boundary surface triangulations for which no conforming volume triangulation exists. Given a boundary surface triangulation one can either (1) create a space-filling, boundary-conforming grid of tetrahedra, (2) be unable to create any conforming tetrahedra, or (3) build a number of tetrahedra inside the domain until no further tetrahedra can be introduced because of the boundary constraint. Case (3) can be viewed as a situation in which tetrahedra are created as one would with an advancing front method until the front, interpreted as a boundary surface triangulation, falls into category (2). It seems likely that the number of triangles in any boundary surface in category (2) should be relatively small, and that the number of distinct cases that fall into category (2) may therefore be a finite and perhaps not too large number. If this is the case, then it may be possible to classify the different cases in category (2) and provide an algorithm for adding a point, or points, inside the domain to create a conforming grid. A satisfactory answer to this question would solve completely the problem of automatic grid generation for tetrahedral grids. A less ambitious question that may prove easier to tackle is to ask how far one can proceed with swapping techniques to change a non-boundary conforming grid of tetrahedra into a grid that does match a given boundary surface triangulation. Is it possible to quantify the extent to which a given boundary surface triangulation fails to be Delaunay and is it possible to relate this characteristic to whether a Delaunay volume grid can be converted by a given set of swapping techniques into a boundary conforming grid? These are all rather difficult questions and although some important work has been done in this area [Joe, 1991], it may be a long time before they are answered in any reasonably satisfactory way. Another important area of research relates to the quality of the final tetrahedral grid that is obtained after the initial grid has been refined by successive insertion of points inside the domain. As pointed out earlier, slivers will almost invariably appear and these extremely small volume tetrahedra wreak havoc on most finite element methods. Edge/face swaps can be applied as described earlier to remove slivers and generally improve grid quality. This approach works well most of the time but there are situations where slivers persist in the optimized grid (the edge/face swap may fail because the tetrahedral ensemble is non-convex for example). The application of smoothing may move the grid into a configuration in which a further application of edge/face swaps will remove all slivers, but there is no guarantee that this will always be the case. Any insight into this problem would be very useful, and a recipe for optimizing the grid, with a guarantee of removing all slivers, would have a profound impact on grid generation. A related question concerns the different optimization criteria and whether these will lead to a global optimum or whether they might generate optimization schemes that get stuck in local optima. There are numerous ways of defining the quality of a tetrahedron including minimum and maximum dihedral angle, ratio of circum-radius to in-radius and several other criteria that have been reported in the literature. Some interesting work has already been carried out to establish which criteria are associated with optimization problems that have global optima and continuing research in this area will undoubtedly lead to better methods for grid optimization. A similar though somewhat different question is how should a grid be optimized to achieve the most accurate finite element solution for a given problem? This will obviously depend on the partial differential equation being solved as well as the finite element discretization being used. Even partial answers to these questions will go a long way to making existing tetrahedral grid generation more efficient and more reliable. With the much deeper knowledge that will eventually be gained, we can look forward one day to achieving truly automatic three-dimensional grid generation.

References 1. Baker, T.J., Three-dimensional mesh generation by triangulation of arbitrary point sets, AIAA 8th Computational Fluid Dynamics Conference, AIAA Paper 87-1124-CP, Hawaii, June 1987. 2. Baker, T.J. Automatic mesh generation for complex three-dimensional regions using a constrained Delaunay triangulation,” Engineering with Computers. 1989, 5, p 161. 3. Baker, T.J., Single block mesh generation for a fuselage plus two lifting surfaces, Proc. 3rd International Conference on Numerical Grid Generation in Computational Fluid Dynamics. Arcilla, A.S., (Ed.), Elsevier Science Publishers B.V., North-Holland, 1991a, p 261.

©1999 CRC Press LLC

4. Baker, T.J., Shape reconstruction and volume meshing for complex solids, Int. J. Num. Meth. Eng., 1991b, 32, p 665. 5. Baker, T.J., Tetrahedral mesh generation by a constrained Delaunay triangulation, Artificial Intelligence, Expert Systems and Symbolic Computing. Houstis, E.N. and Rice, J.R., (Eds.), Elsevier Science, Publishers B.V., North-Holland, 1992. 6. Baker, T.J., Triangulations, mesh generation and point placement strategies, Frontiers of Computational Fluid Dynamics, Caughey, D.A. and Hafez, M.M., (Eds.), John Wiley and Sons, 1994, p 101. 7. Boissonnat, J.D., Shape reconstruction from planar cross sections, Computer Vision, Graphics and Image Processing, 1988, 4, p 1. 8. Bonet, J. and Peraire, J., An Alternating Digital Tree (ADT) algorithm for geometric searching and intersection problems, Int. J. Num. Meth. Eng., 1991, 31, p 1. 9. Bowyer, A., Computing Dirichlet tessellations, Comput. J., 1981, 24, p 162. 10. Brière de L’isle, E. and George, P.L., Optimisation de maillages tridimensionnels, INRIA Report. (2046), 1993. 11. Cavendish, J.C., Field, D.A., and Frey, W.H., An approach to automatic three-dimensional finite element mesh generation, Meth. Eng., 1985, 21, p 329. 11. Chew, P., Guaranteed quality mesh generation for curved surfaces, Proc. 9th Symp. On Comp. Geom. ACM Press, 1993, p 274. 12. Delaunay, B., Sur la sphère vide, Bull. Acad. Science USSR VII: Class Sci. Mat. Nat., 1934, 6, p 793. 13. Edelsbrunner, H. and Mücke, E.P. Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms, ACM Trans. Graphics, 1990, 9, p 66. 14. Farin, G., Surfaces over Dirichlet tessellations. Computer Aided Geometric Design, 1990, 7, p 281. 15. George, P.L., Hecht. F., and Saltel, E., Tétraedrisation automatique et respect de la frontière, INRIA Report. 835, 1988. 16. George, P.L., Hecht, F., and Saltel, E., Constraint of the boundary and automatic mesh generation, Proc. 2nd International Conference on Numerical Grid Generation in Computational Fluid Mechanics, Sengupta, S., (Ed.), Pineridge Press, 1988, p 589. 17. Guibas, L. and Stolfi, J., Primitives for the manipulation of general subdivisions and the computation of Voronoï diagrams, ACM Trans. Graphics. 1985, 4, p 74. 18. Joe, B., Construction of three-dimensional Delaunay triangulations using local transformations, Computer Aided Geometric Design, 1991, 8, p 123. 19. Lee, D. and Lin, A., Generalized Delaunay Triangulation for planar graphs, Discrete Comp. Geom. 1986, 1, p 201. 20. Mavriplis, D., An advancing front Delaunay triangulation algorithm designed for robustness, AIAA Paper 93-0671, 1993. 21. Merriam, M., An efficient advancing front algorithm for Delaunay triangulation, AIAA Paper 910792, 1991. 22. Perronnet, A., Un algorithme de tètraèdrisation d’un objet multi-matériaux ou de l'extérieur d’un objet, Numerical Analysis Laboratory Report. (R88005). University Pierre et Marie Curie, 1988. 23. Rebay, S., Efficient unstructured mesh generation by means of delaunay triangulation and Bowyer–Watson algorithm, J. Comp. Physics, 1993, 106, p 125. 24. Ruppert, J., Results on Triangulation and high quality mesh generation, Ph.D. thesis. University of California at Berkeley, 1932. 25. Schroeder, W.J. and Shephard, M.S., Geometry-based fully automatic mesh generation and the Delaunay triangulation, Int. J. Num. Meth. Eng., 1988, 26, p 2503. 26. Sharov, D. and Nakahashi, K., A boundary recovery algorithm for Delaunay tetrahedral meshing, Proc. 5th International Conference on Numerical Grid Generation in Computational Field Simulations, Soni, B.K. and Thompson, J.F., (Eds.), NSF Engineering Research Center for Computational Field Simulation, 1996, p 229. 27. Shenton, D.N. and Cendes, Z.J., Three-dimensional finite element mesh generation using Delaunay tessellation, IEEE Trans. Magnetics, 1985, MAG-21, p 2535.

©1999 CRC Press LLC

28. Shewchuk, J.R., Adaptive precision floating-point arithmetic and fast robust geometric predicates, Computer Science Report. Carnegie Mellon University, 1996, CMU-CS-96-140. 29. Sibson, R., Locally equiangular triangulations, Comput. J., 1978, 21, p 243. 30. Tanemura, M., Ogawa, T., and Ogita, N., A new algorithm for three-dimensional Voronoï tessellation, J. Comp. Physics, 1983, 51, p 191. 31. Voronoï, G., Nouvelles applications des paramètres continues à la théorie des formes quadratiques, dieuxieme memoire: researches sur les parallelloedres primitif, J. Reine Angew. Math., 1908, 134, p 198. 32. Watson, D., Computing the n-dimensional Delaunay tessellation with application to Voronoï polytopes, Comput. J., 1981, 24, p 167. 33. Weatherill, N.P. and Hassan, O., Efficient three-dimensional grid generation using the Delaunay triangulation, Proc. First European Computational Fluid Dynamics Conference, Brussels, 1992. 34. Weatherill, N.P., Hassan, O., and Marcum, D.L., Calculation of steady compressible flowfields with a finite element method, 1993, AIAA Paper, 93-0341. 35. Wright, J.P. and Jack, A.G., Aspects of three-dimensional constrained Delaunay meshing, Int. J. Num. Meth. Eng., 1994, 37, p 1841.

©1999 CRC Press LLC