730 likes | 990 Vues
Computational Geometry. Piyush Kumar (Lecture 4: Planar Graphs, Polygons and Art Gallery). Welcome to CIS5930. Every planar graph can be drawn in the plane with straight edges. Fáry-Wagner. Definitions. Planar Straight Line Graph No two edges intersect except at endpoints.
E N D
Computational Geometry Piyush Kumar (Lecture 4: Planar Graphs, Polygons and Art Gallery) Welcome to CIS5930
Every planar graph can be drawn in the plane with straight edges Fáry-Wagner Definitions • Planar Straight Line Graph • No two edges intersect except at endpoints Courtesy Lovasz
The clique of size 4 PSLG • A graph is called planar if it can be drawn in the plane in such a way that no two edges intersect except possibly at endpoints.
PSLG : Definitions • A plane graph cuts the plane into regions called faces. 4 faces! 6 edges 4 vertices v – e + f = ?
PSLG What about K3,3 ?
PSLG • Another example v – e + f = ?
Euler 1752 • For any connected planar graph G, • vertices – edges + faces = 2 Let v = # of vertices e = # of edges f = # of faces
PSLG • Any planar graph can be triangulated • Draw the planar graph with straight edges • For every face with more than 3 edges • Insert new edges
PSLG • Any planar graph can be embedded on the sphere with ‘straight line’ edges • Stereographic projection • Wrapping the plane on a sphere
Courtesy Hopf Euler’s Formula: Proof • Sum of angles of a triangle? • What about a triangle on a sphere?
Formula for the spherical excess Area of a 2-gon = ? Formula for spherical excess?
Euler’s Formula Proof 2v –f = 4; 3f = 2e; and hence v-e+f = 2 Note that f = O(v) and e=O(v)
Food for thought • Prove that on a torus • V – e + f = 0 • In general for g handles • V-e + f = 2-2g
Euler’s formula extensions • In 3D, a polyhedral subdivision can already have e in O(v2) • Dehn-Sommerville relations relate the maximum number of edges vertices and faces of various dimensions.
Kuratowski’s Theorem [1930] A graph is planar if and only if it contains no subgraph obtainable from K5 or K3,3 by replacing edges with paths.
Graph Coloring • A coloring of a graph is an assignment of colors to the vertices of the graph such that the endpoints of every edge has different colors.
Four-Color Theorem [1976] The vertices of any planar graph can be 4-colored in such a way that no two adjacent vertices receive the same color. Appel-Haken
Representing PSLGs • Doubly connected edge list • Winged Edge • Quad Edge • Facet edge • Split edge, Corner edge • obj file format ;)
Obj file format Drawback: How do you find which all vertices a vertex connects to? What if you wanted to jump from a face to an adjacent one?
Half Edges (DCEL) • Vertex List • Knows its coordinates • Knows one of its incident edges • Face List • Pointer to one of its edges • Edges • Split the edge into two records
Quad Edge • Considers the PSLG and its dual
Quad Edge • Edge Record • Two vertices , two faces • Vertex • A circular list of adjacent edges • Face • A circular list of adjacent edges
Visibility inside polygons • When is x visible to y if both x and y are inside a polygon P?
Art gallery problem • Art Gallery Problem • Art gallery room is a polygon P. • A guard can see all around (360 degrees) • Place G(n) guards such that they cover P. • What is minimum G(n) that is occasionally necessary and always sufficient?
Theorem • Every simple polygon admits a triangulation with n-2 triangles. • Proof: • Lemma: Every polygon has a diagonal • For a triangle the theorem is true. • Use MI now.
G(n) from previous theorem • Every n vertex polygon can be guarded using n-2 cameras. (Why?) • What if we place the cameras on the diagonals? (n-3 diagonals / 2) • What about vertices? • If we place a guard on a vertex, it can cover all the triangles incident on the vertex.
3-colorablity of polygon triangulations • If T be a triangulation of a polygon P, then the vertices of P can be 3-colored.
Why can we do 3-coloring? • Look at the dual graph of the polygon triangulation. What is the maximum degree of the dual? Each edge of the dual is associated with a diagonal of the polygon. Removal of each edge of the dual splits the dual into two connected components
Why can we do 3-coloring • The dual is a free tree • No cycles • Every free tree has a leaf (An EAR) • Proof of 3-colorability • Use MI • For a triangle its trivial • For a polygon P, color and remove an ear, by induction, we are done!
The Art Gallery Theorem • Given a simple polygon with n vertices there exists a set of g(n) = floor(n/3) guards that can cover it. • Proof: Use vertex guards: the minimum cardinality vertex set of same color in the 3-coloring of the polygon triangulation.
Art Gallery theorem • In the following example you would use red.
Art Gallery Theorem • Let r <= g <= b be the number of nodes colored with red, green and blue colors (w.l.o.g) • Can r > n/3? • If not, then r <= n/3 • But r has to be an integer • So r must be <= floor(n/3) • For what kind of Polygon is r = floor(n/3)?
Polygon Triangulation • Triangulation of a polygon refers to the decomposition of P into triangles using non-intersecting diagonals such that no more diagonals can be further added. • A maximal set of non-intersecting diagonals.
Polygon Triangulation • Naïve algorithm? • Find diagonal, add it, recurse • T(n) = T(n-1) + O(n2)*n = O(n3) • Less Naïve? • Find diagonal using existence theorem • T(n) = T(n-1) + O(n) = O(n2) • What about O(n) or O(nlogn)?
History • O(nlogn) Monotone pieces 1978 • O(nlogn) D&C 1982 • O(nlogn) Plane Sweep 1985 • O(nlog*n) Randomized 1991 • O(n) Polygon cutting, 1991 • O(n) Randomized 2000 • O(n) implementable with small constants? ??
What about point set triangulation? • A triangulation T of V is a set of triangles such that • Each t in T is incident on 3 vertices of V and does not contain any other vertex • If t1, t2 in T => t1 does not intersect t2 • T is a decomposition of the convex hull of V.
Point Set triangulation • Can be built using one vertex at a time. • Three cases • New point outside current convex hull • New point inside triangle • New point on an edge of the current triangulation
Back to Polygon Triangulations Courtesy Martin Held
Polygon Triangulation • Partition the polygon into monotone pieces O(nlogn) • Triangulate them in O(n) time
Monotone polygons • A polygon is x-monotone if the intersection of P with a vertical line is connected ( a point, a line segment or O ).
Monotonicity • in x Implies you can sort all the x-coordinates of the vertices in O(n) • implies that there are no “cusps”. • A reflex vertex is a vertex with internal angle > π • A reflex vertex is a cusp if its neighbors both lie to the left or to the right of the vertical line.
Monotone polygons => no cusps • Th: Any polygon that contains no cusps is monotone. • Proof: We will prove that any polygon that is non-monotone has a cusp. Lets assume that P’ is a non-monotone polygon due to its upper chain. Let v1, v2…vk be its upper chain and vi be the first vertex such that v(i+1) lies left to vi.
Monotone polygons => no cusps The vertex leftmost from vi…in the chain vi to vk….has to be a cusp.
Polygon Triangulation • First we partition the polygon into polygons without cusps. (Remove all cusps). O(nlogn) • Then we triangulate all the monotone polygons. O(n)
Polygon Triangulation • Sweep from left to right. • Remove leftward pointing cusps • Sweep right to left • Remove rightward pointing cusps • Triangulate all monotone polygons