Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Similar documents
2D Geometry. Pierre Alliez Inria Sophia Antipolis

Voronoi diagram and Delaunay triangulation

Computational Geometry

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

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

CS133 Computational Geometry

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

Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5

Delaunay Triangulations

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

Week 8 Voronoi Diagrams

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

CAD & Computational Geometry Course plan

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

Lifting Transform, Voronoi, Delaunay, Convex Hulls

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

Computational Geometry

Image Warping and Morphing. Alexey Tikhonov : Computational Photography Alexei Efros, CMU, Fall 2007

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams

Computational Geometry Lecture Delaunay Triangulation

Lecture 1 Discrete Geometric Structures

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

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

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

Image Warping and Morphing. Alexey Tikhonov

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Lecture 3 Randomized Algorithms

An Introduction to Computational Geometry: Arrangements and Duality

The aim is to find an average between two objects Not an average of two images of objects but an image of the average object!

CS S Lecture February 13, 2017

Math 414 Lecture 2 Everyone have a laptop?

Linear Programming in Small Dimensions

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

6.854J / J Advanced Algorithms Fall 2008

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

The Farthest Point Delaunay Triangulation Minimizes Angles

Voronoi Diagrams, Delaunay Triangulations and Polytopes

Other Voronoi/Delaunay Structures

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

Voronoi Diagram. Xiao-Ming Fu

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

Introduction to Voronoi Diagrams and Delaunay Triangulations

MATH 890 HOMEWORK 2 DAVID MEREDITH

2 Delaunay Triangulations

COMPUTATIONAL GEOMETRY

Computational Geometry: Lecture 5

Computational Geometry Lecture Duality of Points and Lines

Art Gallery, Triangulation, and Voronoi Regions

Delaunay Triangulation

Midpoint Routing algorithms for Delaunay Triangulations

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Line Arrangement. Chapter 6

Optimal Compression of a Polyline with Segments and Arcs

The statement implies that any three intersection points of two distinct planes lie on a line.

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

Notes in Computational Geometry Voronoi Diagrams

COMPUTING CONSTRAINED DELAUNAY

Dirichlet Voronoi Diagrams and Delaunay Triangulations

Definitions. Topology/Geometry of Geodesics. Joseph D. Clinton. SNEC June Magnus J. Wenninger

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

! Linear programming"! Duality "! Smallest enclosing disk"

Linear programming and duality theory

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

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

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

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

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

FACES OF CONVEX SETS

Lecture Notes 2: The Simplex Algorithm

Computational Geometry

Pebble Sets in Convex Polygons

Rigidity of ball-polyhedra via truncated Voronoi and Delaunay complexes

Polytopes Course Notes

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Simplicial Complexes: Second Lecture

However, this is not always true! For example, this fails if both A and B are closed and unbounded (find an example).

Computational Geometry

Acute Triangulations of Polygons

7 Voronoi Diagrams. The Post Office Problem

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

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

Approximating a set of points by circles

Image Warping and Morphing. Alexey Tikhonov

Computational Geometry

The Cut Locus and the Jordan Curve Theorem

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

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.

Lecture 2 - Introduction to Polytopes

Linear Programming- Manufacturing with

8 Standard Euclidean Triangle Geometry

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

SOAR2001 GEOMETRY SUMMER 2001

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29

Rubber bands. Chapter Rubber band representation

Example: The following is an example of a polyhedron. Fill the blanks with the appropriate answer. Vertices:

Basic tool: orientation tests

Outline of the presentation

CIRCLE. Circle is a collection of all points in a plane which are equidistant from a fixed point.

Linear Programming Duality and Algorithms

Polygon Triangulation

Transcription:

Voronoi diagrams Delaunay Triangulations Pierre Alliez Inria

Voronoi Diagram

Voronoi Diagram

Voronoi Diagram The collection of the non-empty Voronoi regions and their faces, together with their incidence relations, constitute a cell complex called the Voronoi diagram of E. The locus of points which are equidistant to two sites pi and pj is called a bisector, all bisectors being affine subspaces of IR d (lines in 2D). demo

Voronoi Diagram A Voronoi cell of a site pi defined as the intersection of closed half-spaces bounded by bisectors. Implies: All Voronoi cells are convex. demo

Voronoi Diagram Voronoi cells may be unbounded with unbounded bisectors. Happens when a site pi is on the boundary of the convex hull of E. demo

Voronoi Diagram Voronoi cells have faces of different dimensions. In 2D, a face of dimension k is the intersection of 3 - k Voronoi cells. A Voronoi vertex is generically equidistant from three points, and a Voronoi edge is equidistant from two points.

Delaunay Triangulation

Delaunay Triangulation Dual structure of the Voronoi diagram. The Delaunay triangulation of a set of sites E is a simplicial complex such that k+1 points in E form a Delaunay simplex if their Voronoi cells have nonempty intersection demo

Delaunay Triangulation The Delaunay triangulation of a point set E covers the convex hull of E.

Delaunay Triangulation canonical triangulation associated to any point set

Delaunay Triangulation: Local Property Empty circle: A triangulation T of a point set E such that any d- simplex of T has a circumsphere that does not enclose any point of E is a Delaunay triangulation of E. Conversely, any k-simplex with vertices in E that can be circumscribed by a hypersphere that does not enclose any point of E is a face of the Delaunay triangulation of E. demo

Delaunay Triangulation In 2D: «quality» triangulation Smallest triangle angle: The Delaunay triangulation of a point set E is the triangulation of E which maximizes the smallest angle. Even stronger: The triangulation of E whose angular vector is maximal for the lexicographic order is the Delaunay triangulation of E. good bad

