Presentation is loading. Please wait.

Presentation is loading. Please wait.

By Eyal Dushkin 22.3.10 [Ed] Chapter 1. I. Introduction Reminder – Voronoi Diagrams  Let S be a set of sites in the plane.  Each point in the plane.

Similar presentations


Presentation on theme: "By Eyal Dushkin 22.3.10 [Ed] Chapter 1. I. Introduction Reminder – Voronoi Diagrams  Let S be a set of sites in the plane.  Each point in the plane."— Presentation transcript:

1 By Eyal Dushkin 22.3.10 [Ed] Chapter 1

2

3

4 I. Introduction Reminder – Voronoi 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.  We define the Voronoi region of as the set of points that are at least as close to p as to any other point in S; that is, Thanks to Max

5 I. Introduction Reminder – Voronoi Diagrams Thanks to Max     p q VR(p, S) VR(q, S) V(S)

6 I. Introduction Voronoi and Delaunay  Dual Graph - a dual graph of a given planar graph G is a graph which has a vertex for each face of G, and an edge for each edge in G joining two neighboring regions, for a certain embedding of G.

7 I. Introduction Voronoi and Delaunay  We get a dual diagram if we draw a straight Delaunay edge connecting points if and only if their Voronoi regions intersect along a common line segment.

8 I. Introduction Delaunay Overview  In general the Delaunay edges decompose the convex hull of S into triangular regions, referred to as Delaunay triangles.  It’s true that no two Delaunay edges cross each other, but to avoid an argument, we draw each Delaunay edge from one endpoint straight to the midpoint of the shared Voronoi edge and then straight to the other endpoint.  How many edges? To count them, use Euler’s relation on planar graph !

9 I. Introduction Delaunay – Number of Edges  Euler’s relation – A planar graph with n>2 vertices has:  At most (3n-6) edges  At most (2n-4) faces  Proved by Maxim using (Holds on finite & connected planar graph without any edge intersections)

10 I. Introduction Number of Edges – “Another” Proof  Euler’s relation – A planar graph with n>2 vertices has:  At most (3n-6) edges  At most (2n-4) faces  ( Holds on finite & connected planar graph without any edge intersections )  Each face is bounded with at least 3 edges, and every edge touches at most two faces, thus  Now continue as Maxim did (v = n, ) ■

11 I. Introduction Number of Edges - Is that surprising?  Euler’s relation – A planar graph with n>2 vertices has:  At most (3n-6) edges  At most (2n-4) faces  There is a bijection between:  Delaunay edges and Voronoi edges  Delaunay faces and Voronoi vertices  Result: (3n-6) is an upper bound on Voronoi edges & (2n-4) is an upper bound on Voronoi vertices.

12 I. Introduction Duality - Bijection  There is a bijection between Delaunay edges and Voronoi edges – Each Delaunay edge corresponds to the perpendicular Voronoi edge.  There is a bijection between Delaunay faces and Voronoi vertices – Each face represents a Delaunay triangle corresponds to the center of the Circumscribed circle of the triangle.

13 I. Introduction Duality - Bijection

14 I. Introduction Degeneracy  There is an ambiguity in the definition of Delaunay triangulation if four or more Voronoi regions meet at a common point u.  The probability of picking even just four points is zero because the circle defined by first three points has zero measure in R 2.  We’ll assume general position avoiding the above.

15 I. Introduction Delaunay – Circles and Power  For now we assume general position.  Given a Delaunay triangle, abc, consider the circumcircle, which is the unique circle passing through a, b and c. Its center is the corresponding Vornoi vertex and its radius is r = ||u-a|| = ||u-b|| = ||u-c||; We this circle empty because it encloses no point of S. It turns out that empty circles characterize Delaunay triangles.  Claim – Let S ⊆ R 2 be finite and in general position; a, b, c ∈ S. abc is a Delaunay triangle if and only if the circumcircle of abc is empty.

16 I. Introduction Delaunay – Circles and Power  Claim – Let S ⊆ R 2 be finite and in general position; a, b, c ∈ S. abc is a Delaunay triangle if and only if the circumcircle of abc is empty. Proof: The circumcircle of abc is empty  abc is a Delaunay triangle:  The circumcircle is empty (and hits 3 sites), thus its center is a Voronoi vertex. The distances r from the center to a, b, c are equal. Because the circumcircle is empty, r is also the smallest distance from the center, thus Vp and Vq intersect along a common line. abc is a Delaunay triangle  The circumcircle of abc is empty:  abc is a Delaunay triangle. Assume that the circumcircle isn’t empty, thus (WLOG) exists a point p in sector - the distance from this to the center of the circumcircle is smallest than the distance of a and b to the center.

