Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5

Similar documents
3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples :

Computational Geometry

Computational Geometry

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

CS 532: 3D Computer Vision 14 th Set of Notes

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Voronoi diagram and Delaunay triangulation

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001

Lifting Transform, Voronoi, Delaunay, Convex Hulls

The Farthest Point Delaunay Triangulation Minimizes Angles

Delaunay Triangulations

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Week 8 Voronoi Diagrams

Computational Geometry Lecture Delaunay Triangulation

Voronoi Diagrams. A Voronoi diagram records everything one would ever want to know about proximity to a set of points

CS133 Computational Geometry

Week 7 Convex Hulls in 3D

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here)

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Other Voronoi/Delaunay Structures

High-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018

Voronoi Diagram. Xiao-Ming Fu

6.854J / J Advanced Algorithms Fall 2008

Unit 10 Circles 10-1 Properties of Circles Circle - the set of all points equidistant from the center of a circle. Chord - A line segment with

2 Delaunay Triangulations

PS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018)

2D Geometry. Pierre Alliez Inria Sophia Antipolis

Pebble Sets in Convex Polygons

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams

8 Standard Euclidean Triangle Geometry

Minimum Spanning Trees

Convex Hulls (3D) O Rourke, Chapter 4

Fortune s Algorithm. Notes from the book by de Berg, Van Krevald, Overmars, and Schwarzkpf

Lokale Netzstrukturen Exercise 5. Juli 19, 2017

1. A statement is a set of words and/or symbols that collectively make a claim that can be classified as true or false.

SOAR2001 GEOMETRY SUMMER 2001

CAD & Computational Geometry Course plan

Computational Geometry: Lecture 5

Motion Planning. O Rourke, Chapter 8

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Matching and Planarity

Simplicial Complexes: Second Lecture

CMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications

Computational Geometry

Parallel Lines: Two lines in the same plane are parallel if they do not intersect or are the same.

Chapter 6. Sir Migo Mendoza

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev

Problem Set 1. Solution. CS4234: Optimization Algorithms. Solution Sketches

2 Geometry Solutions

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

Improved Bounds for Intersecting Triangles and Halving Planes

Geometry Reasons for Proofs Chapter 1

Optimal Compression of a Polyline with Segments and Arcs

Convex hulls of spheres and convex hulls of convex polytopes lying on parallel hyperplanes

Polygon Triangulation

Constrained Delaunay Triangulations (CDT)

Notes in Computational Geometry Voronoi Diagrams

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Lecture 1 Discrete Geometric Structures

Differential Geometry: Circle Packings. [A Circle Packing Algorithm, Collins and Stephenson] [CirclePack, Ken Stephenson]

Polygon Triangulation. (slides partially by Daniel Vlasic )

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60

Acknowledgement: Scott, Foresman. Geometry. SIMILAR TRIANGLES. 1. Definition: A ratio represents the comparison of two quantities.

Definition 1 (Hand-shake model). A hand shake model is an incidence geometry for which every line has exactly two points.

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

Voronoi Diagrams, Delaunay Triangulations and Polytopes

Ma/CS 6b Class 26: Art Galleries and Politicians

Acute Triangulations of Polygons

Fixed-Parameter Algorithms, IA166

Partitioning Regular Polygons Into Circular Pieces II: Nonconvex Partitions

6.1 Circles and Related Segments and Angles

751 Problem Set I JWR. Due Sep 28, 2004

Surface Mesh Generation

CS 177 Homework 1. Julian Panetta. October 22, We want to show for any polygonal disk consisting of vertex set V, edge set E, and face set F:

Convex Hulls in Three Dimensions. Polyhedra

Geometry Definitions and Theorems. Chapter 9. Definitions and Important Terms & Facts

Approximating a set of points by circles

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

CSE 5311 Notes 13: Computational Geometry

Theorems & Postulates Math Fundamentals Reference Sheet Page 1

Math 451: Euclidean and Non-Euclidean Geometry MWF 3pm, Gasson 204 Homework 8 Solutions

Proceedings - AutoCarto Columbus, Ohio, USA - September 16-18, Alan Saalfeld

Pi at School. Arindama Singh Department of Mathematics Indian Institute of Technology Madras Chennai , India

Topology 550A Homework 3, Week 3 (Corrections: February 22, 2012)

Basic Euclidean Geometry

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

GEOMETRY is the study of points in space

Dirichlet Voronoi Diagrams and Delaunay Triangulations

Basic tool: orientation tests

Saccheri Quadrilaterals

SOME IMPORTANT PROPERTIES/CONCEPTS OF GEOMETRY (Compiled by Ronnie Bansal)

The Graphs of Triangulations of Polygons

Art Gallery, Triangulation, and Voronoi Regions

Point A location in geometry. A point has no dimensions without any length, width, or depth. This is represented by a dot and is usually labelled.

Geometry - Chapter 1 - Corrective #1

Chapter 10 Similarity

Combinatorics and Combinatorial Geometry by: Adrian Tang math.ucalgary.ca

Postulates, Theorems, and Corollaries. Chapter 1

Transcription:

Voronoi Diagrams and Delaunay Triangulations O Rourke, Chapter 5

Outline Preliminaries Properties and Applications Computing the Delaunay Triangulation

Preliminaries Given a function f: R 2 R, the tangent plane z x, y = a x + b y + c at p = x 0, y 0 is the best linear approximation of f. The values and derivatives match: f p = z p f z f = = x p x p y p z x, y = f x p x x 0 + z y p f y p y y 0 + f(p)

Preliminaries Definition: Given a set of points P = {p 1,, p n }, T(P) is a triangulation of P if it is a partition of the convex hull of P into disjoint triangles whose vertices are exactly the points of P.

Preliminaries Claim: Given a set of points P = p 1,, p n R 2, the number of triangles in a triangulation of P is independent of the triangulation.

Preliminaries Proof: Let h be the number of vertices on the hull. By Euler s formula: V E + F = 1 Each edge not on the hull appears on two triangles: 3F h = E h 3F + h = E. 2 2 So by Euler s formula: V 3F + h + F = 1 2 F = 2V h 2.

Preliminaries Inscribed Angle Theorem: If a triangle Δpqr is inscribed in a circle with center c, pqr = 1 2 pcr. The angle pqr does not depend on where q is on the circle. p q c 2θ q θ r

Preliminaries Inscribed Angle Theorem: If a triangle Δpqr is inscribed in a circle with center c, pqr = 1 2 pcr. The angle pqr does not depend on where q is on the circle. If q is inside/outside the circle the angle is larger/smaller. p c 2θ q q θ q r

Preliminaries Note: If we the triangle Δprs with s on the circle and on the other side of the edge pr we get: 2π 2 pqr q psr = θ 2 psr + pqr = π. p c 2θ φ s r

Outline Preliminaries Properties and Applications Largest Empty Circle Euclidean Minimal Spanning Tree Locally Delaunay Best Triangulation Computing the Delaunay Triangulation

Largest Empty Circle Claim: The largest empty (interior) circle within the convex hull of a set of points is either at a Voronoi vertex or at the intersection of the Voronoi Diagram and the convex hull.

Largest Empty Circle Proof: A maximal circle centered in the interior must be adjacent to a point. Otherwise, grow the radius to make the circle larger.

Largest Empty Circle Proof: A maximal circle centered in the interior must be adjacent to at least two points. Otherwise, move out along the ray from the one point to the center while increasing the radius..

Largest Empty Circle Proof: A maximal circle centered in the interior must be adjacent to at least three points. Otherwise, move out along the bisector along one of the two directions while increasing the radius Maximal circles in the interior are centered on Voronoi vertices.

Largest Empty Circle Proof: A maximal circle on the hull has to be in the interior of a hull edge. Otherwise, it s on a hull vertex and the radius is zero.

Largest Empty Circle Proof: A maximal circle centered on the hull must be adjacent to two points. Otherwise, move out along the hull along one of the two directions while increasing the radius When you stop, you are on the hull and on a Voronoi edge.

Minimal Spanning Trees Definition: Given a connected, undirected graph with weighted edges, the minimal spanning tree (MST) is the tree with minimal edge length that spans all the points.

Minimal Spanning Trees Kruskal( G = V, E, ω: E R >0 ): Q SortByDecreasingLength( E, ω ) C V T while( C > 1 ) e = v, w Q if( Disconnected( C, v, w ) ): Merge( C, v, w ) T T {e} Complexity: O( E ) using a union-find data-structure.

Euclidean Minimal Spanning Trees Definition: Given a set of points P R n, the Euclidean minimal spanning tree (EMST) is the minimal spanning tree of the complete graph, with edge weights given by Euclidean distances.

Euclidean Minimal Spanning Trees Claim: The EMST is a sub-graph of D(P). Implications: We can find the EMST in O(n log n) by only running Kruskal s algorithm using the subset of edges in the Delaunay triangulation.

