polygon decomposition
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Polygon Decomposition
Fatemeh Zahra Saberifar87112089
•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 planningcomputer graphics origami folding …
Cell-Decomposition Methods
Two classes of methods: Exact cell decomposition
The free space F is represented by a collection of non-overlapping cells whose union is exactly FExample: trapezoidal decomposition
Cont…
Approximate cell decompositionF is represented by a collection of non-overlapping cells whose union is contained in FExamples: quadtree, octree, 2n-tree
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
•Two different goals of decomposing a polygon into convex polygons :
Partition into as few convex pieces as possiblePartiton as quickly as possible
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
•Three different types of partition can be used:by diagonalsby segmentsfree
•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)
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
2
•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)
2
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 v1Then, we add the next consecutive vertex
(clockwise order) of P , v2, to LIf the last vertex we have already added to L is vi .
then we provisionally add vi+1 to L ifang(vi−1, vi, vi+1) ≤ 180ang(vi, vi+1, v1) ≤ 180ang(vi+1, v1, v2) ≤ 180
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
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
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
Example
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 >
v1
v2
v3
v4
v5
v6
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)
•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)
•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 P is said to be a weakly-in-simple polygon
provided that the internal angles of P do not overlap.
•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
Decomposing polygons with holes
Run time
•The total complexity of the algorithm is O(NR (N/2− R)+ 5/2NR −3R )+ O(Nn H )
•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.
2222
Visibility based decomposition
•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 vw is 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).
•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.
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)
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).
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
•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
•The aspect 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
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 .
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
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
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/α
•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
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
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).3 3
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.
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
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
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 ρ .
Algorithm
•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.
•concavity(P) = max { concavity(x) }, x Є V•convexity(P) = volume(P)/volume(CHP )
Observation . Given a simple polygon P. Notches can only be found in pockets. Each bridge has an associated pocket, the chain of Boundary(P0) between the two bridge vertices. Hole boundaries are also pockets, but they have no associated bridge.
Two practical simple and stable retraction methods to compute concavity :
The straight-line distance to the bridge The length of the shortest path to the bridge
that does not intersect the polygon
Lemma. Measuring the concavity of the vertices on the external boundary P0 using shortest paths takes O(n) time, where n is the size of boundary P0.
Resolve algorithm
•Resolve runs in O(n) time
Run time
Theorem. Let {Ci}, i = 1,...,m, be a £ -convex decomposition of a polygon P with n vertices, r notches and k holes. P can be decomposed into {Ci} in O(nr) time.
References
•A practical algorithm for decomposing polygonal domains into convex polygons by diagonals , by José Fernández · Boglárka Tóth · Lázaro Cánovas · Blas Pelegrín , 2008.
•APPROXIMATE CONVEX DECOMPOSITION AND ITS APPLICATIONS, by JYH-MING LIEN , Texas A&M University , for the degree of DOCTOR OF PHILOSOPHY , December 2006.
•Voronoi based space partitioning for coordinated multi robot exploration , by Ling Wu , 2007 .
•Exat and approximattion algorithm for computing optimal α-fat decompositions , by Mirela Damian , 2002 .
•Visibility Queries and Maintenance in Simple Polygons , By Boris Aronov, Leonidas J. Guibas,Marek Teichmann, Li Zhang , 1999 .
THE END