Presentation is loading. Please wait.

Presentation is loading. Please wait.

Stony Brook University

Similar presentations


Presentation on theme: "Stony Brook University"— Presentation transcript:

1 Stony Brook University
An Introduction to Computational Geometry: Voronoi and Delaunay Diagrams Joseph S. B. Mitchell Stony Brook University Chapters 3,4: Devadoss-O’Rourke

2 Voronoi Diagrams Georgy Voronoi

3 Historical Origins and Diagrams in Nature
René Descartes 1644: Gravitational Influence of stars Dragonfly wing Giraffe pigmentation Honeycomb Constrained soap bubbles Ack: Streinu&Brock

4 http://uxblog. idvsolutions
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

5 Voronoi USA (source:

6 Voronoi Applications Voronoi, together with point location search: nearest neighbor queries Facility location: Largest empty disk (centered at a Voronoi vertex) Shape description/approximation: medial axis [Lecture 12, David Mount notes]

7 Starbucks Post Office Problem Query point Post offices

8 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| = Voronoi cells (2-faces) |Q| = Voronoi edges (1-faces) |Q|  Voronoi vertices (0-faces) Q cocircular Voronoi cell of pi is open, convex “cell complex”

9 Example p p Voronoi cell of p

10 Delaunay Diagram Equivalent definition: “Dual” of the Voronoi diagram
Join pi to pj iff there is an “empty circle” through pi and pj Equivalent definition: “Dual” of the Voronoi diagram Applet [Chew] A witness to the Delaunayhood of (pi , pj) If no 4 points cocircular (degenerate), then Delaunay diagram is a (very special) triangulation. pi pj

11 Voronoi/Delaunay

12 Delaunay: An Important, Practical Triangulation
Application: Piecewise-linear terrain surface interpolation

13 Terrain Interpolation from Point Sample Data
Got to here, 10/8/13… just started to discuss the terrain interpolation problem.

14 Delaunay: An Important, Practical Triangulation
Application: Piecewise-linear terrain surface interpolation

15 Delaunay: An Important, Practical Triangulation
Application: Piecewise-linear terrain surface interpolation

16 Delaunay for Terrain Interpolation

17 Voronoi and Delaunay

18 Voronoi and Delaunay

19 Delaunay’s Theorem

20 Delaunay’s Theorem

21 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

22

23 Angle Sequence of a Triangulation

24 Angle Sequence of a Triangulation

25 Legal Edges, Triangulations
Got to this slide, 10/25/12

26 Edge Flips (Swaps)

27 Geometry of Circles/Triangles
Thale’s Theorem

28 Legal/Illegal Edges Equivalent: alpha2 + alpha6 > pi
InCircle(pi ,pk ,pj ,pl )

29 Legal/Illegal Edges

30 Algorithm: Legalize Triangulation

31 Example: 4 points

32 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”) Got to here 3/26/13

33 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

34 Nearest Neighbor Graph: NNG
Directed graph NNG(S):

35 Minimum Spanning Tree; MST
Greedy algorithms: Prim: grows a tree Kruskal: grows a forest: O(e log v)

36 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)

37 Euclidean MST

38 Traveling Salesperson Problem: TSP

39

40 Approximation Algorithms

41 PTAS for Geometric TSP

42 Voronoi Applet VoroGlide applet Got to here 3/26/13

43 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 ,…}

44 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

45

46 Delaunay: Edge Flip Algorithm
Lawson Edge Swap “Legalize” [BKOS] 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. d b Locally non-Delauany a c

47 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

48

49

50 Delaunay in 2D is Convex Hull in 3D

51 Delaunay in 2D is Convex Hull in 3D

52 Voronoi and Delaunay Algorithms: Straightforward incremental: O(n2 )
Divide and conquer (first O(n log n)) Sweep Randomized incremental Any algorithm that computes CH in R3 , e.g., QHull Qhull website

53 Straightforward Incremental Algorithm: Voronoi

54 Straightforward Incremental Algorithm: Voronoi

55 Fortune’s Sweep Algorithm
AMS 545 / CSE 555 Applet Ack: Guibas&Stolfi

56 Parabolic Front AMS 545 / CSE 555 Applet Ack: Guibas&Stolfi

57 Site Events a) b) c) AMS 545 / CSE 555 Applet Ack: Guibas&Stolfi

58 Circle Events AMS 545 / CSE 555 Applet Ack: Guibas&Stolfi

59 Scheduling Circle Events
AMS 545 / CSE 555 Applet Ack: Guibas&Stolfi

60

61

62 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] old link to applet, showing Vor, Del, empty circles AMS 545 / CSE 555

63 CS691G Computational Geometry - UMass Amherst
Example CS691G Computational Geometry - UMass Amherst

64 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 GeoMagic, biogeometry at Duke

65 Furthest Site Voronoi

66 Medial Axis: Convex Polygon

67 Medial Axis: Convex Polygon

68 Medial Axis: Nonconvex Polygon

69 Medial Axis: Curved Domain

70 Straight Skeleton

71 VRONI: Fast, robust Voronoi of polygonal domains
Incremental algorithm

72

73 Computing offsets with a Voronoi diagram

74 Alpha Shapes, Hulls “Erase” with a ball of radius  to get -shape. Straighten edges to get -hull

75

76 -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. Applet


Download ppt "Stony Brook University"

Similar presentations


Ads by Google