2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:

Slides:



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

Two Segments Intersect?
Polygon Triangulation
Computational Geometry
Geometry. Floating point math Avoid floating point when you can –If you are given a fixed number of digits after the decimal, multiply & use integers.
Voronoi Diagram – Fortune ’ s Algorithm Reporter: GI1 11 號 蔡逸凡 Date: 2004/10/28 Reference: Computational Geometry ch7 ISBN:
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
2/3/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries II Carola Wenk.
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
I. The Problem of Molding Does a given object have a mold from which it can be removed? object not removable mold 1 object removable Assumptions The object.
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:
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.
Overlay of Two Subdivisions
3/5/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Delaunay Triangulations II Carola Wenk Based on: Computational.
9/5/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Plane Sweep Algorithms and Segment Intersection Carola Wenk.
November 4, Algorithms and Data Structures Lecture XIV Simonas Šaltenis Nykredit Center for Database Research Aalborg University
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,
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Geometric Algorithms Suman Sourav Paramasiven Appavoo
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.
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.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
Lecture 11 : More Geometric Data Structures Computational Geometry Prof. Dr. Th. Ottmann 1 Geometric Data Structures 1.Rectangle Intersection 2.Segment.
Tirgul 6 B-Trees – Another kind of balanced trees.
Lecture 2 Line Segment Intersection Computational Geometry Prof.Dr.Th.Ottmann 1 Line Segment Intersection Motivation: Computing the overlay of several.
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.
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
Triangulating a monotone polygon
Planning Near-Optimal Corridors amidst Obstacles Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin Athens May 2006.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
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.
CMPS 3130/6130 Computational Geometry Spring 2015
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.
An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O’Rourke, Computational.
1/20/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Plane Sweep Algorithms I Carola Wenk.
Polygon Triangulation
CMPS 3130/6130 Computational Geometry Spring 2017
CMPS 3130/6130 Computational Geometry Spring 2017
Prüfer code algorithm Algorithm (Prüfer code)
(Slides mostly by Allen Miu)
VORONOI DIAGRAMS FOR PARALLEL HALFLINES IN 3D
CMPS 3130/6130 Computational Geometry Spring 2017
CMPS 3130/6130 Computational Geometry Spring 2017
Chapter 7 Voronoi Diagrams
I. The Problem of Molding
Overlay of Two Subdivisions
Presentation transcript:

2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry: Algorithms and Applications Computational Geometry: Algorithms and Applications

2/19/15CMPS 3130/6130 Computational Geometry 2 Voronoi Diagram (Dirichlet Tesselation)

2/19/15CMPS 3130/6130 Computational Geometry3 Applications of Voronoi Diagrams

2/19/15CMPS 3130/6130 Computational Geometry4 Bisectors p q r p q s

2/19/15CMPS 3130/6130 Computational Geometry5 Voronoi cell pipi pjpj

2/19/15CMPS 3130/6130 Computational Geometry6 Voronoi Diagram Add vertex at infinity

2/19/15CMPS 3130/6130 Computational Geometry7 Properties Smaller empty disk centered on Voronoi edge Larger empty disk centered on Voronoi vertex Site with bounded Voronoi cell Site with unbounded Voronoi cell

2/19/15CMPS 3130/6130 Computational Geometry8 Fortune’s sweep to construct the VD Problem: We cannot maintain the intersection of the VD with sweepline l since the VD above l depends on the sites below l. Sweep line status: “Beach line” Identify points q  l + for which we know their closest site. If there is a site p i  l + s.t. dist(q,p i )≤dist(q, l ) then the site closest to q lies above l. Define the “beach line” as the boundary of the set of points q  l + that are closer to a site above l than to l.  The beach line is a sequence of parabolic arcs  The breakpoints (beach line vertices) lie on edges of the VD, such that they trace out the VD as the sweep line moves.

Parabola Set of points (x,y) such that dist((x,y), p) = dist( l ) for a fixed site p = (p x,p y ) 2/19/15CMPS 3130/6130 Computational Geometry9

Site Events Site event: The sweep line l reaches a new site  A new arc appears on the beach line… … which traces out a new VD edge 2/19/15CMPS 3130/6130 Computational Geometry10

Site Events Lemma: The only way in which a new arc can appear on the beach line is through a site event. Proof: Case 1: Assume the existing parabola  j (defined by site p j ) breaks through  i Formula for parabola  j : Using p jy > l y and p iy > l y one can show that is impossible that  i and  j have only one intersection point. Contradiction. … which traces out a new VD edge 2/19/15CMPS 3130/6130 Computational Geometry11 ii

Site Events Case 2: Assume  j appears on the break point q between  i and  k  There is a circle C that passes through p i, p j, p k and is tangent to l : But for an infinitesimally small motion of l, either p i or p k penetrates the interior of C. Therefore  j cannot appear on l. 2/19/15CMPS 3130/6130 Computational Geometry12 ii kk

Circle Events Circle event: Arc  ’ shrinks to a point q, and then arc  ’ disappears  There is a circle C that passes through p i, p j, p k and touches l (from above).  There is no site in the interior of C. (Otherwise this site would be closer to q than q is to l, and q would not be on the beach line.)  q is a Voronoi vertex (two edges of the VD meet in q).  Note: The only way an arc can disappear from the beach line is through a circle event. But for an infinitesimally small motion of l, either p i or p k penetrates the interior of C. Therefore  j cannot appear on l. 2/19/15CMPS 3130/6130 Computational Geometry13

Data Structures Store the VD under construction in a DCEL Sweep line status (sweep line): Use a balanced binary search tree T, in which the leaves correspond to the arcs on the beach line. Each leaf stores the site defining the arc (it only stores the site and note the arc) Each internal node corresponds to a break point on the beach line Event queue: Priority queue Q (ordered by y-coordinate) Store each point site as a site event. Circle event: Store the lowest point of a circle as an event point Store a point to the leaf/arc in the tree that will disappear 2/19/15CMPS 3130/6130 Computational Geometry14

2/19/15CMPS 3130/6130 Computational Geometry 15 How to Detect Circle Events? Make sure that for any three consecutive arcs on the beach line the potential circle event they define is stored in the queue.  Consecutive triples with breakpoints that do not converge do not yield a circle event.  Note that a triple could disappear (e.g., due to the appearance of a new site) before the event takes place. This yields a false alarm.

2/19/15CMPS 3130/6130 Computational Geometry 16 Sweep Code

2/19/15CMPS 3130/6130 Computational Geometry 17 Sweep Code Degeneracies: If two points have the same y-coordinate, handle them in any order. If there are more than three sites on one circle, there are several coincident circle events that can be handled in any order. The algorithm produces several degree-3 vertices at the same location. Theorem: Fortune’s sweep runs in O(n log n) time and O(n) space.

2/19/15CMPS 3130/6130 Computational Geometry 18 Handling a Site Event Runs in O(log n) time per event, and there are n events.

2/19/15CMPS 3130/6130 Computational Geometry 19 Handling a Circle Event Runs in O(log n) time per event, and there are O(n) events because each event defines a Voronoi vertex. False alarms are deleted before they are processed.