Voronoi Diagram and Delaunay Triangulation Lekcija 9 Sergio Cabello sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Sergio Cabello RC – Voronoi – Delaunay
Outline ◮ this lecture: mainly geometry without algorithms ◮ geometric objects • Voronoi diagram • Delaunay triangulation ◮ two motivations • proximity, mesh generation • surprisingly, they are closely related ◮ chapter 7 of the book on Voronoi diagram available online Sergio Cabello RC – Voronoi – Delaunay
Voronoi diagram Sergio Cabello RC – Voronoi – Delaunay
Proximity ◮ what is it? ◮ a dataset S of n points (called sites) in I R 2 ◮ let S = { s 1 , s 2 . . . s n } ◮ query point q , find closest site to q (=proximity queries) S S q q closest site Sergio Cabello RC – Voronoi – Delaunay
Problem ◮ how to address proximity? ◮ draw a diagram ◮ example with | S | = 2: Closer to s 1 Closer to s 2 s 1 s 2 Bisector of s 1 s 2 ◮ this is the Voronoi diagram of S = { s 1 , s 2 } Sergio Cabello RC – Voronoi – Delaunay
Example with | S | = 3 ◮ Voronoi diagram of S = { s 1 , s 2 , s 3 } V ( s 1 ) V ( s 2 ) s 1 s 2 v V ( s 3 ) s 3 ◮ v : a Voronoi vertex. Center of the circumcircle of triangle s 1 s 2 s 3 ◮ V ( s i ): Voronoi cell of s i ◮ We have Voronoi vertices, edges, and cells. Sergio Cabello RC – Voronoi – Delaunay
Example V ( s i ) s i R 2 | ∀ j � = i , | s i x | < | s j x |} ◮ V ( s i ) = { x ∈ I More by J. Snoeyink at http://www.cs.ubc.ca/spider/snoeyink/demos/crust/home.html Sergio Cabello RC – Voronoi – Delaunay
Quiz 1 1 Four sites are enough to create a bounded Voronoi cell. 2 Four sites always produce a bounded Voronoi cell. 3 1 and 2. 4 None of the above. Sergio Cabello RC – Voronoi – Delaunay
Quiz 1 Sergio Cabello RC – Voronoi – Delaunay
Quiz 2 1 Four sites are enough to create a bounded Voronoi cell. 2 Four non-collinear sites always produce a bounded Voronoi cell. 3 1 and 2. 4 None of the above. Sergio Cabello RC – Voronoi – Delaunay
Quiz 2 Sergio Cabello RC – Voronoi – Delaunay
Quiz 3 True or false? ◮ For any set of vertical lines, there are sites whose Voronoi diagram are those lines. Sergio Cabello RC – Voronoi – Delaunay
Quiz 3 Sergio Cabello RC – Voronoi – Delaunay
Half–plane h ( s i , s j ) ◮ we denote � R 2 � � h ( s i , s j ) = x ∈ I � | s i x | < | s j x | � (Closer to s i ) h ( s i , s j ) s i s j Bisector of s 1 s 2 Sergio Cabello RC – Voronoi – Delaunay
Voronoi cell ◮ it follows that � V ( s i ) = h ( s i , s j ) j � = i V ( s i ) s i Sergio Cabello RC – Voronoi – Delaunay
Properties ◮ the Voronoi diagram of S is not a planar graph • reason: it has infinite edges • to fix this problem, we can restrict our attention to the portion of the Voronoi diagram that is within a large bounding box ◮ all the cells are convex, hence connected ◮ the Voronoi diagram has n faces, one for each site Sergio Cabello RC – Voronoi – Delaunay
Properties Lemma Voronoi diagram of n sites has O ( n ) edges and vertices Dokaz. Sergio Cabello RC – Voronoi – Delaunay
Algorithmic consequences ◮ V ( s i ) is an intersection of n half–planes ◮ so it can be computed in O ( n log n ) time ◮ we can compute the Voronoi diagram of S in O ( n 2 log n ) time ◮ we associate it with a point location data structure ◮ so we can answer proximity queries in: • O ( n 2 log n ) preprocessing time • expected O ( n ) space usage • expected O (log n ) query time ◮ if the Voronoi diagram has complexity Θ( n ), cannot we do better? Sergio Cabello RC – Voronoi – Delaunay
Voronoi cell 2 ◮ ∀ x ∈ V ( s i ) the disk through s i centered at x contains no other site than s i V ( s i ) s i x Sergio Cabello RC – Voronoi – Delaunay
Voronoi edges ◮ a point x on a Voronoi edge is equidistant to two nearest sites s i and s j ◮ hence the circle centered at x through s i and s j contains no site in its interior s i s j x a voronoi edge Sergio Cabello RC – Voronoi – Delaunay
General position assumption ◮ general position assumption: • no four sites are cocircular ◮ a degenerate case: 4 sites lie on the same circle Sergio Cabello RC – Voronoi – Delaunay
Voronoi vertices ◮ a Voronoi vertex v is equidistant to three nearest sites s i , s j and s k ◮ hence the circle centered at v through s i , s j and s k contains no site in its interior s i s j v s k ◮ by our general position assumption, each Voronoi vertex has degree 3 (= adjacent to three edges) Sergio Cabello RC – Voronoi – Delaunay
Voronoi cells ◮ if V ( s i ) is bounded, then it is a convex polygon ◮ V ( s i ) is unbounded if and only if s i is a vertex of CH ( S ) CH ( S ) ◮ Proof? Sergio Cabello RC – Voronoi – Delaunay
Consequence ◮ knowing the Voronoi diagram, we can compute the convex hull in O ( n ) time ◮ computing a Voronoi diagram takes Ω( n log n ) time ◮ we will see an optimal O ( n log n ) time randomized algorithm ◮ there is also a deterministic O ( n log n ) time algorithm • plane–sweep algorithm – Fortune’s algorithm • we will discuss it later Sergio Cabello RC – Voronoi – Delaunay
Generalizations ◮ sites need not be points • segments • circles • etc ◮ we can also use different distance functions • L 1 , L ∞ • with highway • etc R d for any d ◮ the Voronoi diagram can also be defined in I • it has size Θ � n ⌈ d / 2 ⌉ � • so it is only useful when d is small • for high d , people seek approximate Voronoi diagrams with smaller size • for high d , proximity problems ⇒ approximations Sergio Cabello RC – Voronoi – Delaunay
Higher-order Voronoi diagrams ◮ k -Voronoi diagram: divide the plane into regions that have the same closest k neighbours ◮ 1-Voronoi = Voronoi ◮ k − 1)-Voronoi = furthest-point Voronoi http://www.dma.fi.upm.es/mabellanas/tfcs/fvd/applet.html Sergio Cabello RC – Voronoi – Delaunay
Delaunay Triangulation Sergio Cabello RC – Voronoi – Delaunay
Triangulation of a set of points R 2 ◮ we are given a set S of n points in I ◮ we want to find a planar graph with set of vertices S , where CH ( S ) is partitioned into triangles ◮ this is called a triangulation of S Sergio Cabello RC – Voronoi – Delaunay
The Delaunay triangulation DT ( S ) ◮ the Delaunay triangulation of the same set ◮ looks nicer ◮ many interesting properties Sergio Cabello RC – Voronoi – Delaunay
Definition DT ( S ) Sergio Cabello RC – Voronoi – Delaunay
Definition ◮ let S be a set of n points in I R 2 ◮ S is in general position: no 4 points are cocircular ◮ the Delaunay triangulation DT ( S ) of S is the embedding of the dual graph of the Voronoi diagram of S where • the vertices are the sites: ∀ i , V ( s i ) ∗ = s i • the edges of DT ( S ) are straight line segments Sergio Cabello RC – Voronoi – Delaunay
Remarks ◮ DT ( S ): is it well defined? ◮ we need to prove that • edges do not intersect (it is a planar embedding) ⋆ Proof? • faces are triangles ⋆ the number of edges in a face of DT ( S ) is the degree of the corresponding Voronoi vertex ⋆ general position assumption implies that Voronoi vertices have degree 3 Sergio Cabello RC – Voronoi – Delaunay
Convex hull ◮ the convex hull of S is the complement of the unbounded face of DT ( S ) CH ( S ) Sergio Cabello RC – Voronoi – Delaunay
Circumcircle property ◮ the circumcircle of any triangle in DT ( S ) is empty (contains no site in its interior) s 1 v s 2 s 3 DT ( S ) ◮ Proof? Sergio Cabello RC – Voronoi – Delaunay
Empty circle property ◮ s i s j is an edge of DT ( S ) iff there is an empty circle through s i and s j s i s j DT ( S ) Sergio Cabello RC – Voronoi – Delaunay
Proof (Empty circle property) s i s j DT ( S ) Sergio Cabello RC – Voronoi – Delaunay
Closest pair property ◮ any two closest sites s i s j are connected by an edge of DT ( S ) s i s j DT ( S ) Sergio Cabello RC – Voronoi – Delaunay
Proof (closest pair property) empty empty s i s j Sergio Cabello RC – Voronoi – Delaunay
Euclidean minimum spanning tree ◮ Euclidean graph • set of vertices= S • for all i � = j there is an edge between s i and s j with weight | s i s j | ◮ Euclidean Minimum Spanning Tree: minimum spanning tree of the Euclidean graph ◮ Property: the EMST is a subgraph of DT ( S ) ◮ Proof? Exercises. Sergio Cabello RC – Voronoi – Delaunay
Angle sequence ◮ let T be a triangulation of S ◮ angle sequence Θ( T ): sequence of all the angles of the triangle of T in non–decreasing order ◮ example π/ 4 π/ 2 π/ 3 π/ 3 π/ 4 π/ 3 ◮ Θ( T ) = ( π/ 4 , π/ 4 , π/ 3 , π/ 3 , π/ 3 , π/ 2) ◮ comparison: let T and T ′ be two triangulations of S ◮ we compare Θ( T ) and Θ( T ′ ) using lexicographic order ◮ example: (1 , 1 , 3 , 4 , 5) < (1 , 2 , 4 , 4 , 4) Sergio Cabello RC – Voronoi – Delaunay
Recommend
More recommend