1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

Slides:



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

WSPD Applications.
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.
Great Theoretical Ideas in Computer Science for Some.
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
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.
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.
Convex Hulls Computational Geometry, WS 2006/07 Lecture 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Great Theoretical Ideas in Computer Science.
Delaunay Triangulation Computational Geometry, WS 2006/07 Lecture 11 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 l-Monotone Convex polygons are easy to triangulate. Unfortunately the partition.
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Polygon Triangulation Motivation: Guarding art galleries Art gallery theorem.
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.
Duality and Arrangements Computational Geometry, WS 2007/08 Lecture 6 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.
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann Polygon Triangulation Motivation: Guarding art galleries Art gallery theorem.
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.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Closest Pair of Points Computational Geometry, WS 2006/07 Lecture 9, Part II Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen,
Polygon Triangulation Computational Geometry, WS 2007/08 Lecture 9 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
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.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
Duality and Arrangements Computational Geometry, WS 2006/07 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
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.
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Computational Geometry (35/33) Line Segments and cross-product Segment intersection and Sweep Line Convex Hull and Graham’s Scan, Jarvis’s march Divide-and-Conquer.
5 -1 Chapter 5 The Divide-and-Conquer Strategy A simple example finding the maximum of a set S of n numbers.
14/13/15 CMPS 3130/6130 Computational Geometry Spring 2015 Windowing Carola Wenk CMPS 3130/6130 Computational Geometry.
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.
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:
Arrangements and Duality Sanjay Sthapit Comp290 10/6/98.
Graph Theory and Applications
Kansas State University Department of Computing and Information Sciences Friday, July 13, 2001 Mantena V. Raju Department of Computing and Information.
An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University.
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.
1 Point Location Strategies Idit Haran
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.
CMPS 3130/6130 Computational Geometry Spring 2017
An Introduction to Computational Geometry
Great Theoretical Ideas in Computer Science
Algorithm design techniques Dr. M. Gavrilova
Computational Geometry 2
Computational Geometry (35/33)
Chapter 7 Voronoi Diagrams
Computational Geometry
Presentation transcript:

1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use

2 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann The Voronoi Diagram

3 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Regions Eucledian distance : dist(p,q) := Let P :={ p 1, p 2,...,p n } be a set of n distinct points in a plane. We define the voronoi diagram of P as the subdivision of the plane into n cells, with the property that a point q lies in the cell correspon- ding to a site p i iff dist(q, p i ) < dist(q, p j ) for each p j  P with j  i. We denote the Voronoi diagram of P by Vor(P). The cell that corresponds to a site p i is denotd by V(p i ), called the voronoi cell of p i.

4 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Example V(p i ) =  1  j  n, j  i h(p i, p j ) q4q4 q1q1 q3q3 q2q2 p

5 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Computing the Voronoi Diagram Input: A set of points (sites) Output: A partitioning of the plane into regions of equal nearest neighbors

6 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Animations of the Voronoi diagram Java Applet zur Animation von Voronoi Diagrammen, Entwickelt von R. Klein u.a., FU Hagen pipi V(p i )

7 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Characteristics of Voronoi Diagrams (1) Voronoi regions (cells) are bounded by line segments. Special case : Collinear points Theorem : Let P be a set of n points (sites) in the plane. If all the sites are collinear, then Vor(P) consist of n-1 parallel lines and n cells. Otherwise, Vor(P) is a connected graph and its edges are either line segments or half-lines. e pipi pjpj pkpk h(p i,p j ) h(p j,p k ) If p i, p j are not collinear with p k, then h(p i, p j ) and h(p j, p k ) can not be parallel!

8 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Vor(P) is Connected If Vor(P) is not connected then there would be a Voronoi cell V(P i ) splitting the plane into two halfes. Because Voronoi cells are convex, V(P i ) would consist of a strip bounded by two parallel full lines, but we know that edges of Voronoi diagram cannot be full lines, hence a contradiction. Claim: Vor(P) is connected Proof by contradiction:

9 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Other Characteristics (Assumption: No 4 points are on the circle) (2) Each vertex (corner) of VD(P) has degree 3 (3) The circle through the three points defining a Vertex of the Voronoi diagram does not contain any further point

10 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann (4) Each nearest neighbor of one point defines an edge of the Voronoi region of the point. (5) The Voronoi region of a point is unbounded iff the point lies exactly on the convex hull of the point set.

11 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Size and Storage Size of the Voronoi Diagram: V(p) can have O(n) vertices!

