workshop beamer

Upload: trinath-atmakuri

Post on 07-Apr-2018

235 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Workshop Beamer

    1/132

    Voronoi Diagrams

    Voronoi Diagrams

    Swami Sarvottamananda

    Ramakrishna Mission Vivekananda University

    NIT-IGGA, 2010

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    2/132

    Voronoi Diagrams

    Outline I

    1 IntroductionMotivation for Voronoi DiagramHistorical Notes and Web References

    2 Voronoi Diagrams ConceptsDefinitionsFormal Definition of Voronoi Diagram

    3 Computing Voronoi DiagramsNon-optimal AlgorithmsVoronoi Diagram from 3D Convex Hulls

    Fortunes AlgorithmDivide and Conquer

    4 Delaunay TriangulationsMotivation

    ConceptsMethod of Computation

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    3/132

    Voronoi Diagrams

    Outline II

    5 GeneralisationsVoronoi Diagrams in d

    Voronoi Diagram for Farthest PointsVoronoi Diagram for Subsets

    6 ConclusionOpen ProblemsConcluding RemarksFurther Reading

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    4/132

    Voronoi Diagrams

    Introduction

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    5/132

    Voronoi Diagrams

    Introduction

    Voronoid Diagram

    Example (What does it look like?)

    Each cell is a set of points whose nearest site is the same

    V i Di

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    6/132

    Voronoi Diagrams

    Introduction

    Motivation

    Applications in Cross-disciplines

    This concept has independently emerged, and proven useful, invarious fields of sciences

    Medial axis transform in biology and physiology,

    Wigner-Seitz zones in chemistry and physics,

    Domains of action in crystallography,

    and Thiessen polygons in meteorology and geography.

    V i Di

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    7/132

    Voronoi Diagrams

    Introduction

    Motivation

    Other Direct ApplicationsI

    Example (Jurisdiction of Schools in Boston)

    A relevant modern day use.

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    8/132

    Voronoi Diagrams

    Introduction

    Motivation

    Other Direct ApplicationsII

    Example (1854 Cholera Epidemic in London)

    A particularly notable use of a Voronoi diagram was the analysis ofthe 1854 cholera epidemic in London, in which physician JohnSnow determined a strong correlation of deaths with proximity to aparticular (and infected) water pump on Broad Street.

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    9/132

    Voronoi Diagrams

    Introduction

    Motivation

    John Snows Voronoi Diagram

    Anyone can now guess the infected pump.

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    10/132

    Voronoi Diagrams

    Introduction

    Motivation

    Motivation

    Problem (Voronoi Diagrams The Post Office Problem)

    In a city with several post offices we would like to mark the serviceregion of each post office by proximity. What are these regions?

    This problem is mentioned in Chapter 7 of the computationalgeometry book by de Berg et al. [3].

    Let us solve the problem for a section of Kolkata.

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    11/132

    Voronoi Diagrams

    Introduction

    Motivation

    Post-offices in a section of Kolkata

    Courtesy: Google Images

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    12/132

    g

    Introduction

    Motivation

    Postoffice Problem and its Simplification

    We would like to demarcate the service regions of the post-offices.

    To simplify, let us use the Euclidean distance (how the crows fly)and not the actual distance by the roads.Secondly, post offices are considered as points.

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    13/132

    g

    Introduction

    Motivation

    Post-offices as Points in Plane

    First, we remove the clutter.

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    14/132

    Introduction

    Motivation

    Proximity Regions of Postoffices

    Second, we compute the Voronoi Diagram

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    15/132

    Introduction

    Motivation

    Postoffice Services in Kolkata

    Last, we superimpose the solution. Gives correct answer for atleast Swami Vivekanandas Birth Place at Simla.

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    16/132

    Introduction

    History

    Voronoi Diagrams in Internet

    Where you can play around with Voronoi Diagrams

    Java application athttp://www.nirarebakun.com/voro/ehivorocli.html(includeshigher order VDs),

    VoroGlide (another Java application)http://wwwpi6.fernuni-hagen.de/GeomLab/VoroGlide/

    Anything related to Computational Geometry, start at JeffEricksons web page,

    http://compgeom.cs.uiuc.edu/ jeffe/compgeom/compgeom.htmlAnd, much more.

    (All the hyperlinks were alive in January 2010, I checkedpersonally)

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    17/132

    Introduction

    History

    Origin of Problem

    The problem is centuries old

    Earliest record in Principles of Philosophy [4] by R. Descartes,17th century.

    Decomposition of space into convex regions of influence ofheavenly bodies.

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    18/132

    Introduction

    History

    Origin of Problem

    Example (Descartes Explanation of Gravity)

    Of course gravity does not work like this, but Newton and Einstienwere to come later.

    Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    19/132

    Voronoi Diagrams Concepts

    Definitions

    What are Voronoi Diagrams

    What are Voronoi Diagrams?

    Voronoi Diagrams

    V i Di C

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    20/132

    Voronoi Diagrams Concepts

    Definitions

    What are Voronoi Diagrams

    What are Voronoi Diagrams?

    Informally, Voronoi Diagrams are proximity regions to a set ofobjects. We collect all the points in a set for whom, someparticulat proximity query gives the same result.

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    21/132

    Voronoi Diagrams

    Voronoi Diagrams Concepts

  • 8/3/2019 Workshop Beamer

    22/132

    Voronoi Diagrams Concepts

    Definitions

    Voronoid Diagram

    Example (Voronoi Diagram in Plane)

    Voronoi Diagrams

    Voronoi Diagrams Concepts

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    23/132

    Voronoi Diagrams Concepts

    Definitions

    Proximity Queries

    A dataset S of n points called sites in 2.

    Let S = {s1, s2, . . . , sn}.

    Voronoi Diagrams

    Voronoi Diagrams Concepts

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    24/132

    Voronoi Diagrams Concepts

    Definitions

    Proximity Queries

    A dataset S of n points called sites in 2.

    Let S = {s1, s2, . . . , sn}.(Query 1) For any given query point find the closest site to q.

    Voronoi Diagrams

    Voronoi Diagrams Concepts

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    25/132

    Voronoi Diagrams Concepts

    Definitions

    Proximity Queries

    A dataset S of n points called sites in 2.

    Let S = {s1, s2, . . . , sn}.(Query 1) For any given query point find the closest site to q.

    (Query 2) Find the proximity region of a site.

    Voronoi Diagrams

    Voronoi Diagrams Concepts

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    26/132

    g p

    Definitions

    Proximity Queries

    A dataset S of n points called sites in 2.

    Let S = {s1, s2, . . . , sn}.(Query 1) For any given query point find the closest site to q.

    (Query 2) Find the proximity region of a site.

    (Query 3) Find the proximity regions of all sites.

    Voronoi Diagrams

    Voronoi Diagrams Concepts

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    27/132

    g p

    Definitions

    Proximity Query Illustration

    Example (Sites and Query Point)

    What is nearest point to q?

    Voronoi Diagrams

    Voronoi Diagrams Concepts

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    28/132

    Definitions

    Proximity Query Illustration

    Example (Nearest Site to Query Point)

    Also, circle of shortest radius is empty of other sites.

    Voronoi Diagrams

    Voronoi Diagrams Concepts

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    29/132

    Definitions

    Proximity Query Easy Solution

    Naturally the solution can be found in linear time.Just calculate the distances from all sites and choose the

    closest site.

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    30/132

  • 8/3/2019 Workshop Beamer

    31/132

  • 8/3/2019 Workshop Beamer

    32/132

    Voronoi DiagramsVoronoi Diagrams Concepts

  • 8/3/2019 Workshop Beamer

    33/132

    Formal Definition

    Computing Voronoi Diagram

    Example (What is Voronoi Diagram of 2 points)

    s1

    s2

    Closest to s2!!Closest to s1!!

    V(s2)?

    V(s1)?

    Partition the plane in two sets. Points nearer to s1 and nearer to s2

    Voronoi DiagramsVoronoi Diagrams Concepts

    F l D fi i i

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    34/132

    Formal Definition

    Computing Voronoi Diagram

    Example (Voronoi Diagram of 2 points)

    s1

    s2

    Closest to s2Closest to s1

    V(s2)

    V(s1)

    Voronoi edge

    Its perpendicular bisector

    Voronoi DiagramsVoronoi Diagrams Concepts

    F l D fi iti

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    35/132

    Formal Definition

    Computing Voronoi Diagram of 3 points

    Example (What is Voronoi Diagram of 3 points)

    s1

    s2

    s3

    V(s3)?

    V(s1)?

    V(s2)?

    Voronoi vertex

    Perpendicular Bisector(s1,s2)

    Partition the plane in three sets. Points nearer to s1, s2 and s3

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    36/132

  • 8/3/2019 Workshop Beamer

    37/132

    Voronoi DiagramsVoronoi Diagrams Concepts

    Formal Definition

  • 8/3/2019 Workshop Beamer

    38/132

    Formal Definition

    Properties

    Voronoi edges are in part perpendicular bisectors.

    Voronoi vertices are equidistant to three points(circumcentre).

    Voronoi DiagramsVoronoi Diagrams Concepts

    Formal Definition

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    39/132

    Formal Definition

    Properties

    Voronoi edges are in part perpendicular bisectors.

    Voronoi vertices are equidistant to three points(circumcentre).

    Not immediately obvious, the circumcircle must be empty(Let us see this again).

    Voronoi DiagramsVoronoi Diagrams Concepts

    Formal Definition

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    40/132

    Properties of Voronoi Diagram

    Example (There can not be a point nearer than the three points)

    s1

    s2

    s3

    V(s3)

    V(s1)

    V(s2)

    Voronoi vertex

    Perpendicular Bisector

    Circumcircle is empty and voronoi vertex in centre of circumcircle.This motivates an algorithm.

    Voronoi DiagramsComputing Voronoi Diagrams

    Non-optimal Algorithms

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    41/132

    p g

    Straight-forward Algorithm

    Frontal Attack to the Problem

    Computen3

    circumcentres

    Remove non-empty circumcircles

    Intelligently join circumcentres by bisectors (whenever twopoints are common)

    Voila, you get the Voronoi Diagram

    Bad algorithm, O(n4) time complexity

    Voronoi DiagramsComputing Voronoi Diagrams

    Non-optimal Algorithms

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    42/132

    Space Complexity of Voronoi Diagrams

    Before giving good algorithms, we ask what is the size of output.Why?Because if output is big we do not hope to improve.

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    43/132

  • 8/3/2019 Workshop Beamer

    44/132

  • 8/3/2019 Workshop Beamer

    45/132

    Voronoi DiagramsComputing Voronoi Diagrams

    Non-optimal Algorithms

  • 8/3/2019 Workshop Beamer

    46/132

    Proof of Space Complexity

    Eulers relation for planar graph (Delaunays) is v + f = e+ 2

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    47/132

    Voronoi DiagramsComputing Voronoi Diagrams

    Non-optimal Algorithms

  • 8/3/2019 Workshop Beamer

    48/132

    Proof of Space Complexity

    Eulers relation for planar graph (Delaunays) is v + f = e+ 2

    e 3v 6, again from Euler,and therefore, f 2v 4

    Voronoi DiagramsComputing Voronoi Diagrams

    Non-optimal Algorithms

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    49/132

    Proof of Space Complexity

    Eulers relation for planar graph (Delaunays) is v + f = e+ 2

    e 3v 6, again from Euler,and therefore, f 2v 4

    Since there is an implicit face at , which corresponds to novoronoi vertex, number of voronoi vertices f 2v 5 .

    Voronoi DiagramsComputing Voronoi Diagrams

    Non-optimal Algorithms

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    50/132

    Another Algorithm

    Each Voronoi cell is intersection of n 1 half planes

    We need to compute intersections efficiently

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    51/132

    Another AlgorithmAnalysis

    Each V(si) is intersection of n 1 half planes

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    52/132

    Another AlgorithmAnalysis

    Each V(si) is intersection of n 1 half planes

    Intersection of n halfplanes can be computed in O(n log n)time

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    53/132

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

  • 8/3/2019 Workshop Beamer

    54/132

    Another AlgorithmAnalysis

    Each V(si) is intersection of n 1 half planes

    Intersection of n halfplanes can be computed in O(n log n)time

    Voronoi diagram of S can be computed in O(n2 log n) time bycomputing the Voronoi cells one by one.

    A large improvement over previous method (from n4)

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    55/132

    Yet Another Algorithm (Incremental)

    Each point is inserted in Voronoi Diagram one by one

    A

    B C

    D

    N

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    56/132

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

  • 8/3/2019 Workshop Beamer

    57/132

    Yet Another Algorithm (Analysis)

    Site si+1 is located in Voronoi Diagram of i sites (by rayshooting?)

    Its boundary is calculated

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    58/132

    Yet Another Algorithm (Analysis)

    Site si+1 is located in Voronoi Diagram of i sites (by rayshooting?)

    Its boundary is calculated

    Voronoi diagram of S can be computed in O(n2) as O(i)edges might be inserted or deleted in each step

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

    ( )

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    59/132

    Yet Another Algorithm (Analysis)

    Site si+1 is located in Voronoi Diagram of i sites (by rayshooting?)

    Its boundary is calculated

    Voronoi diagram of S can be computed in O(n2) as O(i)edges might be inserted or deleted in each step

    Further improvement over previous method

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

    O

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    60/132

    One more Incremental Algorithm-I

    Each Voronoi vertex is inserted in Voronoi Diagram one by one

    We start with any hull edge and compute the empty circle

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

    O I l Al i h II

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    61/132

    One more Incremental Algorithm-II

    Compute adjacent empty circles

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

    O I l Al i h III

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    62/132

    One more Incremental Algorithm-III

    Final Voronoi Diagram

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    63/132

  • 8/3/2019 Workshop Beamer

    64/132

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Non-optimal Algorithms

    Th ee Po la Algo ith s

  • 8/3/2019 Workshop Beamer

    65/132

    Three Popular Algorithms

    We know of three good algorithms.

    Fortunes Sweep Line (Beach Line) MethodDivide and Conquer

    Reduction to Convex Hull in 3

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Voronoi Diagram from 3D Convex Hulls

    Reduction to Convex Hull in 3

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    66/132

    Reduction to Convex Hull in 3

    Transform points in plane to space

    (x, y) (x, y, x2

    + y2

    )Basically we project the plane to the surface of a paraboloidThe lower convex hull is Delaunay Triangulation, the dual ofVoronoi Diagram

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Voronoi Diagram from 3D Convex Hulls

    Projection to Paraboloid

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    67/132

    Projection to Paraboloid

    Reduction to Convex Hull

    Lower Convex Hull is Delaunay Triangulation.

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    68/132

    Fortunes Algorithm

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Assumptions

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    69/132

    Assumptions

    General position assumption: No four sites are co-circular.

    Figures sources:http://www.ams.org/featurecolumn/archive/voronoi.html

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Why Usual Sweep Line Methods Fail?

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    70/132

    Why Usual Sweep Line Methods Fail?

    The problem with usual sweeping methods is that the cells maystart even before the site is encountered.

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Tentative Idea

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    71/132

    Tentative Idea

    Fortunes algorithm is sweep line method [6]

    s2

    s1

    s3

    beach line

    sweep line

    Known

    Unknown

    Region inside beach line does not depend on anything below thesweep line. What is it?

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Tentative Idea

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    72/132

    Tentative Idea

    Fortunes algorithm is sweep line method [6]

    s2

    s1

    s3

    beach line

    sweep line

    Known

    Unknown

    Beach line consists of sequence of parabolas. Why?

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    73/132

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    What is Beach line-I

  • 8/3/2019 Workshop Beamer

    74/132

    What is Beach line I

    It is parabola.We know equidistant points from a site and a line is a parabola.Anything in the parabola is nearer to the point always.

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    What is Beach line-II

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    75/132

    What if we have more points?

    Suppose we have got six sites

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    What is Beach line-III

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    76/132

    Three sites are already seen by sweep line. Another three are yet tobe seen.

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    What is Beach line-IV

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    77/132

    Beach line will be the envelope of the three parabolae

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Important Property of Beach Line

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    78/132

    p p y

    We can order the parabolic segments from left to right (or right to

    left)

    Beach line intersects any vertical line only once

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Two types of Events

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    79/132

    Sweep line can have two types of events

    Site Event (Voronoi Edges)

    Circle Event (Voronoi Vertices)

    The algorithm basically keeps track of the beach line, whilecomputing Voronoi Diagram inside it.

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Initial Situation

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    80/132

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    A site is encountered

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    81/132

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Voronoi Edge Enters

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    82/132

    That means we have a Voronoi edge whenever two beach segmentsintersect

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Voronoi Vertex Enters

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    83/132

    There is a Voronoi vertex whenever two Voronoi edges intersectWe need to add an event (circle event) where three neighbouringbeach segments intersect

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Circle Event-I

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    84/132

    Before circle event

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Circle Event-II

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    85/132

    At the circle event

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Circle Event-III

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    86/132

    After circle event

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    Execution of the Fortunes Algorithm

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    87/132

    Let us see how the Fortunes algorithm calculates the VoronoiDiagram step by step

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    AlgorithmStep 1

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    88/132

    First site and a strange beach line

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    AlgorithmStep 2

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    89/132

    Second site

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    90/132

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    AlgorithmStep 4

  • 8/3/2019 Workshop Beamer

    91/132

    Fourth site (and an effective circle event)

    Voronoi Diagrams

    Computing Voronoi Diagrams

    Fortunes Algorithm

    AlgorithmStep 5

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    92/132

    Circle event

    Voronoi Diagrams

    Computing Voronoi DiagramsFortunes Algorithm

    AlgorithmStep 6

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    93/132

    Fifth site and a circle event

    Voronoi Diagrams

    Computing Voronoi DiagramsFortunes Algorithm

    AlgorithmStep 7

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    94/132

    A circle event and another circle event

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    95/132

    Voronoi Diagrams

    Computing Voronoi DiagramsFortunes Algorithm

    AlgorithmStep 9

  • 8/3/2019 Workshop Beamer

    96/132

    Last site and two circle event

    Voronoi Diagrams

    Computing Voronoi DiagramsFortunes Algorithm

    AlgorithmStep 10

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    97/132

    Last but one circle event

    Voronoi Diagrams

    Computing Voronoi DiagramsFortunes Algorithm

    AlgorithmStep 11

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    98/132

    Last circle event

    Voronoi Diagrams

    Computing Voronoi DiagramsFortunes Algorithm

    AlgorithmStep 12

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    99/132

    Final Output

    Voronoi Diagrams

    Computing Voronoi DiagramsFortunes Algorithm

    Analysis of the Fortunes Algorithm

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    100/132

    Fortunes algorithm being an example of typical sweep linetechnique is O(n log n)

    Optimal because sorting problem can be reduced to construction ofVoronoi Diagrams

    Voronoi Diagrams

    Computing Voronoi DiagramsFortunes Algorithm

    Reduction of Sorting Problem to Voronoi Diagram

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    101/132

    To sort x1, x2, . . . , xnWe find Voronoi Diagram of points(x1, 0), (x2, 0), . . . (xn, 0) and (0,) = sEither neighbourhood relation or the cell V(s) gives the requiredsorted order

    Voronoi Diagrams

    Computing Voronoi DiagramsFortunes Algorithm

    Sorting using Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    102/132

    Voronoi Diagrams

    Computing Voronoi DiagramsDivide and Conquer

    Divide and Conquer

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    103/132

    Another algorithm that gives Voronoi Diagram in optimal time andspace

    Voronoi Diagrams

    Computing Voronoi DiagramsDivide and Conquer

    Divide

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    104/132

    Partition points equally. Solve two subproblems.

    Voronoi Diagrams

    Computing Voronoi DiagramsDivide and Conquer

    Conquer

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    105/132

    Sew the two jumbled pieces

    Voronoi Diagrams

    Computing Voronoi DiagramsDivide and Conquer

    Solution

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    106/132

    Merging of Voronoi Diagram complete!!

    Voronoi Diagrams

    Delaunay TriangulationsMotivation

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    107/132

    Delaunay Triangulations

    Voronoi Diagrams

    Delaunay TriangulationsMotivation

    What are Delaunay Triangulation?

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    108/132

    Given a set of points sometimes it is needed to join them intriangles

    Voronoi Diagrams

    Delaunay TriangulationsMotivation

    Bad triangulation

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    109/132

    Example (Skinny Triangles)

    Voronoi Diagrams

    Delaunay TriangulationsMotivation

    Good triangulation

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    110/132

    Example (Delaunay Triangulation)

    Voronoi Diagrams

    Delaunay Triangulations

    Concepts

    Delaunay triangulation as Dual of Voronoi Diagrams

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    111/132

    Example (Delaunay Triangles are Voronoi Vertices)

    Voronoi Diagrams

    Delaunay Triangulations

    Concepts

    Another Example to Convince

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    112/132

    Example (Delaunay Triangulation of 50 points)

    Voronoi Diagrams

    Delaunay Triangulations

    Concepts

    Yet Another Example to Convince

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    113/132

    Example (Delaunay Triangulation of 100 points)

    Voronoi Diagrams

    Delaunay Triangulations

    Concepts

    What are we looking for?

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    114/132

    Triangles should not be very stretched (skinny triangles)

    Maximize the minimum angle of all the angles of the trianglesin the triangulation

    Circumcircles of all the triangles in the net are empty

    Voronoi Diagrams

    Delaunay Triangulations

    Concepts

    Delaunay Triangulation Properties-I

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    115/132

    Example (Delaunay Triangles have Empty Circumcircles)

    Voronoi Diagrams

    Delaunay Triangulations

    Concepts

    Delaunay Triangulation Properties-II

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    116/132

    Example (Empty Circumcircles centred at Voronoi Vertices)

    Voronoi Diagrams

    Delaunay Triangulations

    Method of Computation

    Delaunay Triangulation Properties-II

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    117/132

    Example (Empty CircumcirclesDual of Voronoi Diagrams)

    Voronoi Diagrams

    Generalisations

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    118/132

    Generalisations

    Voronoi Diagrams

    Generalisations

    Voronoi Diagrams in d

    Higher Dimension Voronoi Diagram

    Example (Voronoi Region 3D point set)

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    119/132

    Voronoi Diagram in space

    Voronoi Diagrams

    Generalisations

    Voronoi Diagram for Farthest Points

    Farthest Point Voronoi Diagram

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    120/132

    Example (Voronoi regions for farthest point queries)

    Voronoi Diagrams

    Generalisations

    Voronoi Diagram for Farthest Points

    Computing Farthest Point Voronoi Diagram

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    121/132

    Farthest Point Voronoi diagrams only depends on points onConvex Hull .

    This makes the task of computing the Farthest Point VoronoiDiagram easier and gives rise to O(n log n) algorithm.

    Voronoi Diagrams

    Generalisations

    Voronoi Diagram for Farthest Points

    Applications of Farthest Point Voronoi Diagram

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    122/132

    Used for Min-Max optimisation problems

    Gives you minimum enclosing circle directly. Though linear timealgorithms that do not use farthest point Voronoi Diagram areknown.

    Voronoi Diagrams

    Generalisations

    Voronoi Diagram for Subsets

    Higher Order Voronoi Diagram

    Example (Voronoi Region for k-nearest point set)

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    123/132

    Second order Voronoi Diagram

    Voronoi Diagrams

    Generalisations

    Voronoi Diagram for Subsets

    Computing Higher Order Voronoi Diagram

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    124/132

    Higher-order Voronoi diagrams can be generated recursively.

    To generate the nth-order Voronoi diagram from set S, start with

    the (n 1)th

    -order diagram and replace each cell generated byX = {x1, x2, ..., xn1} with a Voronoi diagram generated on the setS X.

    Collect all the regions of X in different cells.

    Voronoi Diagrams

    Conclusion

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    125/132

    Conclusion

    Voronoi Diagrams

    Conclusion

    Open Problems

    Open Problems to Ponder

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    126/132

    Compute Voronoi diagram of a set of lines (or line segments)in three dimensions, conjectured to be near quadratic. (Samefor Polyhedra is hard)

    What is the maximum number of combinatorial changespossible in a Euclidean Voronoi diagram of a set of n pointseach moving along a line at unit speed in two dimensions?

    Where to place a new site to maximize its Voronoi cell?

    Voronoi Diagrams

    Conclusion

    Concluding Remarks

    Summary

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    127/132

    We studied the concept of Voronoi Diagrams

    Next we saw how they can be computed

    We looked into their dualsDelaunay Triangulations

    Finally we also saw some of the generalisations

    Voronoi Diagrams

    Conclusion

    Further Reading

    You may read

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    128/132

    Book by Okabe et al. [7], who lists more than 600 papers, and

    the surveys by Aurenhammer [1],

    Bernal [2], andFortune [6] for a complete overview,

    Also, Chapters 5 and 6 of Preparata and Shamos [8], and

    Chapter 13 of Edelsbrunner [5]

    Voronoi Diagrams

    Conclusion

    Further Reading

    References I

    Franz Aurenhammer.

    Voronoi diagrams a s r e of a f ndamental geometric data

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    129/132

    Voronoi diagrams - a survey of a fundamental geometric datastructure.ACM Comput. Surv., 23(3):345405, 1991.

    Javier Bernal.

    Bibliographic notes on voronoi diagrams.Technical report, Natl. Inst. of Standards and Tech., April1993.NIST Internal Report 5164.

    Mark de Berg, Marc van Kreveld, Mark Overmars, and OtfriedSchwarzkopf.Computational Geometry: Algorithms and Applications.Springer-Verlag, second edition, 2000.

    Voronoi Diagrams

    Conclusion

    Further Reading

    References II

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    130/132

    Rene Descartes.Principia Philosophiae.Ludovicus Elzevirius, Amsterdam, 1644.

    Herbert Edelsbrunner.Algorithms in Combinatorial Geometry.Springer-Verlag, New York, 1987.

    Steven Fortune.Voronoi diagrams and Delaunay triangulations.

    CRC Press, Inc., Boca Raton, FL, USA, 1997.

    Voronoi Diagrams

    Conclusion

    Further Reading

    References III

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    131/132

    Atsuyuki Okabe, Barry Boots, Kokichi Sugihara, andSung Nok Chiu.Spatial tessellations: Concepts and applications of Voronoidiagrams.

    Probability and Statistics. Wiley, NYC, 2nd edition, 2000.671 pages.

    F. P. Preparata and M. I. Shamos.Computational Geometry: An Introduction.

    Springer-Verlag, 1985.

    Voronoi Diagrams

    Conclusion

    Further Reading

    At Last . . .

    http://find/http://goback/
  • 8/3/2019 Workshop Beamer

    132/132

    Thank You

    [email protected]

    [email protected]

    http://find/http://goback/