Computational Geometry -- Voronoi Diagram

Slides:



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

Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
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.
2/3/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries II Carola Wenk.
Convex Hull obstacle start end Convex Hull Convex Hull
UNC Chapel Hill M. C. Lin Polygon Triangulation Chapter 3 of the Textbook Driving Applications –Guarding an Art Gallery –3D Morphing.
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
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
Department of Geoinformation Science Technische Universität Berlin WS 2006/07 Geoinformation Technology: Voronoi Diagrams Alexandra Stadler Institute for.
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.
Convex Hull Problem Presented By Erion Lin. Outline Convex Hull Problem Voronoi Diagram Fermat Point.
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.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Convex Hulls Today: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness,
17. Computational Geometry Chapter 7 Voronoi Diagrams.
3. Delaunay triangulation
Computational Geometry and Spatial Data Mining
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.
Geometric Data Structures Dr. M. Gavrilova. Lecture Plan Voronoi diagrams Trees and grid variants.
TU/e computational geometry introduction Mark de Berg.
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.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Delaunay Triangulation.
Lecture 8 : Arrangements and Duality Computational Geometry Prof. Dr. Th. Ottmann 1 Duality and Arrangements Duality between lines and points Computing.
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.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2001 Lecture 3 Chapter 4: 3D Convex Hulls Chapter.
Brute-Force Triangulation
UNC Chapel Hill M. C. Lin Point Location Chapter 6 of the Textbook –Review –Algorithm Analysis –Dealing with Degeneracies.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
9/7/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries Carola Wenk.
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.
Triangulating a monotone polygon
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
Line Arrangement Chapter 6. Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision.
5 -1 Chapter 5 The Divide-and-Conquer Strategy A simple example finding the maximum of a set S of n numbers.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Week Aug-24 – Aug-29 Introduction to Spatial Computing CSE 5ISC Some slides adapted from Worboys and Duckham (2004) GIS: A Computing Perspective, Second.
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:
Voronoi Diagram (Supplemental)
Arrangements and Duality Sanjay Sthapit Comp290 10/6/98.
Kansas State University Department of Computing and Information Sciences Friday, July 13, 2001 Mantena V. Raju Department of Computing and Information.
UNC Chapel Hill M. C. Lin Computing Voronoi Diagram For each site p i, compute the common inter- section of the half-planes h(p i, p j ) for i  j, using.
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.
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.
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
CMPS 3130/6130 Computational Geometry Spring 2017
3. Polygon Triangulation
(Slides mostly by Allen Miu)
Algorithm design techniques Dr. M. Gavrilova
Computational Geometry Capter:1-2.1
Chapter 7 Voronoi Diagrams
Computational Geometry
Presentation transcript:

Computational Geometry -- Voronoi Diagram Sophie Che

The Largest Empty Circle Problem An application of Voronoi Diagram

4/16/2017 7:23 AM

Largest Empty Circle S : site points e : Voronoi edge v : Voronoi vertex e : Voronoi edge e The problem is Given a set S of site points, find a largest empty circle s.t. its center is in the convex hull of S, its interior contains no sites and it is the largest one of such circles. Convex hull is the smallest convex polygon in the plane that contains all of the points of S. Imagine a number of nails in a plane. You stretch a rubber band around all the nails. Then release the rubber band. The convex hull is the region bounded by the rubber band. It has been proven that the center of the largest empty circle must lie on the Voronoi diagram. Convex: a convex polygon is a simple polygon s.t. every line segment between two vertices are either inside the polygon or on its boundary. 4/16/2017 7:23 AM

Definitions & Basic Properties Of Voronoi Diagram

Definition pi 4/16/2017 7:23 AM

Formal Definition Let P be a set of n distinct points (sites) in the plane. The Voronoi diagram of P is the subdivision of the plane into n cells, one for each site. A point q lies in the cell corresponding to a site pi  P iff Euclidean_Distance(q, pi) < Euclidean_distance(q, pj) for each pi  P, j  i. 4/16/2017 7:23 AM

Structure 2 sites 3 sites 4 sites Perpendicular Bisector Non-collinear sites Half lines meeting at a Voronoi vertex 4 sites A bounded cell 4/16/2017 7:23 AM

Structure (Cont’d) More sites… V(pi) = 1 j  n, j  i h(pi,pj) pi 4/16/2017 7:23 AM

Complexity (Size) Intuitively: n2 Actually: O(n) n sites At most n-1 vertices and edges per cell Actually: O(n) For n  3, |v|  2n  5, |e|  3n  6 4/16/2017 7:23 AM

