Voronoi Diagram Sasanka Roy Indian Institute of Science Education - - PowerPoint PPT Presentation

voronoi diagram
SMART_READER_LITE
LIVE PREVIEW

Voronoi Diagram Sasanka Roy Indian Institute of Science Education - - PowerPoint PPT Presentation

Voronoi Diagram Sasanka Roy Indian Institute of Science Education and Research Organization of the Talk Organization of the Talk 1. Preliminaries 2. Generic Definition 3. Some Technical Details 4. Conclusion Organization of the Talk 1.


slide-1
SLIDE 1

Voronoi Diagram

Sasanka Roy Indian Institute of Science Education and Research

slide-2
SLIDE 2

Organization of the Talk

slide-3
SLIDE 3

Organization of the Talk

  • 1. Preliminaries
  • 2. Generic Definition
  • 3. Some Technical Details
  • 4. Conclusion
slide-4
SLIDE 4

Organization of the Talk

  • 1. Preliminaries
  • 2. Generic Definition
  • 3. Some Technical Details
  • 4. Conclusion
slide-5
SLIDE 5

What are we going to talk about?

slide-6
SLIDE 6

What are we going to talk about?

We have some data

slide-7
SLIDE 7

What are we going to talk about?

We have some data Geometric Data

slide-8
SLIDE 8

What are we going to talk about?

We have some data Geometric Data Geometric Data ????

slide-9
SLIDE 9

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ????

slide-10
SLIDE 10

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have

slide-11
SLIDE 11

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points,

slide-12
SLIDE 12

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points, line segments,

slide-13
SLIDE 13

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points, line segments, polygons etc.

slide-14
SLIDE 14

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points, line segments, polygons etc.

Then what?????

slide-15
SLIDE 15

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points, line segments, polygons etc.

Then what????? We want to get answers to the specific questions

slide-16
SLIDE 16

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points, line segments, polygons etc.

Then what????? We want to get answers to the specific questions Closest points to the line segments

slide-17
SLIDE 17

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points, line segments, polygons etc.

Then what????? We want to get answers to the specific questions Closest points to the line segments

slide-18
SLIDE 18

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points, line segments, polygons etc.

Then what????? We want to get answers to the specific questions Closest points to the line segments Point inside the simple polygon

slide-19
SLIDE 19

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points, line segments, polygons etc.

Then what????? We want to get answers to the specific questions Closest points to the line segments Point inside the simple polygon

slide-20
SLIDE 20

What are we going to talk about?

We have some data Geometric Data Geometric Data ???? What do I mean ???? I mean: we have points, line segments, polygons etc.

Then what????? We want to get answers to the specific questions Closest points to the line segments Point inside the simple polygon

what are all these?

slide-21
SLIDE 21

Can you be a bit Practical??

slide-22
SLIDE 22

Planar Point Location

slide-23
SLIDE 23

Planar Point Location

Which state has the site/point with Latitude= 26° 11' 0'' N Longitude= 91° 44' 0''E

slide-24
SLIDE 24

Planar Point Location

Guwahati in Assam

Which state has the site/point with Latitude= 26° 11' 0'' N Longitude= 91° 44' 0''E

slide-25
SLIDE 25

Planar Point Location

Can we view States as simple polygon?

Guwahati in Assam

Which state has the site/point with Latitude= 26° 11' 0'' N Longitude= 91° 44' 0''E

slide-26
SLIDE 26

Planar Point Location

Can we view States as simple polygon? simple polygon: Closed region whose boundary is formed by non-intersecting line segments

Guwahati in Assam

Which state has the site/point with Latitude= 26° 11' 0'' N Longitude= 91° 44' 0''E

slide-27
SLIDE 27

Planar Point Location

Can we view States as simple polygon? Yes simple polygon: Closed region whose boundary is formed by non-intersecting line segments

Guwahati in Assam

Which state has the site/point with Latitude= 26° 11' 0'' N Longitude= 91° 44' 0''E

