Art Gallery, Triangulation, and Voronoi Regions

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

Computational Geometry

Art Gallery Theorems and Algorithms

Algorithms. Daniel G. Aliaga. Computer Science Department Purdue University

Polygon Triangulation. (slides partially by Daniel Vlasic )

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

Polygon decomposition. Motivation: Art gallery problem

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

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Polygon Triangulation. (slides partially by Daniel Vlasic )

Lecture 3: Art Gallery Problems and Polygon Triangulation

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

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

CS133 Computational Geometry

Week 8 Voronoi Diagrams

CS6100: Topics in Design and Analysis of Algorithms

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

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

2D Geometry. Pierre Alliez Inria Sophia Antipolis

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

AMS 345/CSE 355 Computational Geometry

Week 2 Polygon Triangulation

MISCELLANEOUS SHAPES

Motivation: Art gallery problem. Polygon decomposition. Art gallery problem: upper bound. Art gallery problem: lower bound

Polygon Partitioning. Lecture03

The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards

Computational Geometry [csci 3250]

The Art Gallery Problem

Voronoi Diagram. Xiao-Ming Fu

How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Computational Geometry

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

Orthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Prof. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel

The Art Gallery Problem

Polygon Triangulation

Computational Geometry: Lecture 5

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

Voronoi diagram and Delaunay triangulation

Computational Geometry Lecture Delaunay Triangulation

The SUMO Speaker Series for Undergraduates. The Art Gallery Problem

Introduction to Voronoi Diagrams and Delaunay Triangulations

An Introduction to Computational Geometry: Arrangements and Duality

Solving Art Gallery Problem with Triangulation and Graph Coloring

Visibility Analysis for Video Surveillance

Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5

CSE 5311 Notes 13: Computational Geometry

Computational Geometry [csci 3250]

Professor: Padraic Bartlett. Lecture 9: Trees and Art Galleries. Week 10 UCSB 2015

CAD & Computational Geometry Course plan

The Farthest Point Delaunay Triangulation Minimizes Angles

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

Constrained Delaunay Triangulations (CDT)

Lecture 4: Trees and Art Galleries

Discrete Mathematics I So Practice Sheet Solutions 1

(a) (b) (c) (d) (e) (f) Figure 3.1: What is a polygon?

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

Polygon Triangulation

Other Voronoi/Delaunay Structures

Delaunay Triangulations

CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013

Line Arrangement. Chapter 6

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

ON THE EMPTY CONVEX PARTITION OF A FINITE SET IN THE PLANE**

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

Line Arrangements. Applications

Lecture 11 Combinatorial Planning: In the Plane

CS S Lecture February 13, 2017

Degree Constrained Triangulation

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams

Line segment intersection. Family of intersection problems

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Computational Geometry Overview from Cormen, et al.

CMSC 754 Computational Geometry 1

Notes in Computational Geometry Voronoi Diagrams

MOBILE GUARDS 3.1. INTRODUCTION

The Graphs of Triangulations of Polygons

2 Delaunay Triangulations

Computational Geometry

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

Coloring Variations of the Art Gallery Problem

Computational Geometry

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

arxiv: v1 [cs.cg] 8 Jan 2018

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

[Ba] Bykat, A., Convex hull of a finite set of points in two dimensions, Info. Proc. Lett. 7 (1978),

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

Computational Geometry Lecture Duality of Points and Lines

COMPUTING CONSTRAINED DELAUNAY

Guard Placement For Wireless Localization

Voronoi Diagram and Convex Hull

Coverage and Search Algorithms. Chapter 10

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

Lifting Transform, Voronoi, Delaunay, Convex Hulls

Computational Geometry Exercise Duality

Module 4: Index Structures Lecture 16: Voronoi Diagrams and Tries. The Lecture Contains: Voronoi diagrams. Tries. Index structures

Projects & Polygon Triangulation

Ma/CS 6b Class 11: Kuratowski and Coloring

Transcription:

Art Gallery, Triangulation, and Voronoi Regions CS535 Fall 2016 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on Profs. Shmuel Wimer and Andy Mirzaian

Topics Triangulation Art Gallery 3 Coloring Voronoi Diagram and Delaunay Triangulation Surface Triangulation

