Voronoi diagram and Delaunay triangulation

Similar documents
Computational Geometry. Lecture 1: Introduction and Convex Hulls

Arrangements And Duality

Shortest Path Algorithms

Actually Doing It! 6. Prove that the regular unit cube (say 1cm=unit) of sufficiently high dimension can fit inside it the whole city of New York.

DEGREE CONSTRAINED TRIANGULATION. Roshan Gyawali

Intersection of a Line and a Convex. Hull of Points Cloud

Solving Geometric Problems with the Rotating Calipers *

Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs

Tetrahedron Meshes. Linh Ha

5.1 Bipartite Matching

Line Segment Intersection

Geometry and Topology from Point Cloud Data

Shortest Inspection-Path. Queries in Simple Polygons

1. A student followed the given steps below to complete a construction. Which type of construction is best represented by the steps given above?

Circle Name: Radius: Diameter: Chord: Secant:

Chapters 6 and 7 Notes: Circles, Locus and Concurrence

Triangulation by Ear Clipping

Topological Treatment of Platonic, Archimedean, and Related Polyhedra

Fast approximation of the maximum area convex. subset for star-shaped polygons

HOLES 5.1. INTRODUCTION

28 Closest-Point Problems

Chapter 6 Notes: Circles

Disjoint Compatible Geometric Matchings

Linear Programming I

3. Linear Programming and Polyhedral Combinatorics

Shortcut sets for plane Euclidean networks (Extended abstract) 1

Chapter 3.1 Angles. Geometry. Objectives: Define what an angle is. Define the parts of an angle.

Geometry Enduring Understandings Students will understand 1. that all circles are similar.

Geometry Chapter Point (pt) 1.1 Coplanar (1.1) 1.1 Space (1.1) 1.2 Line Segment (seg) 1.2 Measure of a Segment

GEOMETRY. Constructions OBJECTIVE #: G.CO.12

Contents. 2 Lines and Circles Cartesian Coordinates Distance and Midpoint Formulas Lines Circles...

Volumetric Meshes for Real Time Medical Simulations

Angles that are between parallel lines, but on opposite sides of a transversal.

New York State Student Learning Objective: Regents Geometry

Max-Min Representation of Piecewise Linear Functions

Visualizing Triangle Centers Using Geogebra

Persistent Data Structures and Planar Point Location

Finding and counting given length cycles

Geometer s Sketchpad. Discovering the incenter of a triangle

Solutions to Homework 10

alternate interior angles

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

1 Solution of Homework

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

SPERNER S LEMMA AND BROUWER S FIXED POINT THEOREM

CIS 700: algorithms for Big Data

How To Find The Ranking Of A Cormorant

x 2 f 2 e 1 e 4 e 3 e 2 q f 4 x 4 f 3 x 3

SOLUTIONS. f x = 6x 2 6xy 24x, f y = 3x 2 6y. To find the critical points, we solve

Geometry Course Summary Department: Math. Semester 1

Lesson 2: Circles, Chords, Diameters, and Their Relationships

Largest Fixed-Aspect, Axis-Aligned Rectangle

Strictly Localized Construction of Planar Bounded-Degree Spanners of Unit Disk Graphs

AN ALGORITHM FOR CENTRELINE EXTRACTION USING NATURAL NEIGHBOUR INTERPOLATION

Archimedes and the Arbelos 1 Bobby Hanson October 17, 2007

Mean Value Coordinates

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina

1. A plane passes through the apex (top point) of a cone and then through its base. What geometric figure will be formed from this intersection?

GEOMETRY CONCEPT MAP. Suggested Sequence:

Point Location. Preprocess a planar, polygonal subdivision for point location queries. p = (18, 11)

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

The Essentials of CAGD

Curriculum Map by Block Geometry Mapping for Math Block Testing August 20 to August 24 Review concepts from previous grades.

Inversion. Chapter Constructing The Inverse of a Point: If P is inside the circle of inversion: (See Figure 7.1)

GEOMETRY COMMON CORE STANDARDS

Section 9-1. Basic Terms: Tangents, Arcs and Chords Homework Pages : 1-18

Definitions, Postulates and Theorems

CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

Grade 7 & 8 Math Circles Circles, Circles, Circles March 19/20, 2013

BOĞAZİÇİ UNIVERSITY COMPUTER ENGINEERING

A fast and robust algorithm to count topologically persistent holes in noisy clouds

