1 / 59

Polygon Decomposition

Polygon Decomposition. Fatemeh Zahra Saberifar 87112089. Decomposition is a technique commonly used to break complex models into sub-models that are easier to handle. Cell decomposition is often used in autonomous area coverage. Convex decomposition applications : pattern recognition

ailish
Télécharger la présentation

Polygon Decomposition

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. Polygon Decomposition Fatemeh Zahra Saberifar 87112089

  2. Decomposition is a technique commonly used to break complex models into sub-models that are easier to handle. • Cell decomposition is often used in autonomous area coverage. • Convex decomposition applications : • pattern recognition • Minkoski sum computation • motion planning • computer graphics • origami folding • …

  3. Cell-Decomposition Methods Two classes of methods: • Exact cell decompositionThe free space F is represented by a collection of non-overlapping cells whose union is exactly FExample: trapezoidal decomposition

  4. Cont… • Approximate cell decompositionF is represented by a collection of non-overlapping cells whose union is contained in FExamples: quadtree, octree, 2n-tree

  5. Outline • A practical algorithm for decomposing polygonal domains into convex polygons by diagonals • A visibility based algorithm • A Voronoi based space partitioning for coordinated multi robot exploration • An Exat and approximattion algorithm for computing optimal α-fat decompositions • Another approximation algorithm

  6. Two different goals of decomposing a polygon into convex polygons : • Partition into as few convex pieces as possible • Partiton as quickly as possible

  7. Decomposing polygonal domains into convex polygons by diagonals • Decompose a polygon (with holes) into convex polygons by diagonals • Computationally quick • May not have minimal cardinality

  8. Three different types of partition can be used: • by diagonals • by segments • free

  9. The problem of decomposing a polygon with holes into the minimum number of convex pieces is known to be NP-hard (Keil 1985; Lingas 1982)

  10. History • Hertel and Mehlhorn (1983) presented an algorithm suitable when approximately optimal convex partitions are enough in O(n+r log r) time • For the case without holes, Keil (1985) presented an exact O(nr log r) time algorithm • For the case with holes, Narkhede and Manocha (1995) implemented the O(nlog∗ n) algorithm

  11. Held (2001) has also presented an O(n h) algorithm • An algorithm in O(nh+nr) time (Held 2008) • We modify the algorithms in Fernández et al. (2008)

  12. Decomposing polygons without holes • The best algorithm described in Fernández et al. (2000), MP3, works as follows : • Initially, L consists of one vertex, say v1 • Then, we add the next consecutive vertex (clockwise order) of P , v2, to L • If the last vertex we have already added to L is vi . then we provisionally add vi+1 to L if • ang(vi−1, vi, vi+1) ≤ 180 • ang(vi, vi+1, v1) ≤ 180 • ang(vi+1, v1, v2) ≤ 180

  13. Notice that if there are vertices of P \L inside the convex polygon then at least one of them must be a notch • Generate the smallest rectangle R with sides parallel to the axes containing all the vertices of L • If v is a notch of P \ L we first check whether v is inside R

  14. If a vertex v is found to be in the polygon generated by L, then we remove from L its last vertex vk and all the vertices of L in the half-plane generated by v1v containing vk • This process is repeated with the new L until no vertex is inside the polygon generated by L • Try to expand L by adding in ccw order ,consecutive, adjacent vertices to it in its first position v1, doing a similar process

  15. If L has then more than two vertices, and at least one of the vertices of the diagonal joining the last and first vertices in L is a notch, it generates one of the polygons of the partition, else the procedure does not generate a polygon • The algorithm continues by calling MP3 again, considering as initial vertex the last vertex of L

  16. L = < v1 > L = < v1 , v2 > L = < v1 , v2 , v3 > L = < v1 , v2 , v3 , v4 > L1 = < v1 , v2 , v3 > L2 = < v1 , v6 , v5 > L3 = < v5 , v4 , v3 > v2 Example v1 v3 v5 v6 v4

  17. Run time • Adding vertices to the provisional list L can be done in O(n − r) • Finding the notches inside R is O(r) • To check whether the notches are inside the convex polygon generated by L needs O(r(n−r)) • Removing vertices from L can be done in O(n − r)

  18. Since this process may be repeated up to r times, we need O(n − r) + r · (O(n − r) + O(r) + O(r(n − r))) = O(r2(n − r)) time to generate a polygon of the partition • Hence the total complexity is O(r2(n−r −i)) = O(nr2( n/2−r)+ 5/2nr2 −3r2) • if r is close to n/2 then the complexity is about O(r3)

  19. Definition We say that two angles ang(a, b, c) and ang(d, b, e) incident at vertex b overlap if the intersection of the interior of the cones that they generate is not empty. Definition Pis said to be a weakly-in-simple polygon provided that the internal angles of P do not overlap.

  20. The modification is the following: now, a vertex v on the boundary of the polygon generated by the vertices in L is considered outside that polygon (no removing of vertices will then be necessary) if the co-ordinates of v coincide with those of one of the vertices in L

  21. Decomposing polygons with holes

  22. Run time • The total complexity of the algorithm is O(NR (N/2− R)+ 5/2NR −3R)+ O(NnH ) • The merging process described in Fernández et al. (2000) can be used to remove the inessential diagonals of a partition. No major modifications are required.

  23. Visibility based decomposition

  24. Consider the ray emanating from p, aimed at v, and crossing ∂P at a point w after v (w = v). If pw is inside P and the line containing pw is tangent to P at v, the segment vwis called the constraint induced by p and v and is denoted by c(p, v). • An easy observation is that for any point p inside P, the constraints induced by p are exactly the windows of V (p).

  25. When both p and v are polygon vertices, the constraint c(p,v) is called a critical constraint . • The critical constraints partition the polygon into visibility-equivalent cells.

  26. Run time • The critical constraints partition the interior of P into cells so that two points see equivalent visibility polygons if and only if they are in the same cell • There are O(n2) critical constraints, an immediate upper bound on the complexity of visibility decomposition isO(n4)

  27. Lemma .Any segment s inside a simple polygon P can cross at most O(n) critical constraints of P. • Therefore, the complexity of the visibility decomposition is O(n3).

  28. An Exat and approximattion algorithm for computing optimal α-fat decompositions • The minimum α-fat decompositions problem is decomposing a simple polygon into the fewest subpolygons , each with aspect ratio at most α • A polygon is α-fat decomposable if P has an α-fat decompositions

  29. The diameter of a simple polygon is the diameter of a smallest enclosing circle • The width of a simple polygon is the diameter of a largest enclosed circle • Theaspect ratio of a simple polygon is the ratio of its diameter to its width • We need to choose a min subset of the diagonals of the polygon

  30. Problem definition Given a polygon P and positive real α , decompose P into the fewest α –fat subpolygons . • The α-fat decompositions problem finds motivation in collision detection .

  31. Definitions n : # vertexes of P r : # reflex vertexes T : visibility graph of P (whose edges are diagonals) m : # of edges of T (# of diagonals) Pij : subpolygon of P defined by vertices i ,i+1,…, j Oij : an optimal α-fat decomposition of each Pij

  32. Cont … C : a circle that is tangent to at least 2 vertices of P and at most 3 non reflex vertices I : a circle that is defined by at most 3 element of T Gi,j(C,I) : the subgraph of the T wij : # of polygons in Oij pij : the weighted path from i to j

  33. Algorithm • For j = i + 1 , Oij is empty set • For j > i + 1 , first check if Pij is α-fat • If so, Oij is Pij • Otherwise consider all circles C passing through 3 non-reflex vertices of P • For each such C of diameter D, consider all circles I of diameter D/α

  34. For each pair (C,I) , let Gij(C,I) be a weighted graph • For each pair (C,I) , compute a path pij(C,I) of minimum weight from I to j in Gij(C,I) • Q = pij = min pij(C,I) • Q is an α-fat polygon

  35. Approximate α-fat decompositions • A faster approximation method is then used to produce, for any ε > 0, an optimal ( α+ε )-fat decomposition . • Here our goal is reduced number of pairs (C,I) • The subpolygons in the decomposition have diameter no smaller than a given lower bound L

  36. Theorem Oij is a minimum size α-fat decomposition of Pij . Theorem O1n is a minimum α-fat decomposition of P that can be computad in time O(m (n-r) n).

  37. A Voronoi based space partitioning for coordinated multi robot exploration 1)Randomly choose K points Ci, 1 ≤ i ≤ K, contained in the polygons corresponding to the current unknown regions in the map. 2) Compute the Voronoi diagram associated with the current set of Ci 3) Constrain the cells of the Voronoi diagram to the current unknown polygons.

  38. 4) Determine the center of mass Mi of every constrained Voronoi cell. 5) If Ci- Mi< ε for all i, ε being a convergence parameter,go to step 6. Otherwise, substitute every Ci for its corresponding Mi and proceed from step 2. 6) The set of unknown polygons is partitioned into K stabledisjoint regions

  39. Another approximation algorithm • We have developed an approximate technique, called Approximate Convex Decomposition (ACD), which decomposes a given polygon or polyhedron into “approximately convex” pieces

  40. Defenition. concavity and £-convex. We say a polygon or a polyhedron P has concavity(P) ≤ £ , or equivalently that P is £-convex, if all vertices v of P have concavity(v) ≤ £ , where concavity(ρ) denotes the concavity measurement of ρ .

  41. Algorithm

  42. The selection of the measure for the concavity tolerance should depend on the application • E.g. normalize distances • Convexity measurements of polygons estimate the similarity of a polygon to its convex hull.

More Related