polygon decomposition

59
Polygon Decomposition Fatemeh Zahra Saberifar 87112089

Upload: ailish

Post on 13-Jan-2016

72 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: Polygon Decomposition

Polygon Decomposition

Fatemeh Zahra Saberifar87112089

Page 2: Polygon Decomposition

•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 …

Page 3: Polygon Decomposition

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

Page 4: Polygon Decomposition

Cont…

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

Page 5: Polygon Decomposition

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

Page 6: Polygon Decomposition

•Two different goals of decomposing a polygon into convex polygons :

Partition into as few convex pieces as possiblePartiton as quickly as possible

Page 7: Polygon Decomposition

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

Page 8: Polygon Decomposition

•Three different types of partition can be used:by diagonalsby segmentsfree

Page 9: Polygon Decomposition

•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)

Page 10: Polygon Decomposition

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

Page 11: Polygon Decomposition

•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

Page 12: Polygon Decomposition

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

Page 13: Polygon Decomposition

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

Page 14: Polygon Decomposition

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

Page 15: Polygon Decomposition

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

Page 16: Polygon Decomposition

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

Page 17: Polygon Decomposition

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)

Page 18: Polygon Decomposition

•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)

Page 19: Polygon Decomposition

•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.

Page 20: Polygon Decomposition
Page 21: Polygon Decomposition

•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

Page 22: Polygon Decomposition
Page 23: Polygon Decomposition

Decomposing polygons with holes

Page 24: Polygon Decomposition
Page 25: Polygon Decomposition
Page 26: Polygon Decomposition

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

Page 27: Polygon Decomposition

Visibility based decomposition

Page 28: Polygon 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).

Page 29: Polygon Decomposition

•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.

Page 30: Polygon Decomposition
Page 31: Polygon Decomposition

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)

Page 32: Polygon Decomposition

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).

Page 33: Polygon Decomposition

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

Page 34: Polygon Decomposition

•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

Page 35: Polygon Decomposition

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 .

Page 36: Polygon Decomposition

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

Page 37: Polygon Decomposition

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

Page 38: Polygon Decomposition

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/α

Page 39: Polygon Decomposition

•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

Page 40: Polygon Decomposition
Page 41: Polygon Decomposition
Page 42: Polygon Decomposition

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

Page 43: Polygon Decomposition

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

Page 44: Polygon Decomposition

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.

Page 45: Polygon Decomposition

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

Page 46: Polygon Decomposition

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

Page 47: Polygon Decomposition

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 ρ .

Page 48: Polygon Decomposition

Algorithm

Page 49: Polygon Decomposition
Page 50: Polygon Decomposition

•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.

Page 51: Polygon Decomposition

•concavity(P) = max { concavity(x) }, x Є V•convexity(P) = volume(P)/volume(CHP )

Page 52: Polygon Decomposition

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.

Page 53: Polygon Decomposition

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

Page 54: Polygon Decomposition

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.

Page 55: Polygon Decomposition

Resolve algorithm

•Resolve runs in O(n) time

Page 56: Polygon Decomposition

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.

Page 57: Polygon Decomposition

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.

Page 58: Polygon Decomposition

•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 .

Page 59: Polygon Decomposition

THE END