Art Gallery Problem: determine the minimum number of guards sufficient to cover the interior of an n- wall art gallery Victor Klee, 1973 Vasek Chvatal, 1975 Main reference for this material: Art Gallery Theorems and Algorithms, Joseph O Rourke, Oxford University Press, 1987

Definitions P is a simple polygon (i.e., does not cross over itself) Point x P covers a point y P if xy P Let G(P) be the minimum number k of points of P, such that for any y P, some x=x 1 x k covers y Let g(n) be the max(g(p)) over all polygons of n vertices Thus, g(n) guards are occasionally necessary and always sufficient

Guard Placement 1. Can we just place one guard on every 3 rd vertex? 3 0 6 9

Guard Placement 1. Can we just place one guard on every 3 rd vertex? No! x 3 0 6 9 x is not visible

Guard Placement 1. Can we just place one guard on every 3 rd vertex? No! x 2 9 6 x 1 x 0 15 21 12 3 0 18 2 4 2 7 one of x i is not visible

Guard Placement 2. If guards placed so they can see all the walls, does that imply they can see all the interior? No! x x is not visible

Guard Placement 3. If we restrict guards to vertices, is g v (n) = g(n)? In general, yes, equal for g(n) = max(g(p)) x one point guard x or two vertex guards?

Art Gallery Theorem: floor(n/3) guards are occasionally necessary and always sufficient to cover a polygon of n vertices Chvatal s Art Gallery Theorem Watchman Theorem

3-Coloring Guards Placement 3-coloring is an assignment of 3 colors to the vertices of V such that no adjacent vertices have same color. It is sufficient to place guards at one color only (say red). This follows since every triangle must have 3 distinct colors at its corners, hence one must be red. Therefore every triangle is covered and the triangles cover the entire polygon P. Pigeon-hole principle: There must be one color whose number of assigned vertices doesn t exceed n/3. Conclusion : n 3 guards are sufficient.

Triangulation Theory Lemma: Every polygon must have at least one strictly convex vertex. Proof: Let the vertices be counterclockwise ordered. Traversing the boundary, a convex vertex corresponds to a left turn. v L Pick the lowest vertex (pick the rightmost if there are a few). L is a line passing through v. The edge following v must lie above L.

Triangulation Theory Lemma: Every polygon of n 4 vertices has a diagonal. Proof: There exists a strictly convex vertex v. Let a and b be vertices adjacent to v. If [a,b] is a diagonal we are done. Else...

avb must contain at a c x d b L least one vertex of P. Let x be the closest vertex to v, measured v orthogonal to the line passing through ab. The interior of cvd cannot contain any point of P. Therefore [ x, v] P x, v, hence a diagonal.

Theorem: Every n-vertex polygon P can be triangulated. Proof: By induction on n. If n=3 P is a triangle. Let n 4. By lemma, P has a diagonal d which divides P into two polygons P1 and P2, having n1<n d and n2<n vertices, respectively. P1 and P2 can be triangulated by induction hypothesis.

Triangulation Theory Interesting Question: Do all triangulations of a given polygon have the same number of diagonals and triangles? Answer: Every triangulation of an n-vertex polygon P has n-3 diagonals and n-2 triangles.

Triangulation Complexity Implementing triangulation as in the existence theorem requires O n 4 time. There are nn 3 2 diagonal candidates. Cheking validity of a diagonal requires intersection test against all edges and previously defined diagonals, which takes O n time. This is repeated n 3 times, yielding total O n time. 4 Feb 2011 17

Triangulation Complexity Naïve: O(n 4 ) There are n(n-3)/2 diagonal candidates Checking the validity of a diagonal against all previous edges and diagonals takes O(n) This is repeated n-3 times Total time O(n 4 )

Triangulation Complexity Lennes, 1911: O(n 2 ) Pick the leftmost vertex v of P and connect its two neighbors u and w. Checking whether uw is a diagonal takes O(n). If it is, the rest is a (n-1)- vertex polygon. If uw is not a diagonal, get x, the farthest vertex from uw inside Δuvw. This takes O(n) time. vx is a diagonal dividing P into P1 and P2, having n total number of vertices. Recursive application of the above procedure consumes total O(n 2 ) time.

Triangulation Complexity Definition: P is monotone w.r.t to a line l if P intersects with any line l perpendicular to l in a single segment, a point or it doesn t intersect. l l l monotone l l l l not monotone l l