ABSTRACT. For example, circle orders are the containment orders of circles (actually disks) in the plane (see [8,9]).

Situation: Proving Quadrilaterals in the Coordinate Plane

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Notes on the representational possibilities of projective quadrics in four dimensions

Algorithms for Computing Convex Hulls Using Linear Programming

Lesson 5-3: Concurrent Lines, Medians and Altitudes

Three Lemmas in Geometry

Geometry. Higher Mathematics Courses 69. Geometry

FACTORIZATION OF TROPICAL POLYNOMIALS IN ONE AND SEVERAL VARIABLES. Nathan B. Grigg. Submitted to Brigham Young University in partial fulfillment

INCIDENCE-BETWEENNESS GEOMETRY

BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

Pseudo-Triangulations a Survey

Fiber Polytopes for the Projections between Cyclic Polytopes

CK-12 Geometry: Parts of Circles and Tangent Lines

Simplified External memory Algorithms for Planar DAGs. July 2004

Incenter Circumcenter

56 questions (multiple choice, check all that apply, and fill in the blank) The exam is worth 224 points.

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

SIMSON S THEOREM MARY RIEGEL

EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27

Georgia Online Formative Assessment Resource (GOFAR) AG geometry domain

Using Data-Oblivious Algorithms for Private Cloud Storage Access. Michael T. Goodrich Dept. of Computer Science

H.Calculating Normal Vectors

Removing Even Crossings

Number Sense and Operations

Activity Set 4. Trainer Guide

Optimal 3D Angular Resolution for Low-Degree Graphs

The Math Circle, Spring 2004

Transcription:

Voronoi diagram and Delaunay triangulation Ioannis Emiris and Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens Computational Geometry, spring 2016

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Properties 4 Algorithms and complexity Incremental Delaunay Further algorithms 5 (Generalizations and Representation)

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Properties 4 Algorithms and complexity Incremental Delaunay Further algorithms 5 (Generalizations and Representation)

Example and definition Sites: P := {p 1,..., p n } R 2

Example and definition Sites: P := {p 1,..., p n } R 2 Voronoi cell: q V (p i ) dist(q, p i ) dist(q, p j ), p j P, j i

Example and definition Sites: P := {p 1,..., p n } R 2 Voronoi cell: q V (p i ) dist(q, p i ) dist(q, p j ), p j P, j i Georgy F. Voronoy (1868-1908)

Faces of Voronoi diagram

Faces of Voronoi diagram

Faces of Voronoi diagram

Faces of Voronoi diagram

Faces of Voronoi diagram

Voronoi diagram

Formalization sites: points P = {p 1,..., p n } R 2. Voronoi cell/region V (p i ) of site p i : q V (p i ) dist(q, p i ) dist(q, p j ), p j P, j i. Voronoi edge is the common boundary of two adjacent cells. Voronoi vertex is the common boundary of 3 adjacent cells, or the intersection of 2 (hence 3) Voronoi edges. Generically, of exactly 3 Voronoi edges. Voronoi diagram of P = dual of Delaunay triangulation of P. Voronoi cell vertex of Delaunay triangles: site neighboring cells (Voronoi edge) Delaunay edge, defined by corresponding sites (line of Voronoi edge line of Delaunay edge) Voronoi vertex Delaunay triangle.

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Properties 4 Algorithms and complexity Incremental Delaunay Further algorithms 5 (Generalizations and Representation)

Triangulation A triangulation of a pointset (sites) P R 2 is a collection of triplets from P, namely triangles, s.t. The union of the triangles covers the convex hull of P. Every pair of triangles intersect at a (possibly empty) common face (, vertex, edge). Usually (CGAL): Set of triangle vertices = P. Example: P, incomplete, invalid, subdivision, triangulation.

Delaunay Triangulation: dual of Voronoi diagram

Delaunay Triangulation: dual of Voronoi diagram

Delaunay Triangulation: dual of Voronoi diagram

Delaunay Triangulation: dual of Voronoi diagram Boris N. Delaunay (1890-1980)

Delaunay triangulation: projection from parabola Definition/Construction of Delaunay triangulation: Lift sites p = (x) R to p = (x, x 2 ) R 2 Compute the convex hull of the lifted points Project the lower hull to R y = x 2 p 1 p 2 p 3 p 4

Delaunay triangulation: going a bit higher... Definition/Construction of Delaunay triangulation: Lift sites p = (x, y) R 2 to p = (x, y, x 2 +y 2 ) R 3 Compute the convex hull of the lifted points Project the lower hull to R 2 : arbitrarily triangulate lower facets that are polygons (not triangles)

Applications Nearest Neighbors Reconstruction Meshing

Voronoi by Lift & Project Lifting: Consider the paraboloid x 3 = x 2 1 + x 2 2 + x 2 3. For every site p, consider its lifted image p on the parabola. Given p, unique (hyper)plane tangent to the parabola at p. Project: For every (hyper)plane, consider the halfspace above. The intersection of halfspaces is a (unbounded) convex polytope Its Lower Hull projects bijectively to the Voronoi diagram. Proof: Let E : x 2 1 + x 2 2 x 3 = 0 be the paraboloid equation. E(a) = ( E x 1, E x 2, E x 3 )a = (2a 1, 2a 2, 1). Point x plane h(x) (x a) E(a) = 0 2a 1 (x 1 a 1 ) + 2a 2 (x 2 a 2 ) (x 3 a 3 ) = 0, which is h s equation.

Lift & Project in 1D y=x^2 h h y=0 p q p

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Properties 4 Algorithms and complexity Incremental Delaunay Further algorithms 5 (Generalizations and Representation)

Main Delaunay property: empty sphere

Main Delaunay property: empty sphere

Main Delaunay property: empty sphere

Main Delaunay property: 1 picture proof Thm (in R): S(p 1, p 2 ) is a Delaunay segment its interior contains no p i. Proof. Delaunay segment ( p 1, p 2 ) edge of the Lower Hull no p i below ( p 1, p 2 ) on the parabola no p i inside the segment (p 1, p 2 ). y = x 2 p 1 p 2 p 3 p 4

Main Delaunay property: 1 picture proof Thm (in R 2 ): T (p 1, p 2, p 3 ) is a Delaunay triangle the interior of the circle through p 1, p 2, p 3 (enclosing circle) contains no p i. Proof. Circle(p 1, p 2, p 3 ) contains no p i in interior plane of lifted p 1, p 2, p 3 leaves all lifted p i on same halfspace CCW( p 1, p 2, p 3, p i ) of same sign for all i. Suffices to prove: p i lies on Circle(p 1, p 2, p 3 ) p i lies on plane of p 1, p 2, p 3 CCW( p 1, p 2, p 3, p i ) = 0.

Predicate InCircle Given points p, q, r, s R 2, point s = (s x, s y ) lies inside the circle through p, q, r det p x p y px 2 + py 2 1 q x q y qx 2 + qy 2 1 r x r y rx 2 + ry 2 1 s x s y sx 2 + sy 2 1 > 0, assuming p, q, r in clockwise order (otherwise det < 0). Lemma. InCircle(p, q, r, s) = 0 circle through p, q, r, s. Proof. InCircle(p, q, r, s) = 0 CCW ( p, q, r, ŝ) = 0

Delaunay faces Theorem. Let P be a set of sites R 2 : (i) Sites p i, p j, p k P are vertices of a Delaunay triangle the circle through p i, p j, p k contains no site of P in its interior. (ii) Sites p i, p j P form an edge of the Delaunay triangulation there is a closed disc C that contains p i, p j on its boundary and does not contain any other site of P.

Triangulations of planar pointsets Thm. Let P be set of n points in R 2, not all colinear, k = #points on boundary of CH(P). Any triangulation of P has 2n 2 k triangles and 3n 3 k edges. Proof. f: #facets (except ) e: #edges n: #vertices 1. Euler: n e + (f + 1) 1 = 1; for d-polytope: d i=0 ( 1)i f i = 1 2. Any planar triangulation: total degree = 3f + k = 2e.

Properties of Voronoi diagram Lemma. V 2n 5, E 3n 6, n = P, by Euler s theorem for planar graphs: V E + n 1 = 1. Max Empty Circle C P (q) centered at q: no interior site p i P. Lem: q R 2 is Voronoi vertex C(q) has 3 sites on perimeter Any perpendicular bisector of segment (p i, p j ) defines a Voronoi edge q on bisector s.t. C(q) has only p i, p j on perimeter

