voronoi diagram and delaunay triangulation
play

Voronoi Diagram and Delaunay Triangulation Lekcija 9 Sergio Cabello - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. Voronoi diagram Sergio Cabello RC – Voronoi – Delaunay

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. Quiz 1 Sergio Cabello RC – Voronoi – Delaunay

  10. 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

  11. Quiz 2 Sergio Cabello RC – Voronoi – Delaunay

  12. 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

  13. Quiz 3 Sergio Cabello RC – Voronoi – Delaunay

  14. 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

  15. 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

  16. 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

  17. Properties Lemma Voronoi diagram of n sites has O ( n ) edges and vertices Dokaz. Sergio Cabello RC – Voronoi – Delaunay

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. Delaunay Triangulation Sergio Cabello RC – Voronoi – Delaunay

  28. 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

  29. The Delaunay triangulation DT ( S ) ◮ the Delaunay triangulation of the same set ◮ looks nicer ◮ many interesting properties Sergio Cabello RC – Voronoi – Delaunay

  30. Definition DT ( S ) Sergio Cabello RC – Voronoi – Delaunay

  31. 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

  32. 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

  33. Convex hull ◮ the convex hull of S is the complement of the unbounded face of DT ( S ) CH ( S ) Sergio Cabello RC – Voronoi – Delaunay

  34. 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

  35. 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

  36. Proof (Empty circle property) s i s j DT ( S ) Sergio Cabello RC – Voronoi – Delaunay

  37. 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

  38. Proof (closest pair property) empty empty s i s j Sergio Cabello RC – Voronoi – Delaunay

  39. 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

  40. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend