computational geometry
play

Computational Geometry Exercise session #4: Polygon decompositions - PDF document

Computational Geometry Exercise session #4: Polygon decompositions Art Gallery Theorem Trapezoidal decomposition Convex decomposition Solution to homework 1 1 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 The


  1. Computational Geometry Exercise session #4: Polygon decompositions • Art Gallery Theorem • Trapezoidal decomposition • Convex decomposition • Solution to homework 1 1 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 The art gallery problem • Given a simple polygon, place point guards whose visibility regions cover the interior. n=36, guards=9 2 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 1

  2. Art Gallery Theorem • Theorem : For any simple polygon, ⎣ n /3 ⎦ point guards are sufficient to guard the entire polygon. A placement of ⎣ n /3 ⎦ guards can be computed in O ( n log n ) time. • Proof idea: triangulate polygon, then position guards to cover each triangle. 3 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 Placing the guards 4 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 2

  3. 3-Coloring of Polygon Vertices Green: 8 Black: 8 White: 9 5 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 Correctness & Complexity • Dual graph of triangulation is a tree. • BFS traversal of tree visits vertices once. • Neighboring triangle vertices get different colors. • One vertex guard sees the vertices of different colors. • Running time: triangulation + linear traversal of dual graph. Can be done in O ( n ) time. 6 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 3

  4. Guarding with Edge guards How many edge guards are needed to guard a gallery? 7 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 Lower bound for edge guards ⎣ n /4 ⎦ edge guards needed What about star-shaped polygons? 8 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 4

  5. Trapezoidal decomposition • Trapezoids are quadrilaterals with two parallel edges, or triangles (degenerate case). • Trapezoids are easily triangulated. • Decompose polygon into slabs which are easily searched. • Computation using sweep line is easily achieved. • Drawback: new vertices are added to the decomposition. 9 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 Example 10 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 5

  6. Sweep events I e 1 e 4 e 2 e 3 v Sweepline status: ( e 1 , e 2 , e 3 , e 4 ) � ( e 1 , e 4 ) 11 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 Sweep events II v e 1 e 4 e 3 e 2 Sweepline status: ( e 1 , e 4 ) � ( e 1 , e 2 , e 3 , e 4 ) 12 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 6

  7. Sweep events III e 2 v e 4 e 1 e 3 Sweepline status: ( e 1 , e 2 , e 4 ) � ( e 1 , e 3 , e 4 ) 13 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 Convex decompositions • Partition polygon into minimal number of convex pieces with disjoint interiors such they cover the polygon. • Two versions: � Partition using only diagonals � Partition with additional vertices (‘Steiner points’) • For a given polygon, which version results in less convex pieces? • Which is harder to compute? 14 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 7

  8. Decomposition example Decomposition with diagonals Decomposition with Steiner points 15 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 Bounds on optimal decomposition • Let Φ be the fewest number of convex pieces into which a polygon may be partitioned. • Theorem : for a polygon of r reflex vertices: ⎡ r /2 ⎤+1 ≤ Φ ≤ r +1 • Proof : � Drawing a segment that bisects a reflex vertex removes all reflex angles � upper bound (Steiner). � At most two reflex angles can be resolved by a single segment � lower bound (both versions). 16 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 8

  9. 4-Approximation algorithm • Hertel & Melhorn 1983. • Quickly partition polygon such that number of pieces is at most four times the optimal. • Definition : a diagonal d is essential for vertex v if removal of d creates a non-convex piece. Otherwise it is inessential . • Algorithm : triangulate, then remove inessential diagonals one after one until none remain. 17 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 Quality of approximation • Algorithm outputs convex partitions, since it starts with one and maintains this invariant throughout all steps. • Lemma 1 : There can be at most two diagonals essential for any reflex vertex. • Lemma 2: The Hertel-Melhorn algorithm is never worse than four times the optimal number of pieces. 18 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 9

  10. Proof of lemma 1 b H + H - c v a v - v + 19 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 Proof of lemma 2 • When algorithm terminates, all diagonals are essential. • According to lemma 1, every reflex vertex is responsible for at most 2 diagonals. • Number of diagonals cannot be more than 2 r . • Number of convex pieces produced: M ≤ 2 r +1. • Lower bound for Φ implies M ≤ 4Φ . 20 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 10

  11. Optimal Convex partitioning • Best algorithm for partitioning with diagonals: [Keil, 1985], runs in O ( r 2 n log n ) time. • Best algorithm for partitioning with Steiner points: [Chazelle, 1980], runs in O ( n + r 3 ) time. 21 Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005 11

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend