Voronoi diagram and Delaunay triangulation

Similar documents
Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

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

Lecture 3 Randomized Algorithms

2D Geometry. Pierre Alliez Inria Sophia Antipolis

CS133 Computational Geometry

Computational Geometry

Voronoi Diagrams, Delaunay Triangulations and Polytopes

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

Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5

6.854J / J Advanced Algorithms Fall 2008

Geometric Algorithms in Three Dimensions Tutorial. FSP Seminar, Strobl,

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

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

COMPUTATIONAL GEOMETRY

Computational Geometry

be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that

CAD & Computational Geometry Course plan

Computational Geometry Lecture Duality of Points and Lines

CS S Lecture February 13, 2017

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

Delaunay Triangulations

Lecture 1 Discrete Geometric Structures

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

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

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

Computational Geometry

Computational Geometry

Computational Geometry Lecture Delaunay Triangulation

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

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

Linear Programming in Small Dimensions

Line segment intersection. Family of intersection problems

Week 8 Voronoi Diagrams

Notes in Computational Geometry Voronoi Diagrams

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

CSE 5311 Notes 13: Computational Geometry

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

Computational Geometry: Lecture 5

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

3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College

An Introduction to Computational Geometry: Arrangements and Duality

Voronoi Diagram. Xiao-Ming Fu

Week 7 Convex Hulls in 3D

Other Voronoi/Delaunay Structures

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

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

Insertions and Deletions in Delaunay Triangulations using Guided Point Location. Kevin Buchin TU Eindhoven

Delaunay Triangulation

Midpoint Routing algorithms for Delaunay Triangulations

2 Delaunay Triangulations

Math 414 Lecture 2 Everyone have a laptop?

Simplicial Cells in Arrangements of Hyperplanes

Computational Geometry

Outline. CGAL par l exemplel. Current Partners. The CGAL Project.

Figure 2.1: An example of a convex set and a nonconvex one.

7 Voronoi Diagrams. The Post Office Problem

Flavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville

COMPUTING CONSTRAINED DELAUNAY

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)

Lifting Transform, Voronoi, Delaunay, Convex Hulls

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Quadratic and cubic b-splines by generalizing higher-order voronoi diagrams

Outline of the presentation

VORONOI DIAGRAM PETR FELKEL. FEL CTU PRAGUE Based on [Berg] and [Mount]

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls

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

Convex Hulls in Three Dimensions. Polyhedra

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

Wolfgang Mulzer Institut für Informatik. Planar Delaunay Triangulations and Proximity Structures

Problèmes de robustesse en géométrie algorithmique

Dirichlet Voronoi Diagrams and Delaunay Triangulations

Convex Hulls in 3D. Definitions. Size of a Convex Hull in 3D. Collision detection: The smallest volume polyhedral that contains a set of points in 3D.

Average case analysis of dynamic geometric optimization

Lecture 3 (CGAL) Panos Giannopoulos, Dror Atariah AG TI WS 2012/13

Art Gallery, Triangulation, and Voronoi Regions

Computational Geometry

Optimal Compression of a Polyline with Segments and Arcs

Computational Geometry. EDU - Tutorial on Computational Geometry (9201)

Möbius Transformations in Scientific Computing. David Eppstein

Linear Programming and its Applications

Surface Mesh Generation

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

Simplicial Complexes: Second Lecture

Search and Intersection. O Rourke, Chapter 7 de Berg et al., Chapter 11

1. Meshes. D7013E Lecture 14

MATH 890 HOMEWORK 2 DAVID MEREDITH

Optimal detection of intersections between convex polyhedra

Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006

Mesh Basics: Definitions, Topology & Data Structures. Standard Graph Definitions

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Monotone Paths in Geometric Triangulations

Lecture 3: Art Gallery Problems and Polygon Triangulation

10. Line Arrangements Lecture on Monday 2 nd November, 2009 by Michael Homann

Tiling Three-Dimensional Space with Simplices. Shankar Krishnan AT&T Labs - Research

Computational Geometry. Geometry Cross Product Convex Hull Problem Sweep Line Algorithm

Chapter 10 Similarity

Rubber bands. Chapter Rubber band representation

Detecting intersections between convex polyhedra

Transcription:

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

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Algorithms and complexity Voronoi algorithms 4 Generalizations and Representation

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Algorithms and complexity Voronoi algorithms 4 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 Algorithms and complexity Voronoi algorithms 4 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

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 Algorithms and complexity Voronoi algorithms 4 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.

Incremental Delaunay

Incremental Delaunay

Incremental Delaunay Find triangles in conflict

Incremental Delaunay

Incremental Delaunay Delete triangles in conflict

Incremental Delaunay Triangulate hole

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

Divide & Conquer

Fortune s sweep C pj pi v pk 2 events: L pi

Outline 1 Voronoi diagram 2 Delaunay triangulation 3 Algorithms and complexity Voronoi algorithms 4 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).