Polygon Partitioning. Lecture03

Similar documents
Polygon decomposition. Motivation: Art gallery problem

Computational Geometry

Computational Geometry [csci 3250]

Lecture 3: Art Gallery Problems and Polygon Triangulation

Polygon Triangulation

CS6100: Topics in Design and Analysis of Algorithms

MISCELLANEOUS SHAPES

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

Polygon Triangulation. (slides partially by Daniel Vlasic )

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

Degree Constrained Triangulation

Polygon Triangulation. (slides partially by Daniel Vlasic )

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

Lecture 11 Combinatorial Planning: In the Plane

Line segment intersection. Family of intersection problems

Convex partitioning of a polygon into smaller number of pieces with lowest memory consumption

Triangulation by Ear Clipping

Polygon Triangulation

Solutions to problem set 1

Art Gallery, Triangulation, and Voronoi Regions

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

Polygon Triangulation

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

CMSC 754 Computational Geometry 1

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

Computational Geometry

Projects & Polygon Triangulation

Henneberg construction

A closed plane figure with at least 3 sides The sides intersect only at their endpoints. Polygon ABCDEF

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

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Lecture 4: Trees and Art Galleries

Computational Geometry

Polygonal Meshes: Representing 3D Objects

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

Week 2 Polygon Triangulation

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

Geometric Streaming Algorithms with a Sorting Primitive (TR CS )

MPM1D Page 1 of 6. length, width, thickness, area, volume, flatness, infinite extent, contains infinite number of points. A part of a with endpoints.

Review for Mastery Using Graphs and Tables to Solve Linear Systems

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

The Geometry of Carpentry and Joinery

Line Arrangement. Chapter 6

AMS 345/CSE 355 Computational Geometry

Art Gallery Theorems and Algorithms

Geometry Unit 6 Properties of Quadrilaterals Classifying Polygons Review

On Merging Straight Skeletons

Computational Geometry

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

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

EXTREME POINTS AND AFFINE EQUIVALENCE

heptagon; not regular; hexagon; not regular; quadrilateral; convex concave regular; convex

Convex polygon - a polygon such that no line containing a side of the polygon will contain a point in the interior of the polygon.

GEOMETRIC SEARCHING PART 1: POINT LOCATION

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

Visibility Analysis for Video Surveillance

Computational Geometry: Lecture 5

Pebble Sets in Convex Polygons

An angle that has a measure less than a right angle.

Ma/CS 6b Class 11: Kuratowski and Coloring

CMSC 754 Computational Geometry 1

arxiv: v1 [cs.cg] 8 Jan 2018

Triangulating mult iply-connected polygons: A simple, yet efficient algorithm.

Problem: Polygon Triangulation. Trapezoidal Map. Solution via Trapezoidal Map. The trapezoidal map of non-crossing line segments

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

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 6. Planar Orientations. 6.1 Numberings of Digraphs

Connected Components of Underlying Graphs of Halving Lines

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

Lesson Plan #39. 2) Students will be able to find the sum of the measures of the exterior angles of a triangle.

CHAPTER 2 REVIEW COORDINATE GEOMETRY MATH Warm-Up: See Solved Homework questions. 2.2 Cartesian coordinate system

Computational Geometry

Computational Geometry

Chapter 10 Polygons and Area

Partitioning Orthogonal Polygons by Extension of All Edges Incident to Reflex Vertices: lower and upper bounds on the number of pieces

Computing the Fréchet Distance Between Simple Polygons

On the perimeter of k pairwise disjoint convex bodies contained in a convex set in the plane

Acute Triangulations of Polygons

The National Strategies Secondary Mathematics exemplification: Y8, 9

The Graphs of Triangulations of Polygons

PROPERTIES OF TRIANGLES AND QUADRILATERALS (plus polygons in general)

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

STANDARDS OF LEARNING CONTENT REVIEW NOTES GEOMETRY. 3 rd Nine Weeks,

2 A Plane Sweep Algorithm for Line Segment Intersection

Motion Planning. O Rourke, Chapter 8

Assignment. Quilting and Tessellations Introduction to Quadrilaterals. List all of the types of quadrilaterals that have the given characteristics.

COMPUTING CONSTRAINED DELAUNAY

Discrete Mathematics I So Practice Sheet Solutions 1

MATH 113 Section 8.2: Two-Dimensional Figures

RASTERIZING POLYGONS IN IMAGE SPACE

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

Elementary Planar Geometry

Road Map Methods. Including material from Howie Choset / G.D. Hager S. Leonard

Improved Bounds for Intersecting Triangles and Halving Planes

arxiv:cs/ v1 [cs.cg] 13 Jun 2001

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

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

Computational Geometry

Advanced Algorithm Homework 4 Results and Solutions

16.410/413 Principles of Autonomy and Decision Making

Transcription:

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

4 Polygon Partitioning Monotone Partitioning

5 Monotone polygons Definition A polygonal chain C is strictly monotone with respect to L if every line L orthogonal to L meets C in at most one point. A polygonal chain C is monotone if L has at most one connected component Either empty, a single point, or a single line segment A polygon P is said to be monotone with respect to a line L if P can be split into two polygonal chains A and B such that each chain in monotone with respect to L

6 Monotone polygons The two chains should share a vertex at either end. Figure 2.1 A polygon monotone with respect to the vertical line Two monotone chains o A = (v 0,, v 15 ) and B= (v 15,, v 24, v 0 ) Neither chain is strictly monotone (two horizontal edges v 5 v 6 and v 21 v 22 )

7 Monotone polygons

8 Monotone polygons Properties of Monotone Polygons The vertices in each chain are sorted with respect to the line of monotonicity (LoM) Let y axis be the LoM Can be split into two chains Left and right chains if y-axis is the LoM Find a highest vertex, a lowest vertex and partition the boundary into two chains

Monotone polygons 9 An interior cusp of a polygon is o a reflex vertex v o v s adjacent vertices v - and v + are either both at or above, or both at or below, v Interior cusp can t have both adjacent vertices with the same y coordinate as v Lemma If a polygon P has no interior cups, then it is monotone Lack of interior cusp implies strict monotonicity

10 Monotone Partitioning

11 Triangulating a Monotone Polygon Monotone polygons are so special that they are easy to triangulate Hint of algorithm Sort the vertices from top to bottom Cut off triangles from the top in a greedy fashion

12 Triangulating a Monotone Polygon Algorithm Sorting all vertices on decreasing y-coordinate Push v 1 and v 2 onto the stack S for j 3 to n 1 if v j and vertex on top of S are on different chains Add diagonals from u j to all vertices in S if v j and vertex on top of S are on same chains Add diagonals from u j to vertices in S until you cannot do so Linear time triangulation

13 Example For example, v 16 is connected to (v 14, v 13, v 12 ) in the first iteration As a consequence, no visibility check is required The stack S holds the reflex chain above Between the linear sorting and this simple data structure, O(n) is achieved

14 Polygon Partitioning Trapezoidalization

15 Trapezoidalization A horizontal trapezoidalization of a polygon is obtained by drawing a horizontal line through every vertex of the polygon. Pass through each vertex v the maximal horizontal segment s such that s P and s P = v Assumption: We only consider polygons whose vertices have unique y coordinates.

16 Trapezoidalization

17 Trapezoidalization A trapezoid is a quadrilateral with two parallel edges Vertices through which the horizontal lines are drawn supporting vertices Every trapezoid has exactly two supporting vertices (and at most 4 neighbors) The connection to monotone polygons If a supporting vertex is on the interior of an upper or lower trapezoid edge, then it is an interior cusp

18 Trapezoidalization Monotone partition Connect every interior vertex v to the opposing supporting vertex of the trapezoid v supports Then, these diagonals partition P into monotonic pieces For example, diagonal v 6 v 4, v 15 v 12, and so on in Figure 2.3

Plane Sweep 19 Useful in many geometric algorithms Main idea is to sweep a line over the plane maintaining some type of data structure along the line Sweep a horizontal line L over the polygon, stopping at each vertex Sorting the vertices by y coordinate O(nlogn) time