Triangulation Complexity An n-vertex simple polygon can be partitioned into y-monotone polygons in O(nlogn) time and O(n) storage Monotone polygon can be triangulated in O(n)

Triangulating y-monotone Polygon (Sketch) 2 1 3 P's vertices are sorted in descending y. 4 5 6 7 9 8 P's boundary is traversed with one leg on left and one leg on right, by poping and pushing vertices from a st ack. 1 1 P 1 0 Diagonals insertions are decided according to stack's top status.

Triangulation Complexity Theorem: (Gary et. al. 1978) A simple n-vertex polygon can be triangulated in O(nlogn) time and O(n) storage The problem has been studied extensively between 1978 and 1991, when in 1991 Chazelle presented an O(n) time complexity algorithm.

Voronoi Diagram P = { p 1, p 2,, p n } a set of n points in the plane.

Voronoi Diagram: Voronoi(P): # regions = n, # edges 3n-6, # vertices 2n-5.

Delaunay Triangulation = Dual of the Voronoi Diagram DT(P): # vertices = n, # edges 3n-6, # triangles 2n-5.

Delaunay Triangulation Delaunay triangles have the empty circle property.

Voronoi Diagram & Delaunay Triangulation

Voronoi Diagram P = { p 1, p 2,, p n } a set of n points in the plane. Assume: no 3 points collinear, no 4 points cocircular. PB(p i, p j ) perpendicular bisector of p i p j. p i p j Voronoi Region of p i : V(p n i ) H(pi, p j) j 1 j i p i Voronoi Diagram of P: VD(P) n i 1 V(p i )

VD Properties Each Voronoi region V(p i ) is a convex polygon (possibly unbounded). V(p i ) is unbounded p i is on the boundary of CH(P). Consider a Voronoi vertex v = V(p i ) V(p j ) V(p k ). Let C(v) = the circle centered at v passing through p i, p j, p k. C(v) is circumcircle of Delaunay Triangle (p i, p j, p k ). C(v) is an empty circle, i.e., its interior contains no other sites of P. p j = a nearest neighbor of p i V(p i ) V(p j ) is a Voronoi edge (p i, p j ) is a Delaunay edge.

DT Properties DT(P) is straight-line dual of VD(P). DT(P) is a triangulation of P, i.e., each bounded face is a triangle (if P is in general position). (p i, p j ) is a Delaunay edge an empty circle passing through p i and p j. Each triangular face of DT(P) is dual of a Voronoi vertex of VD(P). Each edge of DT(P) corresponds to an edge of VD(P). Each node of DT(P), a site, corresponds to a Voronoi region of VD(P). Boundary of DT(P) is CH(P). Interior of each triangle in DT(P) is empty, i.e., contains no point of P.

Computing Delaunay Triangulation Many algorithms: O(nlogn) Lets use flipping: Recall: A Delaunay Triangulation is a set of triangles T in which each edge of T possesses at least one empty circumcircle. Empty: A circumcircle is said to be empty if it contains no nodes of the set V

What is a flip? A non-delaunay edge flipped

?? Flip Algorithm

Flip Algorithm 1. Let V be the set of input vertices. 2. T = Any Triangulation of V. 3. Repeat until all edges of T are Delaunay edges. a. Find a non-delaunay edge that is flippable b. Flip Naïve Complexity: O(n 2 )

Locally Delaunay Globally Delaunay If T is a triangulation with all its edges locally Delaunay, then T is the Delaunay triangulation. Proof by contradiction: Let all edges of T be locally Delaunay but an edge of T is not Delaunay, so flip it

Other flipping ideas? Flipping

Randomized Incremental Flipping Complexity can be O(nlogn)

Popular Method Fortune s Algorithm A sweepline algorithm for Voronoi Algorithms, 1987, O(nlogn)

The Wave Propagation View Simultaneously drop pebbles on calm lake at n sites. Watch the intersection of expanding waves.

Time as 3 rd dimension z=time p y a a x p x y apex of the cone All sites have identical opaque cones

Time as 3 rd dimension y z x p q base plane All sites have identical opaque cones. cone(p) cone(q) = vertical hyperbola h(p,q). Vertical projection of h(p,q) on the xy base plane is PB(p,q).