17 I. Introduction Delaunay – Circles and Power  Let x ∈ R 2 be an arbitrary fixed viewpoint. We say a triangle abc lies in front of another triangle def if there is a half-line starting at x that first passes through abc and then through def.  We write

18 I. Introduction Delaunay – Circles and Power  The set of Delaunay triangles together with forms a relation.  General Relations can have cycles, i.e. sequences for example:  The red point is the view point.  Lets take a look on the skinny triangles.  Acyclicity Lemma – The in-front relation for the set of Delaunay triangles defined by a finite set S ⊆ R 2 is acyclic.

19 I. Introduction Power of a point  Let P ∈ R 2, and given a circle U with radius R and a center O we define the power of a point:  The power equals the square length of a tangent line segment connecting P with U (PT 2 ).

20 I. Introduction Power of a point  The power equals the square of the radius of a circle centered on the given point that intersects the given circle orthogonally.

21 I. Introduction Power of a point  Given two circles, the set of points with equal power from both is a line, denoted by bisector of points with equal power from both.  Why is it a line? Algebraic Proof – Given P = (x,y) write equation;  (x-Ux) 2 + (y-Uy) 2 – r1 2 = R 2 ; (x-Ux’) 2 + (y-Uy’) 2 – r2 2 = R 2   (2Ux’ – 2Ux)x + (2Uy’ – 2Uy)y = r2 2 – r1 2 (It’s of course a linear equation) ■

22 I. Introduction Power of a point  Given two circles, the set of points with equal power from both is a line, denoted by bisector of points with equal power from both.  (2Ux’ – 2Ux)x + (2Uy’ – 2Uy)y = r2 2 – r1 2 defines a linear equation.  The line divides the plane to two parts; one part contains the set of points x satisfies while the other contains the set of points x satisfies.

23 I. Introduction Acyclicity Lemma “ The in-front relation for the set of Delaunay triangles defined by a finite set S ⊆ R 2 is acyclic ” Proof:  Define τ 0 :=abc and write π 0 (x) for the power from the circumcircle of abc  Define τ k :=def and write π k (x) for the power from the circumcircle of def  S is finite, thus we can choose a half-line that starts at x, passes through abc and def, and contains no point of S. It intersects a sequence of Delaunay triangles: abc= τ 0 τ 1 … τ k =def.  For any two consecutive triangles, the bisector of the two circumcircles contains the common edge. Because the third point of τ i+1 lies outside the circumcircle of τ i we have π i (x) < π i+1 (x). Thus π 0 (x) < π k (x). ■

24 I. Introduction Acyclicity Lemma  For any two consecutive triangles, the bisector of the two circumcircles contains the common edge. Because the third point of τ i+1 lies outside the circumcircle of τ i we have π i (x) < π i+1 (x). Thus π 0 (x) < π k (x). ■ τ0τ0 τ1τ1 τ2τ2 τ3τ3 τ4τ4 2 Points p1, p2 that clearly satisfy π 0 (p1) = π 1 (p1) = π 0 (p2) = π 1 (p2) = 0; hence generate a bisector. Third point z is outside of circumcircle of π 1 according to Circumcircle Claim. So π 1 (z)>0. But π 0 (z) = 0. Thus x leans on the side of points π 0 (x) < π 1 (0).

25

26 Some Claims  Circumcircle Claim – Let S ⊆ R 2 be finite and in general position; a, b, c ∈ S. abc is a Delaunay triangle if and only if the circumcircle of abc is empty.  Supporting Circle Claim - Let S ⊆ R 2 be finite and in general position and let a, b ∈ S. Then ab is a Delaunay edge if and only if there is an empty circle that passes through a and b.  The Voronoi edge is the dashed line segment of centers of empty circles passing through the endpoints of ab.

27 Delaunay Lemma  Triangulation – A collection of triangles together with edges & vertices.  Definitions – A triangulation K triangulates S if the triangles decompose the convex hull of S and the set of vertices is S.  An edge ab ∈ K is locally Delaunay if: 1. It belongs to only one triangle and therefore bounds the convex hull OR 2. It belongs to two triangles, abc and abd, and d lies outside the circumcircle of abc. Locally Delaunay Not Locally Delaunay

28 Delaunay Lemma  If every edge of K is locally Delaunay, then K is the Delaunay triangulation of S. Proof: Given abc ∈ K and a vertex p ∈ K different from a, b, c. We show that p lies outside the circumcircle of abc.  Choose a point x inside abc such that the segment from x to p contains no vertex other than p.  Let abc = τ 0 τ 1 … τ k the sequence of triangles that intersect xp.  π i (x) is the power from the circumcircle of τ i.  π 0 (p) > π 1 (p) > … > π k (p) since all edges along xp are all locally Delaunay.  But (!) π k (p) = 0. Thus π 0 (p) > 0, which is equivalent to p’s lying outside the circumcircle of abc.

29 Edge-flip algorithm  Let’s present an algorithm of using edge flips as elementary operations to convert an arbitrary triangulation K to the Delaunay triangulation.  We use a stack to maintain the invariant that unless an edge is locally Delaunay, it resides on the stack. a b c d

30 Edge-flip algorithm  Let n be the number of points.  Space Complexity – O(n) due to upper bound of (3n-6) to the number of edges.  If ab is not locally Delaunay, then the union of the two triangles is convex and dc is locally Delaunay – If d lies inside the circumcircle of acd then if we fix the circumcircle upon a&c and start squeezing till we reach d, so it certainly wouldn’t contain b. Assuming abcd is not a circum quadrilateral. Running Time?

31 Edge-flip Interpretation  Before proving the algorithm terminates, we interpret a flip as a tetrahedron in three-dimensional space. Let be the vertical projections of points a, b, c, d in the -plane onto the paraboloid defined as the graph of ∏:  Lifted Circle Claim – Point d lies inside the circumcircle of abc if and only if point lies vertically below the plane passing through.

32 Edge-flip Interpretation  Lifted Circle Claim – Point d lies inside the circumcircle of abc if and only if point lies vertically below the plane passing through. Proof: Let U be the circumcircle of abc and H the plane passing through. Transform the entire space by mapping every point (x 1, x 2, x 3 ) to (x 1, x 2, x 3 -x 1 ²-x 2 ²). Points are mapped back to a, b, c, d. The paraboloid ∏ becomes the x 1 x 2 -plane. The plane H becomes a paraboloid that passes through a, b, c. It intersects the x 1 x 2 -plane in the circumcircle of abc. H partitions ∏ into a patch below ∏, above ∏ and a curve in H. The curve is projected onto the circumcircle, the patch below is projected onto the open disk inside the circle. Thus belongs to patch below H d lies inside the circumcircle of abc.

33 Edge-flip Interpretation

34 Edge-flip algorithm Anaylsis  Flipping ab to cd is like gluing the tetrahedron from below to and. Once we glue, we cannot glue another tetrahedron right below. In other words, once we flip ab we cannot introduce ab again by some other flip.  This implies that the number of flips is at most as the number of edges connecting n points, namely.

35 MaxMin angle property  A flip substitutes two new triangles for two old triangles.  Therefore a flip changes six of the angles.

36 MaxMin angle property  A flip substitutes two new triangles for two old triangles.  Therefore a flip changes six of the angles.  We claim that for each of the six new angles there’s an old angle that is at least as small. Indeed, take a look (WLOG) at and. Both lean on the same edge, but is outside the yellow circle, hence smaller.  This implies that the smallest angle in K is no larger than the smallest angle in Delaunay triangulation.

37 MaxMin angle Lemma  Among all triangulations of a finite set S ⊆ R 2, the Delaunay triangulation maximizes the minimum angle.  A flip graph G = (V, E) is a directed graph whose vertex represents a triangulation and two triangulations are connected by an edge (u, v) if and only if there is a flip that changes the triangulation u to v.  The sink is always a Delaunay triangulation.  Allowing flips from both direction we can go from any triangulation to any triangulation in less than flips.  Minimize the max angle seems to be harder. using edge insertion (more powerful method than edge flips).

38

39 Incremental Algorithm - Reminder  The idea is to create the Dalaunay graph by inserting in each step a new point p.  Meaning construct by inserting to.  When we add a point the triangulation, it can either lie inside or outside the convex hull. To reduce the outside case to the inside case, we start with a triangulation D 0 that consists of a single and sufficiently large triangle xyz. Thanks, Max !

40  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. Incremental Algorithm - Reminder Thanks, Max !

41 Incremental Algorithm - Reminder

42 Thanks, Max ! No more flips are needed Connect the containing triangle vertices Flipping the necessary edges of the containing triangle

43 Incremental Algorithm - Analysis  First some definitions:  Growing Star – The growing star of p i consists of all triangles that contain p i.  Link of a Vertex – The link of p i consists of all edges of triangles in the star that are disjoint from p i.

