Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Delaunay Triangulation.

Slides:



Advertisements
Similar presentations
Order-k Voronoi Diagram in the Plane
Advertisements

CSE 4101/5101 Prof. Andy Mirzaian. References: Lecture Note 8 [LN8]LN8 [CLRS] chapter 33 Lecture Note 8 [LN8]LN8 [CLRS] chapter 33 Applications:  Proximity.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Applications of Euler’s Formula for Graphs Hannah Stevens.
Proximity graphs: reconstruction of curves and surfaces
Brute-Force Triangulation
Computational Geometry II Brian Chen Rice University Computer Science.
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
C o m p u t i n g C O N V E X H U L L S by Kok Lim Low 10 Nov 1998 COMP Presentation.
Morphing CSE 590 Computational Photography Tamara Berg.
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
The Divide-and-Conquer Strategy
Convex Hulls in Two Dimensions Definitions Basic algorithms Gift Wrapping (algorithm of Jarvis ) Graham scan Divide and conquer Convex Hull for line intersections.
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Convex Hulls in 3-space Jason C. Yang.
What does that mean? To get the taste we will just look only at some sample problems... [Adapted from S.Suri]
3/5/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Delaunay Triangulations II Carola Wenk Based on: Computational.
Voronoi Diagram Presenter: GI1 11號 蔡逸凡
Lecture 7: Voronoi Diagrams Presented by Allen Miu Computational Geometry September 27, 2001.
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
2. Voronoi Diagram 2.1 Definiton Given a finite set S of points in the plane , each point X of  defines a subset S X of S consisting of the points of.
3. Delaunay triangulation
Delaunay Triangulation Computational Geometry, WS 2006/07 Lecture 11 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
By Eyal Dushkin [Ed] Chapter 1. I. Introduction Reminder – Voronoi Diagrams  Let S be a set of sites in the plane.  Each point in the plane.
By Dor Lahav. Overview Straight Skeletons Convex Polygons Constrained Voronoi diagrams and Delauney triangulations.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday,
Voronoi Diagrams Computational Geometry, WS 2006/07 Lecture 10 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 5: Voronoi Diagrams Monday, 2/23/04.
Lecture 10 : Delaunay Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Overview Motivation. Triangulation of Planar Point Sets. Definition.
Image Morphing : Rendering and Image Processing Alexei Efros.
Image Morphing : Computational Photography Alexei Efros, CMU, Fall 2005 © Alexey Tikhonov.
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
1 University of Denver Department of Mathematics Department of Computer Science.
Image Morphing, Triangulation CSE399b, Spring 07 Computer Vision.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
Stony Brook University
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
5 -1 Chapter 5 The Divide-and-Conquer Strategy A simple example finding the maximum of a set S of n numbers.
C o m p u t i n g C O N V E X H U L L S. Presentation Outline 2D Convex Hulls –Definitions and Properties –Approaches: Brute Force Gift Wrapping QuickHull.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Nonoverlap of the Star Unfolding Boris Aronov and Joseph O’Rourke, 1991 A Summary by Brendan Lucier, 2004.
Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930.
Order-k Voronoi diagram in the plane Dominique Schmitt Université de Haute-Alsace.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:
Image Morphing Computational Photography Derek Hoiem, University of Illinois 9/29/15 Many slides from Alyosha Efros.
1 11. Polygons Polygons 2D polygons ( 다각형 ) –Polygon sides are all straight lines lying in the same plane 3D polyhedra ( 다면체 )  chap. 12 –Polyhedra.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Image Warping and Morphing : Computational Photography Alexei Efros, CMU, Fall 2011 © Alexey Tikhonov.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
Multimedia Programming 10: Image Morphing
3/3/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Delaunay Triangulations I Carola Wenk Based on: Computational.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
CENG 789 – Digital Geometry Processing 03- Point Sets Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O’Rourke, Computational.
Polygon Triangulation
CMPS 3130/6130 Computational Geometry Spring 2017
Randomized Incremental Algorithm for Delaunay Triangulation (DT) CS Gates 219 October 19, 3:00 – 4:20 Richard Zhang (for Leo G.) Disclaimer: All.
CENG 789 – Digital Geometry Processing 03- Point Sets
A Divide-and-Conquer Algorithm for Delaunay Triangulation CS Gates 219 October 17, 3:00 – 4:20 Richard Zhang (for Leo G.) Disclaimer: All figures.
Image Morphing © Zooface Many slides from Alexei Efros, Berkeley.
CMPS 3130/6130 Computational Geometry Spring 2017
Computational Geometry
Presentation transcript:

Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Delaunay Triangulation

Center for Graphics and Geometric Computing, Technion 2 Triangulations  A triangulation of set S of points in the plane is a partition of the convex hull of the set into triangles whose vertices are the points, and do not contain other points. (Why is there always a triangulation?!)  An alternative definition: A maximal collection of line- segments inside CH(S) whose endpoints are points of S. (These segments form the triangles.)  There are an exponential number of triangulations of a point set. Best known bound: O(43 n ) [Sharir and Welzl, 2006].

Center for Graphics and Geometric Computing, Technion 3 Motivation  Assume a height value is associated with each point.  A triangulation of the points defines a piecewise- linear surface of triangular patches. 2D3D

Center for Graphics and Geometric Computing, Technion 4 Piecewise-Linear Interpolation  The height of a point P inside a triangle is determined by the height of the triangle vertices, and the location of P.  The result depends on the triangulation. P P >

Center for Graphics and Geometric Computing, Technion 5 Barycentric Coordinates  Any point inside a triangle can be expressed uniquely as a convex combination of the triangle vertices: v1v1 v2v2 v3v3 p A2A2 A3A3 A1A1

Center for Graphics and Geometric Computing, Technion 6 (back to) Piecewise-Linear Interpolation (x 1,y 1,z 1 ) (x 2,y 2,z 2 ) (x 3,y 3,z 3 ) (x 1,y 1,z 1 ) (x 4,y 4,z 4 ) (x 5,y 5,z 5 ) P P

Center for Graphics and Geometric Computing, Technion 7 An O(n 3 )-Time Triangulation Algorithm  Repeat Select two sites. If the edge connecting them does not intersect previously kept edges, keep it. Until all faces are triangles.  Question: Why O(n 3 ) time?  Question: Why is the algorithm guaranteed to stop before running out of edges?  Answer: Because every nontriangular face has a diagonal that was not processed yet. (Why?!)

Center for Graphics and Geometric Computing, Technion 8 An O(n log n)-Time Triangulation Algorithm  Construct the convex hull of the points, and connect one arbitrary vertex to all others.  Insert the other sites one after the other…   Two possibilities: Point inside a triangle: One triangle becomes three. Point on an edge: Two triangles become four. Question: Why O(n log n) time?

Center for Graphics and Geometric Computing, Technion 9 Number of Triangles  The number of triangles t in a triangulation of n points depends on the number of vertices h on the convex hull: t = (h-2) + 2(n-h) = 2n-h-2. h = 6  t = 8 n = 8 h = 5  t = 9

Center for Graphics and Geometric Computing, Technion 10 Quality Triangulations  Consider a triangulation T.  Let  (T) = (  1,  2, …,  3t ) be the vector of angles in the triangulation T sorted in increasing order.  A triangulation T 1 is “better” than T 2 if  (T 1 ) >  (T 2 ) (compared lexicographically).  The Delaunay triangulation is the “best” (avoiding, as much as possible, long skinny triangles). Good:Bad:

Center for Graphics and Geometric Computing, Technion 11 Thales’s Theorem  Theorem: Let C be a circle, and ℓ a line intersecting C at the points a and b. Let p, q, r, and s be points lying on the same side of ℓ, where p and q are on C, r inside C, and s outside C. Then:  Proof omitted. (Thales proved the theorem directly; one can deduce it from the sine theorem.) q p s r b a ℓ

Center for Graphics and Geometric Computing, Technion 12 Improving a Triangulation  In any convex quadrangle, an edge flip is possible. (Why? Why isn’t it possible in a concave triangle?)  Claim: If this flip improves the triangulation locally, it also improves the global triangulation. (Why?)   If an edge flip improves the triangulation (locally and hence globally), the original edge is called illegal.

Center for Graphics and Geometric Computing, Technion 13 Illegal Edges  Lemma: An edge pq is illegal iff any of its opposite vertices is inside the circle defined by the other three vertices.  Proof: By Thales’s theorem.  Moreover, a convex quadrangle in general position has exactly one legal diagonal.  Theorem: A Delaunay triangulation does not contain illegal edges. (Otherwise it can be improved locally.)  Corollary: A triangle is Delaunay iff the circle through its vertices is empty of other sites.  Observation: The Delaunay triangulation is not unique if more than three sites are cocircular. p q p q

