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.

Slides:



Advertisements
Similar presentations
Two Segments Intersect?
Advertisements

Polygon Triangulation
Computational Geometry
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.
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.
UNC Chapel Hill M. C. Lin Polygon Triangulation Chapter 3 of the Textbook Driving Applications –Guarding an Art Gallery –3D Morphing.
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann Triangulation (Naive)
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.
Overlay of Two Subdivisions
Intersections. Intersection Problem 3 Intersection Detection: Given two geometric objects, do they intersect? Intersection detection (test) is frequently.
Voronoi Diagram Presenter: GI1 11號 蔡逸凡
Lecture 7: Voronoi Diagrams Presented by Allen Miu Computational Geometry September 27, 2001.
K-structure, Separating Chain, Gap Tree, and Layered DAG Presented by Dave Tahmoush.
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.
COMP 451/651 Indexes Chapter 1.
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
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 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.
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.
Polygon Triangulation Computational Geometry, WS 2006/07 Lecture 8, Part 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Homework #3 Due Thursday, April 17 Problems: –Chapter 11: 11.6, –Chapter 12: 12.1, 12.2, 12.3, 12.4, 12.5, 12.7.
Brute-Force Triangulation
UNC Chapel Hill M. C. Lin Point Location Chapter 6 of the Textbook –Review –Algorithm Analysis –Dealing with Degeneracies.
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
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 Orthogonal Range Searching Reading: Chapter 5 of the Textbook Driving Applications –Querying a Database Related Application –Crystal.
UNC Chapel Hill M. C. Lin Linear Programming Reading: Chapter 4 of the Textbook Driving Applications –Casting/Metal Molding –Collision Detection Randomized.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
Week Aug-24 – Aug-29 Introduction to Spatial Computing CSE 5ISC Some slides adapted from Worboys and Duckham (2004) GIS: A Computing Perspective, Second.
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.
Arrangements and Duality Motivation: Ray-Tracing Fall 2001, Lecture 9 Presented by Darius Jazayeri 10/4/01.
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.
1/20/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Plane Sweep Algorithms I Carola Wenk.
Polygon Triangulation
Computational Geometry
UNC Chapel Hill M. C. Lin Geometric Data Structures Reading: Chapter 10 of the Textbook Driving Applications –Windowing Queries Related Application –Query.
CMPS 3130/6130 Computational Geometry Spring 2017
3. Polygon Triangulation
Computational Geometry
AA Trees.
Geometric Data Structures
(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
KD Tree A binary search tree where every node is a
Computational Geometry Capter:1-2.1
Multi-Way Search Trees
Chapter 7 Voronoi Diagrams
I. The Problem of Molding
An O(n log n)-Time Algorithm for the k-Center Problem in Trees
Overlay of Two Subdivisions
Presentation transcript:

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 linear programming: O ( n 2 log n ) The worst case time bound is O ( n log n ) => Many, but we’ll describe a algorithm based on plane sweep (Fortune’s algorithm)

UNC Chapel Hill M. C. Lin Plane-Sweep Algorithm Maintaining the status of the sweep line l : the part of Vor(P) above l depends not only on the sites above l but also sites below l Solution: Maintaining the information about the part of Voronoi diagram of the sites above l that cannot be changed by the sites below l. We’ll call this closed half-space l +. Observation: the locus of points that are closer to some (any) site p i  l + than to l is bounded by a parabola (parabolic arcs or the beach line).

UNC Chapel Hill M. C. Lin Beach Line The beach line is the function that -- for each x- coordinate-- passes through the lowest point of all parabolas. The breakpoints between different parabolic arcs forming the beach line lie on the edges of the Voronoi diagram; they exactly trace out the Voronoi diagram as l moves from top to bottom. The combinatorial structure of a beach line changes when a new parabolic arc appears on it, and when a parabolic arc shrinks to a point and disappears.

UNC Chapel Hill M. C. Lin Site Events The only way in which a new arc can appear on the beach line is through a site event, where a new site is encountered by l. At a site event, 2 new breakpoints appear, which start tracing out edges. In fact, the they coincide first, then move in opposite directions to trace out the same edge. The growing edge, initially not connected to the rest of the diagram, will eventually become connected to the rest. Each site encountered gives rise to 1 new arc and splits at most one existing one into two.

UNC Chapel Hill M. C. Lin Circle Events The only way an existing arc can disappear from the beach line is through a circle event, where the sweep line reaches the lowest point of a circle through 3 sites defining 3 consecutive arcs on the beach line. Every Voronoi vertex is defined by means of a circle event.

UNC Chapel Hill M. C. Lin Data Structures Store Voronoi diagrams using doubly-connected edge list. Bound the scene using a bounding box large enough to contain all vertices. Beach line is represented by a binary search tree T as the status structure. Its leaves correspond to the arcs of the beach line. A breakpoint is stored at an internal node by an ordered pair of sites. In T, we also store pointers to other 2 data structures. Every internal node has pointer to a half-edge in the Voronoi diagram being traced out by the breakpoint it represents. The event Q is implemented as a priority queue, where the priority is the y -coordinate.

UNC Chapel Hill M. C. Lin VoronoiDiagram(P) Input: A set P := {p 1, p 2, …, p n } of point sites in the plane. Output: The Voronoi diagram Vor(P) given inside a bounding box in a doubly-connected edge list structure. 1. Initialize the event queue Q 2. while Q is not empty 3. do Consider the event with the largest y -coordinate in Q 4. if the event is a site event, occurring at site p i 5. then HandleSiteEvent( p i ) 6. else HandleCircleEvent( p l ), where p l is the lowest point of the circle causing the event 7. Remove the event from Q

UNC Chapel Hill M. C. Lin VoronoiDiagram(P) 8. The internal nodes still present in T correspond to the half-infinite edges of the Voronoi diagram. Compute a bounding box that contains all vertices of the Voronoi diagram in its interior, and attach the half-infinite edges to the bounding box by updating the doubly-connected edge list appropriately. 9. Traverse the half-edges of the doubly-connected edge list to add the cell records and the pointers to and from them.

UNC Chapel Hill M. C. Lin HandleSiteEvent(p i ) 1. Search in T for the arc  vertically above p i and delete all circle events involving  from Q. 2. Replace the leaf of T that represents  with a subtree having three leaves. The middle leaf stores the new site p i and the other two leaves store the site p j that was originally stored with . Store the tuples and representing the new breakpoints at the two new internal nodes. Perform rebalancing operations on T if needed. 3. Create new records in the Voronoi diagram structure for the two half-edges separating V(p i ) and V(p j ), which will be traced out by the two new breakpoints. 4. Check the triples of consecutive arcs involving one of the three new arcs. Insert the corresponding circle event only if circle intersects sweep line & the event isn’t present yet in Q.

UNC Chapel Hill M. C. Lin HandleCircleEvent(p i ) 1. Search in T for the arc  vertically above p l that is about to disappear, and delete all circle events that involve  from Q 2. Delete the leave that represents  from T. Update the tuples representing the breakpoints at the internal nodes. Perform rebalancing operations on T if needed. 3. Add the center of the circle causing the event as a vertex record in the Voronoi diagram structure and create two half- edge records corresponding to the new breakpoint of the Voronoi diagram. Set the pointers between them appropriately. 4. Check the new triples of consective arcs that arise because of the disappearance of . Insert the corresponding circle event into Q only if the circle intersects the sweep line & circle event isn’t present yet in Q.

UNC Chapel Hill M. C. Lin Algorithm Analysis Degeneracies can be handled –2 or more events on a common horizontal line –Event points coincide, e.g. 4 or more co-circular sites –A site coincides with an event The Voronoi diagram of a set of n point sites in the plane can be computed with a sweep line algorithm in O(n log n) time using O(n) storage.