760 likes | 801 Views
Learn about the historical origins, nature-inspired designs, applications, and properties of Voronoi and Delaunay diagrams. Dive deep into their significance in triangulation, terrain interpolation, and geometric problem-solving.
E N D
An Introduction to Computational Geometry:Voronoi and Delaunay Diagrams Joseph S. B. Mitchell Stony Brook University Chapters 3,4: Devadoss-O’Rourke
Georgy Voronoi 1868-1908 Voronoi Diagrams
Historical Origins and Diagrams in Nature René Descartes 1596-1650 1644: Gravitational Influence of stars Dragonfly wing Giraffe pigmentation Honeycomb Constrained soap bubbles Ack: Streinu&Brock
http://uxblog.idvsolutions.com/2011/07/chalkboard-maps-united-states-of.htmlhttp://uxblog.idvsolutions.com/2011/07/chalkboard-maps-united-states-of.html Craigslist Map “A geometric pass at delineating areas within the United States potentially covered by each craigslist site -the United States of Craigslist.” Source: idvsolutions.com
VoronoiUSA (source: http://www.reddit.com/r/MapPorn/comments/1hi07c/voronoi_map_thiessen_polygons_of_the_usa_based_on/)
Voronoi Applications [Lecture 12, David Mount notes] Voronoi, together with point location search: nearest neighbor queries Facility location: Largest empty disk (centered at a Voronoi vertex) Shape description/approximation: medial axis
Starbucks Post Office Problem Query point Post offices
Voronoi Diagram Q cocircular Voronoi cell of pi is open, convex 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) “cell complex”
Example p p Voronoi cell of p
Delaunay Diagram A witness to the Delaunayhood of (pi , pj) If no 4 points cocircular (degenerate), then Delaunay diagram is a (very special) triangulation. pi pj Join pito pjiff there is an “empty circle” through piand pj • Equivalent definition: “Dual” of the Voronoi diagram • Applet [Chew]
Delaunay: An Important, Practical Triangulation Application: Piecewise-linear terrain surface interpolation
Delaunay: An Important, Practical Triangulation Application: Piecewise-linear terrain surface interpolation
Delaunay: An Important, Practical Triangulation Application: Piecewise-linear terrain surface interpolation
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
Geometry of Circles/Triangles Thale’s Theorem
Legal/Illegal Edges Equivalent: • alpha2 + alpha6 > pi • InCircle(pi ,pk ,pj ,pl )
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. • Corollaries: • D(S) is connected • MST D(S) (MST=“min spanning tree”) • NNG D(S) (NNG=“nearest neighbor graph”)
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 • VoroGlideapplet
Nearest Neighbor Graph: NNG Directed graph NNG(S):
Minimum Spanning Tree; MST • Greedy algorithms: • Prim: grows a tree • Kruskal: grows a forest: O(e log v)
Euclidean MST • One way to compute: Apply Prim or Kruskal to the complete graph, with edges weighted by their Euclidean lengths: O(n2 log n) • Better: Exploit the fact that MST is a subgraph of the Delaunay (which has size O(n)): • Apply Prim/Kruskal to the Delaunay: O(n log n), since e = O(n)
Voronoi Applet VoroGlideapplet
Voronoi and Delaunay: 1D Easy: Just sort the sites along the line Delaunay is a path Voronoi is a partition of the line into intervals Time: O(n log n) Lower bound: (n log n), since the Delaunay gives the sorted order of the input points, {x1 , x2 , x3 ,…}
Voronoi and Delaunay: 2D Algorithms Naïve O(n2 log n) algorithm: Build Voronoi cells one by one, solving n halfplane intersection problems (each in O(n log n), using divide-and-conquer) Incremental: worst-case O(n2) Divide and conquer (first O(n log n)) Lawson Edge Swap (“Legalize”): Delaunay Randomized Incremental (expected O(n log n)) Sweep [Fortune] Any algorithm that computes CH in R3 , e.g., QHull Qhull website
Delaunay: Edge Flip Algorithm Lawson Edge Swap “Legalize” [BKOS] d b Locally non-Delauany a c • 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.
Connection to Convex Hulls in 3D Delaunay diagram lower convex hull of the lifted sites, (xi , yi , xi2 +yi2), on the paraboloid of revolution, z=x2 + y2 Upper hull “furthest site Delaunay” 3D CH applet