1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams...

27
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams • Definition • Characteristics • Size and Storage • Construction • Use
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams...

Page 1: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

1Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Voronoi Diagrams

• Definition

• Characteristics

• Size and Storage

• Construction

• Use

Page 2: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

2Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

The Voronoi Diagram

Page 3: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

3Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Voronoi Regions

Eucledian distance :

dist(p,q) := ²² yyxx qpqp

Let P :={ p1, p2, ...,pn } be a set of n distinct points in a plane.We define the voronoi diagram of P as the subdivision of the planeinto n cells, with the property that a point q lies in the cell correspon-ding to a site pi iff dist(q, pi ) < dist(q, pj ) for each pj P with j i.

We denote the Voronoi diagram of P by Vor(P).The cell that corresponds to a site pi is denotd by V(pi ), called thevoronoi cell of pi.

Page 4: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

4Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Example

V(pi) = 1 j n, j i h(pi, pj)

q4

q1

q3

q2

p

Page 5: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

5Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Computing the Voronoi DiagramInput: A set of points (sites) Output: A partitioning of the plane into regions of equal nearest neighbors

Page 6: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

6Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Animations of the Voronoi diagram

Java Applet zur Animation von Voronoi Diagrammen,Entwickelt von R. Klein u.a., FU Hagen

pi

V(pi)

Page 7: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

7Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Characteristics of Voronoi Diagrams(1) Voronoi regions (cells) are bounded by line segments.

Special case :

Collinear points

Theorem : Let P be a set of n points (sites) in the plane. If all the sites are collinear, then Vor(P) consist of n-1 parallel lines and n cells. Otherwise, Vor(P) is a connected graph and its edges are either line segments or half-lines.

e

pi pj

pk

h(pi,pj)

h(pj,pk)

If pi, pj are not collinear with pk, thenh(pi, pj ) and h(pj, pk ) can not be parallel!

Page 8: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

8Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Vor(P) is Connected

If Vor(P) is not connected then there would be a Voronoicell V(Pi ) splitting the plane into two halfes. Because Voronoi cells are convex, V(Pi ) would consist of a strip bounded by two parallel full lines, but we know that edges of Voronoi diagram cannot be full lines, hence a contradiction.

Claim: Vor(P) is connected

Proof by contradiction:

Page 9: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

9Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Other Characteristics (Assumption: No 4 points are on the circle)

(2) Each vertex (corner) of VD(P) has degree 3

(3) The circle through the three points defining a Vertex of the Voronoi diagram does not contain any further point

Page 10: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

10Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

(4) Each nearest neighbor of one point defines an edge of the Voronoi region of the point.

(5) The Voronoi region of a point is unbounded iff the point lies exactly on the convex hull of the point set.

Page 11: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

11Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Size and Storage

Size of the Voronoi Diagram:

V(p) can have O(n) vertices!

Page 12: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

12Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Size of the Voronoi DiagramTheorem: The number of vertices in the Voronoi diagram of a set of n points in the plane is at most 2n-5 and the number of edges is at most 3n-6.Proof: 1. Connect all Half-lines with fictitious point 2. Apply Euler`s formula: v – e + f = 2

For VD(P) + : v = number of vertices of VD(P) + 1e = number of edges of VD(P) f = number of sites of VD(P) = n

Each edge in VD(P) + has exactly two vertices and each vertex of VD(P) + has at least a degree of 3:

sum of the degrees of all vertices of Vor(P) +

= 2 · ( # edges of VD(P) )

3 · ( # vertices of VD(P) + 1 )

Page 13: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

13Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Number of vertices of VD(P) = vp

Number of edges of VD(P) = ep

We can apply: (vp + 1) – ep + n = 2

2 ep 3 (vp + 1)

2 ep 3 ( 2 + ep - n)

= 6 + 3ep – 3n

3n – 6 ep

Proof(Continued)

Page 14: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

14Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Example

Page 15: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

15Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Storage of Voronoi-Diagrams

1

1

3

4

5

6

2

2 3

4

5

• •

Three Records:

vertex {CoordinatesIncident edge

}; face {

OuterComponentInnerComponents

}; halfedge {

OriginTwinIncidentFaceNextPrev

};

e.g. :

Vertices 1 = {(1,2) | 12}Sites 1 = {15 | [] }Edges 54 = { 4 | 45 | 1 | 43 | 15 }

Page 16: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

16Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Computing the Voronoi DiagramInput: A set of points (sites) Output: A partitioning of the plane into regions of equal

nearest neighbors.

Page 17: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

17Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Divide and Conquer(Divide)

Input: A set of points (sites)

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

Divide: Divide the point set into two halves

Page 18: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

18Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Divide and Conquer (Conquer)

Conquer: Recursively compute the Voronoi diagrams for the smaller point sets Abort condition: Voronoi diagram of a single point is the entire plane.

Page 19: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

19Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Divide and Conquer (Merge)

Merge the diagrams by a (monoton) sequence of edges)

Page 20: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

20Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

The ResultThe finished Voronoi Diagram

Running time: With n given points is O(n log n)

Page 21: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

21Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Geometrical Divide and Conquer

Problem: Determine all intersecting pairs of segments

A

BC

DE

A

BC

DE

S1 S2

S

EC

D

A

B

Page 22: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

22Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

DAC - Construction of the Voronoi diagramDivide:Divide P by a vertical dividing line T into 2 equal size subsets say P1 and P2. If |P| = 1 completed.Conquer:Compute VD(P1 ) and VD(P2 ) recursively.

Merge: Compute the edge sequence K separating P1 and P2 Cut VD(P1) and VD(P2 ) by means of K starting from VD(P1 ) and VD(P2 ) and K P1

P2

T

Theorem: If K can be computed in time O(n), then the running time of the D&C-algorithm is T(n) = O(n log n)

Proof : T(n) = 2 T(n/2) + O(n), T(1) = O(1)

Page 23: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

23Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Computation of K

P1 P2

First edge in K

Last edge in K

4 tangential points P1 P2 Observation: K is y - monotonous

Determines intersection s1 of m with Vor(p1) below l Determines intersection s2 of m with Vor(p2) below l

Incremental (sweep line) construction(p1 in P1 and p2 in P2 perpendicular with m, Sweep l)

Extend K by line segment l si

Set l = si

Compute new K defining pair p1, p2

Theorem: Running time O(n) Proof: Vor(pi) are convex, therefore each one‘s forward - edge are only visited once.

Page 24: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

24Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Example

Page 25: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

25Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Fortune´s Algorithm

Beach - line

Sweep - line

Observations: Intersection of the parabolas define edgesNew "telephones" ( ) define new parabolas Parabola intersection disappear, if C(P, q) has 3 points

Page 26: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

26Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Applications 1(Static Point Set)

Closest pair of points: Go through edge list for VD(P) and determine minimum

All next neighbors :Go through edge list for VD(P) for all points and get next neighbors in each case

Minimum Spanning tree (after Kruskal) 1. Each point p from P defines 1-element set of 2. More than a set of T exists 2.1) find p,p´ with p in T and p´ not in T with d(p, p´)

minimum. 2.2) connect T and p´ contained in T´ (union)

Theorem: The MST can be computed in time O(n log n)

Page 27: 1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.

27Lecture 8:Voronoi Diagram

Computational GeometryProf. Dr. Th. Ottmann

Applications (dynamic object set)Search for next neighbor :Idea : Hierarchical subdivision of VD(P) Step 1 : Triangulation of final Voronoi regions Step 2 : Summary of triangles and structure of a search tree

Rule of Kirkpatrick : Remove in each case points with degree < 12,its neighbor is already far.

Theorem: Using the rule of Kirkpatrick a search tree of logarithmic depth develops.

A a

b c a b c

A