workshop beamer
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
http://find/http://goback/