slide-28
SLIDE 28

28

Given a planar subdivision S of O(n) vertices/faces/edges

Formally Planar Point Location

slide-29
SLIDE 29

29

Given a planar subdivision S of O(n) vertices/faces/edges

S

Formally Planar Point Location

slide-30
SLIDE 30

30

Given a planar subdivision S of O(n) vertices/faces/edges

S

vertex

Formally Planar Point Location

slide-31
SLIDE 31

31

Given a planar subdivision S of O(n) vertices/faces/edges

S

face vertex

Formally Planar Point Location

slide-32
SLIDE 32

32

Given a planar subdivision S of O(n) vertices/faces/edges

S

face edge vertex

Formally Planar Point Location

slide-33
SLIDE 33

33

Given a planar subdivision S Preprocess S such that:

S

Formally Planar Point Location

slide-34
SLIDE 34

34

Given a planar subdivision S Preprocess S such that: For any query point q,

q S

Formally Planar Point Location

slide-35
SLIDE 35

35

Given a planar subdivision S Preprocess S such that: For any query point q

R q

The region/face R containing q can be reported efficiently.

S

Formally Planar Point Location

slide-36
SLIDE 36

36

Given a planar subdivision S Preprocess S such that: For any query point q

R q

The region/face R containing q can be reported efficiently.

S

Formally Planar Point Location

slide-37
SLIDE 37

37

R q S

Formally Planar Point Location

slide-38
SLIDE 38

38

Preprocessing Time:

R q S

Formally Planar Point Location

slide-39
SLIDE 39

39

Preprocessing Time:

R q S

Preprocessing space requirement:

Questions?

slide-40
SLIDE 40

40

Preprocessing Time:

R q S

Preprocessing space requirement: Query Time:

Questions?

slide-41
SLIDE 41

41

Preprocessing Time:

R q S

Preprocessing space requirement: Query Time:

O(n)

Questions?

slide-42
SLIDE 42

42

Preprocessing Time:

R q S

Preprocessing space requirement: Query Time:

O(n) O(n)

Questions?

slide-43
SLIDE 43

43

Preprocessing Time:

R q S

Preprocessing space requirement: Query Time:

O(n) O(n) O(log n)

Questions?

slide-44
SLIDE 44

Back to Voronoi Diagram

Subhas C. Nandy Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108

slide-45
SLIDE 45

Organization of the Talk

  • 1. Preliminaries
  • 2. Generic Definition
  • 3. Some Technical Details
  • 4. Conclusion
slide-46
SLIDE 46

Thank you Google

slide-47
SLIDE 47

Viewpoint 1: Locate the nearest dentistry. Viewpoint 2: Find the ‘service area’ of potential customers for each dentist.

Thank you Google

slide-48
SLIDE 48

Viewpoint 1: Locate the nearest dentistry. Viewpoint 2: Find the ‘service area’ of potential customers for each dentist.

Thank you Google

I am here.

slide-49
SLIDE 49

Formal Definition

slide-50
SLIDE 50

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane.

slide-51
SLIDE 51

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane.

slide-52
SLIDE 52

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane. Preprocess P such that closest point x ∈ P of any query point q can be found efficiently

slide-53
SLIDE 53

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane. Preprocess P such that closest point x ∈ P of any query point q can be found efficiently q

slide-54
SLIDE 54

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane. Preprocess P such that closest point x ∈ P of any query point q can be found efficiently q How to solve this efficiently?

slide-55
SLIDE 55

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane. Preprocess P such that closest point x ∈ P of any query point q can be found efficiently Subdivision of the plane into n cells such that q How to solve this efficiently?

slide-56
SLIDE 56

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane.

  • each cell contains exactly one site,
  • if a point q lies in a cell containing pi then

d(q, pi ) < d(q, pj ) for all pi ∈ P, j ≠ i. Preprocess P such that closest point x ∈ P of any query point q can be found efficiently Subdivision of the plane into n cells such that q How to solve this efficiently?

slide-57
SLIDE 57

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane. Preprocess P such that closest point x ∈ P of any query point q can be found efficiently Subdivision of the plane into n cells such that q How to solve this efficiently?

  • each cell contains exactly one site,
  • if a point q lies in a cell containing pi then

d(q, pi ) < d(q, pj ) for all pi ∈ P, j ≠ i.

slide-58
SLIDE 58

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane. Preprocess P such that closest point x ∈ P of any query point q can be found efficiently Subdivision of the plane into n cells such that Voronoi diagram of P: V(P): q How to solve this efficiently?

  • each cell contains exactly one site,
  • if a point q lies in a cell containing pi then

d(q, pi ) < d(q, pj ) for all pi ∈ P, j ≠ i.

slide-59
SLIDE 59

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane. Preprocess P such that closest point x ∈ P of any query point q can be found efficiently Subdivision of the plane into n cells such that Voronoi diagram of P: V(P): q This is Planar Subdivision so what can we do? How to solve this efficiently?

  • each cell contains exactly one site,
  • if a point q lies in a cell containing pi then

d(q, pi ) < d(q, pj ) for all pi ∈ P, j ≠ i.

slide-60
SLIDE 60

Formal Definition

P → A set of n distinct points (Geometric Objects) in the plane. Preprocess P such that closest point x ∈ P of any query point q can be found efficiently Subdivision of the plane into n cells such that Voronoi diagram of P: V(P): q This is Planar Subdivision so what can we do? Planar point location How to solve this efficiently?

  • each cell contains exactly one site,
  • if a point q lies in a cell containing pi then

d(q, pi ) < d(q, pj ) for all pi ∈ P, j ≠ i.

slide-61
SLIDE 61

Computing the Voronoi Diagram

Input: A set of points on a line (special case)

p1 p2

slide-62
SLIDE 62

Computing the Voronoi Diagram

Input: A set of points on a line (special case)

p1 p2

Output: A partitioning of the plane into regions of nearest neighbors

slide-63
SLIDE 63

Computing the Voronoi Diagram

Input: A set of points on a line (special case) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2

slide-64
SLIDE 64

Computing the Voronoi Diagram

Input: A set of points on a line (special case) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2

half plane containing

p2 = V(p2)

half plane containing

p1 = V(p1)

slide-65
SLIDE 65

Computing the Voronoi Diagram

Input: A set of points on a line (special case) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2

half plane containing

p2 = V(p2)

half plane containing

p1 = V(p1)

Closest point of x ∈ V(p2) =

x

slide-66
SLIDE 66

Computing the Voronoi Diagram

Input: A set of points on a line (special case) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2

half plane containing

p2 = V(p2)

half plane containing

p1 = V(p1)

Closest point of x ∈ V(p2) = p2

x

slide-67
SLIDE 67

p3

Computing the Voronoi Diagram

Input: A set of points on a line (special case) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2

slide-68
SLIDE 68

p3

Computing the Voronoi Diagram

Input: A set of points on a line (special case) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn

slide-69
SLIDE 69

p3

Computing the Voronoi Diagram

Input: A set of points on a line (special case) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn

What are these lines?

slide-70
SLIDE 70

p3

Computing the Voronoi Diagram

Input: A set of points on a line (special case) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn

What are these lines? Perpendicular bisector of line segment [ pi pi+1 ]

slide-71
SLIDE 71

Computing the Voronoi Diagram

slide-72
SLIDE 72

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

a l i n e ( s p e c i a l c a s e )

slide-73
SLIDE 73

p3

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

a l i n e ( s p e c i a l c a s e ) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn

slide-74
SLIDE 74

p3

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

a l i n e ( s p e c i a l c a s e ) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn

Find Perpendicular bisector li of line segment [ pi pi+1 ]

slide-75
SLIDE 75

p3

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

a l i n e ( s p e c i a l c a s e ) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn l1 l2 ln-1

Find Perpendicular bisector li of line segment [ pi pi+1 ]

slide-76
SLIDE 76

p3

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

a l i n e ( s p e c i a l c a s e ) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn l1 l2 ln-1

Let ai be the intersection point of li and [ pi pi+1 ] Find Perpendicular bisector li of line segment [ pi pi+1 ]

slide-77
SLIDE 77

p3

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

a l i n e ( s p e c i a l c a s e ) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn l1 l2 ln-1

Let ai be the intersection point of li and [ pi pi+1 ]

a1 a2 an-1

Find Perpendicular bisector li of line segment [ pi pi+1 ]

slide-78
SLIDE 78

p3

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

a l i n e ( s p e c i a l c a s e ) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn l1 l2 ln-1

Let ai be the intersection point of li and [ pi pi+1 ] Sort ai in increasing x-coordinate

a1 a2 an-1

Find Perpendicular bisector li of line segment [ pi pi+1 ]

slide-79
SLIDE 79

p3

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

a l i n e ( s p e c i a l c a s e ) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn l1 l2 ln-1

Let ai be the intersection point of li and [ pi pi+1 ] Sort ai in increasing x-coordinate

a1 a2 an-1

Find Perpendicular bisector li of line segment [ pi pi+1 ] This gives us Voronoi Diagram V(P)

slide-80
SLIDE 80

p3

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

a l i n e ( s p e c i a l c a s e ) Output: A partitioning of the plane into regions of nearest neighbors

p1 p2 pn-1 pn l1 l2 ln-1

Let ai be the intersection point of li and [ pi pi+1 ] Sort ai in increasing x-coordinate

a1 a2 an-1

Find Perpendicular bisector li of line segment [ pi pi+1 ] This gives us Voronoi Diagram V(P)

V(p1) V(p2) V(p3) V(pn-1) V(pn)

slide-81
SLIDE 81

p3

Query Answering

p1 p2 pn-1 pn l1 l2 ln-1 a1 a2 an-1 V(p1) V(p2) V(p3) V(pn-1) V(pn)

slide-82
SLIDE 82

p3

Query Answering

p1 p2 pn-1 pn l1 l2 ln-1

We have ai‘s sorted in increasing x-coordinate

a1 a2 an-1 V(p1) V(p2) V(p3) V(pn-1) V(pn)

slide-83
SLIDE 83

p3

Query Answering

p1 p2 pn-1 pn l1 l2 ln-1

We have ai‘s sorted in increasing x-coordinate

a1 a2 an-1 V(p1) V(p2) V(p3) V(pn-1) V(pn)

Given a query point p[x,y]

slide-84
SLIDE 84

p3

Query Answering

p1 p2 pn-1 pn l1 l2 ln-1

We have ai‘s sorted in increasing x-coordinate

a1 a2 an-1 V(p1) V(p2) V(p3) V(pn-1) V(pn)

Given a query point p[x,y] p[x,y]

slide-85
SLIDE 85

p3

Query Answering

p1 p2 pn-1 pn l1 l2 ln-1

We have ai‘s sorted in increasing x-coordinate

a1 a2 an-1 V(p1) V(p2) V(p3) V(pn-1) V(pn)

Given a query point p[x,y] What we have to do? p[x,y]

slide-86
SLIDE 86

p3

Query Answering

p1 p2 pn-1 pn l1 l2 ln-1

We have ai‘s sorted in increasing x-coordinate

a1 a2 an-1 V(p1) V(p2) V(p3) V(pn-1) V(pn)

Given a query point p[x,y] What we have to do? p[x,y] Locate x correctly between ai and ai+1

slide-87
SLIDE 87

p3

Query Answering

p1 p2 pn-1 pn l1 l2 ln-1

We have ai‘s sorted in increasing x-coordinate

a1 a2 an-1 V(p1) V(p2) V(p3) V(pn-1) V(pn)

Given a query point p[x,y] What we have to do? p[x,y] Locate x correctly between ai and ai+1 We can forget about y coordinate

slide-88
SLIDE 88

Time Complexity analysis

slide-89
SLIDE 89

Time Complexity analysis

Preprocessing Time =O(n log n)

slide-90
SLIDE 90

Time Complexity analysis

Preprocessing Time =O(n log n) Query Time =O(log n)

slide-91
SLIDE 91

Computing the Voronoi Diagram

slide-92
SLIDE 92

p3

Computing the Voronoi Diagram

p1 p2 p4

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D

slide-93
SLIDE 93

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors

p3 p1 p2 p4

slide-94
SLIDE 94

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors Find cell for each point one by one?

p3 p1 p2 p4

slide-95
SLIDE 95

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors Find cell for each point one by one? use perpendicular bisector argument

p3 p1 p2 p4

slide-96
SLIDE 96

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors Find cell for each point one by one? use perpendicular bisector argument

p3 p1 p2 p4

Find region for p1

slide-97
SLIDE 97

p3

Computing the Voronoi Diagram

p1 p2 p4

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors Find cell for each point one by one? use perpendicular bisector argument

V(p1)

Find region for p1 P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 2

]

slide-98
SLIDE 98

p3

Computing the Voronoi Diagram

p1 p2 p4

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors Find cell for each point one by one? use perpendicular bisector argument

V(p1)

Find region for p1 P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 2

]

any point x here p1 is closer than p2

slide-99
SLIDE 99

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors Find cell for each point one by one?

p2 p1

use perpendicular bisector argument

p3 p4 V(p1)

Find region for p1 P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 2

] P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 4

]

slide-100
SLIDE 100

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors Find cell for each point one by one?

p2 p1

use perpendicular bisector argument

p3 p4 V(p1)

Find region for p1 P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 2

] P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 4

] P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 3

]

slide-101
SLIDE 101

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors Find cell for each point one by one?

p2 p1

use perpendicular bisector argument

p3 p4 V(p1)

Find region for p1 P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 2

] P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 4

] P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 3

] F i n d V (p

1

)

slide-102
SLIDE 102

Computing the Voronoi Diagram

I n p u t : A s e t

  • f

p

  • i

n t s

P

= (p

1

, p

2

, . . . , p

n

)

  • n

2 D Output: A partitioning of the plane into regions of nearest neighbors Find cell for each point one by one?

p2

use perpendicular bisector argument

p3 p4

Find region for p1 P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 2

] P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 4

] P e r p e n d i c u l a r b i s e c t

  • r
  • f

[p

1p 3

] F i n d V (p

1

)

p1 V(p1)

slide-103
SLIDE 103

Computing the Voronoi Diagram

p2 p3 p4 p1 V(p1)

H

  • w

d

  • w

e f i n d V (p

1

) ?

slide-104
SLIDE 104

Computing the Voronoi Diagram

H

  • w

d

  • w

e f i n d V (p

1

) ? G

  • b

a c k

slide-105
SLIDE 105

p3

Computing the Voronoi Diagram

p1 p2 p4 V(p1)

H

  • w

d

  • w

e f i n d V (p

1

) ? G

  • b

a c k W h a t i s t h i s r e g i

  • n

?

slide-106
SLIDE 106

p3

Computing the Voronoi Diagram

p1 p2 p4 V(p1)

H

  • w

d

  • w

e f i n d V (p

1

) ? G

  • b

a c k H a l f

  • p

l a n e , s a y H

1

, c

  • n

t a i n i n g p

1

W h a t i s t h i s r e g i

  • n

?

slide-107
SLIDE 107

p3

Computing the Voronoi Diagram

p1 p2 p4 V(p1)

H

  • w

d

  • w

e f i n d V (p

1

) ? G

  • b