Delaunay Triangulation Thales Theorem: Let C be a circle, and l a line intersecting C at points a and b. Let p, q, r and s be points lying on the same side of l, where p and q are on C, r inside C and s outside C. Then: s a l q r b p arb 2 apb aqb asb

Delaunay Triangulation Improving a triangulation: In any convex quadrangle, an edge flip is possible. If this flip improves the triangulation locally, it also improves the global triangulation. If an edge flip improves the triangulation, the first edge is called illegal.

Delaunay Triangulation Illegal edges: Lemma: An edge pq is illegal iff one of its opposite vertices is inside the circle defined by the other three vertices. Proof: By Thales theorem. p Theorem: A Delaunay triangulation does not contain illegal edges. Corollary: A triangle is Delaunay iff the circle through its vertices is empty of other sites (the empty-circle condition). Corollary: The Delaunay triangulation is not unique if more than three sites are co-circular. q

Delaunay Triangulation Duality on the paraboloid: Delaunay triangulation obtained by projecting the lower part of the convex hull.

Delaunay Triangulation z=x 2 +y 2 z=x 2 +y 2 z=x 2 +y 2 Project the 2D point set onto the 3D paraboloid Compute the 3D lower convex hull Project the 3D facets back to the plane.

Proof The intersection of a plane with the paraboloid is an ellipse whose projection to the plane is a circle. s lies within the circumcircle of p, q, r iff s lies on the lower side of the plane passing through p, q, r. r q s p p, q, r S form a Delaunay triangle iff p, q, r form a face of the convex hull of S. q s r p

Voronoi Diagram Given a set S of points in the plane, associate with each point p=(a,b) S the plane tangent to the paraboloid at p: z = 2ax+2by-(a2+b2). q p VD(S) is the projection to the (x,y) plane of the 1-skeleton of the convex polyhedron formed from the intersection of the halfspaces above these planes. q p

Delaunay Triangulation Naïve O(n 4 ) Construction Algorithm?

Delaunay Triangulation Naïve O(n 4 ) Construction Algorithm Repeat until impossible: Select a triple of sites. If the circle through them is empty of other sites, keep the triangle whose vertices are the triple.

The In-Circle Test Theorem: If a,b,c,d form a CCW convex polygon, then d lies in the circle determined by a, b and c iff: 2 2 ax ay ax a 1 y 2 2 x y x y 1 det b b b b 0 2 2 cx cy cx cy 1 2 2 d x d y d x d y 1 Proof: We prove that equality holds if the points are co-circular. There exists a center q and radius r such that: and similarly for b, c, d: ( a q ) ( a q ) r 2 2 2 x x y y 2 2 ax a y ax ay 1 2 2 b b x by b 1 2 2 cx c y 2 2 d d x d y d x y 1 x y 2 2 2 2qx 2 qy ( qx qy r ) 0 c c x y 1 So these four vectors are linearly dependent, hence their det vanishes. Corollary: d circle(a,b,c) iff b circle(c,d,a) iff c circle(d,a,b) iff a circle(b,c,d)

Delaunay Triangulation Another naive construction: Start with an arbitrary triangulation. Flip any illegal edge until no more exist. Requires proof that there are no local minima. Could take a long time to terminate.

O(nlogn) Delaunay Triangulation Algorithm Incremental algorithm: Form bounding triangle which encloses all the sites. Add the sites one after another in random order and update triangulation. If the site is inside an existing triangle: Connect site to triangle vertices. Check if a 'flip' can be performed on one of the triangle edges. If so check recursively the neighboring edges. If the site is on an existing edge: Replace edge with four new edges. Check if a 'flip' can be performed on one of the opposite edges. If so check recursively the neighboring edges.

Flipping Edges A new vertex p r is added, causing the creation of edges. The legality of the edge p i p j (with opposite vertex) p k is checked. If p i p j is illegal, perform a flip, and recursively check edges p i p k and p j p k, the new edges opposite p r. Notice that the recursive call for p i p k cannot eliminate the edge p r p k. Note: All edge flips replace edges opposite the new vertex by edges incident to it! p i p k p r p j

Flipping Edges - Example p r p i p j p k

Number of Flips Theorem: The expected number of edges flips made in the course of the algorithm (some of which also disappear later) is at most 6n. Proof: During insertion of vertex p i, k i new edges are created: 3 new initial edges, and k i -3 due to flips. Backward analysis: E[k i ] = the expected degree of p i after the insertion is complete = 6 (Euler).

Algorithm Complexity Point location for every point: O(log n) time. Flips: (n) expected time in total (for all steps). Total expected time: O(n log n). Space: (n). demo

3D Delaunay Triangulation

Constrained Delaunay Triangulation

2D Constrained Delaunay Triangulation Definition 1 : Let (P, S) be a PSLG. The constrained triangulation T(P, S) is constrained Delaunay iff the circumcircle of any triangle t of T encloses no vertex visible from a point in the relative interior of t.

2D Constrained Delaunay Triangulation Definition 2 : Let (P, S) be a PSLG. The constrained triangulation T(P, S) is constrained Delaunay iff any edge e of T is either a segment of S or is constrained Delaunay. Simplex e constrained Delaunay with respect to the PSLG (P, S) iff: int(e) S = 0 There exists a circumcircle of e that encloses no vertex visible from a point in the relative interior of e.

2D Constrained Delaunay Triangulation Any PSLG (P, S) has a constrained Delaunay triangulation. If (P, S) has no degeneracy, this triangulation is unique.

3D Constrained Delaunay Triangulation [Shewchuk, Si]