E N D
1. An Introduction to Computational Geometry
2. Voronoi Diagrams
3. Historical Origins and Diagrams in Nature 3
4. Post Office Problem
5. Voronoi Diagram Partition the plane according to the equivalence classes: V(Q) = { (x,y) : the closest sites of S to (x,y) is exactly the set Q ? S }
|Q| = 1 Voronoi cells (2-faces)
|Q| = 2 Voronoi edges (1-faces)
|Q| ? 3 Voronoi vertices (0-faces) 5
6. Example 6
7. Join pi to pj iff there is an “empty circle” through pi and pj
Equivalent definition: “Dual” of the Voronoi diagram
Applet [Chew]
Delaunay Diagram 7
8. Voronoi and Delaunay Properties The planar dual of Voronoi, drawn with nodes at the sites, edges straight segments, has no crossing edges [Delaunay]. It is the Delaunay diagram, D(S) (defined by empty circle property).
Combinatorial size: ? 3n-6 Voronoi/Delaunay edges; ? 2n-5 Voronoi vertices (Delaunay faces) O(n)
A Voronoi cell is unbounded iff its site is on the boundary of CH(S)
?CH(S) = boundary of unbounded face of D(S)
Delaunay triangulation lexico-maximizes the angle vector among all triangulations
In particular, maximizes the min angle 8
9. Voronoi and Delaunay Properties In any partition of S, S=B ? R, into blue/red points, any blue-red pair that is shortest B-R bridge is a Delaunay edge.
D(S) is connected
MST ? D(S) (MST=“min spanning tree”)
NNG ? D(S) (NNG=“nearest neighbor graph”)
Voronoi/Delaunay can be built in time O(n log n)
Divide and conquer
Sweep
Randomized incremental
VoroGlide applet 9
10. Delaunay: Edge Flip Algorithm Assume: No 4 co-circular points, for simplicity.
Start with any triangulation
Keep a list (stack) of “illegal” edges:
ab is illegal if InCircle(a,c,b,d)
iff the smallest of the 6 angles goes up if flip
Flip any illegal edge; update legality status of neighboring edges
Continue until no illegal edges
Theorem: A triangulation is Delaunay iff there are no illegal edges (i.e., it is “locally Delaunay”)
Only O(n2 ) flips needed. 10
11. Connection to Convex Hulls in 3D Delaunay diagram ? lower convex hull of the lifted sites, (xi , yi , xi 2 +yi 2 ), on the paraboloid of revolution, z=x2 + y2
Upper hull ? “furthest site Delaunay”
3D CH applet
11
12. Voronoi and Delaunay Algorithms:
Divide and conquer (first O(n log n))
Sweep
Randomized incremental
Any algorithm that computes CH in R3 , e.g., QHull
12
13. 13 Fortune’s Sweep Algorithm
14. 14 Parabolic Front
15. 15 Site Events
16. 16 Circle Events
17. 17 Scheduling Circle Events
18. Incremental Construction Add sites one by one, modifying the Delaunay (Voronoi) as we go:
Join vi to 3 corners of triangle containing it
Do edge flips to restore local Delaunayhood
If added in random order, simple “Backwards analysis” shows expected time O(n log n) [Guibas, Knuth, Sharir] 18 http://www.cs.biu.ac.il/~zultia/applets/CAD/delaunay%20+%20voronoi/Delaunay+voronoi.HTM old link to applet, showing Vor, Del, empty circleshttp://www.cs.biu.ac.il/~zultia/applets/CAD/delaunay%20+%20voronoi/Delaunay+voronoi.HTM old link to applet, showing Vor, Del, empty circles
19. Example CS691G Computational Geometry - UMass Amherst 19
20. Voronoi Extensions Numerous ! [see Okabe, Boots, Sugihara, Chiu]
Different metrics
Higher dimensions:
Delaunay in Rd ? lower CH in Rd+1
O( n log n + n ?(d+1)/2 ? )
Order-k, furthest-site
Other sites: Voronoi of polygons, “medial axis”
Additive/multiplicative weights; power diagram
?-shapes: a powerful shape representation
20
21. 21
22. 22
23. 23
24. Alpha Shapes, Hulls 24
25. 25
26. ?-Shapes Theorem: For each Delaunay edge, e=(pi,pj), there exists ?min(e)>0 and ?max(e)>0 such that e ? ?-shape of S iff ?min(e) ? ? ? ?max(e).
Thus, every alpha-hull edge is in the Delaunay, and every Delaunay edge is in some alpha-shape.