Delaunay maximizes the smallest angle Let T be a triangulation with m triangles. Sort the 3m angles: a 1 a 2 a 3m. T a := {a 1, a 2,..., a 3m }. Edge e = (p i, p j ) is illegal min 1 i 6 a i < min 1 i 6 a i. p l p l p j p j p i a a p i p k p k T obtained from T by flipping illegal e, then T a > lex T a. Flips yield triangulation without illegal edges. The algorithm terminates (angles decrease), but is O(n 2 ).

Insertion by flips 1 p r p j 2 3 p i 2 3 4 5 7 p i pk 3 4 6

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Properties 4 Algorithms and complexity Incremental Delaunay Further algorithms 5 (Generalizations and Representation)

Lower bound Ω(n log n) by reduction from sorting (x i, x 2 i ) x i

Delaunay triangulation Theorem. Let P be a set of points R 2. A triangulation T of P has no illegal edge T is a Delaunay triangulation of P. Cor. Constructing the Delaunay triangulation is a fast (optimal) way of maximizing the min angle. Algorithms in R 2 : Lift, CH3, project the lower hull: O(n log n) Incremental algorithm: O(n log n) exp., O(n 2 ) worst Voronoi diagram (Fortune s sweep): O(n log n) Divide + Conquer: O(n log n) See Voronoi algo s below.

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Properties 4 Algorithms and complexity Incremental Delaunay Further algorithms 5 (Generalizations and Representation)

Incremental Delaunay

Incremental Delaunay

Incremental Delaunay Find triangles in conflict

Incremental Delaunay

Incremental Delaunay Delete triangles in conflict

Incremental Delaunay Triangulate hole

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Properties 4 Algorithms and complexity Incremental Delaunay Further algorithms 5 (Generalizations and Representation)

Divide & Conquer

Fortune s sweep 2 events:

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Properties 4 Algorithms and complexity Incremental Delaunay Further algorithms 5 (Generalizations and Representation)

General dimension polytopes Faces of a polytope are polytopes forming its extreme elements. A facet of a d-dimensional polytope is (d 1)-dimensional face: The facets of a segment are vertices (0-faces). The facets of a polygon are edges (1-faces) The facets of a 3-polyhedron are polygons. The facets of a 4d polytope are 3d polytopes.

General dimension triangulation A triangulation of a pointset (sites) P R d is a collection of (d + 1)-tuples from P, namely simplices, s.t. The union of the simplices covers the convex hull of P. Every pair of simplices intersect at a (possibly empty) common face. Usually: Set of simplex vertices = P. Delaunay: no site lies in the circum-hypersphere inscribing any simplex of the triangulation. In 3d, two simplices may intersect at:, vertex, edge, facet. The triangulation is unique for generic inputs, i.e. no d + 2 sites lie on same hypersphere, i.e. every d + 1 sites define unique simplex. A Delaunay facet belongs to: exactly one simplex iff it belongs to CH(P), otherwise belongs to exactly two (neighboring) simplices.

Complexity in general dimension Delaunay triangulation in R d convex hull in R d+1. Convex Hull of n points in R d is Θ(n log n + n d/2 ) Hence d-del = Θ(n log n + n d/2 ) Lower bound [McMullen] on space Complexity optimal deterministic [Chazelle], randomized [Seidel] algorithms Optimal algorithms by lift/project: R 2 : Θ(n log n), R 3 : Θ(n 2 ).

Generalized constructions In R 2 : Various geometric graphs defined on P are subgraphs of DT (P), e.g. Euclidean minimum spanning tree (EMST) of P. Delaunay triangulation DT (P) of pointset P R d : triangulation s.t. no site in P lies in the hypersphere inscribing any simplex of DT (P). DT (P) contains d-dimensional simplices. hypersphere = circum-hypersphere of simplex. DT (P) is unique for generic inputs, i.e. no d + 2 sites lie on the same hypersphere, i.e. every d + 1 sites define unique Delaunay triangle. R d : Delaunay facet belongs to exactly one simplex belongs to CH(P)

Plane Decomposition Representation Doubly Connected Edge List (DCEL) stores: vertices, edges and cells (faces); for every (undirected) edge: 2 twins (directed) half-edges. Space complexity: O( V + E + n), V = #vertices, E = #edges, n = #input sites. v: O(1): coordinates, pointer to half-edge where v is starting. half-e O(1): start v, right cell, pointer next/previous/twin half-e DCEL operations: Given cell c, edge e c, find (neighboring) cell c : e c : O(1) Given cell, print every edge of cell: O( E ). Given vertex v find all incident edges: O(#neighbors).