Randomized Incremental Algorithm for Delaunay Triangulation (DT) CS 268 @ Gates 219 October 19, 3:00 – 4:20 Richard Zhang (for Leo G.) Disclaimer: All.

Slides:



Advertisements
Similar presentations
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.
Advertisements

Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
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.
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.
UNC Chapel Hill M. C. Lin Polygon Triangulation Chapter 3 of the Textbook Driving Applications –Guarding an Art Gallery –3D Morphing.
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
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.
3/5/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Delaunay Triangulations II Carola Wenk Based on: Computational.
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
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.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday,
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.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Delaunay Triangulation.
Point Location in Delaunay Triangulations. Inspiration: Graphics software wants to light a model and needs to know which face a light ray hits You moved.
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
Brute-Force Triangulation
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
On Graphs Supporting Greedy Forwarding for Directional Wireless Networks W. Si, B. Scholz, G. Mao, R. Boreli, et al. University of Western Sydney National.
Open Problem: Dynamic Planar Nearest Neighbors CSCE 620 Problem 63 from the Open Problems Project
1 / 41 Convex Hulls in 3-space Jason C. Yang. 2 / 41 Problem Statement Given P: set of n points in 3-space Return: –Convex hull of P: CH (P) –Smallest.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Delaunay Triangulation on the GPU
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Delaunay Triangulations and Control-Volume Meshing Michael Murphy.
Mesh Generation, Refinement and Partitioning Algorithms Xin Sui The University of Texas at Austin.
CMPS 3130/6130 Computational Geometry Spring 2017
CENG 789 – Digital Geometry Processing 03- Point Sets
CMPS 3130/6130 Computational Geometry Spring 2017
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.
Introduction to Spatial Computing CSE 555
Image Morphing © Zooface Many slides from Alexei Efros, Berkeley.
CMPS 3130/6130 Computational Geometry Spring 2017
Minimum Spanning Tree 8/7/2018 4:26 AM
Surviving Holes and Barriers in Geographic Data Reporting for
Haim Kaplan and Uri Zwick
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
Localizing the Delaunay Triangulation and its Parallel Implementation
The Art Gallery Problem
CIS 700: “algorithms for Big Data”
Polygon Triangulation
Lectures on Graph Algorithms: searching, testing and sorting
CSCI B609: “Foundations of Data Science”
Introduction Wireless Ad-Hoc Network
Delaunay Triangulation & Application
Kinetic Collision Detection for Convex Fat Objects
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Computational Geometry
Dynamic Graph Algorithms
Clustering.
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Presentation transcript:

Randomized Incremental Algorithm for Delaunay Triangulation (DT) CS 268 @ Gates 219 October 19, 3:00 – 4:20 Richard Zhang (for Leo G.) Disclaimer: All figures in the slides are for illustration only. Best approximations were attempted, but preciseness or correctness of the geometric constructions should not be assumed.

Striving for simplicity Reference: Guibas, Knuth, and Sharir, “Randomized Incremental Construction of Delaunay and Voronoi Diagrams,” Algorithmica, 1992. The incremental algorithm is simple to code Adding randomization is a trivial matter Point location idea is also meant for simplicity No complex search data structures But simple algorithm ≠ simple analysis

Basic incremental algorithm for DT Insert one new site into the current DT at a time Update the DT and repeat

Key step: point insertion 1. Point location: locate triangle “hit” by new point p Why are these edges Delaunay? p Delaunay property of suspect (dashed) edges need to be examined

Incremental point insertion 2. Test D-hood of suspect edges and flip if needed p Use the inCircle predicates

Incremental point insertion 2. Test D-hood of suspect edges and flip if needed p

Incremental point insertion A flip adds two suspect edges and two new triangles p A newly created edge (via flip) is always connected to p, the newly inserted site. This new edge is Delaunay and will stay so regardless of further flips. Note: edge flips do not change the Delaunay-hood of any edge.

Incremental point insertion After resolving a “wave of suspicions” around p, all Delaunay properties are restored p Figures taken from Graphics Gem by Dani Lischinski [1993]

A detail: what is the first triangle A very large triangle that encloses all sites but is exterior to all circumcircles

A detail: what is the first triangle A very large triangle that encloses all sites but is exterior to all circumcircles

Time complexity Lemma 32: When a new site is inserted, no edge is tested more than once. Any current Delaunay edge, that has a circle witness after insertion of p, is tested at most once If tested edge is not Delaunay, it is flipped to become (and stay to be) Delaunay; it is never tested again. Each insertion is O(n), so overall O(n2) p p

Can we reach quadratic time? Yes. Imagine cases of DTs and insertions that require a lot of flips. Here are specific about both the site locations and insertion orders.

Randomization To achieve good expected running time Only need to randomize the point insertion order — a trivial matter No assumptions made on site locations except for general positioning

Randomization To achieve good expected running time Only need to randomize the point insertion order — the one liner No assumptions made on site locations except for general positioning To analyze the expected running time Estimate the expected total number of structural changes (the updates) needed after point insertion — proportional to total number of Delaunay triangles that will ever arise Estimate the time needed for all point location tests

