420 likes | 642 Views
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.
E N D
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. • 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.
Definitions B(p, q) D(q, p) q D(p, q) p
Definitions (2) V(S) q VR(q, S) p VR(p, S)
Lemma 2.1 • 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.
Proof of lemma 2.1 • 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.
Lemma 2.2 • A point p of S lies on the convex hull of S if and only if VR(p, S) is unbounded. V(S) q VR(q, S) VR(p, S) p
Lemma 2.3 • A Voronoi diagram has O(n) vertices and edges. • The average number of edges in the boundary of Voronoi region is less than 6.
Proof of lemma 2.3 • 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 (2) • Counting all the boundaries of all n+1 faces results in 2e. Thus, the average number of edges in region’s boundary is:
Definition: Tessellation • 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 Delaunay Tessellation: DT(S) • 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.
Lemma 2.4 • Two points of S are joined by Delaunay edge if and only if their Voronoi regions are edge-adjacent.
Theorem 2.1 • 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.
Algorithms for computingdiagrams • First we’ll see proof for lower bound complexity • We’ll see two recursive algorithms: • Incremental construction method with expected complexity • 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.
Theorem 3.1: Lower bound proof • Suppose:
Lower bound proof by reduction(2) • The reduction: • Apply the algorithm to compute the Voronoi diagram. • From the diagram derive the convex hull, i.e. an ordered subset of S that represents the convex hull. • Use the convex hull to sort . • Therefore, computing the Voronoi diagram is no easier than sorting n arbitrary real number. • So we get:
Incremental construction • 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 .
The edge flipping procedure • 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 procedure (2) • 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.
Example Connect the containing Triangle vertexes Flipping the necessary edges of the containing triangle No more flips are needed
Lemma 3.1 • 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.2 • Let . For each denote the expected number of triangles in that are in conflict with . • Then,
Proof of lemma 3.2 • 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, .
Theorem 3.2 • The Delaunay triangulation of set of n points in the plane can be constructed in expected time using expected linear space. The average is taken over the different orders of inserting of the n points.
Divide & conquer • 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
Lemma 3.3 • 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.
Construction of B(L,R) 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) (2) • 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.
Theorem 3.3 • The divide & conquer strategy allows to compute Voronoi diagram of n points in time and linear space, in worst case. • Both bounds are optimal.
Lifting to 3-space • Let . • For each , let denote its lifted image on .
Lemma 3.5 • Let C be a circle in the plane. Then C’ is a planer curve on the paraboloid . • Proof: Substituting Then defines a plane in .
Theorem 3.5 • 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’.
Another algorithm • Consider the paraboloid • An observer looking from upwards would see the Voronoi diagram V(S). • In fact one could use any strictly increasing function with the surfaces: