UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 5: Voronoi Diagrams Monday, 2/23/04
Chapter 5 Voronoi Diagrams Applications Preview Definitions & Basic Properties Delaunay Triangulations Algorithms Applications in Detail Medial Axis Connection to Convex Hulls Connection to Arrangements
Applications Preview ä Nearest neighbors ä Minimum spanning tree ä Medial axis
Common Computational Geometry Structures Voronoi Diagram Delaunay Triangulation Convex Hull New Point
Basics ä Voronoi region V(p i ) is set of all points at least as close to p i as to any other site:
Delaunay Triangulations: Properties
ä 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
Delaunay Triangulations: Properties of Voronoi Diagrams
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]
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)
Algorithms: Fortune ä Plane-sweep complication: ä what if encounter Voronoi edges before site? ä solution: ä Use expanding circles interpretation ä Sweep-line is intersection of slanted plane with xy-plane ä Event = intersection of 2 cones ä Maintain parabolic front = projection of intersection of slanted plane with xy-plane 45 slope timeO(nlgn) x sweep line L at x = l
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
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
Applications: Minimum Spanning Tree
Applications: Medial Axis Medial Axis Pruning: Robert Ogniewicz of Harvard uses medial axes for shape recognition.
Applications: Shewchuck Triangulation
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