12 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Size of the Voronoi Diagram Theorem: The number of vertices in the Voronoi diagram of a set of n points in the plane is at most 2n-5 and the number of edges is at most 3n-6. Proof: 1. Connect all Half-lines with fictitious point  2. Apply Euler`s formula:v – e + f = 2 For VD(P) +  : v = number of vertices of VD(P) + 1 e = number of edges of VD(P) f = number of sites of VD(P) = n Each edge in VD(P) +  has exactly two vertices and each vertex of VD(P) +  has at least a degree of 3:  sum of the degrees of all vertices of Vor(P) +  = 2 · ( # edges of VD(P) )  3 · ( # vertices of VD(P) + 1 )

13 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Number of vertices of VD(P) = v p Number of edges of VD(P) = e p We can apply:(v p + 1) – e p + n = 2 2 e p  3 (v p + 1) 2 e p  3 ( 2 + e p - n) = 6 + 3e p – 3n 3n – 6  e p Proof(Continued)

14 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Example

15 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Storage of Voronoi-Diagrams Three Records: vertex { Coordinates Incident edge }; face { OuterComponent InnerComponents }; halfedge { Origin Twin IncidentFace Next Prev }; e.g. : Vertices 1 = {(1,2) | 12} Sites 1 = {15 | [] } Edges 54 = { 4 | 45 | 1 | 43 | 15 }

16 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Computing the Voronoi Diagram Input: A set of points (sites) Output: A partitioning of the plane into regions of equal nearest neighbors.

17 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Divide and Conquer(Divide) Input: A set of points (sites) Output: A partitioning of the plane into regions of equal nearest neighbors. Divide: Divide the point set into two halves

18 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Divide and Conquer (Conquer) Conquer: Recursively compute the Voronoi diagrams for the smaller point sets Abort condition: Voronoi diagram of a single point is the entire plane.

19 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Divide and Conquer (Merge) Merge the diagrams by a (monoton) sequence of edges)

20 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann The Result The finished Voronoi Diagram Running time: With n given points is O(n log n)

21 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Geometrical Divide and Conquer Problem: Determine all intersecting pairs of segments A B C D E A B C D E S1S1 S2S2 S E C D A B

22 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann DAC - Construction of the Voronoi diagram Divide: Divide P by a vertical dividing line T into 2 equal size subsets say P 1 and P 2. If |P| = 1  completed. Conquer: Compute VD(P 1 ) and VD(P 2 ) recursively. Merge: Compute the edge sequence K separating P 1 and P 2 Cut VD(P 1 ) and VD(P 2 ) by means of K starting from VD(P 1 ) and VD(P 2 ) and K P1P1 P2P2 T Theorem: If K can be computed in time O(n), then the running time of the D&C-algorithm is T(n) = O(n log n) Proof : T(n) = 2 T(n/2) + O(n), T(1) = O(1)

23 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Computation of K P1P1 P2P2 First edge in K Last edge in K 4 tangential points P 1 P 2 Observation: K is y - monotonous Determines intersection s 1 of m with Vor(p 1 ) below l Determines intersection s 2 of m with Vor(p 2 ) below l Incremental (sweep line) construction (p 1 in P 1 and p 2 in P 2 perpendicular with m, Sweep l) Extend K by line segment l s i Set l = s i Compute new K defining pair p 1, p 2 Theorem: Running time O(n) Proof: Vor(p i ) are convex, therefore each one‘s forward - edge are only visited once.

24 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Example

25 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Fortune´s Algorithm Beach - line Sweep - line Observations: Intersection of the parabolas define edges New "telephones" ( ) define new parabolas Parabola intersection disappear, if C(P, q) has 3 points

26 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Applications 1(Static Point Set) Closest pair of points: Go through edge list for VD(P) and determine minimum All next neighbors : Go through edge list for VD(P) for all points and get next neighbors in each case Minimum Spanning tree (after Kruskal) 1.Each point p from P defines 1-element set of 2.More than a set of T exists 2.1) find p,p´ with p in T and p´ not in T with d(p, p´) minimum. 2.2) connect T and p´ contained in T´ (union) Theorem: The MST can be computed in time O(n log n)

27 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Applications (dynamic object set) Search for next neighbor : Idea : Hierarchical subdivision of VD(P) Step 1 : Triangulation of final Voronoi regions Step 2 : Summary of triangles and structure of a search tree Rule of Kirkpatrick : Remove in each case points with degree < 12, its neighbor is already far. Theorem: Using the rule of Kirkpatrick a search tree of logarithmic depth develops. A a bc a b c A