44 Incremental Algorithm - Analysis  Right after p i added, the link consists of three edges, namely the edges of the triangle that contains p i. These edges are marked and pushed on the stack to start the edge-flipping.  Each flip replaces a link edge by an edge with end point p i. At the same time it removes one triangle in the star and one outside the star and it adds the two triangles that cover the same quadrangle to the star. The net effect is one more triangle in the star.  The number of edge flips is therefore three less than the number of edges in the final link.  We’ll use the above observation to do the analysis. Links: 3 Stars: 3 Links: 4 Stars: 4 1

45 Incremental Algorithm – Analysis  We temporarily ignore the time needed to find the triangles τ i. The rest of the time is proportional to the number of flips needed to add p 1 to p n.  Assuming randomly chosen input sequence, i.e. every permutation of n points is equally likely.  The expected number of flips equals is the total number of flips needed to construct the Delaunay triangulation for all n! input permutations divided by n!.  Analysis:  Given triangle D n we want to find point p n. We know that the sum of degrees of all possible last points is the same as the sum of degrees of all points p i.  The sum of degrees of all points p i equals twice the number of edges, 2e.  2e ≤ (3n-6) < 3n .  In average, deg p i = 6.  Thus the expected number of flips for the last point is 3 (The initial link consists of 3 edges).  Therefore the expected number of flips to add any point is at most three.

46 Incremental Algorithm – Searching and Charging  We use the evolution of the Delaunay triangulation to find the triangle D i-1 that contains point p i. Instead of deleting a triangle when it is split of flipped away, we just make it the parent of the new triangles.  Splitting a triangle generates a parent with three children.  Flipping and edge generates two parents sharing the same two children. abc is the parent of abc, bcd, cad. abc is the parent of both bcd and adc.

47 Incremental Algorithm – Searching and Charging  The evolution from D 0 to D n consists of n splits and an expected number of at most 3n flips. The resulting directed acyclic graph (DAG) has an expected size of at most 1 + 3n + 2 · 3n = 9n + 1 nodes.  It has a unique source, triangle xyz.  Its sinks are the triangles in D n.

48 Incremental Algorithm – Searching and Charging  Consider adding the point p i. To find the triangle τ i-1 ∈ D i-1, we search a path of triangles in the history DAG such that all contain p i. The path begins as xyz and ends at τ i-1.  Triangles σ 0 ∈ D 0, …, σ i ∈ D i will be the triangles that contain p i.  Let G j be the set of triangles removed from D j during the insertion of p j+1.  Let H j be the set of triangles removed from D j during the hypothetical insertion of p i.  We have σ j = σ j+1 if G j and H j are disjoint.  If σ j ≠ σ j+1 then X j = G j ∩ H j ≠ ∅ and all triangles on the portion of the path from σ j to σ j+1 are generated by flips that remove triangles in X j.  The cost for searching p i is at most proportional to the sum of card X j.

49 Incremental Algorithm – Searching and Charging We again hypothetically first insert p i to D j and then insert p j+1 into the Delaunay triangulation of Sj ∪ {p i }. Y j – Triangles removed during insertion of p j+1. Z j ⊆ Y j - Triangles that don’t belong to D j. Each triangle in Z j is created during the insertion of p i so p i must be on of his vertices. We have: X j = G j – ( Y j - Z j )  Now we’ll write cardinalities by using corresponding lower-case letter. x j = g j – y j + z j But (!) the expected values of g j and y j-1 are the same, because both count triangles removed by insertion a random jth point. Thus:.

50 Incremental Algorithm – Searching and Charging  To compute Z j we use the fact that among (j+2) points, every pair is equally likely to be p j+1 and p i. If p j+1 and p i are not connected by an edge in the Delaunay triangulation of Sj ∪ {p i } ∪ {p j+1 } then Z j = ∅.  In general, a triangle in the Delaunay of Sj ∪ {p i } has a probability at most 3/(j+1) of being in the star of p i.  The expected number of triangles removed by inserting p j+1 is at most four.  Thus, and.  To summarize, the randomized incremental algorithm construct the Delaunay triangulation of n points in R 2 in the expected time O(nlog n) and with the amount of O(n) space.

51


Download ppt "By Eyal Dushkin 22.3.10 [Ed] Chapter 1. I. Introduction Reminder – Voronoi Diagrams  Let S be a set of sites in the plane.  Each point in the plane."

Similar presentations


Ads by Google