ORourkeCH5 - UMass Lowell Computer Science 91.504 Advanced...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, Spring 2010 Voronoi Diagrams & Delaunay Triangulations O'Rourke: Chapter 5 p de Berg et al.: Chapters 7, 9 (and a touch of Ch. 8) Thursday, Thursday, 2/25/10 Voronoi Diagrams Applications Preview Definitions & Basic Properties Delaunay Triangulations Algorithms More on Applications Medial Axis Connection to Convex Hulls Connection to Arrangements Applications Preview Nearest neighbors Minimum spanning tree Medial i M di l axis http://www.ics.uci.edu/~eppstein/gina/scot.drysdale.html Common 2D Computational Geometry Structures Convex Hull triangle whose circumcircle's center is just outside triangle Voronoi Diagram New Point Delaunay Triangulation Combinatorial size in O(n) Basics Voronoi region V(pi) is set of all points at least as close to pi as to any other site: V ( pi ) = {x :| pi - x | | p j - x | j i} | V ( pi ) = I H ( pi , p j ) i j Note:This definition is independent of dimension. source: O'Rourke Digression on Point/Line Duality g y Point in 2D plane has coordinates x and y (Non(Non-vertical) line has slope and y-intercept One-toOne-to-one mapping of set of points to set of lines (and vice versa) is a type of duality mapping dual of point p (denoted p*) is line ( y = p x x - p y ) Example of one duality: dual of line l ( y = mx + b) is point l* = (m,-b) This duality preserves: -Incidence -Order (above/below) source: de Berg et al. Ch 8 al. Delaunay Triangulations: Properties http://www.cs.cornell.edu/Info/People/chew/Delaunay.html 2D Delaunay Triangulations: Properties P is the set of sites (no 4 cocircular). D1. D1 D(P) is the straight-line dual of V(P) [by definition] straightD2. D(P) is a triangulation if no 4 points of P are cocircular: cocircular: Every face is a triangle. D3. Each face of D(P) corresponds to a vertex of V(P) D4. Each edge of D(P) corresponds to an edge of V(P) D4 D5. Each node of D(P) corresponds to a region of V(P) D6. The boundary of D(P) is the convex hull of the sites D6 D7. The interior of each face of D(P) contains no sites D3D3-D5 d fi a d li mapping b t define duality i between f t features of the f th Delaunay Triangulation and Voronoi Diagram. source: O'Rourke 2D Delaunay Triangulations: Properties of Voronoi Diagrams http://www.cs.cornell.edu/Info/People/chew/Delaunay.html 2DVoronoi Diagram: Properties V1. V1 Each Voronoi region V(pi) is convex V2. V(pi) is unbounded iff pi is on convex hull of point set V3. V3 If v is a Voronoi vertex at junction of V(p1) V(p2) ), ), V(p3), then v is center of circle C(v) determined by p1, p2, and p3. V4. C(v) is i V4 C( ) i circumcircle f Delaunay triangle for v i l for D l i l f V5. Interior(C(v)) contains no sites (proof by contradiction) V6. V6 If pi is a nearest neighbor to pj, then (pi, pj) is an edge of D(P) V7. If there is some circle through pi and pj that contains g no other sites, then (pi, pj) is an edge of D(P). [reverse holds too] source: O'Rourke Back to Delaunay Triangulation: Another Property (in 2D) Let P be a set of points in the plane (in general position). position) Let number of triangles in triangulation T be m. AngleAngle-Vector: Sorted angle list: A(T ) = (1 , 2 ,K 3m ) A(T) > A(T') if 1 i 3m such that j = ' j j < i and i > 'i AngleAngle-Optimal Triangulation T: A(T ) A(T ' ) for all triangulations T' of P Theorem 9.9: Any angle-optimal triangulation of P is a Delaunay 9.9: triangulation of P. Furthermore, any Delaunay triangulation of P maximizes the minimum angle over all triangulations of P. g g source: de Berg et al. Ch 8 al. Back to Delaunay Triangulation: More Optimality Properties (in 2D) Delaunay Triangulation: Maximizes the minimum angle (as on previous slide) Minimizes maximum circumcircle radius Minimi es ma im m circ mcircle radi s Minimizes maximum radius of an enclosing circle* Maximizes sum of inscribed circle radii And A d more... *Warning: Most of these 2D optimality properties to not extend to higher dimensions! (exception: minimize maximum radius of simplex-enclosing sphere) source: Handbook of Discrete & Computational Geometry Voronoi Diagram Algorithms One strategy: Find Delaunay Triangulation then use duality (as in CGAL). source: O'Rourke HalfHalf-Plane Intersection: Construct each Voronoi region separately: Intersect n-1 halfplanes n Intersecting n halfplanes in 2D is dual* to constructing convex hull of n dual* p points O(n lg n) time Total time: O(n2 lg n) Incremental Construction: Add one point at a time If new point is inside some Voronoi circle, locally update diagram O(n) work per point Total time: O(n2) Divide-andDivide-and-Conquer: O(n lg n) Optimal but complex to implement Lift points onto 3D paraboloid * p p Parabolic Sweep*: O(n lg n) Sweep* *see other slides Brief summary on next slide; detailed treatment in Ch. 7 of de Berg et al. al. Voronoi Diagram Algorithms: Fortune s Fortune's Parabolic Sweep source: O'Rourke PlanePlane-sweep complication: What if encounter Voronoi edges before corresponding site? Solution: Expanding circles interpretation (z is time dimension) 2 cones intersect in branch of hyperbola that projects down onto (potential) Voronoi edge If cones opaque, then Voronoi diagram is view from z = - Sweep-line is intersection of slanted plane with xy-plane Sweepxy Because slanted at same angle as cones, L hits site when first hits cone for site cones Invariant: Everything visible underneath is always finished (that part of Voronoi diagram is done) Maintain parabolic front = projection of intersection of with cones onto xy-plane xy Events O(nlgn) O(nlgn) ( g Site event : new (degenerate, single-line) parabola forms. 2 (duplicate) intersection points with parabolic front form singlenew degenerate Voronoi diagram edge Circle event: 2 parabolic front intersection points meet to form Voronoi vertex. As parabolic front evolves, parabola intersection points trace out Voronoi diagram. parabolic front 45 slope 45 time sweep line L at x = l x view from L z - Delaunay Triangulation Algorithms One strategy: Find Voronoi Diagram then use duality. *see other slides Lift points onto 3D paraboloid * CGAL uses lifting for d-dimensional Delaunay d Start with any triangulation & flip edges Described in deBerg et al. * al. Randomized incremental with edge flipping Described in deBerg et al. * al. Used by CGAL for 2D and 3D (tetrahedra in 3D) C t i d Delaunay triangulation Constrained D l ti l ti User specifies line segments that must be in the g triangulation. See Shewchuck paper for an algorithm description. Available in CGAL for 2D only. Application: Mesh Generation for Finite Element Modeling [Research Note for 17th Int. Meshing Roundtable, 2008; also presented at Fall CG Workshop] Needed for signal integrity in printed circuit board interconnect routing g g y p g 2D constrained Delaunay triangulation is extruded into 3D to form triangular prism mesh "Angle optimality" of Delaunay triangulation is useful for this type of modeling. Angle optimality modeling Courtesy of Cadence Design Systems Doctoral student S. Ye Delaunay Triangulation Algorithms Start with any triangulation & flip edges Termination is guaranteed due to finite # different triangulations and increasing triangle angles, but this version of the algorithm is l i slow... source: deBerg et al. Delaunay Triangulation Algorithms Randomized incremental with edge flipping: g pp g Expected running time is in O(nlogn) O(nlogn) nlogn). ). See future slide. * * * * * * * * see future slide source: deBerg et al. Delaunay Triangulation Algorithms Cases for randomized incremental with edge flipping: produces 3 calls to LEGALIZEEDGE produces 4 calls to LEGALIZEEDGE source: deBerg et al. Delaunay Triangulation Algorithms Edge flipping: g pp g Existing edges may become illegal source: deBerg et al. Delaunay Triangulation Algorithms source: deBerg et al. Edge Flipping: g Flipping: pp g Key contributor to O(nlogn) expected running O(nlogn) time is fast location of triangle containing point pr: DAG point location structure Making a leaf into an internal node yields at most 3 outgoing edges. Lemma 9.11: The expected number of triangles 9.11: created by algorithm DELAUNAYTRIANGULATION i at most is 9n+1. Key idea: Bound the expected degree of the point pr. Use Lemma 9.11 together with ideas from randomized incremental framework Recall "conflict graph" used for randomized incremental convex hull construction. In Delaunay case, conflict arises when a point is in circumcircle of a triangle. How are Convex Hull, Delaunay Triangulation and Voronoi Diagram related? Delaunay Triangulation Project P j each point upwards onto h i d paraboloid z= x2 + y2 Construct 3D Convex Hull Discard "top" faces Project Convex Hull down to xy plane to form Delaunay Triangulation View from z = -infinity to see Delaunay Triangulation source: O'Rourke How are Convex Hull, Delaunay Triangulation and Voronoi Diagram related? Voronoi Diagram Project each point upwards j h i d onto paraboloid z= x2 + y2 A each projected point, At h j d i construct plane tangent to paraboloid tangent above (a,b) is (a,b) z = 2ax + 2by - (a2 + b2) View from z = +infinity to see Voronoi Diagram "first intersection" of planes source: O'Rourke Voronoi Diagram Applications: Nearest Neighbors Nearest Neighborhood query for point q g q y p with respect to points P = p1, p2 ,..., pn can be answered in O(logn) time using Voronoi O(logn diagram All Nearest Neighbors: The N Th Nearest Neighborhood Graph (NNG) t N i hb h d G h of points P is a graph: - whose nodes correspond to the points - an arc from pi to pj iff pj is a nearest neighbor of pi : | pi - p j | mink i{| pi - pk | } NNG D (P ) So NNG can be constructed in O(nlogn) time. O(nlogn) source: O'Rourke More Applications: Euclidean Minimum Spanning Tree source: O'Rourke MST D ( P ) MST can be used in TSP approximation algorithm. More Applications: Relative Neighborhood Graph R l ti N i hb h d G h The Relative Neighborhood Graph (RNG) g p ( ) of points p1, p2 ,..., pn is a graph: - whose nodes correspond to the points - 2 nodes p1, p2 share an arc iff they are at least as close to each other as to any other point: source: O'Rourke | pi - p j | maxmi, j {| pi - pm | , | p j - pm |} It can be shown (O Rourke exercise) that: (O'Rourke - every edge of the RNG is an edge of the Delaunay triangulation RNG D ( P ) y g - every edge of an MST is an edge of the RNG MST RNG LUNE forbidden region Note: Note: this produces a set of constraints (1 for each m) RNG for 4 sample points More Applications: Largest Empty Circle Problem: Problem: Find a largest empty circle whose center is in the (closed) convex hull of a set of n sites S ( ) (empty in that it contains no sites in its interior, and largest in that y g ) there is no other such circle with strictly larger radius). Finite set of potential largest empty circle centers: - Voronoi vertices - Intersections of Voronoi edges and hull of sites. source: O'Rourke More Applications: Medial Axis source: O'Rourke Medial Axis Pruning: Robert Ogniewicz of Harvard uses medial axes for shape recognition. http://www.ics.uci.edu/~eppstein/gina/medial.html More Applications: Medial Axis Medial Axis: of polygon P = set of points inside P that have > 1 closest point among P's boundary points. Tree whose leaves are vertices of P Every point of medial axis is center of circle touching boundary in at least 2 points. V i Vertices of medial axis are centers of circles f di l i f i l touching 3 distinct boundary points. Grassfire "Grassfire" analogy: fire starts at boundary Medial axis represents "quench points" where fires meet each other Thi is also the Voronoi diagram of the polygon. This i l th V i di f th l sources O'Rourke and de Berg et al. al. More Delaunay Applications: Shewchuck Triangulation http://www.cs.cmu.edu/~quake/triangle.demo.html ...
View Full Document

This note was uploaded on 02/13/2012 for the course CS 91.504 taught by Professor Daniels during the Spring '10 term at UMass Lowell.

Ask a homework question - tutors are online