voronoi diagrams - cs.gmu.edujmlien/teaching/cs499-gc/uploads/main/cs499-lecture06-voronoi.pdf•...

29
Voronoi Diagrams

Upload: others

Post on 26-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Voronoi Diagrams

Page 2: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Voronoi Diagrams

• A Voronoi diagram records everything one would ever want to know about proximity to a set of points• Who is closest to whom?• Who is furthest?

• We will start with a series of examples

Page 3: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Application: Preview• Fire Observation Towers• Towers on Fire• Nearest Neighbor Clustering• Facility Location• Path Planning• Crystallography

Page 4: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Medial Axis

Page 5: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Voronoi Diagrams

Definitions and Basic Properties

Page 6: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Definitions and Basic Properties

• Input: Let P = {p1, p2,…, pn} be a set of 2-d points• Partition the plane by assigning every point in

the plane to its nearest site

Page 7: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Definitions and Basic Properties

Page 8: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Definitions and Basic Properties

Page 9: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Definitions and Basic Properties

• Halfplanes • Let H (pi, pj) be the closed halfplane with

boundary Bij and containing pi

• Then, H(pi, pj) can be viewed as all the points that are closer to pi than they are to pj

• Recall that V(pi) is the set of all points closer to pi than to any other site

Page 10: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Definitions and Basic Properties

• Four Sites

Page 11: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Definitions and Basic Properties

• Many Sites

Page 12: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Delaunay Triangulations

Page 13: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Properties

• V1 Each Voronoi region V(pi) is convex• V2 V(pi) is unbounded iff pi is on the convex

hull of the point set• V3 If v is a Voronoi vertex at the junction of

V(p1), V(p2), and V(p3), then v is the center of the circle C(v) determined by p1, p2, and p3

• V4 C(v) is the circumcircle for the Delaunay triangle corresponding to v

Page 14: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Properties

• V5 The interior of C(v) contains no sites

• V6 If pj is a nearest neighbor to pi, then (pi, pj) is an edge of D(P)

• V7 If there is some circle through pi and pjthat contains no other sites, then (pi, pj) is an edge of D(P). The reverse also holds: For every Delaunay edge, there is some empty circle

Page 15: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Largest Empty Circle

Page 16: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Definitions and Basic Properties• Complexity of the Voronoi Diagram?

Page 17: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Properties of Delaunay Triangulations

• Delaunay triangulation and Voronoi diagram are dual structures

• each contains the same “information” in some sense• but represented in a rather different form

• D1 D(P) is the straight-line dual of V(P)• D2 D(P) is a triangulation if no four points of P

are cocircular: Every face is a triangle. The faces of D(P)are called Delaunay triangles

• D3 Each face (triangle) of D(P) corresponds to a vertex of V(P)

Page 18: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Properties of Delaunay Triangulations

• D4 Each edge of D(P) corresponds to an edge of V(P)

• D5 Each node of D(P) corresponds to a region of V(P)

• D6 The boundary of D(P) is the convex hull of the sites

• D7 The interior of each (triangle) face of D(P) contains no sites. (Compare V5.)

Page 19: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Voronoi Diagrams

Algorithms

Page 20: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Intersection of Halfplanes

• Constructing the intersection of n halfplanes is dual to the task of constructing the convex hull of n points in two dimensions

• can be accomplished with similar algorithms in O(nlogn) time. Doing this for each site would cost O(n2logn)

Page 21: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Incremental Construction• Suppose the Voronoi diagram V for k points is already

constructed, and now we would like to construct the diagram V ’ after adding one more point p

• Suppose p falls inside the circles associated with several Voronoi vertices, say C(v1),…, C(vm). Then these vertices of V cannot be vertices of V ’, because of V5

• These are the only vertices of V that are not carried over to V ’

• These vertices are also all localized to one area of the diagram

• The algorithm spends O(n) time per point insertion, for a total complexity of O(n2)

Page 22: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Divide and Conquer

• O(nlogn) time-algorithm• First detailed by Shamos & Hoey (1975)• This time complexity is asymptotically optimal,

but the algorithm is rather difficult to implement

• Careful attention to data structures required

Page 23: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Fortune’s Algorithm

Page 24: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Fortune’s Algorithm

Page 25: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Voronoi Diagrams

Connection to Convex Hulls

Page 26: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Two-Dimensional Delaunay Triangulations

• New we repeat the same analysis in two dimensions

• The paraboloid is z = x2 + y2, see Figure 5.24

Page 27: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Two-Dimensional Delaunay Triangulations

Page 28: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Two-Dimensional Delaunay Triangulations

Page 29: Voronoi Diagrams - cs.gmu.edujmlien/teaching/cs499-GC/uploads/Main/cs499-lecture06-voronoi.pdf• Delaunay triangulation and Voronoi diagram are dual structures • each contains the

Assignment

• EX: (due Oct 22)• 5.3.3-4• 5.5.6-1• 5.5.6-11• 5.5.6-12• 5.7.5-3

• Quiz next week!

29