Center for Graphics and Geometric Computing, Technion 14 An  (n 4 )-Time Delaunay Triangulation   For all triples of sites: If the circle through the triple of sites does not contain any other sites, keep the triangle whose vertices are the triple.   Complexity:  (n 3 ) triples,  (n) work on each triple; Total:  (n 4 ) time. (Space complexity:  (n).)

Center for Graphics and Geometric Computing, Technion 15 Proof: We prove that equality holds if the points are cocircular. There exists a center q and radius r such that: Similarly for b, c, d. In vector notation: So these four vectors are linearly dependent, and hence their determinant vanishes. Corollary: d   (a,b,c) iff b   (a,c,d) iff c   (b,a,d) iff a   (b,c,d). The In-Circle Test Theorem: If a,b,c,d form a CCW convex polygon, then d lies in the circle determined by a, b, and c iff:

Center for Graphics and Geometric Computing, Technion 16 Naive Delaunay Algorithm  Start with an arbitrary triangulation.  Flip any illegal edge until no more exist.

Center for Graphics and Geometric Computing, Technion 17 Naive Delaunay Algorithm (cont.)  Question: Why does the algorithm terminate?  Answer: Because every flip increases the vector angle, and there are finitely-many such vectors.  However, this algorithm is in practice very slow.  Question: Why does the algorithm converge to the optimum triangulation?  Answer: Because there are no local maxima (proof deferred).

Center for Graphics and Geometric Computing, Technion 18 Delaunay Triangulation by Duality  Draw the Delaunay graph (the dual graph of the Voronoi diagram) by connecting each pair of neighboring sites in the Voronoi diagram.  If no four points are cocircular, then the Delaunay graph is triangulated,  General position assumption: There are no four cocircular points.  We need to prove: Correctness of this duality. That is, that drawing the Delaunay graph with straight segments does not cause any segment intersection. That this triangulation indeed maximizes the angle vector (and, hence, it is the Delaunay triangulation).  Corollary: The Delaunay triangulation (DT) of n points can be computed in O(n log n) time.

Center for Graphics and Geometric Computing, Technion 19 Proof of Planarity of Delaunay Triangulation  Let S be a set of sites, and let DT(S) be the dual graph of VD(S).  Let p i p j be an edge of DT(S). It is so because cells of p i and p j in VD(S) are neighbors in VD(S). Hence, there exists an empty circle passing through p i,p j and whose center o ij is on their bisector (the edge of VD(S) separating between the cells of p i and p j ).  Assume for contradiction that p i p j intersects another edge p k p l in DT(S).  Observe the possible interactions between the triangles  o ij p i p j and  o kl p k p l … (next slide) pipi pjpj o ij

Center for Graphics and Geometric Computing, Technion 20 Planarity Proof (cont.)  Case A (one triangle contains a yellow vertex of the other triangle): Impossible, since the circumscribing circle of the first triangle is empty, hence also the triangle.  Case B (no triangle contains a vertex of the other triangle): Cannot avoid an intersection of a pair of white edges, which is impossible, because the white edges are fully contained in disjoint Voronoi cells.  Case C (one triangle contains a green vertex of the other triangle) is possible. Question: Why isn’t it a contradiction? pipi pjpj pkpk plpl o ij o kl

Center for Graphics and Geometric Computing, Technion 21 Delaunay Triangulation: Main Property  Theorem: Let S be a set of points in the plane. Then, (i) p i,p j,p k  S are vertices of a triangle (face) of DT(S)  The circle passing through p i,p j,p k is empty; (ii) p i,p j (for p i,p j  S) is an edge of DT(S)  There exists an empty circle passing through p i,p j.  Proof: Dualize the Voronoi-diagram theorem.  Corollary: A triangulation T(S) is DT(S)  Every circumscribing circle of a triangle  T(S) is empty.

Center for Graphics and Geometric Computing, Technion 22 Wrapping Up  Theorem: Let S be a set of points in the plane, and let T(S) be a triangulation of S. Then, T(S) = DT(S)  T(S) is legal.  Proof: Follows from the definitions of a legal edge and triangulation. (Exercise!)  Corollary: DT(S) maximizes the vector angle.  Since DT(S) is unique, there is only one legal triangulation, and thus, there are no local maxima in the edge-flip algorithm. That is, it converges to DT(S).