Plane Sweep 20 Fine the edge immediately to the left and immediately to the right of v along L A sorted list L of polygon edges pierced by L is maintained at all times How to determine that v lies between e 17 and e 6?

21 Plane Sweep For the sweep line in the position L = (e 19, e 18, e 17, e 6, e 8, e 10 )

22 Plane Sweep Assume that e i is a pointer to an edge and the vertical coordinate of v is y. Suppose we know the endpoints of e i Then, we can compute the x coordinate of the intersection between L and e i We can determine v s position by computing x coordinates of each intersection Time proportional to the length of L (O(n))by a naive search from left to right With an efficient data structure, a heightbalanced tree, the search require O(logn) time

Plane Sweep 23 Updates at each event There are three types of event (Figure 2.5) Let v fall between edges a and b and v be shared by edges c and d c is above L and d is below. Then delete c from L and insert d : (, a, c, b, ) (, a, d, b, ) Both c and d are above L. Then delete both c and d from L : (, a, c, d, b, ) (, a, b, ) Both c and d are below L. Then insert both c and d into L : (, a, b, ) (, a, c, d, b, )

24 Plane Sweep

25 Plane Sweep In Figure 2.4, the list L of edges pierced by L is initially empty, when L is above the polygon Then follows this sequence as it passes each event vertex

26 Triangulation in O(nlogn)

27 Polygon Partitioning Partition into Monotone Mountains

28 Monotone Mountains A monotone mountain is a monotone polygon with one of its two monotone chains a single segment, the base. Note that both end points of the base must be convex

29 Triangulating a Monotone Mountain

30 Triangulating a Monotone Mountain Linear time algorithm The base is identified in linear time The base endpoints are extreme along the direction of monotonicity Leftmost and rightmost vertices The next convex vertex is found without a search in constant time Update the convexity status using stored internal angles of vertices By subtracting from a and c s angles in abc Update the list with each ear clip a b c

31 Trapezoidalization of Monotone Mountains Build a monotone mountain from trapezoids abutting on a particular base edge, for example v 11 v 12

Convex Partitioning 32 Two goals Partition a polygon into as few convex pieces as possible Do so as fast as possible Compromise on the number of pieces Find a quick algorithm whose output size is bounded with respect to the optimum Two types of partition may be distinguished By diagonals By segments

33 Bounding Size of Convex Partition Lemma (Chazelle) Let Φ be the fewest number of convex pieces into which a polygon may be partitioned. For a polygon of r reflex vertices, r/2 + 1 Φ r + 1 Proof Drawing a segment that bisects each reflex angle results in a convex partition The number of pieces is r + 1 (Figure 2.10) At most two reflex angles can be resolved by a single partition segment (Figure 2.11) This results in r/2 + 1 convex pieces

34 Bounding Size of Convex Partition

35 Bounding Size of Convex Partition

36 Hertel and Mehlhorn Algorithm A very clean algorithm that partitions with diagonals quickly has bounded badness in terms of the number of convex pieces A diagonal d is essential for vertex v if removal of d makes v non-convex The algorithm start with a triangulation of P remove an inessential diagonal repeat

37 Optimal Convex Partitions Finding a convex partition optimal in the number of pieces is much more time consuming than finding a suboptimal one Greene s algorithm runs in O(r 2 n 2 ) = O(n 4 ) time Keil s algorithm improved it to O(r 2 nlogn) = O(n 3 logn) time Both employ dynamic programming The problem is even more difficult if the partition may be formed with arbitrary segments Chazelle solve this problem in his thesis with an intricate O(n + r 2 ) = O(n 3 ) algorithm

38 Optimal Convex Partitions

39 Approximate Convex Decomposition (ACD) ACD All sub-models will have tolerable concavity Convex decomposition is useful but can be costly to construct may result in unmanageable number of components Benefits of ACD 1. Number of sub-models is significantly less 2. Reveal structural features 39

40 Approximate Convex Decomposition (ACD) How does it work? Input model Measure concavity Shaded using its concavity Decompose at areas with high concavity Sub-models form a nice hierarchical representation of the original model less convex more convex

41 Conclusion Polygon decomposition decompose to monotonic polygon/mountain trapezoidal decomposition convex decomposition 41