CS6100: Topics in Design and Analysis of Algorithms

Size: px
Start display at page:

Download "CS6100: Topics in Design and Analysis of Algorithms"

Transcription

1 CS6100: Topics in Design and Analysis of Algorithms Guarding and Triangulating Polygons John Augustine CS6100 (Even 2012): Guarding and Triangulating Polygons

2 The Art Gallery Problem A simple polygon is a region enclosed by a single closed polygonal chain that does not intersect itself. Models 2D spaces such as floor plans. Given a simple polygon P with n vertices, place a small number of guards inside P so that it is completely monitored. I.e., for any point p inside P, there must be a guard positioned at g such that line segment pq is completely inside P. Computing the optimum (i.e., minimum) is NP-hard. CS6100 (Even 2012): Guarding and Triangulating Polygons 1

3 Triangulation A convex polygon only needs one guard! So, if we can decompose P into convex pieces, we need one per convex piece. A diagonal of P is a line segment that connects two vertices of P and is contained in the interior of P. A triangulation is a decomposition of P into triangles be a maximal number of non-intersecting diagonals. Theorem 1. Any simple polygon P with n vertices admits a triangulation and any triangulation has (n 2) triangles. CS6100 (Even 2012): Guarding and Triangulating Polygons 2

4 w w v v v u u Proof Sketch. First we show that a diagonal always exists. (See figures above.) Then, we can always cut along such a diagonal, thereby decomposing P into two smaller polygons that we can induct on to show both claims. Assume for now that a triangulation of P is given. Do we really need n 2 guards? Can we do better? CS6100 (Even 2012): Guarding and Triangulating Polygons 3

5 Back to the Art Gallery Problem A 3-colouring of a triangulated polygon P is an assignment of one of three distinct colours to each vertex such that any two vertices connected by an edge or a diagonal are assigned different colours. Note. The three vertices of any triangle will be assigned different colours. How can we show that n/3 guards suffice if 3-colouring? The dual graph of a triangulated polygon P is a graph G = (V, E) such that V is the set of (n 2) triangles and edges connect two triangles that share an edge. We use DFS on the dual graph to 3-colour P. µ ν? CS6100 (Even 2012): Guarding and Triangulating Polygons 4

6 Invariant. Vertices of all triangles corresponding to dual graph nodes traversed are 3-colored. Start DFS from any node. corresponding triangle. 3-Colour the vertices of Consider any subsequent edge traversed. It goes through a diagonal d and enters a new triangle. The ends of d are already coloured and the third vertex of the newly entered triangle can only be coloured by one colour. The good news is that the invariant is maintained. Theorem 2 (Art Gallery Theorem). To guard a simple polygon with n vertices, n/3 guards are sufficient and sometimes necessary. n/3 prongs CS6100 (Even 2012): Guarding and Triangulating Polygons 5

7 Overview of Approach Theorem 3. We can compute the positions of the n/3 guards for a simple polygon P with n vertices in O(n log n) time. The birds eye view of the algorithm is as follows. 1. Decompose P into y-monotone pieces. (Definition pending.) 2. Triangulate each y-monotone piece. This gives a triangulation of P colour the vertices of P using the triangulation of P. 4. Find the colour used least and place guards on vertices of that colour. CS6100 (Even 2012): Guarding and Triangulating Polygons 6