a c k H a l f

  • p

l a n e , s a y H

1

, c

  • n

t a i n i n g p

1

W h a t i s t h i s r e g i

  • n

? for any point x here, p1 is closer than p2

slide-108
SLIDE 108

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

H

  • w

d

  • w

e f i n d V (p

1

) ? G

  • b

a c k W h a t i s t h i s r e g i

  • n

?

slide-109
SLIDE 109

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

W h a t i s t h i s r e g i

  • n

? H a l f

  • p

l a n e , s a y H

2

, c

  • n

t a i n i n g p

1

H

  • w

d

  • w

e f i n d V (p

1

) ? G

  • b

a c k

slide-110
SLIDE 110

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

W h a t i s t h i s r e g i

  • n

? H a l f

  • p

l a n e , s a y H

2

, c

  • n

t a i n i n g p

1

H

  • w

d

  • w

e f i n d V (p

1

) ? G

  • b

a c k for any point x here, p1 is closer than p4

slide-111
SLIDE 111

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

W h a t i s t h i s r e g i

  • n

? H a l f

  • p

l a n e , s a y H

2

, c

  • n

t a i n i n g p

1

H

  • w

d

  • w

e f i n d V (p

1

) ? G

  • b

a c k for any point x here, p1 is closer than p4

slide-112
SLIDE 112

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

W h a t i s t h i s r e g i

  • n

?

slide-113
SLIDE 113

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

W h a t i s t h i s r e g i

  • n

? H a l f

  • p

l a n e , s a y H

3

, c

  • n

t a i n i n g p

1

slide-114
SLIDE 114

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

W h a t i s t h i s r e g i

  • n

? H a l f

  • p

l a n e , s a y H

3

, c

  • n

t a i n i n g p

1

for any point x here, p1 is closer than p3

slide-115
SLIDE 115

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

slide-116
SLIDE 116

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

W h a t i s t h i s r e g i

  • n

?

slide-117
SLIDE 117

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

W h a t i s t h i s r e g i

  • n

? for any point x here, p1 is closer than p2 and p4

slide-118
SLIDE 118

Computing the Voronoi Diagram

p2 p1 p3 p4 V(p1)

W h a t i s t h i s r e g i

  • n

?

H1 ∩ H2

for any point x here, p1 is closer than p2 and p4

slide-119
SLIDE 119

Computing the Voronoi Diagram

p2 p3 p4 p1 V(p1)

W h a t i s V (p

1

) ?

slide-120
SLIDE 120

Computing the Voronoi Diagram

p2 p3 p4 p1 V(p1)

W h a t i s V (p

1

) ?

H1 ∩ H2 ∩ H3

slide-121
SLIDE 121

Computing the Voronoi Diagram

p2 p3 p4 p1 V(p1)

W h a t i s V (p

1

) ?

H1 ∩ H2 ∩ H3

I n g e n e r a l , w h a t w

  • u

l d b e V (p

1

) ?

slide-122
SLIDE 122

Computing the Voronoi Diagram

p2 p3 p4 p1 V(p1)

W h a t i s V (p

1

) ?

H1 ∩ H2 ∩ H3

I n g e n e r a l , w h a t w

  • u

l d b e V (p

1

) ? I n t e r s e c t i

  • n
  • f

( n

  • 1

) h y p e r p l a n e s

slide-123
SLIDE 123

Computing the Voronoi Diagram

p2 p3 p4 p1 V(p1)

W h a t i s V (p

1

) ?

H1 ∩ H2 ∩ H3

I n g e n e r a l , w h a t w

  • u

l d b e V (p

1

) ? I n t e r s e c t i

  • n
  • f

( n

  • 1

) h y p e r p l a n e s

H1 ∩ H2 ... ∩ ∩ Hn-1

slide-124
SLIDE 124

Time complexity of this Brute Force Algorithm

slide-125
SLIDE 125

Time complexity of this Brute Force Algorithm

