1 / 76

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 Ganapathi pganapathi@cs.stonybrook.edu . Simple Polygons.

stella
Download Presentation

AMS 345/CSE 355 Computational Geometry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AMS 345/CSE 355 Computational Geometry Lecture: Polygons, Guarding Joe Mitchell

  2. Do You Like Puzzles? Come to the new Stony Brook Puzzle Society Meets: Friday 1:05 - 2:30 pm at CSE 2120 Organizer:  PramodGanapathi pganapathi@cs.stonybrook.edu

  3. Simple Polygons Definition: A simple polygon P is the (closed) region bounded by a “simple closed polygonal curve”.

  4. Simple Polygon Definition in [O’Rourke]:

  5. Simple Polygons Alternate Definition: P is a simple polygon if it is a simply connected (i.e., no “holes”) subset of the plane whose boundary consists of a connected finite union of straight line segments.

  6. Simple Polygons Some definitions would allow this as a “degenerate” simple polygon

  7. Definitions: Visibility, Diagonals p q For p,q in P, p is visible to q if segment pq lies within (closed) P

  8. Definitions: Visibility, Diagonals p clearly sees q but does not clearly see q’ p sees q’ p q q’ For p,q in P, p is visible to q if segment pq lies within (closed) P p is clearly visible to q if p is visible to q AND the only points in common between pq and P are possibly p and q

  9. Definitions: Visibility, Diagonals q vm vj p vi pq is a chord (not a diagonal) vivj is a diagonal vkvm is not a diagonal vk vivj is a diagonal if vi and vj are vertices that clearly see each other (versus: chordpq, with p and q on the boundary of P)

  10. Diagonals

  11. Triangulation Definition: A partition of P into triangles by a maximal set of noncrossing diagonals.

  12. Triangulation: Existence Proof: Induction on n.

  13. 3D: Polyhedra

  14. Polyhedra: Tetrahedralization

  15. Polyhedron with No Tetrahedralization

  16. Combinatorics: Triangulations Proof: induction on n. True for n=3 (trivially). Assume true for n=k (the Induction Hypothesis). Take an n-gon, P, with n=k+1. We know it has a diagonal (since n>3). The diagonal partitions P into two polygons, of sizes n1 and n2 , with n1 +n2 =n+2 (since the endpoints of the diagonal are counted twice) By IH, the two subpolygons have triangulation with n1-2 and n2-2 triangles; glue together along the diagonal to get a total of (n1-2)+(n2-2)=n-2 triangles in the overall triangulation. Similar for number of diagonals.

  17. Ears vi+1 vi-1 A diagonal of the form vi-1vi+1 is an ear diagonal; the triangle vi-1vivi+1 is an ear, and vi is the ear tip Note that there are at most n ears (and that a convex polygon has exactly n ears) vi

  18. Ears Proof(1): There are n edges of P and n-2 triangles in any triangulation. Imagine dropping the n edges into the n-2 “pigeonholes” corresponding to the triangles: Each edge appears on boundary of some triangle. By pigeonhole principle, at least 2 triangles get 2 edges “dropped in their box”. (2) Consider the planar dual (excluding the face at infinity) of a triangulation of P. Claim: The dual graph for a triangulated simple polygon is a TREE. Any tree of 2 or more nodes has at least 2 nodes of degree 1.

  19. Ear-Clipping Triangulation Ear-clipping applet Input: Simple polygon P vi+1 vi-1 vi pq is a diagonal, cutting off a single triangle (the “ear”) Naive: O(n3) Smarter: Keep track of “ear tip status” of each vi (initialize: O(n2) ) Each ear clip requires O(1) ear tip tests ( @ O(n) per test ) Thus, O(n2) total, worst-case

  20. Number of Triangulations The diagonals, together with the edges of convex polygon P, form the complete graph, Kn

  21. Number of Triangulations: Convex Polygons The first Catalan numbers, for n=1,2,3,… are given by: 1, 2, 5, 14, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452,…

  22. Number of Triangulations: Convex Polygons

  23. Number of Triangulations: Convex Polygons

  24. Number of Triangulations: Simple Polygons Question: Is it possible to find a simple polygon P having exactly k triangulations, for every positive integer k?

  25. Exercise Can you find a simple polygon that has exactly 3 different triangulations?

  26. Number of Triangulations: Simple Polygons

  27. Number of Triangulations: Simple Polygons Diagonals Set of all diagonals, together with the edges of P, forms the visibility graph of P Forced diagonals: Must be in ANY triangulation of P: Any diagonal that is not crossed by other diagonals. Example:

  28. Number of Triangulations: Simple Polygons 5 1 2 Total number of different triangulations: 1 * 2 * C5-2 = 1 * 2 * 5 = 10 Example:

  29. More Examples: HW1

  30. Counting Triangulations: Example

  31. Counting Triangulations: Example Step 1: Draw all diagonals Forced diagonals: Those not crossed by any other diagonals

  32. Counting Triangulations: Example Step 2: Count number of triangulations in each separate subpolygon C4 = 14 4 By case analysis 3 Overall: 4*3*14

  33. Counting Triangulations: Example How many triangulations of subpolygon? 5 Case analysis: (1) Use 03: one completion (since, once we use 03, diagonals 24, 14, and 14 are ruled out, leaving us with just 04 and 02; i.e., diagonal 03 splits polygon into two nonconvex quadrilaterals, each with a unique triangulation) 0 4 3 2 1

  34. Counting Triangulations: Example How many triangulations? 5 • Case analysis: • Use 03: one completion • (2) Do NOT Use 03: Then, 24 is forced, and there are 3 triangulations possible (using 15 and 14, or 04 and 14, or 04 and 02). • Total for cases (1) and (2): 1+3=4 0 4 3 2 1

  35. Counting Triangulations Efficient algorithm? Yes! (for simple polygons P, but not for polygons with holes) Idea: use “dynamic programming” (recursive solution)

  36. Triangulation Simple polygon Planar Straight-Line Graph (PSLG) Polygon with holes Input: Set S of n points Input: Other shapes 3D: Surfaces and solids (tetrahedralization) Triangulation applet for simple polygons

  37. Triangulation Theory in 2D Also with holes But, NOT true in 3D! Proofs: Induction on n. • Thm: A simple polygon has a triangulation. • Lem: An n-gon with n4 has a diagonal. • Thm: Any triangulation of a simple n-gon has n-3 diagonals, n-2 triangles. • Thm: The “dual” graph is a tree. • Thm: An n-gon with n4 has 2 “ears”. • Thm: The triangulation graph can be 3-colored.

  38. Triangulating a Polygon fan Not practical! • Simple “ear-clipping” methods: O(n2 ) • Cases with simple O(n) algorithms: • Convex polygons (trivial!) • Monotone polygons, monotone mountains • General case (even with holes!): • Sweep algorithm to decompose into monotone mountains • O(n log n) • Best theoretical results: • Simple polygons: O(n) [Chazelle’90] • Polygons with h holes: O(n+h log1+ h), (n+h log h) [BC] • Good practical method: FIST [Held], based on clever methods of ear clipping (worst-case O(n2 ) )

  39. TetrahedralizingPolyhedra

  40. TetrahedralizingPolyhedra

  41. Today, 9/5/13 Review triangulation Guarding problem Art Gallery Theorem Computing guard numbers by hand Examples Begin Convex Hulls

  42. Guarding Polygons V(p) = visibility polygon of p inside P = set of all points q that p sees in P

  43. Guarding Polygons Goal: Find a set of points (“guards”) within P so that their VP(p) sets cover P “Guard cover” “Point guards” versus “vertex guards” Regular visibility versus “clear visibility”

  44. Min-Guard Coverage Problem Determine a small set of guards to see all of a given polygon P 5 guards suffice to cover P (what about 4 guards? 3?) Computing min # of guards, g(P), for n-gon P is NP-hard Challenge/open: Compute g(P) approximately

  45. Art Gallery Theorem The Combinatorics of Guarding g(P) = min number of guards for P G(n) = max of g(P), over all n-gons P What is G(n)? Answer: G(n) = floor(n/3) In fact, floor(n/3) vertex guards suffice Answers a question of Victor Klee: How many guards are needed to see a simple n-gon? Proofs: Chvatal (induction); Fisk (simple coloring argument)

  46. Chvatal Comb: Necessity of n/3 Guards in Some Cases w1 w2 Shows that some n-gons require at least n/3 guards, since we can place “independent witness points”, wi , near each tip, and must have a separate guard in each of their visibility regions (triangles) Can extend to cases where n is not a multiple of 3, showing lower bound of floor(n/3). Thus: G(n) ≥ floor(n/3)

  47. Fisk Proof: Floor(n/3) Guards Suffice: G(n) ≤ floor(n/3) • Triangulate P (we know a triangulation exists) • 3-color the vertices (of triangulation graph) • Place guards at vertices in smallest color class (claim: every point of P is seen, since each triangle has a guard at a corner, and that guard sees all of the (convex) triangle)

  48. Vertex Guarding a Simple Polygon • Vertex guarding applet 11 yellow vertices 11 blue vertices 16 white vertices Place guards at yellow (or blue) vertices: at most n/3 vertex guards (here, n=38)

  49. Computing g(P) by Inspection • By inspection, find a large set of “visibility independent witness points” within P • If we find w indep witness points, then we know that g(P)≥w • By inspection, find a small set of m guards that see all of P: g(P)≤m • If we are lucky, m=w; otherwise, more arguments are needed!

  50. Lower Bound on g(P) g(P)  4 Fact: If we can place w visibility independent witness points, then g(P) ≥ w.

More Related