Euclidean Minimal Spanning Trees Proof: Assume p i p j is in the EMST but not in D(P). The circle with p i and p j on its diameter contains another point p k. Removing p i p j disconnects the EMST into two components, one with p i and the other with p j. WLOG, assume p k is in the component with p i. Adding edge p j p k reconnects the graph and gives a shorter spanning tree. The original tree wasn t a MST. p i p k p j

Locally Delaunay Recall: Given a set of points P = {p 1,, p n } we say that an edge p i p j is Delaunay if there exists a circle with p i and p j on its boundary that is empty of other points.

Locally Delaunay Definition: Given a triangulation T(P), we say that an edge of the triangulation, p i p j, is locally Delaunay if there exists a circle with p i and p j on its boundary that does not contain the opposite vertices in the adjacent triangles. p j p i

Locally Delaunay Note: If the edge is locally Delaunay, we can always shift the circle so that it just touches one of the adjacent vertices and does not contain the other. p j p i

Locally Delaunay Note: If the edge is locally Delaunay, we can always shift the circle so that it just touches one of the adjacent vertices and does not contain the other. An edge is locally Delaunay if and only if the p circumcircle of one adjacent j triangle does not contain the opposite vertex in the other. p i

Locally Delaunay Note: An edge is locally Delaunay, if and only if the sum of the opposite angles satisfies: α + β π. If p l were on the circumcircle through p i, p j, and p k, p j then we would have α + β = π. Moving p l outside the circle reduces α. p l α p i β p k

Locally Delaunay Claim: A triangulation T(P) is Delaunay if and only if it is locally Delaunay. Implications: p j We can test if a triangulation is Delaunay in linear time by testing if each edge is locally Delaunay. p i

Locally Delaunay Proof ( ): Trivial. p j p i

Locally Delaunay Proof ( ) [By Induction]: Assume it is not Delaunay. There exists a point p P that is inside every circle with p i and p j on its boundary. p j p p i

Locally Delaunay Proof ( ) [By Induction]: Choose edge-adjacent triangles {t 1,, t m } s.t.: p i, p j t 1 and p t m. if e t l t l+1 then t l+1 is on the same side of e as p. If m = 1 then we have a contradiction. p j Otherwise, the circumcircle of t 2 contains the part of circumcircle of t 1 that is outside t 1 and contains p. p i p We can repeat with the shared edge between t 1 and t 2, but now the sequence of triangles is one shorter.

Locally Delaunay Note: If an edge p i p j of a triangulation is not locally Delaunay, the circle through p i, p j, and an opposite vertex p k, must contain the other vertex p l. We can pin the circle at p i and p k and shrink it until it contains p l. p i p k p l p j

Locally Delaunay Note: If an edge p i p j of a triangulation is not locally Delaunay, the circle through p i, p j, and an opposite vertex p k, must contain the other vertex p l. We can pin the circle at p i and p k and shrink it until it contains p l. p i p k p j is not inside the circle. p l p k is locally Delaunay. p l p j

Locally Delaunay Note: If an edge p i p j of a triangulation is not locally Delaunay, the circle through p i, p j, and an opposite vertex p k, must contain the other vertex p l. We can pin the circle at p i and p k and shrink it until it contains p l. p i p k p j is not inside the circle. We p l pcan k is perform locally Delaunay. an edge-flip to change a non-locally Delaunay edge into a locally Delaunay edge. p l p j

Locally Delaunay Equivalently: An edge p i p j is not locally Delaunay iff.: p i p k p j + p i p l p j > π. But the sum of the angles of a quad is 2π so: p l p i p k + p l p j p k < π. p k p i So the flipped edge p l p k must be Delaunay. p l p j We can perform an edge-flip to change a non-locally Delaunay edge into a locally Delaunay edge.

Locally Delaunay Claim: If we edge-flip a non-locally Delaunay edge into a locally Delaunay edge the new angles in the quad gets larger. p i p k p l p j

Locally Delaunay Proof: Consider an edge p i p l on the quad. Flipping replaces p i p j p l with p i p k p l. The circle through p i, p l, and p k does not contain p j. Inscribed Angle Theorem: p i p k p l > p i p j p l. p i p k Similarly, for all other edges, we p l can show that the flip increases the angle. p j

Locally Delaunay Note: If we edge-flip a non-locally Delaunay edge into a locally Delaunay edge all angles of the triangulation exterior to the quad are unchanged. p i p k p l p j

Best Triangulation Definition: Given a set of points P = p 1,, p n R 2 and given a triangulation T of P define the angle vector of the triangulation, α T 0, π 3T, to be the sorted angles of the triangles in the triangulation: α T i α T i+1. We can define an ordering on triangulations of P by saying that for triangulations S and T, S > T if S is larger than T, lexicographically.

Best Triangulation Claim: Given a set of points P = p 1,, p n the Delaunay triangulation, D, is maximal over all triangulations: D T for all triangulations T of P.

Best Triangulation Proof: Suppose that the maximal triangulation T is not Delaunay. There is an edge that is not locally Delaunay. Flipping the edge will increase the angles interior to the quad. The new triangulation will be larger than T. T was not maximal.

Outline Preliminaries Properties and Applications Computing the Delaunay Triangulation Edge-Flipping Reduction to Convex Hulls

Edge-Flipping DelaunayTriangulation( P R 2 ): T Triangulate( P ) Q for e E T»if(!LocallyDelaunay( e ) ) Q Q {e} while( NotEmpty( Q ) )» e Pop( Q )»if(!locallydelaunay( e ) Flip( e ) for e Neighbor( e ) if(!locallydelaunay( e ) ) Q Q {e }

Edge-Flipping DelaunayTriangulation( P R 2 ): T Triangulate( P ) QThis requires being able to generate some initial for (non-delaunay) e E T triangulation in O(n log n).»if(!locallydelaunay( This is guaranteed to e converge ) ) Q Qsince {e} while( each NotEmpty( iteration increases Q ) ) the angle vector.» e Pop( Can Q ) show that this never»if(!locallydelaunay( requires more than e ) O(n 2 ) flips. Flip( e ) for e Neighbor( e ) if(!locallydelaunay( e ) ) Q Q {e }

Edelsbrunner & Seidel DelaunayTriangulation( P R n ): Q {q R n+1 q = p, p 2 } C ConvexHull( Q ) D ProjectLowerTriangles( C ) return D

Edelsbrunner & Seidel DelaunayTriangulation( P R n ): Q {q R n+1 q = p, p 2 } C ConvexHull( Q ) D ProjectLowerTriangles( C ) return D

Edelsbrunner & Seidel DelaunayTriangulation( P R n ): Q {q R n+1 q = p, p 2 } C ConvexHull( Q ) D ProjectLowerTriangles( C ) return D

Edelsbrunner & Seidel DelaunayTriangulation( P R n ): Q {q R n+1 q = p, p 2 } C ConvexHull( Q ) D ProjectLowerTriangles( C ) return D

Edelsbrunner & Seidel DelaunayTriangulation( P R n ): Q {q R n+1 q = p, p 2 } C ConvexHull( Q ) D ProjectLowerTriangles( C ) return D Note: Since all points end up on the hull, an outputsensitive convex hull algorithm does not help.

Edelsbrunner & Seidel Correctness: Since the paraboloid is convex all points in Q end up on the lower hull of Q. The projection of the hull of Q is the hull of P. The projection of two edges on the convex hull can only intersect if one is on the top half and the other is on the bottom. The projection is a triangulation of P.

Computation Proof: Given a point (a, b, a 2 + b 2 ) on the paraboloid, the tangent plane is given by: z = 2ax + 2by (a 2 + b 2 ) Shifting the plane up by r 2 we get the plane: z = 2ax + 2by a 2 + b 2 + r 2 The shifted plane intersect the paraboloid at: z = x 2 + y 2 = 2ax + 2by a 2 + b 2 + r 2 x a 2 + y b 2 = r 2

Computation Proof: Given a point (a, b, a 2 + b 2 ) on the paraboloid, the tangent plane is given by: z = 2ax + 2by (a 2 + b 2 ) The projection of the points of intersection onto Shifting the plane up by r 2 we get the plane: the 2D plane is a circle with radius z = 2ax + 2by a 2 r + b 2 around + r 2 (a,b). The shifted plane intersect the paraboloid at: z = x 2 + y 2 = 2ax + 2by a 2 + b 2 + r 2 x a 2 + y b 2 = r 2

Computation Proof: If we have a triangle on the lower convex hull, we can pass a plane through the three vertices. We can drop the plane by some r 2 so that it is tangent to the paraboloid at (a, b, a 2 + b 2 ). Then the projected vertices of the triangle must lie on a circle of radius r around the point (a, b). r 2 r a (a,a 2 )

Computation Proof: Since the original plane was on the lower hull, all other points must be above. We can raise the plane until it intersects any other point. The distance from the projection of the point onto the 2D to (a, b) must be larger than r. The circle of radius r around (a, b) contains no other points. r 2 + ε 2 r 2 (a,a 2 ) a r 2 + ε 2 1 2