introduction to voronoi & delaunay diagrams

38
By Groysman Maxim Introduction to Voronoi & Delaunay diagrams

Upload: sumi

Post on 22-Feb-2016

68 views

Category:

Documents


0 download

DESCRIPTION

Introduction to Voronoi & Delaunay diagrams. By Groysman Maxim. Abstract. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane into regions. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introduction to Voronoi & Delaunay diagrams

By Groysman Maxim

Introduction to Voronoi & Delaunay diagrams

Page 2: Introduction to Voronoi & Delaunay diagrams

Let S be a set of sites in the plane.Each point in the plane is influenced by each point of S.We would like to decompose the plane into regions.Each region is the set of all points for which the

influence of some point of S is the strongest.

This concept has many applications in different fields, such as biology, physiology, chemistry, physics, crystallography, meteorology and geography.

We will measure the influence by Euclidean distance.

Abstract

Page 3: Introduction to Voronoi & Delaunay diagrams

Definitionsbisector– x)}d(q, x)d(p, | x { q) B(p,

plane theofdivision – x)}d(q, x)d(p, | x { q) D(p,

p

q

B(p, q)

D(p, q)

D(q, p)

Page 4: Introduction to Voronoi & Delaunay diagrams

Definitions (2)( , ) ( , ) -Voronoi region (or cell)

p q S

VR p S D p q

, ,

( ) , , - Voronoi diagramp q S p q

V S VR p S VR q S

p

q

VR(p, S)

VR(q, S)

V(S)

Page 5: Introduction to Voronoi & Delaunay diagrams

Let and let C be a circle centered in with growing radius from 0 until it

hits a site of S.

If C hits 1 point p then If C hits 2 points p and q, then x is a point in

Voronoi edge that separates p and q.If C hits at least 3 points then x is a Voronoi

vertex.

Lemma 2.12x x

( , )x VR p S

Page 6: Introduction to Voronoi & Delaunay diagrams

If C hits one site p, then p is the most closest site of S.Meaning: .

If C hits two sites p and q, then x contained in the closure of both regions of p and q, but no other site in S. Therefore, it’s in the Voronoi edge.

If C hits more sites, then it belongs to boundaries of regions of some sites. Therefore, x is a Voronoi edge.

Proof of lemma 2.1

\{ }: D(p, r)r S p x

Page 7: Introduction to Voronoi & Delaunay diagrams

A point p of S lies on the convex hull of S if and only if VR(p, S) is unbounded.

Lemma 2.2

p

q

VR(p, S)

VR(q, S)

V(S)

Page 8: Introduction to Voronoi & Delaunay diagrams

A Voronoi diagram has O(n) vertices and edges.

The average number of edges in the boundary of Voronoi region is less than 6.

Lemma 2.3

Page 9: Introduction to Voronoi & Delaunay diagrams

Euler’s formula for planer graphs: the following relation holds for the numbers v, e and f of vertices, edges and faces.

Each Voronoi vertex has at least 3 Voronoi

edges. By adding up we obtain , because each edge is counted twice.

In the finite Voronoi diagram .This yields

Proof of lemma 2.3

2v e f

3 / 2e v

1f n

2 2 3 3v n and e n

Page 10: Introduction to Voronoi & Delaunay diagrams

Counting all the boundaries of all n+1 faces results in 2e. Thus, the average number of edges in region’s boundary is:

Proof of lemma 2.3 (2)

2 6 6 61 1e n

n n

Page 11: Introduction to Voronoi & Delaunay diagrams

Tessellation is a subset of a triangulation of S that contains the edges of the convex hull and each site of S has at least two adjacent edges.

Example: All the edges are a triangulation, but the red edges constitute a tessellation.

Definition: Tessellation

Page 12: Introduction to Voronoi & Delaunay diagrams

The Delaunay tessellation DT(S) is obtained by connecting two points p and q of S if there exists a circle that passes through p and q, and doesn’t contain any other site of S in its interior or boundary.

Definition Delaunay Tessellation: DT(S)

Page 13: Introduction to Voronoi & Delaunay diagrams

Two points of S are joined by Delaunay edge if and only if their Voronoi regions are edge-adjacent.

Lemma 2.4

Page 14: Introduction to Voronoi & Delaunay diagrams

If no four points of S are cocircular then DT(S), the dual of the Voronoi diagram V(S), is a triangulation of S, called the Delaunay triangulation.

Three points of S give rise to a Delaunay triangle if and only if their circumcircle does not contain a point of S in its interior.

Theorem 2.1

Page 15: Introduction to Voronoi & Delaunay diagrams

Example

Page 16: Introduction to Voronoi & Delaunay diagrams

First we’ll see proof for lower bound complexity

We’ll see two recursive algorithms:I. Incremental construction method with

expected complexityII. Divide & conquer method with worst case

complexity

Note: from now on, we assume that no 4 points of S are cocircular, and no 3 points are collinear.

Algorithms for computing diagrams

logn n

logn n

Page 17: Introduction to Voronoi & Delaunay diagrams

Suppose:

Theorem 3.1: Lower bound proof2{( , ) |1 }i iS x x i n

Page 18: Introduction to Voronoi & Delaunay diagrams

The reduction:1. Apply the algorithm to compute the Voronoi

diagram.2. From the diagram derive the convex hull, i.e. an

ordered subset of S that represents the convex hull.

3. Use the convex hull to sort .

Therefore, computing the Voronoi diagram is no easier than sorting n arbitrary real number.

So we get:

Lower bound proof by reduction (2)

iX

logn n

Page 19: Introduction to Voronoi & Delaunay diagrams

The idea is to obtain V(S) from V(S/{p}) by inserting the site p.

The insertion process seems to be easier implemented in the dual diagram, Delaunay triangulation.

Meaning construct by inserting to .

Incremental construction

1: ( ,..., )i iDT DT p p ip

1iDT

ip

1iDT iDT

ip

Page 20: Introduction to Voronoi & Delaunay diagrams

Those triangles of whose circumcircles contain are said to be in conflict with . Therefore, they will no longer be Delaunay triangles.

Let be an edge of and let T(q, r, t) be a triangle adjacent to that lies on the other side of .

If its circumcircle contains then each circle through q and r contains at least one of t, . Therefore, won’t belong to , Instead will be a new Delaunay edge.This we call edge flip.

The edge flipping procedure1iDT ip

ip

1iDT

ipqr

qr

ip

ip qr

iDT

ip t

Page 21: Introduction to Voronoi & Delaunay diagrams

The necessary edge flips can be done efficiently if we know the triangle T(q, s, r) of contains .

First we connect to q, s and r. Second, we check if one of the edges of T need to be flipped. If there is, we flip them. Then, we check the other edges of the triangles that have just been destroyed. And so on.

The edge flipping procedure (2)

ip1iDT

ip

Page 22: Introduction to Voronoi & Delaunay diagrams

Example

1iDT

ip

iDT

ip

ip ip

No more flips are needed

Connect the containing Triangle vertexes

Flipping the necessary edges of the containing triangle

Page 23: Introduction to Voronoi & Delaunay diagrams

If the triangle of containing is known, then can be computed in (when d is the degree of in )

Proof: Continued edge flipping replaces d-2 conflicting triangles of by d new triangles in that are adjacent to .

Lemma 3.11iDT

diDT

ip

iDT

iP

1iDT iDT

ip

Page 24: Introduction to Voronoi & Delaunay diagrams

Let . For each denote the expected number of triangles in that are in conflict with .

Then,

Lemma 3.2

1

1

logi

hh id

i n h i

1\h hDT DT iPhd

Page 25: Introduction to Voronoi & Delaunay diagrams

Let C denote the set of triangles of that are in conflict with . A triangle belongs to if and only if it has as a vertex. As is randomly chosen in , this happens with probability 3/h. thus, the expected number of triangles in equals . Since the expected size of C is less than 6 we have . Therefore,

.

Proof of lemma 3.2

1\h hDT DT

hDTT Cip

hphDT

1\ hC DT

3 /C h18 /hd h

1 1

1 1

18 1/ logi i

hh h

d h i

hp

Page 26: Introduction to Voronoi & Delaunay diagrams

The Delaunay triangulation of set of n points in the plane can be constructed in expected timeusing expected linear space. The average is taken over the different orders of inserting of the n points.

Theorem 3.2

nn log

Page 27: Introduction to Voronoi & Delaunay diagrams

Split S into subsets L and R of about the same size.

Voronoi diagrams V(L) and V(R) are computed recursively.

The essential part is in splitting S into L and R, and in merging V(L) and V(R) to obtain V(S).

If these tasks can be carried out in time then the overall running time is

Divide & conquer

logn n n

Page 28: Introduction to Voronoi & Delaunay diagrams

Example of merging V(L) and V(R)

Page 29: Introduction to Voronoi & Delaunay diagrams

Denote B(L, R) all the Voronoi edges of V(S) that separate regions of L from regions of R.

Lemma: The edges of B(L, R) form a single y-monotone polygonal chain. In V(S), the regions of all sites in L are to left of B(L, R), whereas the regions of the sites of R are to its right.

Proof: let be b an edge of B(L, R), and let and sites whose regions are adjacent to b. since l has a smaller x-coordinate then r, b cannot be horizontal.

Lemma 3.3

l L r R

Page 30: Introduction to Voronoi & Delaunay diagrams

We start with finding starting edge at infinity.The unbound regions of V(R) and V(L) are

scanned simultaneously in cyclic order. For each non-empty intersection

we test if it contains an unbounded piece of .

If so, it must be an edge of .

Now we will trace B(L,R) using the starting edge.

Construction of B(L,R)

VR(l,L) VR(r,R)B(l, r)

B(L,R)

Page 31: Introduction to Voronoi & Delaunay diagrams

Suppose the current edge b has just entered the region at point v while running within .

We determine the points and where b leaves the regions of l and r.

is found by scanning the boundary of counterclockwise, starting from v.

The end point of b would be the closer point of and to v.

Construction of B(L,R) (2)

( , )VR l L ( , )VR r R

Lv Rv

Lv

LvRv

( , )VR l L

Page 32: Introduction to Voronoi & Delaunay diagrams

Example of tracing B(L, R)

Page 33: Introduction to Voronoi & Delaunay diagrams

The divide & conquer strategy allows to compute Voronoi diagram of n points in time and linear space, in worst case.

Both bounds are optimal.

Theorem 3.3

logn n

Page 34: Introduction to Voronoi & Delaunay diagrams

Let .For each , let

denote its lifted image on .

Lifting to 3-space2 2{( , , ) | , }P x y x y x y

1 2( , )x x x P

2 21 2 1 2' ( , , )x x x x x

Page 35: Introduction to Voronoi & Delaunay diagrams

Let C be a circle in the plane. Then C’ is a planer curve on the paraboloid .

Proof: SubstitutingThen defines a plane in .

Lemma 3.5

P2 2 2 2 2 2 2

1 2 1 1 2 2 1 2( ) ( ) 2 2r x c x c x x x c x c c c

2 23 1 1 2 2 1 22 2 0x x c x c c c r

2 23 1 2x x x

3

Page 36: Introduction to Voronoi & Delaunay diagrams

The Delaunay triangulation of S equals the projection onto the – plane of the lower convex hull of S’.

Proof: let p, q, r sites of S and Denote C the circumcircle of them. The points inside C, under the lifting mapping, lie below the plane that contains C’.

By theorem 2.1, p, q, r define a Delaunay triangle if and only if no other sites are contained in the circumcircle. Equivalently, not lifted site s’ lies below the plane. But this means that p’, q’, r’ define a face of lower convex hull of S’.

Theorem 3.5

1 2( , )x x

Page 37: Introduction to Voronoi & Delaunay diagrams

Consider the paraboloidAn observer looking from upwards

would see the Voronoi diagram V(S).

In fact one could use any strictly increasing function with the surfaces:

Another algorithm2 2

1 2 3 1 1 2 2 3{( , , ) | ( ) ( ) }pP x x x x p x p x

3x

2 21 2 1 1 2 2{( , , (( ) ( ) ))}pP x x f x p x p

Page 38: Introduction to Voronoi & Delaunay diagrams

Thank You.