Voronoi Diagrams Fortunes Algorithm and Applications Kevin Wittmer - - PowerPoint PPT Presentation

voronoi diagrams
SMART_READER_LITE
LIVE PREVIEW

Voronoi Diagrams Fortunes Algorithm and Applications Kevin Wittmer - - PowerPoint PPT Presentation

Voronoi Diagrams Fortunes Algorithm and Applications Kevin Wittmer Mentor: Rob Maschal DRP Summer 2016 Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 1 / 15 Introduction What is Computational Geometry? The


slide-1
SLIDE 1

Voronoi Diagrams

Fortune’s Algorithm and Applications Kevin Wittmer Mentor: Rob Maschal DRP Summer 2016

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 1 / 15

slide-2
SLIDE 2

Introduction

What is Computational Geometry?

The systematic study of algorithms and data structures to solve geometric problems Focus on exact algorithms that are asymptotically fast

Data sets can be incredibly large Input sizes grow exponentially as the number of dimensions increases

Gain new insights from reformulating a problem in geometric terms

Querying a database: determine set of points contained in n-dimensional cube

Many other application areas: robotics, computer graphics...

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 2 / 15

slide-3
SLIDE 3

Introduction

A Geometric Problem

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 3 / 15

slide-4
SLIDE 4

Introduction

A Geometric Problem

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 4 / 15

slide-5
SLIDE 5

Introduction

Definitions

Sites: Distinct central places or points of interest

Denote the set of n sites by P := {p1, p2, . . . , pn}

Voronoi diagram: The subdivision of the plane into n cells such that a point q lies in the cell corresponding to pi iff dist(q, pi) < dist(q, pj) for each pj ∈ P with j = i

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 5 / 15

slide-6
SLIDE 6

Introduction

A Na¨ ıve Algorithm

The set of all points equidistant from two sites pi and pj is the perpendicular bisector of the line segment connecting pi and pj Each Voronoi cell is the intersection of n − 1 half-planes induced by the perpendicular bisectors between pi and all other sites in P Unfortunately, computing the diagram this way runs in O(n2 log n) time...

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 6 / 15

slide-7
SLIDE 7

Fortune’s Algorithm

Plane Sweep Paradigm

Imagine sweeping a horizontal line from top to bottom over the plane Everything above the sweep line has been computed, while everything below has not Maintain information about the intersection of our structure with the sweep line

Event points: Locations where this information changes

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 7 / 15

slide-8
SLIDE 8

Fortune’s Algorithm

Beach Line

The Voronoi diagram above the sweep line is affected by event points below the line We know the nearest site of a point q if q lies at least as close to a site as it does to the sweep line The set of points equidistant from a point and a line defines a parabola Beach line: The sequence of parabolic arcs closest to the sweep line

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 8 / 15

slide-9
SLIDE 9

Fortune’s Algorithm

Break Points

The break points of the beach line trace out the edges of the Voronoi diagram as the sweep line moves

Source: Wikipedia Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 9 / 15

slide-10
SLIDE 10

Fortune’s Algorithm

Event Points

Site event: Correspond to adding a new edge to the diagram

These are our predetermined events

Circle event: Correspond to adding a new vertex to the diagram

Dynamically added as we process site events

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 10 / 15

slide-11
SLIDE 11

Fortune’s Algorithm

Fortune’s Algorithm

Algorithm VoronoiDiagram(P)

  • Input. A set P of point sites in the plane.
  • Output. The Voronoi diagram given inside a bounding box.
  • 1. Initialize an event queue Q with all site events.
  • 2. while Q is not empty

3. do Remove the event with the largest y-coordinate from Q. 4. if the event is a site event 5. then HandleSiteEvent(pi) 6. else HandleCircleEvent(γ)

  • 7. Compute a bounding box that contains all vertices of the Voronoi

diagram in its interior

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 11 / 15

slide-12
SLIDE 12

Fortune’s Algorithm

Handing Site Events

A new parabola is added to the beach line New break points begin to trace out the same new edge Check the new triple of consecutive arcs for any potential circle events

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 12 / 15

slide-13
SLIDE 13

Fortune’s Algorithm

Handling Circle Events

Store a circle event as the lowest point

  • n an empty circle containing 3 or more

sites When the sweep line reaches a circle event, a parabola disappears from the beach line The center of this circle is added as a vertex of the Voronoi diagram

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 13 / 15

slide-14
SLIDE 14

Fortune’s Algorithm

Conclusion

Theorem The Voronoi diagram of n point sites can be computed in O(n log n) time using Fortune’s algorithm

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 14 / 15

slide-15
SLIDE 15

Fortune’s Algorithm

References

de Berg, Cheong, van Kreveld, Overmars Computational Geometry: Algorithms and Applications Springer, 2008. David M. Mount CMSC754 Computational Geometry Lecture Notes

  • p. 67 - 74

Kevin Wittmer, Mentor: Rob Maschal Voronoi Diagrams DRP Summer 2016 15 / 15