w(△XYZ) = number of points interior to the circumcircle of △XYZ Estimate number of D-△ Introduce the notion of scope of a △XYZ: w(△XYZ) = number of points interior to the circumcircle of △XYZ Let Tj be the number of triangles with scope j. Then we need to bound Rewrite over scope:

Estimate number of D-△ To bound , the rest is algebraic manipulation … Need to bound τ Probability that a △ with scope j appears in the r-set. This is the same as the probability that the r-set contains three vertices of the △ but none of the j sites enclosed by the circumcircle of the △. To bound , the rest is algebraic manipulation …

To bound

To bound

A looser bound for : 9n +1 Count how many new triangles are expected to be created per step At each step, when a new site p is inserted Three new triangles are created by a split Two new triangles are created by a flip Each flip leads to one new edge to p Total number of new triangles ≤ 2(k – 3) + 3, where k is the expected valence of a site in a DT. Exercise: k = 6. p p

Point location: the elegant idea Keep track of all triangles arising during the whole process Maintain pointers between old and newly created triangles To locate a point, trace in “top-down” manner the stacked triangles in chronological order Like stacking paper triangles on top of each other

Stacking the triangles If a new site is inserted, there are three new triangles new old new new

Stacking the triangles If a new site is inserted, there are three new triangles When an edge is flipped, two new triangles new old new new old new new old

Search for triangle Start with the largest triangle which contains all sites At each step of chronological trace Test two or three triangles for containment Then recurse Each step only involves constant number of tests Need to estimate the total number of triangles tested

Amortized bound of total search cost Key is to relate the #triangles tested to their scopes There are n sites, but one site may be counted in multiple scopes Let p be an inserted site for △ location. Let △XYZ be one of the △’s tested. We only need to count △XYZ’s that contain p. Two cases: △XYZ is in the final DT: there are O(n) such △’s in total

Amortized bound of total search cost Key is to relate the #triangles tested to their scopes There are n sites, but one site may be counted in multiple scopes Let p be an inserted site for △ location. Let △XYZ be one of the △’s tested. We only need to count △XYZ’s that contain p. Two cases: △XYZ is in the final DT: there are O(n) such △’s in total △XYZ was destroyed at some time during construction process

Case 1: △XYZ was split into three Before △XYZ was destroyed, it was Delaunay. Since p lies inside △XYZ, it lies inside the circumcircle of △XYZ We count/charge △XYZ to this site p which accounted for the scope measure of △XYZ.

Case 2: △XYZ was replaced in a flip The flip involves △XYZ and its adjacent △, say △WYZ. Before △XYZ was destroyed (by the flip), two possibilities: △XYZ was Delaunay. So charge △XYZ to p which accounted for △XYZ’s scope.

Case 2: △XYZ was replaced in a flip Hence, X must be in the circumcircle of △WYZ. It follows that △XYZ is in the circumcircle of △WYZ, and so is p. So charge △XYZ’s to p which accounted for △WYZ’s scope. The flip involves △XYZ and its adjacent △, say △WYZ. Before △XYZ was destroyed (by the flip), two possibilities: △XYZ was Delaunay. So charge △XYZ to p which accounted for △XYZ’s scope. △XYZ was not Delaunay, then △WYZ must be Delaunay and X was a newly inserted site and its insertion invalidated △WYZ’s Delaunay-hood.

Concluding the amortized analysis Each tested triangle can be charged to a site which accounted for the scope measure of one of the Delaunay triangles that ever arose Each site in each scope is charged at most once So the total number of tested triangles is in the order of That is O(n log n)! + n 6

DT and convex hull Mapping from plane to paraboloid: A = (x, y) ↦ A’ = (x, y, x2 + y2) Points A, B, C, D co-circular iff points A’, B’, C’, D’ are co-planar A B D C A’ B’ D’ C’

DT and convex hull Mapping from plane to paraboloid: A = (x, y) ↦ A’ = (x, y, x2 + y2) If a point P is inside circle, then P’ is below the plane A B D C A’ B’ D’ C’ Finding a DT in the plane is equivalent to finding a lower convex hull on the paraboloid

Applications Closest pair of points in n sites That edge is Delaunay – so find shortest edge in DT Finding all nearest neighbors Edge connecting to nearest neighbor is Delaunay Euclidean minimum spanning tree (EMST) EMST must be subgraph of DT – so find DT first If a point P is inside circle, then P’ is below the plane

Minimal roughness of terrain Given a set of points in 3D How to connect them to form a smooth terrain?

Minimal roughness of terrain Given a set of points in 3D How to connect them to form a smooth terrain? Project points onto plane

Minimal roughness of terrain Given a set of points in 3D How to connect them to form a smooth terrain? Project points onto plane Delaunay triangulation in the plane Connect 3D points based on DT

Low dilation g(p, q) Dilation of graph p Low-dilation graphs are useful in sensor networks DT (non-obtuse triangulations!!!) are low-dilation p q