8 Decomposing P into y-monotone pieces A y-monotone polygon is a simple polygon such that its intersection with any line perpendicular to the y-axis is connected. y-axis To triangulate P, we first partition P into y-monotone sub-polygons (in O(n log n) time and then triangulate the y-monotone pieces (again, in O(n log n) time. CS6100 (Even 2012): Guarding and Triangulating Polygons 7

9 Classification of Vertices A vertex at which, as we walk along the edges, the direction of the edges change from downward to upward or vice versa is called a turn vertex. A vertex at which the direction does not change is called a regular vertex. The following figure illustrates 4 types of turn vertices. v 10 v 5 v 6 e5 e 4 e 6 v 9 v 7 e 8 v 8 e 7 e 9 e 10 e 11 v 12 v 11 v 3 v 4 e 3 e 2 v 2 e 1 v 1 e 15 e 14 v 14 v 15 e 13 e 12 v 13 = start vertex = end vertex = regular vertex = split vertex = merge vertex Lemma 1. A simple polygon is y-monotone if it does not contain any split or merge vertex. The proof is left as an exercise. While this lemma is easy to see, a formal proof needs a bit of care. CS6100 (Even 2012): Guarding and Triangulating Polygons 8

10 Plane Sweep Method Let v 1 be the rightmost vertex in P. Traverse the edges of P starting from v 1 so that the polygon is always to your left. In so doing, denote the ith vertex you encounter as v i for all 1 < i n. Denote edge v i v i+1 as e i for 1 i < n. Denote edge v n v 1 as e n. Let Left be the set of edges of P such that the polygon lies to its right. We sweep a line l from top to bottom. The status of the sweep line l at any given time is the edges in Left that l intersects. They are stored in L R order in a balanced binary tree. The events are the vertices of P and since they are known up front, they can be stored in an array sorted according to the descending order of y coordinates. CS6100 (Even 2012): Guarding and Triangulating Polygons 9

11 Let e be an edge in the status of l. We define the helper of e, denoted helper(e), as the lowest vertex above l such that the horizontal line segment connecting the vertex to e lies inside P. Note: helper(e) may be the upper endpoint of e. (The figure below shows the helper of an edge e j.) e j helper(e j ) e k v i e i 1 e i l Given Lemma 1, we can focus our efforts on eliminating merge and split vertices. CS6100 (Even 2012): Guarding and Triangulating Polygons 10

12 Pseudocode from BCKO 1 Algorithm MAKEMONOTONE(P) Input. A simple polygon P stored in a doubly-connected edge list D. Output. A partitioning of P into monotone subpolygons, stored in D. 1. Construct a priority queue Q on the vertices of P, using their y-coordinates as priority. If two points have the same y-coordinate, the one with smaller x-coordinate has higher priority. 2. Initialize an empty binary search tree T. 3. while Q is not empty 4. do Remove the vertex v i with the highest priority from Q. 5. Call the appropriate procedure to handle the vertex, depending on its type. HANDLESTARTVERTEX(v i ) 1. Insert e i in T and set helper(e i ) to v i. HANDLEENDVERTEX(v i ) 1. if helper(e i 1 ) is a merge vertex 2. then Insert the diagonal connecting v i to helper(e i 1 ) in D. 3. Delete e i 1 from T. HANDLESPLITVERTEX(v i ) 1. Search in T to find the edge e j directly left of v i. 2. Insert the diagonal connecting v i to helper(e j ) in D. 3. helper(e j ) v i 4. Insert e i in T and set helper(e i ) to v i. 1 Computational Geometry: Algorithms and Applications, by de Berg, Cheong, van Krevald, and Overmars. CS6100 (Even 2012): Guarding and Triangulating Polygons 11

13 HANDLEMERGEVERTEX(v i ) 1. if helper(e i 1 ) is a merge vertex 2. then Insert the diagonal connecting v i to helper(e i 1 ) in D. 3. Delete e i 1 from T. 4. Search in T to find the edge e j directly left of v i. 5. if helper(e j ) is a merge vertex 6. then Insert the diagonal connecting v i to helper(e j ) in D. 7. helper(e j ) v i HANDLEREGULARVERTEX(v i ) 1. if the interior of P lies to the right of v i 2. then if helper(e i 1 ) is a merge vertex 3. then Insert the diagonal connecting v i to helper(e i 1 ) in D. 4. Delete e i 1 from T. 5. Insert e i in T and set helper(e i ) to v i. 6. else Search in T to find the edge e j directly left of v i. 7. if helper(e j ) is a merge vertex 8. then Insert the diagonal connecting v i to helper(e j ) in D. 9. helper(e j ) v i Lemma 2. Algorithm MakeMonotone correctly adds a set of non-intersecting diagonals that partitions P into monotone subpolygons. Theorem 4. A simple polygon with n vertices can be partioned into y-monotone polygons in O(n log n) time with an algorithm that uses O(n) storage. Proofs are left as exercises. CS6100 (Even 2012): Guarding and Triangulating Polygons 12

14 e j v i e k v m diagonal will be added when the sweep line reaches v m v 5 e5 e 4 v 6 e 6 v 9 v 7 e v 7 8 e 8 e 9 v 10 e 10 e11 e 13 v 3 v 4 e 3 e 2 v 2 e 1 e 15 e 14 v 14 v 15 v 1 v 11 v 12 e 12 v 13 CS6100 (Even 2012): Guarding and Triangulating Polygons 13

15 Triangulating a Monotone Polygon Given a y-monotone polygon P, we want to triangulate it. We assume that P is given as a sequence of vertices ordered anticlockwise. From the given sequence, we can order the vertices in decreasing order of their y-coordinates. How? Once ordered, we pass through the vertices top bottom. As the algorithm progresses, a (connected) portion of P will be untriangulated, while the rest is triangulated. Even though we might have passed some of the vertices, they may still be on the boundary of the untriangulated part of P. CS6100 (Even 2012): Guarding and Triangulating Polygons 14

16 triangles split off not yet triangulated As can be seen above, the untriangulated, but passed vertices form a geometric shape that has an inverted funnel-like structure with the following properties. Straight side. This is a part of an edge. Concave side. The other side forms a sequence of reflex vertices (i.e., vertices whose internal angle is > 180 ). This side might have triangulated pieces sticking to it. CS6100 (Even 2012): Guarding and Triangulating Polygons 15

17 We will need a stack S, which is initially empty. At any time, it stores the vertices of the untriangulated part. The vertices are stored in S such that if popped one after another, we will get the lowest hightest sequence. If next vertex v j is on the straight side: We pop vertices one-by-one and add diagonals from each popped vertex to v. The last vertex popped will be the other side of the straight edge, so we don t add a diagonal between the last vertex and v. popped pushed e v j popped and pushed CS6100 (Even 2012): Guarding and Triangulating Polygons 16

18 If next vertex v j is on the concave side: We again pop vertices from the stack and add diagonals as long as (i) we can add diagonals that don t intersect 2 edges of P and (ii) S is not empty. If the diagonal to top vertex v in S intersects edges of P, then do not pop v. Furthermore, push the vertex that was popped immediately prior to v (if it exists) back into the stack. Finally, push v j into the stack as well. popped and pushed popped popped and pushed v j pushed v j pushed 2 How can this be tested in O(1) time? CS6100 (Even 2012): Guarding and Triangulating Polygons 17

19 Algorithm TRIANGULATEMONOTONEPOLYGON(P) Input. A strictly y-monotone polygon P stored in a doubly-connected edge list D. Output. A triangulation of P stored in the doubly-connected edge list D. 1. Merge the vertices on the left chain and the vertices on the right chain of P into one sequence, sorted on decreasing y-coordinate. If two vertices have the same y-coordinate, then the leftmost one comes first. Let u 1,...,u n denote the sorted sequence. 2. Initialize an empty stack S, and push u 1 and u 2 onto it. 3. for j 3 to n 1 4. do if u j and the vertex on top of S are on different chains 5. then Pop all vertices from S. 6. Insert into D a diagonal from u j to each popped vertex, except the last one. 7. Push u j 1 and u j onto S. 8. else Pop one vertex from S. 9. Pop the other vertices from S as long as the diagonals from u j to them are inside P. Insert these diagonals into D. Push the last vertex that has been popped back onto S. 10. Push u j onto S. 11. Add diagonals from u n to all stack vertices except the first and the last one. Theorem 5. A strictly y-monotone polygon with n vertices can be triangulated in O(n) time. Theorem 6. A simple polygon with n vertices can be triangulated in O(n log n) time. Theorem 7. A planar subdivision with n vertices can be triangulated in O(n log n) time. CS6100 (Even 2012): Guarding and Triangulating Polygons 18

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 3: Art Gallery Problems and Polygon Triangulation EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified

More information

Computational Geometry

Computational Geometry Motivation Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment is

More information

Polygon Triangulation. (slides partially by Daniel Vlasic )

Polygon Triangulation. (slides partially by Daniel Vlasic ) Polygon Triangulation (slides partially by Daniel Vlasic ) Triangulation: Definition Triangulation of a simple polygon P: decomposition of P into triangles by a maximal set of non-intersecting diagonals

More information

Polygon Triangulation. (slides partially by Daniel Vlasic )

Polygon Triangulation. (slides partially by Daniel Vlasic ) Polygon Triangulation (slides partially by Daniel Vlasic ) Triangulation: Definition Triangulation of a simple polygon P: decomposition of P into triangles by a maximal set of non-intersecting diagonals

More information

Polygon decomposition. Motivation: Art gallery problem

Polygon decomposition. Motivation: Art gallery problem CG Lecture 3 Polygon decomposition 1. Polygon triangulation Triangulation theory Monotone polygon triangulation 2. Polygon decomposition into monotone pieces 3. Trapezoidal decomposition 4. Convex decomposition

More information

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

Motivation: Art gallery problem. Polygon decomposition. Art gallery problem: upper bound. Art gallery problem: lower bound CG Lecture 3 Polygon decomposition 1. Polygon triangulation Triangulation theory Monotone polygon triangulation 2. Polygon decomposition into monotone pieces 3. Trapezoidal decomposition 4. Conex decomposition

More information

Projects & Polygon Triangulation

Projects & Polygon Triangulation Computational Geometry Lecture Projects & INSTITUTE FOR THEORETICAL INFORMATICS FACULTY OF INFORMATICS Tamara Mchedlidze Darren Strash 02.11.2015 1 Projects 2 Project Specifications Groups: 2 or 3 students,

More information

Polygon Partitioning. Lecture03

Polygon Partitioning. Lecture03 1 Polygon Partitioning Lecture03 2 History of Triangulation Algorithms 3 Outline Monotone polygon Triangulation of monotone polygon Trapezoidal decomposition Decomposition in monotone mountain Convex decomposition

More information

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

CS 532: 3D Computer Vision 14 th Set of Notes 1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating

More information

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

CS 532: 3D Computer Vision 11 th Set of Notes 1 CS 532: 3D Computer Vision 11 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Line Intersection

More information

Solutions to problem set 1

Solutions to problem set 1 Massachusetts Institute of Technology Handout 5 6.838: Geometric Computation October 4, 2001 Professors Piotr Indyk and Seth Teller Solutions to problem set 1 (mostly taken from the solution set of Jan

More information

Visibility Analysis for Video Surveillance

Visibility Analysis for Video Surveillance Volume-6, Issue-4, July-August 2016 International Journal of Engineering and Management Research Page Number: 225-229 Visibility Analysis for Video Surveillance K. Sumalatha 1, Mr. M. Sreenath Reddy, M.E

More information

Geometric Streaming Algorithms with a Sorting Primitive (TR CS )

Geometric Streaming Algorithms with a Sorting Primitive (TR CS ) Geometric Streaming Algorithms with a Sorting Primitive (TR CS-2007-17) Eric Y. Chen School of Computer Science University of Waterloo Waterloo, ON N2L 3G1, Canada, y28chen@cs.uwaterloo.ca Abstract. We

More information

Computational Geometry [csci 3250]

Computational Geometry [csci 3250] Computational Geometry [csci 3250] Laura Toma Bowdoin College Polygon Triangulation Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon

More information

MISCELLANEOUS SHAPES

MISCELLANEOUS SHAPES MISCELLANEOUS SHAPES 4.1. INTRODUCTION Five generic shapes of polygons have been usefully distinguished in the literature: convex, orthogonal, star, spiral, and monotone. 1 Convex polygons obviously do

More information

Visibility: Finding the Staircase Kernel in Orthogonal Polygons

Visibility: Finding the Staircase Kernel in Orthogonal Polygons Visibility: Finding the Staircase Kernel in Orthogonal Polygons 8 Visibility: Finding the Staircase Kernel in Orthogonal Polygons Tzvetalin S. Vassilev, Nipissing University, Canada Stefan Pape, Nipissing

More information

Planar Point Location

Planar Point Location C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,

More information

Art Gallery, Triangulation, and Voronoi Regions

Art Gallery, Triangulation, and Voronoi Regions 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

More information

Polygon Triangulation

Polygon Triangulation Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon into triangles). Computational Geometry [csci 3250] Polygon Triangulation Laura Toma

More information

Lecture 4: Trees and Art Galleries

Lecture 4: Trees and Art Galleries Math 7H: Honors Seminar Professor: Padraic Bartlett Lecture 4: Trees and Art Galleries Week 2 UCSB 2014 1 Prelude: Graph Theory In this talk, we re going to refer frequently to things called graphs and

More information

2 A Plane Sweep Algorithm for Line Segment Intersection

2 A Plane Sweep Algorithm for Line Segment Intersection EECS 396/496: Computational Geometry Fall 2017 Lecturer: Huck Bennett Lecture 2: Line Segment Intersection In this lecture, we will study the problem of computing all intersections of a set of line segmentn

More information

Line Arrangements. Applications

Line Arrangements. Applications Computational Geometry Chapter 9 Line Arrangements 1 Line Arrangements Applications On the Agenda 2 1 Complexity of a Line Arrangement Given a set L of n lines in the plane, their arrangement A(L) is the

More information

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

Professor: Padraic Bartlett. Lecture 9: Trees and Art Galleries. Week 10 UCSB 2015 Math 7H Professor: Padraic Bartlett Lecture 9: Trees and Art Galleries Week 10 UCSB 2015 1 Prelude: Graph Theory This talk uses the mathematical concepts of graphs from our previous class. In particular,

More information

AMS 345/CSE 355 Computational Geometry

AMS 345/CSE 355 Computational Geometry AMS 345/CSE 355 Computational Geometry Lecture: Polygons, Guarding Joe Mitchell Do You Like Puzzles? Come to the new Stony Brook Puzzle Society Meets: Friday 1:05-2:30 pm at CSE 2120 Organizer: Pramod

More information

Computational Geometry

Computational Geometry Lecture 12: Lecture 12: Motivation: Terrains by interpolation To build a model of the terrain surface, we can start with a number of sample points where we know the height. Lecture 12: Motivation: Terrains

More information

Visibilty: Finding the Staircase Kernel in Orthogonal Polygons

Visibilty: Finding the Staircase Kernel in Orthogonal Polygons American Journal of Computational and Applied Mathematics 2012, 2(2): 17-24 DOI: 10.5923/j.ajcam.20120202.04 Visibilty: Finding the Staircase Kernel in Orthogonal Polygons Stefan A. Pape, Tzvetalin S.

More information

Line segment intersection. Family of intersection problems

Line segment intersection. Family of intersection problems CG Lecture 2 Line segment intersection Intersecting two line segments Line sweep algorithm Convex polygon intersection Boolean operations on polygons Subdivision overlay algorithm 1 Family of intersection

More information

The Art Gallery Problem

The Art Gallery Problem The Art Gallery Problem Imagine an art gallery whose floor plan is a simple polygon, and a guard (a point) inside the gallery. Computational Geometry [csci 3250] The Art Gallery Problem Laura Toma Bowdoin

More information

Computational Geometry [csci 3250]

Computational Geometry [csci 3250] Computational Geometry [csci 3250] Laura Toma Bowdoin College The Art Gallery Problem The Art Gallery Problem Imagine an art gallery whose floor plan is a simple polygon, and a guard (a point) inside the

More information

Line Arrangement. Chapter 6

Line Arrangement. Chapter 6 Line Arrangement Chapter 6 Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision. Line Arrangements Problem: Given a set L of n lines

More information

Week 2 Polygon Triangulation

Week 2 Polygon Triangulation Week 2 Polygon Triangulation What is a polygon? Last week A polygonal chain is a connected series of line segments A closed polygonal chain is a polygonal chain, such that there is also a line segment

More information

Notes in Computational Geometry Voronoi Diagrams

Notes in Computational Geometry Voronoi Diagrams Notes in Computational Geometry Voronoi Diagrams Prof. Sandeep Sen and Prof. Amit Kumar Indian Institute of Technology, Delhi Voronoi Diagrams In this lecture, we study Voronoi Diagrams, also known as

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

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

The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards Nicole Chesnokov May 16, 2018 Contents 1 Introduction 2 2 The Art Gallery Problem 3 2.1 Proof..................................

More information

Algorithm SLOWCONVEXHULL(P) Input. A set P of points in the plane. Output. A list L containing the vertices of CH(P) in clockwise order. 1. E /0. 2.

Algorithm SLOWCONVEXHULL(P) Input. A set P of points in the plane. Output. A list L containing the vertices of CH(P) in clockwise order. 1. E /0. 2. Algorithm SLOWCONVEXHULL(P) Input. A set P of points in the plane. Output. A list L containing the vertices of CH(P) in clockwise order. 1. E /0. 2. for all ordered pairs (p,q) P P with p not equal to

More information

Computational Geometry Lecture Duality of Points and Lines

Computational Geometry Lecture Duality of Points and Lines Computational Geometry Lecture Duality of Points and Lines INSTITUTE FOR THEORETICAL INFORMATICS FACULTY OF INFORMATICS 11.1.2016 Duality Transforms We have seen duality for planar graphs and duality of

More information

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

Ma/CS 6b Class 26: Art Galleries and Politicians Ma/CS 6b Class 26: Art Galleries and Politicians By Adam Sheffer The Art Gallery Problem Problem. We wish to place security cameras at a gallery, such that they cover it completely. Every camera can cover

More information

Lecture 7: Computational Geometry

Lecture 7: Computational Geometry Lecture 7: Computational Geometry CS 491 CAP Uttam Thakore Friday, October 7 th, 2016 Credit for many of the slides on solving geometry problems goes to the Stanford CS 97SI course lecture on computational

More information

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

Orthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem Orthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem Pawe l Żyliński Institute of Mathematics University of Gdańsk, 8095 Gdańsk, Poland pz@math.univ.gda.pl Submitted: Sep 9, 005;

More information

Triangulation: basic graphics algorithms

Triangulation: basic graphics algorithms CHAPTER 15 Triangulation: basic graphics algorithms We now know how to draw parametrized surfaces in a reasonably realistic manner. We do not yet, however, knowexactlyhowtodrawevensimpleregionsonsurfaces,suchassphericaltriangles,ifwewanttotakeinto

More information

Polygon Triangulation

Polygon Triangulation If triangles had a god, they would give him three sides. Charles Louis de Secondat Montesquie (1721) Down with Euclid! Death to triangles! Jean Dieudonné (1959) P Polygon Triangulation P.1 Introduction

More information

CS S Lecture February 13, 2017

CS S Lecture February 13, 2017 CS 6301.008.18S Lecture February 13, 2017 Main topics are #Voronoi-diagrams, #Fortune. Quick Note about Planar Point Location Last week, I started giving a difficult analysis of the planar point location

More information

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

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls 1/60 Geometric Algorithms Lecture 1: Introduction Convex Hulls Geometric algorithms scope 2/60 Geometry algorithms (practice): Study of geometric problems that arise in various applications and how algorithms

More information

GEOMETRIC SEARCHING PART 1: POINT LOCATION

GEOMETRIC SEARCHING PART 1: POINT LOCATION GEOMETRIC SEARCHING PART 1: POINT LOCATION PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 3.10.2014 Geometric

More information

January 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms

January 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms Geometric data structures Sudebkumar Prasant Pal Department of Computer Science and Engineering IIT Kharagpur, 721302. email: spp@cse.iitkgp.ernet.in January 10-12, 2012 - NIT Surathkal Introduction to

More information

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

How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park http://www.cs.umd.edu/~sorelle Outline Introduction Algorithms Computational Geometry Art Museum Problem

More information

Range Searching II: Windowing Queries

Range Searching II: Windowing Queries Computational Geometry Lecture : Windowing Queries INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Tamara Mchedlidze Chih-Hung Liu 23.11.2015 1 Object types in range queries y0 y x x0 Setting

More information

Straight Skeleton. Computational Geometry and Geometric Computing Seminar Lavinia Dinu. Supervisor: Eric Berberich

Straight Skeleton. Computational Geometry and Geometric Computing Seminar Lavinia Dinu. Supervisor: Eric Berberich Straight Skeleton Computational Geometry and Geometric Computing Seminar Lavinia Dinu Supervisor: Eric Berberich How to fit a roof to these walls? [SSA] Walls and fitted roof Outline Definitions and Basic

More information

Connected Components of Underlying Graphs of Halving Lines

Connected Components of Underlying Graphs of Halving Lines arxiv:1304.5658v1 [math.co] 20 Apr 2013 Connected Components of Underlying Graphs of Halving Lines Tanya Khovanova MIT November 5, 2018 Abstract Dai Yang MIT In this paper we discuss the connected components

More information

CMSC 754 Computational Geometry 1

CMSC 754 Computational Geometry 1 CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College

More information

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8!

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8! CS 410/584, Algorithm Design & Analysis, Computational Geometry! Algorithms for manipulation of geometric objects We will concentrate on 2-D geometry Numerically robust try to avoid division Round-off

More information

Motion Planning. O Rourke, Chapter 8

Motion Planning. O Rourke, Chapter 8 O Rourke, Chapter 8 Outline Translating a polygon Moving a ladder Shortest Path (Point-to-Point) Goal: Given disjoint polygons in the plane, and given positions s and t, find the shortest path from s to

More information

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Lecture 16: Voronoi Diagrams and Fortune s Algorithm contains q changes as a result of the ith insertion. Let P i denote this probability (where the probability is taken over random insertion orders, irrespective of the choice of q). Since q could fall through

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpenCourseWare http://ocw.mit.edu 6.854J / 18.415J Advanced Algorithms Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advanced

More information

Computational Geometry

Computational Geometry CS 5633 -- Spring 2004 Computational Geometry Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk CS 5633 Analysis of Algorithms 1 Computational geometry Algorithms for solving

More information

The SUMO Speaker Series for Undergraduates. The Art Gallery Problem

The SUMO Speaker Series for Undergraduates. The Art Gallery Problem The SUMO Speaker Series for Undergraduates (food from Pizza Chicago) Wednesday, April 21 4:40-5:30, room 380C The Art Gallery Problem Amy Pang Abstract: Imagine you are the curator of an art gallery with

More information

Coverage and Search Algorithms. Chapter 10

Coverage and Search Algorithms. Chapter 10 Coverage and Search Algorithms Chapter 10 Objectives To investigate some simple algorithms for covering the area in an environment To understand how to break down an environment into simple convex pieces

More information

Grids Geometry Computational Geometry

Grids Geometry Computational Geometry Grids Geometry Computational Geometry Grids You will encounter many problems whose solutions need grid representation map VLSI layout the most natural way to carve space into regions regular pattern rectangular

More information

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest

More information

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8 CS 410/584,, Computational Geometry Algorithms for manipulation of geometric objects We will concentrate on 2-D geometry Numerically robust try to avoid division Round-off error Divide-by-0 checks Techniques

More information

CMSC 754 Computational Geometry 1

CMSC 754 Computational Geometry 1 CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College

More information

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

Fortune s Algorithm. Notes from the book by de Berg, Van Krevald, Overmars, and Schwarzkpf Notes from the book by de Berg, Van Krevald, Overmars, and Schwarzkpf Based on sweeping the plane with a horizontal line and computing the Voronoi diagram as the line sweeps Straight forward approach won

More information

An Implementation of a Near-Linear Polygon Triangulation Algorithm for General Polygons

An Implementation of a Near-Linear Polygon Triangulation Algorithm for General Polygons An Implementation of a Near-Linear Polygon Triangulation Algorithm for General Polygons Abstract In 1991 Seidel found a practical algorithm for triangulating simple polygons with an expected running time

More information

Trapezoid and Chain Methods

Trapezoid and Chain Methods C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 05 Date: Febuary 17, 1993 Scribe: Peter C. McCluskey Trapezoid and Chain Methods 1 Trapezoid Method (continued) Continuing

More information

2D Geometry. Pierre Alliez Inria Sophia Antipolis

2D Geometry. Pierre Alliez Inria Sophia Antipolis 2D Geometry Pierre Alliez Inria Sophia Antipolis Outline Sample problems Polygons Graphs Convex hull Voronoi diagram Delaunay triangulation Sample Problems Line Segment Intersection Theorem: Segments (p

More information

Theoretical Computer Science

Theoretical Computer Science Theoretical Computer Science 408 (2008) 129 142 Contents lists available at ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs Drawing colored graphs on colored points

More information

2 Geometry Solutions

2 Geometry Solutions 2 Geometry Solutions jacques@ucsd.edu Here is give problems and solutions in increasing order of difficulty. 2.1 Easier problems Problem 1. What is the minimum number of hyperplanar slices to make a d-dimensional

More information

Computational Geometry. Lecture 17

Computational Geometry. Lecture 17 Computational Geometry Lecture 17 Computational geometry Algorithms for solving geometric problems in 2D and higher. Fundamental objects: Basic structures: point line segment line point set polygon L17.2

More information

Degree Constrained Triangulation

Degree Constrained Triangulation UNLV Theses, Dissertations, Professional Papers, and Capstones 8-1-2012 Degree Constrained Triangulation Roshan Gyawali University of Nevada, Las Vegas, roshangyawali@gmail.com Follow this and additional

More information

Discrete Mathematics I So Practice Sheet Solutions 1

Discrete Mathematics I So Practice Sheet Solutions 1 Discrete Mathematics I So 2016 Tibor Szabó Shagnik Das Practice Sheet Solutions 1 Provided below are possible solutions to the questions from the practice sheet issued towards the end of the course. Exercise

More information

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

VORONOI DIAGRAM PETR FELKEL. FEL CTU PRAGUE   Based on [Berg] and [Mount] VORONOI DIAGRAM PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 9.11.2017 Talk overview Definition and examples

More information

Computational Geometry Exercise Duality

Computational Geometry Exercise Duality Computational Geometry Exercise Duality LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Guido Brückner 20.07.2018 1 Duality Transforms We have seen duality for

More information

Computational Geometry

Computational Geometry Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess

More information

Computational Geometry

Computational Geometry Casting a polyhedron CAD/CAM systems CAD/CAM systems allow you to design objects and test how they can be constructed Many objects are constructed used a mold Casting Casting A general question: Given

More information

Orthogonal Ham-Sandwich Theorem in R 3

Orthogonal Ham-Sandwich Theorem in R 3 Orthogonal Ham-Sandwich Theorem in R 3 Downloaded 11/24/17 to 37.44.201.8. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php Abstract The ham-sandwich theorem

More information

Notes and Answers to Homework Exam 1, Geometric Algorithms, 2017

Notes and Answers to Homework Exam 1, Geometric Algorithms, 2017 Notes and Answers to Homework Exam 1, Geometric Algorithms, 2017 Below are some notes and sketches of correct answers for the first homework exam. We have also included the most common mistakes that were

More information

Straight-line Drawability of Embedded Graphs

Straight-line Drawability of Embedded Graphs Straight-line Drawability of Embedded Graphs Hiroshi Nagamochi Department of Applied Mathematics and Physics, Kyoto University, Yoshida Honmachi, Sakyo, Kyoto 606-8501, Japan. nag@amp.i.kyoto-u.ac.jp Abstract:

More information

K-structure, Separating Chain, Gap Tree, and Layered DAG

K-structure, Separating Chain, Gap Tree, and Layered DAG K-structure, Separating Chain, Gap Tree, and Layered DAG Presented by Dave Tahmoush Overview Improvement on Gap Tree and K-structure Faster point location Encompasses Separating Chain Better storage Designed

More information

1. Meshes. D7013E Lecture 14

1. Meshes. D7013E Lecture 14 D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle

More information

On the Topology of Walkable Environments

On the Topology of Walkable Environments On the Topology of Walkable Environments Benjamin Burton 1, Arne Hillebrand 2, Maarten Löffler 2, Schleimer, Saul 3, Dylan Thurston 4, Stephan Tillmann 5, and Wouter van Toll 2 1 University of Queensland,

More information

The Art Gallery Problem

The Art Gallery Problem The Art Gallery Problem Connor Bohlken Nebraska Wesleyan University cbohlken@nebrwesleyan.edu May 11, 2016 Abstract Given a polygonal art gallery of n vertices, how many security guards are necessary to

More information

Coverage and Search Algorithms. Chapter 10

Coverage and Search Algorithms. Chapter 10 Coverage and Search Algorithms Chapter 10 Objectives To investigate some simple algorithms for covering the area in an environment To understand how break down an environment in simple convex pieces To

More information

Planar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College

Planar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College Planar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hull Given a set P of points in 2D, their convex hull is the smallest convex polygon that contains all points

More information

Chapter 6. Planar Orientations. 6.1 Numberings of Digraphs

Chapter 6. Planar Orientations. 6.1 Numberings of Digraphs Chapter 6 Planar Orientations In this chapter we will focus on algorithms and techniques used for drawing planar graphs. The algorithms we will use are based on numbering the vertices and orienting the

More information

On Merging Straight Skeletons

On Merging Straight Skeletons On Merging Straight Skeletons Franz Aurenhammer 1 and Michael Steinkogler 2 1 Institute for Theoretical Computer Science, University of Technology, Graz, Austria auren@igi.tugraz.at 2 Institute for Theoretical

More information

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

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here) Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here) Voronoi Diagram & Delaunay Triangualtion Algorithms Divide-&-Conquer Plane Sweep Lifting

More information

Trapezoidal Maps. Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy

Trapezoidal Maps. Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy Trapezoidal Maps Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy Trapezoidal Maps S={s 1,s 2,..., s n } is the set of line segments segments don t intersect, but can touch

More information

Practical Linear Algebra: A Geometry Toolbox

Practical Linear Algebra: A Geometry Toolbox Practical Linear Algebra: A Geometry Toolbox Third edition Chapter 18: Putting Lines Together: Polylines and Polygons Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book

More information

Computational Geometry

Computational Geometry Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess

More information

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Michiel Smid October 14, 2003 1 Introduction In these notes, we introduce a powerful technique for solving geometric problems.

More information

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

Prof. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel Computational Geometry (CS 236719) http://www.cs.tufts.edu/~barequet/teaching/cg Chapter 1 Introduction 1 Copyright 2002-2009 2009 Prof. Gill Barequet Center for Graphics and Geometric Computing Dept.

More information

Computing the Fréchet Distance Between Simple Polygons

Computing the Fréchet Distance Between Simple Polygons Computing the Fréchet Distance Between Simple Polygons Kevin Buchin a,1, Maike Buchin a,1 and Carola Wenk b,2 a Institute of Computer Science, Freie Universität Berlin, Takustraße 9, D-14195 Berlin, Germany

More information

Henneberg construction

Henneberg construction Henneberg construction Seminar über Algorithmen FU-Berlin, WS 2007/08 Andrei Haralevich Abstract: In this work will be explained two different types of steps of Henneberg construction. And how Henneberg

More information

Planar graphs. Chapter 8

Planar graphs. Chapter 8 Chapter 8 Planar graphs Definition 8.1. A graph is called planar if it can be drawn in the plane so that edges intersect only at vertices to which they are incident. Example 8.2. Different representations

More information

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

[Ba] Bykat, A., Convex hull of a finite set of points in two dimensions, Info. Proc. Lett. 7 (1978), [Ba] Bykat, A., Convex hull of a finite set of points in two dimensions, Info. Proc. Lett. 7 (1978), 296-298. [Ch] [CI] [EET] [ET] [FM] [GJPT] [Gr] [HM] [KKT] Chazelle, B., A theorem on polygon cutting

More information

Ma/CS 6b Class 11: Kuratowski and Coloring

Ma/CS 6b Class 11: Kuratowski and Coloring Ma/CS 6b Class 11: Kuratowski and Coloring By Adam Sheffer Kuratowski's Theorem Theorem. A graph is planar if and only if it does not have K 5 and K 3,3 as topological minors. We know that if a graph contains

More information

Accepting that the simple base case of a sp graph is that of Figure 3.1.a we can recursively define our term:

Accepting that the simple base case of a sp graph is that of Figure 3.1.a we can recursively define our term: Chapter 3 Series Parallel Digraphs Introduction In this chapter we examine series-parallel digraphs which are a common type of graph. They have a significant use in several applications that make them

More information

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

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality Planar Graphs In the first half of this book, we consider mostly planar graphs and their geometric representations, mostly in the plane. We start with a survey of basic results on planar graphs. This chapter

More information

Polygon Triangulation

Polygon Triangulation Polygon Triangulation Definition Simple Polygons 1. A polygon is the region of a plane bounded by a finite collection of line segments forming a simple closed curve. 2. Simple closed curve means a certain

More information

Week 7 Convex Hulls in 3D

Week 7 Convex Hulls in 3D 1 Week 7 Convex Hulls in 3D 2 Polyhedra A polyhedron is the natural generalization of a 2D polygon to 3D 3 Closed Polyhedral Surface A closed polyhedral surface is a finite set of interior disjoint polygons

More information