Linear Complexity – proof Euler’s Formula: For planar graphs, |V| – |E| + F = 2 Connecting all half-infinite edges to an extra vertex  (|v| + 1) – |e| + n = 2 Plus,  |v|  2n  5 |e|  3n  6 e pi p 4/16/2017 7:23 AM

Delaunay Triangulation Dual graph of Voronoi Diagram

Delaunay Triangulation Dual graph Nodes: site points Edges: “neighboring” sites in VD Properties Planar graph Linear complexity 4/16/2017 7:23 AM

Delaunay Properties DT is the straight-line dual of VD. DT is a triangulation if no four sites are cocircular. Each face of DT corresponds to a vertex of VD. Each edge of DT corresponds to an edge of VD. Each node of DT corresponds to a cell of VD. The boundary of DT is the convex hull of the sites. The interior of each face of DT contains no sites. 2. Triangulation means that every face is a triangle. So, if there are any 4 sites cocircular, DT should be called as DG coz it is no more a triangulation. Each face of DT is called a Delaunay triangles. 4/16/2017 7:23 AM

Voronoi Properties Each Voronoi cell is convex. The cell of pi is unbounded iff pi is on the convex hull of the sites. [c.f. D6] If v is a Voronoi vertex at the junction of p1, p2 and p3, then v is the center of the circle C(v) determined by p1, p2 and p3. C(v) is the circumcircle for the Delaunay triangle corresponding to v. The interior of C(v) contains no sites. [c.f. D7] If pi is a nearest neighbor to pj, then pipj is an edge of DT. If there is some circle through pi and pj that contains no other sites, then pipj is an edge of DT. D6 – boundary of DT is the convex hull of the sites D7 – the interior of each face of DT contains no sites 4/16/2017 7:23 AM

Voronoi Vertex A Voronoi vertex is an intersection of 3 (or more) segments, each equidistant from a pair of sites A point q is a Voronoi vertex iff its largest empty circle centered at q touches at least 3 (or more) sites pk pi q pj 4/16/2017 7:23 AM

Voronoi Edge A Voronoi edge is a subset of locus of points equidistant from pi and pj A point q lies on a Voronoi edge between sites pi and pj iff its largest empty circle centered at q touches only pi and pj q pi pj 4/16/2017 7:23 AM

Algorithms To compute a Voronoi Diagram

Computing Voronoi Diagram Half Plane Intersection O(n2 log n) Sweep Line Algorithm O(n log n) Incremental Construction O(n2) 4/16/2017 7:23 AM

Half-Plane Intersection For each site pi, Compute the common intersection of the half- planes h(pi, pj), with j≠i 4/16/2017 7:23 AM

Half-Plane Intersection For each site pi, Compute the common intersection of the half- planes h(pi, pj), with j≠i 4/16/2017 7:23 AM

Half-Plane Intersection For each site pi, Compute the common intersection of the half- planes h(pi, pj), with j≠i O(nlogn) time per Voronoi cell O( n2 log n ) in total 4/16/2017 7:23 AM

Incremental Construction Incremental insertion Obtain VDn from VDn-1 Steps: Locate pi in some Voronoi cell of pj; Draw bisector between pi and pj; Expand boundary of Voronoi cell of pi; pj pi 4/16/2017 7:23 AM

Incremental Construction Incremental insertion Obtain VDn from VDn-1 Steps: Locate pi in some Voronoi cell of pj; Draw bisector between pi and pj; Expand boundary of Voronoi cell of pi; pj pi 4/16/2017 7:23 AM

Incremental Construction Incremental insertion Obtain VDn from VDn-1 Steps: Locate pi in some Voronoi cell of pj; Draw bisector between pi and pj; Expand boundary of Voronoi cell of pi; pj pi 4/16/2017 7:23 AM

Incremental Construction Incremental insertion Obtain VDn from VDn-1 O(n) time per point insertion O(n2) in total Demo 4/16/2017 7:23 AM

General Sweep Line Framework Sweep a horizontal line (sweep line) from top to bottom over the plane Incremental construction Maintain unchanged information Handle changes at certain special points (event points) l The strategy in a plane sweep framework is to sweep a horizontal line from top to bottom over the plane. 4/16/2017 7:23 AM

Fortune’s Algorithm Problems: What to maintain? Intersections? Beach line unchanged information – Distance l 4/16/2017 7:23 AM

Beach Line Sequence of Parabolic arcs breakpoints lie on Voronoi edges Set of points equidistant from nearest site above sweep line & sweep line itself breakpoints lie on Voronoi edges How to store it?? Sites consist of the line l breakpoint Equidistance arc 4/16/2017 7:23 AM

A visual implementation of Fortune's Voronoi algorithm Fortune’s Algorithm Demo A visual implementation of Fortune's Voronoi algorithm Notice that at some particular point, a new parabolic arc may appear and at some other particular point, a parabolic are may shrink to a point and then disappear. We call those points as event points. 4/16/2017 7:23 AM

Events needed to be Handled – Site Event When the sweep line reaches a new site… l We first consider the events where a new arc appears on the beach line. 4/16/2017 7:23 AM

Events needed to be Handled – Site Event When the sweep line reaches a new site… l The parabola defined by this site is at first a vertical line segment connecting the new site to the beach line. Think about it as a parabola with zero width. 4/16/2017 7:23 AM

Events needed to be Handled – Site Event When the sweep line reaches a new site…  A new arc appears l As the sweep line is moving downward, the new parabola get wider and wider. We call such an event a site event where a new site is encountered. What happens to the VD at a site event? Two new breakpoints appear. In fact, the new breakpoints coincide at first, and then move in opposite directions to trace out the same Voronoi edge. So, at a site event, a new arc appears on the beach line and a new Voronoi edge starts to be traced out. It is proven that this is the only way where a new arc can appear on the beach line. 4/16/2017 7:23 AM

Handling Site Events Find where it projects on beach line Insert its arc in proper position in the list of beach line Find the arc vertically above the new site point. 4/16/2017 7:23 AM

Events needed to be Handled – Circle Event When the sweep line encounters the bottom of an empty circle touching 3 or more sites… pi pj pk l Another type of event is where an existing arc of the beach line shrinks to a point and then disappears. When the sweep line is approaching the bottom of an empty circle, an arc is shrinking at the meantime. 4/16/2017 7:23 AM

Events needed to be Handled – Circle Event When the sweep line encounters the bottom of an empty circle touching 3 or more sites…  An arc disappears pi pj pk y When the sweep line arrives at the bottom of the empty circle, the beach line touches the center of the circle and the arc shrinks to a point. After that, as the sweep line move downwards, that arc disappears. Also notice that when an arc disappears from the beach line and two breakpoints meet, two Voronoi edges meet together at a Voronoi vertex. We call such event as a circle event where the sweep line reaches the lowest point of a circle through 3 site points. Also, it is proved that this is the only way where an existing arc can disappear from the beach line. l 4/16/2017 7:23 AM

Handling Circle Events Remove pj from beach line Create a Voronoi vertex y Center of empty circle is a Voronoi vertex Tie two Voronoi edges into y Create a Voronoi edge between pi and pk 4/16/2017 7:23 AM

Running Time Analysis How many arcs in beach line? How many events? Each site split at most 1 existing arc into 2  At most 2n-1 arcs How many events? Site events O(n) – number of sites Circle events O(n) – number of arcs 4/16/2017 7:23 AM

RUNNING TIME ANALYSIS – DATA STRUCTURE Beach line – sites that consist of the line  A binary search tree Event queue  A priority queue Where the priority of an event is its y-coordinate. It stores the upcoming events that are already known. 4/16/2017 7:23 AM

RUNNING TIME ANALYSIS – SITE EVENT Find where it projects on beach line O(log n) Insert its “arc” in proper position in the list of beach line O(1) 4/16/2017 7:23 AM

RUNNING TIME ANALYSIS – CIRCLE EVENT Remove pj from beach line O(log n) Create a Voronoi vertex y O(1) Tie two Voronoi edges into y Create a Voronoi edge between pi and pk 4/16/2017 7:23 AM

Total Running Time Each site/circle event handler O(log n) At most O(n) site and circle events  O(n log n) total running time 4/16/2017 7:23 AM

Is Fortune’s Algorithm Optimal? Sorting n real numbers is reducible to computing Voronoi diagrams  Lower bound O(n log n) Fortune’s algorithm is optimal! 4/16/2017 7:23 AM

Summary VD is a useful planar subdivision of a discrete point set VD has linear complexity/size O(n) edges and O(n) vertices Can be constructed in O(n log n) time Fortune’s algorithm (optimal) 4/16/2017 7:23 AM

Questions ?? THANK YOU

Special Cases Collinear sites Co-circle sites v

Linear Complexity – proof Case 1: collinear |v| = 0, |e| = n – 1