Voronoi Diagram (Supplemental)
The Universal Spatial Data Structure (Franz Aurenhammer)
Fall 2005 2
Outline
Voronoi and DelaunayFacility location problemNearest neighborFortune’s algorithm revisitedGeneralized Voronoi diagrams
Fall 2005 3
Voronoi Diagram
Fall 2005 4
Dual: Delaunay Triangulation
Fall 2005 5
Facility Location Problems
Determine a location to minimize the distance to its furthest customerMinimum enclosing circle
Determine a location whose distance to nearest store is as large as possibleLargest empty circle
ip
jp
kp
q
Fall 2005 6
Facility Location (version 2)
Seek location for new grocery store, whose distance to nearest store is as large as possible — center of largest empty circleOne restriction: center in convex hull of the sites
Fall 2005 7
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 8
Largest Empty Circle
Fall 2005 9
Nearest Neighbor Search
A special case of point-location problem where every face in the subdivision is monotoneUse chain method to get O(log n) time complexity for query
Fall 2005 10
Fall 2005 11
1
2
34
56
8
7
Fall 2005 12
1
2
34
56
8
7
Fall 2005 13
1
2
34
56
8
7
Fall 2005 14
1
2
34
56
8
7
Fall 2005 15
1
2
34
56
8
7
Fall 2005 16
1
2
34
56
8
7
Fall 2005 17
1
2
34
56
8
7
Fall 2005 18
Cluster Analysis
Fall 2005 19
Closest Pairs
In collision detection, two closest sites are in greatest danger of collisionNaïve approach: (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 20
Motion Planning (translational)
Collision avoidance:
stay away from obstacle
Fall 2005 21
Fortune’s Algorithm Revisited
ConesIdeaH/W implementation
The curve of intersection of two cones projects to a line.
Fall 2005 22
45 deg Cone
distance=heightsite
Fall 2005 23
Cone (cont)
intersection of cone equal-distance point
Fall 2005 24
Cone (cont)When viewed from –Z, we got colored V-cells
Fall 2005 25
Nearest Distance Function
Viewed from here[less than]
Fall 2005 26
Furthest Distance Function
Viewed from here[greater than]
Fall 2005 27
Fortune’s Algorithm (Cont)
Cone slicing
Cone cut up by sweep plane and L are sweeping toward the right.
Fall 2005 28
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 29
Generalized Voronoi Diagram
V(points), Euclidean distance V(points, lines, curves, …)Distance function: Euclidean, weighted, farthest
Fall 2005 30
Brute Force Method
Record ID of the closest site to each sample
point
Coarsepoint-sampling
result
Finerpoint-sampling
result
Fall 2005 31
Graphics Hardware Acceleration
Our 2-part discrete Voronoidiagram representation
Distance
Depth Buffer
Site IDs
Color Buffer
Simply rasterize the cones using gra
phics hardware
Haeberli90, Woo97
Fall 2005 32
Algorithm
Associate each primitive with the corresponding distance meshRender each distance mesh with depth test onVoronoi edges: found by continuation methods
Fall 2005 33
Ex: Voronoi diagram between a point and a line
Fall 2005 34
Distance Meshes
linecurve
polygon
Fall 2005 35
Applications (Mosaic)
Fall 2005 36
Hausner01, siggraph
Fall 2005 37
Medial Axis Computation
Medial axes as part of Voronoi diagram
Fall 2005 38
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 39
Variety of Voronoi Diagram
(regular) Voronoi diagram
Furthest distance Voronoi diagram
Fall 2005 40
Minimum Enclosing Circle
Center of MEC is at the vertex of furthest site Voronoi diagram