I n t e r s e c t i

  • n
  • f

( n

  • 1

) h y p e r p l a n e s c a n b e f

  • u

n d i n O ( n l

  • g

n ) t i m e

slide-126
SLIDE 126

Time complexity of this Brute Force Algorithm

I n t e r s e c t i

  • n
  • f

( n

  • 1

) h y p e r p l a n e s c a n b e f

  • u

n d i n O ( n l

  • g

n ) t i m e T

  • t

a l t i m e c

  • m

p l e x i t y :

slide-127
SLIDE 127

Time complexity of this Brute Force Algorithm

I n t e r s e c t i

  • n
  • f

( n

  • 1

) h y p e r p l a n e s c a n b e f

  • u

n d i n O ( n l

  • g

n ) t i m e T

  • t

a l t i m e c

  • m

p l e x i t y : O(n2 log n)

slide-128
SLIDE 128

Time Complexity of Best Algorithms for Voronoi Diagram

slide-129
SLIDE 129

Time Complexity of Best Algorithms for Voronoi Diagram

Voronoi Diagram can be constructed in O(n log n) time

slide-130
SLIDE 130

Time Complexity of Best Algorithms for Voronoi Diagram

Voronoi Diagram can be constructed in O(n log n) time There are well-known algorithms like:

  • 1. Fortune’s Line Sweep
  • 2. Divide and Conquer
  • 3. Lifting points in 3D
slide-131
SLIDE 131

Size of the Voronoi Diagram

slide-132
SLIDE 132

Size of the Voronoi Diagram

Size means: number of vertices, edges and faces

slide-133
SLIDE 133

Size of the Voronoi Diagram

Size means: number of vertices, edges and faces Lower bound (Smallest Size possible):

slide-134
SLIDE 134

Size of the Voronoi Diagram

Size means: number of vertices, edges and faces Lower bound (Smallest Size possible): n, where n is number of sites

slide-135
SLIDE 135

Size of the Voronoi Diagram

Size means: number of vertices, edges and faces Lower bound (Smallest Size possible): Trivial Upper bound (Biggest Size possible): n, where n is number of sites

slide-136
SLIDE 136

Size of the Voronoi Diagram

Size means: number of vertices, edges and faces Lower bound (Smallest Size possible): Trivial Upper bound (Biggest Size possible): n, where n is number of sites O(n log n )

slide-137
SLIDE 137

Size of the Voronoi Diagram

Size means: number of vertices, edges and faces Lower bound (Smallest Size possible): Trivial Upper bound (Biggest Size possible): n, where n is number of sites Ultimate Upper Bound (Biggest Size possible): O(n log n )

slide-138
SLIDE 138

Size of the Voronoi Diagram

Size means: number of vertices, edges and faces Lower bound (Smallest Size possible): Trivial Upper bound (Biggest Size possible): n, where n is number of sites Ultimate Upper Bound (Biggest Size possible): O(n log n ) O(n)

slide-139
SLIDE 139

Why to bother about Size?

slide-140
SLIDE 140

Why to bother about Size?

Voronoi Diagram is

slide-141
SLIDE 141

Why to bother about Size?

Voronoi Diagram is Planar Subdivision

slide-142
SLIDE 142

Why to bother about Size?

Voronoi Diagram is Want to do Planar point Location to get closest point Efficiently Planar Subdivision

slide-143
SLIDE 143

Why to bother about Size?

Voronoi Diagram is Want to do Planar point Location to get closest point Efficiently Preprocessing Time: Preprocessing space requirement: Query Time:

O(n) O(n) O(log n)

Planar Subdivision For Planar point Location:

slide-144
SLIDE 144

Why to bother about Size?

Voronoi Diagram is Want to do Planar point Location to get closest point Efficiently Preprocessing Time: Preprocessing space requirement: Query Time:

O(n) O(n) O(log n)

Planar Subdivision For Planar point Location:

But there is a big if, What is that if?

slide-145
SLIDE 145

Why to bother about Size?

Voronoi Diagram is Want to do Planar point Location to get closest point Efficiently Preprocessing Time: Preprocessing space requirement: Query Time:

O(n) O(n) O(log n)

Planar Subdivision For Planar point Location: The size of planar subdivision=

But there is a big if, What is that if?

slide-146
SLIDE 146

Why to bother about Size?

Voronoi Diagram is The size of planar subdivision= Want to do Planar point Location to get closest point Efficiently Preprocessing Time: Preprocessing space requirement: Query Time:

O(n) O(n) O(log n) But there is a big if, What is that if? O(n)

Planar Subdivision For Planar point Location:

slide-147
SLIDE 147

Summary

P → A set of n distinct points (Geometric Objects) in the plane.

slide-148
SLIDE 148

Summary

P → A set of n distinct points (Geometric Objects) in the plane. We can Preprocess P such that closest point x ∈ P of any query point q can be found in O(log n) time Using Planar point location

q x

slide-149
SLIDE 149

Summary

P → A set of n distinct points (Geometric Objects) in the plane. We can Preprocess P such that closest point x ∈ P of any query point q can be found in O(log n) time Using Planar point location

q x

Preprocess structure is called Voronoi Diagram V(P)

slide-150
SLIDE 150

Summary

P → A set of n distinct points (Geometric Objects) in the plane. We can Preprocess P such that closest point x ∈ P of any query point q can be found in O(log n) time Using Planar point location

q x

Preprocess structure is called Voronoi Diagram V(P) V(P) can be constructed in O( n log n) time and can be stored in O(n) space

slide-151
SLIDE 151

Other Kind of Voronoi Diagrams

slide-152
SLIDE 152

Furthest Point Voronoi Diagram

slide-153
SLIDE 153

Furthest Point Voronoi Diagram

FV(P): the partition of the plane formed by the farthest point Voronoi regions, their edges, and vertices

slide-154
SLIDE 154

Furthest Point Voronoi Diagram

FV(P): the partition of the plane formed by the farthest point Voronoi regions, their edges, and vertices V-1(pi): the set of point of the plane farther from pi than from any other site

slide-155
SLIDE 155

Voronoi diagram for line segments

slide-156
SLIDE 156

Voronoi diagram for line segments

Moving a disk from s to t in the presence of barriers

slide-157
SLIDE 157

Organization of the Talk

  • 1. Preliminaries
  • 2. Generic Definition
  • 3. Some Technical Details
  • 4. Conclusion
slide-158
SLIDE 158

Organization of the Talk

  • 1. Preliminaries
  • 2. Generic Definition
  • 3. Some Technical Details
  • 4. Conclusion
slide-159
SLIDE 159

Conclusion

slide-160
SLIDE 160

Conclusion

Voronoi Diagram is a very Fundamental Interesting Geometric Structure

slide-161
SLIDE 161

Conclusion

Voronoi Diagram is a very Fundamental Interesting Geometric Structure This has wide range of application to solve different problem in Geometry, Facility Location, Engineering Sciences, Biological Sciences, Nano Sciences to name a few

slide-162
SLIDE 162

Conclusion

Voronoi Diagram is a very Fundamental Interesting Geometric Structure This has wide range of application to solve different problem in Geometry, Facility Location, Engineering Sciences, Biological Sciences, Nano Sciences to name a few The Applications of this structure are so wide that

slide-163
SLIDE 163

Conclusion

Voronoi Diagram is a very Fundamental Interesting Geometric Structure This has wide range of application to solve different problem in Geometry, Facility Location, Engineering Sciences, Biological Sciences, Nano Sciences to name a few The Applications of this structure are so wide that There is dedicated Symposiums on Voronoi Diagram:

INTERNATIONAL SYMPOSIUM on VORONOI DIAGRAMS in science and engineering

slide-164
SLIDE 164

Thank You