Voronoi Diagram (Supplemental) The Universal Spatial Data Structure (Franz Aurenhammer)
Outline Voronoi and Delaunay Facility location problem Nearest neighbor Fortune’s algorithm revisited Generalized Voronoi diagrams Fall 2005
Voronoi Diagram Fall 2005
Dual: Delaunay Triangulation Fall 2005
Facility Location Problems Determine a location to minimize the distance to its furthest customer Minimum enclosing circle Determine a location whose distance to nearest store is as large as possible Largest empty circle q Fall 2005
Facility Location (version 2) Seek location for new grocery store, whose distance to nearest store is as large as possible — center of largest empty circle One restriction: center in convex hull of the sites Fall 2005
Facility Location (cont) Center in hull: p must be coincident with a voronoi vertex Center on hull: p must lie on a voronoi edge Fall 2005
Largest Empty Circle Fall 2005
Nearest Neighbor Search A special case of point-location problem where every face in the subdivision is monotone Use chain method to get O(log n) time complexity for query Fall 2005
Fall 2005
1 2 3 4 5 6 8 7 Fall 2005
1 2 3 4 5 6 8 7 Fall 2005
1 2 3 4 5 6 8 7 Fall 2005
1 2 3 4 5 6 8 7 Fall 2005
1 2 3 4 5 6 8 7 Fall 2005
1 2 3 4 5 6 8 7 Fall 2005
1 2 3 4 5 6 8 7 Fall 2005
Cluster Analysis Fall 2005
Closest Pairs In collision detection, two closest sites are in greatest danger of collision Naïve approach: Q(n2) Each site and its closest pair share an edge check all Voronoi edges O(n) Furthest pair cannot be derived directly from the diagram Fall 2005
Motion Planning (translational) Collision avoidance: stay away from obstacle Fall 2005
Fortune’s Algorithm Revisited Cones Idea H/W implementation The curve of intersection of two cones projects to a line. Fall 2005
45 deg Cone distance=height site Fall 2005
Cone (cont) intersection of cone equal-distance point Fall 2005
Cone (cont) When viewed from –Z, we got colored V-cells Fall 2005
Nearest Distance Function Viewed from here [less than] Fall 2005
Furthest Distance Function Viewed from here [greater than] Fall 2005
Fortune’s Algorithm (Cont) Cone slicing Cone cut up by sweep plane and L are sweeping toward the right. Fall 2005
Fortune’s Algorithm (Cont) Viewed from z = -, The heavy curve is the parabolic front. How the 2D algorithm and the 3D cones are related… Fall 2005
Generalized Voronoi Diagram V(points), Euclidean distance V(points, lines, curves, …) Distance function: Euclidean, weighted, farthest Fall 2005
Brute Force Method Record ID of the closest site to each sample point Coarse point-sampling result Finer point-sampling result Fall 2005
Graphics Hardware Acceleration Simply rasterize the cones using graphics hardware Our 2-part discrete Voronoi diagram representation Color Buffer Depth Buffer Site IDs Distance Haeberli90, Woo97 Fall 2005
Algorithm Associate each primitive with the corresponding distance mesh Render each distance mesh with depth test on Voronoi edges: found by continuation methods Fall 2005
Ex: Voronoi diagram between a point and a line Fall 2005
Distance Meshes line polygon curve Fall 2005
Applications (Mosaic) Fall 2005
Hausner01, siggraph Fall 2005
Medial Axis Computation Medial axes as part of Voronoi diagram Fall 2005
Piano Mover: Real-time Motion Planning (static and dynamic) Plan motion of piano through 100K triangle model Distance buffer of floorplan used as potential field Fall 2005
Variety of Voronoi Diagram (regular) Voronoi diagram Furthest distance Voronoi diagram Fall 2005
Minimum Enclosing Circle Center of MEC is at the vertex of furthest site Voronoi diagram Fall 2005