Presentation is loading. Please wait.

Presentation is loading. Please wait.

UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday,

Similar presentations


Presentation on theme: "UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday,"— Presentation transcript:

1 UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday, 2/14/07

2 Chapter 5 Voronoi Diagrams Applications Preview Definitions & Basic Properties Delaunay Triangulations Algorithms Applications in Detail Medial Axis Connection to Convex Hulls Connection to Arrangements

3 Applications Preview ä Nearest neighbors ä Minimum spanning tree ä Medial axis http://www.ics.uci.edu/~eppstein/gina/scot.drysdale.html

4 Common Computational Geometry Structures Voronoi Diagram Delaunay Triangulation Convex Hull New Point Combinatorial size in O(n)

5 Basics ä Voronoi region V(p i ) is set of all points at least as close to p i as to any other site:

6 Delaunay Triangulations: Properties http://www.cs.cornell.edu/Info/People/chew/Delaunay.html

7 ä D1. D(P) is the straight-line dual of V(P) [by definition] ä D2. D(P) is a triangulation if no 4 points of P are cocircular: Every face is a triangle. ä D3. Each face of D(P) corresponds to a vertex of V(P) ä D4. Each edge of D(P) corresponds to an edge of V(P) ä D5. Each node of D(P) corresponds to a region of V(P) ä D6. The boundary of D(P) is the convex hull of the sites ä D7. The interior of each face of D(P) contains no sites

8 Delaunay Triangulations: Properties of Voronoi Diagrams http://www.cs.cornell.edu/Info/People/chew/Delaunay.html

9 Voronoi Diagram: Properties ä V1. Each Voronoi region V(p i ) is convex ä V2. V(p i ) is unbounded iff p i is on convex hull of point set ä V3. If v is a Voronoi vertex at junction of V(p 1 ), V(p 2 ), V(p 3 ), then v is center of circle C(v) determined by p 1, p 2, and p 3. ä V4. C(v) is circumcircle for Delaunay triangle for v ä V5. Interior(C(v)) contains no sites ä V6. If p i is a nearest neighbor to p j, then (p i, p j ) is an edge of D(P) ä V7. If there is some circle through p i and p j that contains no other sites, then (p i, p j ) is an edge of D(P). [reverse holds too]

10 Algorithms ä Half-Plane Intersection: ä Construct each Voronoi region separately: ä Intersect n-1 halfplanes ä O(n lg n) time ä Total time: O(n 2 lg n) ä Incremental Construction: ä Add one point at a time ä If new point is inside some Voronoi circle, locally update diagram ä O(n) work per point ä Total time: O(n 2 ) ä Divide-and-Conquer: O(n lg n)

11 Algorithms: Fortune ä Plane-sweep complication: What if encounter Voronoi edges before corresponding site? ä Solution: ä Expanding circles interpretation (z is time dimension) ä 2 cones intersect in branch of hyperbola that projects down onto (potential) Voronoi edge ä If cones opaque, then Voronoi diagram is view from z =  Sweep-line is intersection of slanted plane  with xy-plane  Because  slanted at same angle as cones, L hits site when  first hits cone for site  Invariant: Everything visible underneath  is always finished (that part of Voronoi diagram is done)  Maintain parabolic front = projection of intersection of  with cones onto xy-plane ä Events ä Site event : new (degenerate, single-line) parabola forms. 2 (duplicate) intersection points with parabolic front form new degenerate Voronoi diagram edge ä Circle event: 2 parabolic front intersection points meet to form Voronoi vertex. ä As parabolic front evolves, parabola intersection points trace out Voronoi diagram. O(nlgn) sweep line L at x = l 45 45 slope time x 

12 How are they related? Delaunay Triangulation ä Project each point upwards onto paraboloid z= x 2 + y 2 ä Construct 3D Convex Hull ä Discard “top” faces ä Project Convex Hull down to xy plane to form Delaunay Triangulation ä View from z = -infinity to see Delaunay Triangulation

13 How are they related? Voronoi Diagram ä Project each point upwards onto paraboloid z= x 2 + y 2 ä At each projected point, construct plane tangent to paraboloid ä tangent above (a,b) is ä z = 2ax + 2by - (a 2 + b 2 ) ä View from z = +infinity to see Voronoi Diagram ä “first intersection” of planes

14 Applications: Nearest Neighbors Nearest Neighborhood query for point q with respect to points P = p 1, p 2,..., p n can be answered using Voronoi diagram All Nearest Neighbors: The Nearest Neighborhood Graph (NNG) of points P is a graph: whose nodes correspond to the points - whose nodes correspond to the points an arc from p i to p j iff p j is a nearest neighbor of p i : - an arc from p i to p j iff p j is a nearest neighbor of p i :

15 Applications: Minimum Spanning Tree MST can be used in TSP approximation algorithm.

16 Applications: Relative Neighborhood Graph The Relative Neighborhood Graph (RNG) of points p 1, p 2,..., p n is a graph: whose nodes correspond to the points - whose nodes correspond to the points 2 nodes p 1, p 2 share an arc iff they are at least as close to each other as to any other point: - 2 nodes p 1, p 2 share an arc iff they are at least as close to each other as to any other point: Note: this produces a set of constraints (1 for each m) It can be shown that: - every edge of the RNG is an edge of the Delaunay triangulation - every edge of an MST is an edge of the RNG LUNE forbidden region RNG for 4 sample points

17 Applications: Largest Empty Circle Problem: Find a largest empty circle whose center is in the (closed) convex hull of a set of n sites S ( empty in that it contains no sites in its interior, and largest in that there is no other such circle with strictly larger radius ). Finite set of potential largest empty circle centers: - Voronoi vertices - Intersections of Voronoi edges and hull of sites.

18 Applications: Medial Axis Medial Axis Pruning: Robert Ogniewicz of Harvard uses medial axes for shape recognition. http://www.ics.uci.edu/~eppstein/gina/medial.html

19 Applications: Medial Axis ä Medial Axis: of polygon P = set of points inside P that have > 1 closest point among P’s boundary points. ä Tree whose leaves are vertices of P ä Every point of medial axis is center of circle touching boundary in at least 2 points. ä Vertices of medial axis are centers of circles touching 3 distinct boundary points. ä “Grassfire” analogy: fire starts at boundary ä Medial axis represents “quench points” where fires meet each other

20 Applications: Shewchuck Triangulation http://www.cs.cmu.edu/~quake/triangle.demo.html


Download ppt "UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday,"

Similar presentations


Ads by Google