Center for Graphics and Geometric Computing, Technion 23 An O(n log n)-Time Delaunay Algorithm A Randomized incremental algorithm:  Form a bounding triangle  0 enclosing all points.  Add the points one after another in random order and update the triangulation.  If the point is inside an existing triangle: Connect the point to the triangle vertices. Check if a flip can be performed on any of the three triangle edges. If so, flip the edge and check recursively the neighboring edges (opposite to the new point).  If the site is on an existing edge: Replace the edge with four new edges. Check if a flip can be performed on any of the opposite edges. If so, flip the edge and check recursively the neighboring edges (opposite to the new point).

Center for Graphics and Geometric Computing, Technion 24 Flipping Edges  A new point p r was added, causing the creation of the edges p i p r and p j p r.  The legality of the edge p i p j (with opposite vertex) p k is checked.  If p i p j is illegal, perform a flip, and recursively check edges p i p k and p j p k, the new edges opposite to p r.  Notice that the recursive call for p i p k cannot eliminate the edge p r p k.  Note: All edge flips replace edges opposite to the new vertex by edges adjacent to it! pipi pkpk prpr pjpj

Center for Graphics and Geometric Computing, Technion 25 Flipping Edges: Example pipi pkpk prpr pjpj

Center for Graphics and Geometric Computing, Technion 26 Number of Triangles  Theorem: The expected number of triangles created in the course of the algorithm (some of which also disappear) is at most 9n+1.  Proof: During the insertion of point p i, k i new edges are created: 3 new initial edges, and k i -3 due to flips. Hence, the number of new triangles is at most 3+2(k i -3) = 2k i -3. (A point on an edge results in 2k i -4 triangles.)  What is the expected value of k i ?

Center for Graphics and Geometric Computing, Technion 27 Number of Triangles (cont.)  Recall that the Voronoi diagram has at most 3N - 6 edges, where N is the number of vertices.  The number of edges in a graph and its dual are identical.  Taking into account the initial triangle  0, after inserting i points, there are at most 3(i+3) - 6 = 3i + 3 edges. Three of them belong to  0, so we are left with at most 3i internal edges that are adjacent to the input points.

Center for Graphics and Geometric Computing, Technion 28 Number of Triangles (cont.)  The sum of all vertex degrees is thus at most 2∙3i = 6i.  On the average, the degree of each vertex is only 6 ! But this is exactly the number of new edges!  Hence, the expected number of triangles created in the i th step is at most E(2k i - 3) = 2 E(k i ) - 3 = 9.  Therefore, the expected number of triangles created (and possibly destroyed) for n points is 9n + 1. (One initial bounding triangle plus 9 triangles on average per point.)

Center for Graphics and Geometric Computing, Technion 29 Algorithm Complexity  Point location for every point: O(log n) time (not shown).  Flips:  (n) expected time in total (for all steps).  Total expected time: O(n log n).  Space:  (n).

Center for Graphics and Geometric Computing, Technion 30 Relatives of the Delaunay Triangulation  Euclidean Minimum Spanning Tree (EMST): A tree of minimum length connecting all the sites.  Relative Neighborhood Graph (RNG): Two sites p, q are connected if  Gabriel Graph (GG): Two sites p, q are connected if the circle whose diameter is pq is empty of other sites.  Theorem: EMST  RNG  GG  DT.

Center for Graphics and Geometric Computing, Technion 31 Delaunay Triangulation and Convex Hulls Project the 2D point set onto the 3D paraboloid The 2D triangulation is Delaunay! z=x 2 +y 2 Compute the 3D lower convex hull z=x 2 +y 2 Project the 3D facets Back to the plane. z=x 2 +y 2

Center for Graphics and Geometric Computing, Technion 32 Proof of Lift-Up  The intersection of a plane with the paraboloid is an ellipse whose projection to the plane is a circle.  s lies within the circumcircle of p,q,r iff s’ lies on the lower side of the plane passing through p’,q’,r’.  p, q, r  S form a Delaunay triangle iff p’, q’, r’ form a face of the convex hull of S’. p q r r’ p’ q’ s s’

Center for Graphics and Geometric Computing, Technion 33 More about Lifting Up  Given a set S of points in the plane, associate with each point p=(a,b)  S the plane z = 2ax+2by-(a 2 +b 2 ), which is tangent to the paraboloid at p’, the vertical projection of p onto the paraboloid.  VD(S) is the vertical projection onto the XY plane of the boundary of the convex polyhedron that is the intersection of the halfspaces above these planes. p q p’ q’