Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf Motivation When talking about mapping the surface of the Earth, it is unrealistic to assume there is no relief. Need a method that approximates the peaks and valleys of a surface with a limited number of sample points efficiently and produces something that appears natural. Approach 1) Model a set of data points by first determining a Triangulation of P. (This is our main focus!) 2) Lift each sample point to its appropriate height 3) Result: Polyhedral terrain approximating the original terrain. Quic kTime™ and a TIFF (LZW) decompress or are needed to see this pic ture. Quic kTime™ and a TIFF (LZW) decompress or are needed to see this pic ture. Quic kTime™ and a TIFF (LZW) decompress or are needed to see this pic ture. Our Big Questions 1) How do we triangulate a set of sample points? There are many different possibilities! 2) Which triangulation is the most appropriate to approximate a terrain? No definitive answer. But, with a set of data, we can create a criterion that will aid us in finding the most natural approximation. The Main Criterion Maximize the minimal angle of every triangle in our triangulation. This is in fact, the Delaunay Triangulation! First, some definitions Terrain: A 2-D surface in 3-D space such that every vertical line intersects it in a point, if it intersects at all. Triangulation of P: A planar subdivision whose bounded faces are triangles and whose vertices are the points of P, where P p1, p2 , , pn . Maximal Planar Subdivision: A subdivision S such that no edge connecting two vertices can be added to S without destroying its planarity. Plane Graph: No two edges in the embedding cross. Redefining . . . Triangulation of P: The maximal planar subdivision whose vertex set is P. How We Compare Triangles First, we need the notion of comparing angles. Angle-Vector of T: A T 1, 2 , , 3m is the angle-vector of T where T is the triangulation of P and 1 , 2 , , 3m is the list of 3m angles in T sorted by increasing angle. Compare Triangles . . . A T A T : Let T and T be triangulations of a point set P where A T 1, 2 , , 3m and A T 1, 2 , , 3m are the corresponding angle-vectors. Then we say the angle-vector of T is larger than the angle-vector of T if A T is lexicographically larger than A T . This means if there exists an index i with 1 i 3m such that j j for all j i, and i i then A T A T . Compare Triangles . . . Angle-optimal: Our triangulation and corresponding angles are defined as in the previous slide. Then we say the triangulation T is angle-optimal if A T A T . Compare Triangles . . . Thale’s Theorem (9.2): Denote the smaller angle defined by three points p, q, r by pqr. Let C be a circle, l be a line intersecting C in points a and b, and p, q, r, and s points lying on the same side of l. Suppose that p and q lie on C, that r lies inside C, and that s lies outside C. Then arb apb aqb asb. Making a legal Triangulation Edge Flip: If an edge e is not an edge of the unbounded face of P, then it is incident to two triangles pi p j pk and pi p j pl . If these two triangles form a convex quadrilateral, we can obtain a new triangulation T by removing pi p j from T and inserting pk pl instead. This is called an edge flip. Legal Triangulation . . . Illegal Edge: We call the edge e pi p j an illegal edge if min i min i . 1i 6 1i 6 It turns out though, computing angles is unnecessary. Instead, the following lemma introduces criterion based on edges. The correctness of this lemma follows directly from Thale’s Theorem. Legal Triangulation Lemma 9.4: Let edge pi p j be incident to triangles p i p j pk and p i p j pl , and let C be the circle through p i , p j , and pk . The edge pi p j is illegal if and only if the point pl lies in the interior of C. Furthermore, if the points p i , p j , pk , pl form a convex quadrilateral and do not lie on a common circle, then exactly one of pi p j and pk pl is an illegal edge. Legal Triangulation Legal Triangulation: A triangulation that does not contain any illegal edges. The Delaunay Triangulation Why We Trust DG(P) We first must introduce the Voronoi Diagram of P: The subdivision of the plane P into n regions, one for each site (point) in P, such that the region of a site p P contains all points in the plane for which p is the closest site. We denote this as Vor(P). Understanding DG(P) . . . Delaunay Graph of P: The strait line embedding of a graph G, which has a line connecting two nodes if their corresponding Voronoi cells share an edge, denoted as DG(P). Theorem 9.5: The Delaunay graph of a planar point set is a plane graph. (No two edges in the embedding cross!) Understanding DG(P) . . . General Position: We say that a set of points in general position if it contains no four points on a circle. Therefore, P in general position means every vertex of the Voronoi diagram has degree three, and consequently all bounded faces of DG(P) are triangles. Understanding DG(P) . . . Theorem 9.6: Let P be a set of points in the plane. (i) Three points p i , p j , pk P are vertices of the same face of the Delaunay graph of P if and only if the circle through p i , p j , pr contains no point of P in its interior. (ii) Two points p i , p j P from an edge of the Delaunay graph of P if and only if there is a closed disc C that contains pi and p j on its boundary and does not contain any other point of P. Understanding DG(P) . . . Theorem 9.7: Let P be a set of points in the plane, and let T be a triangulation of P. Then T is a Delaunay triangulation of P if and only if the circumcircle of any triangle of T does not contain a point of P in its interior. Theorem 9.8: Let P be a set of points in the plane. A triangulation T of P is legal if and only if T is a Delaunay triangulation of P. The Big Conclusion Theorem 9.9: Let P be a set of points in the plane. Any angle-optimal triangulation of P is a Delaunay triangulation of P. Furthermore, any Delaunay triangulation of P maximizes the minimum angle over all triangulations of P. Computing DG(P) We first begin by creating three new points to add to P, which is the set p1 , p2 , p3 . These points are chosen far enough away from our point set so that when they are removed at the end of our algorithm, they do not destroy the triangulation created. (This means they do not lie on any circle defined by three points in P.) The Algorithm is randomized incremental, which means our vertex points are entered randomly, and a Delaunay triangulation is maintained for the current point set. Computing DG(P) . . . When a point p r is added to our point set, we must find the triangle that contains our point p r then add lines from p r to the vertices of this triangle. We have two cases p to consider: i pk pk pr pi pl pj pr pj The Algorithm It is simple: i) Add 3 points to P that surround our set. ii) Choose a point p r and add edges. iii)Check edges, if illegal, flip. iv) Remove 3 points added in i). v) Return triangulation of P. But, Why Does It Work? Correctness of Algorithm: Must show no illegal edge left behind! 1. We see that every new edge added is incident to our point p r . 2. We will see that every new edge added is in fact legal! 3. Combine 2) with the fact that any edge may become illegal only if it is incident to a triangle that has changed, then our algorithm tests any edge that may become illegal. Why Every Added Edge is Legal Lemma 9.10: Every new edge created in DELAUNAYTRIANGULATION or in LEGALIZEEDGE during the insertion of p r is an edge of the Delaunay graph of p1 ,..., pr . Thus, our algorithm is correct! Two More Points! How we find p r . How to choose p1 , p2 , p3 and decide if an edge is illegal. Complexity Theorem 9.12: The Delaunay triangulation of set P of n points in the plane can be computed in O(nlogn) expected time, using O(n) expected storage. Revisit Our Diagrams Quic kTime™ and a TIFF (LZW) decompress or are needed to see this pic ture. Quic kTime™ and a TIFF (LZW) decompress or are needed to see this pic ture. Voroini Diagram Delaunay Graph Quic kTime™ and a TIFF (LZW) decompress or are needed to see this pic ture. Approximated Terrain Final Thoughts . . . We now have an efficient algorithm for triangulating planar point sets. Applications: 1. geosciences <http://www.ncgia.ucsb.edu/conf/SANTA_FE_CDROM/sf_papers/lattuada_roberto/paper.html> 2. wireless networks <http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/trans/td/&toc= comp/trans/td/2003/10/lxtoc.xml&DOI=10.1109/TPDS.2003.1239871> 3. list of multiple uses of Delaunay <http://www.ics.uci.edu/~eppstein/gina/delaunay.html> 4. site to generate Delaunay triangulation <http://www.dlc.fi/~dkpa/> References De Berg et.al. Computational Geometry. Springer-Verlag, 2000. Fukuda, Komei. Frequently Asked Questions in Polyheral Computation. 2004ftp://ftp.ifor.math.ethz.ch/pu b/fukuda/reports/polyfaq040618.p df Previous websites