Problem definition Approach Dynamic program Summary
Pseudo-Convex Decomposition of a Simple Polygon
Stefan Gerdjikov and Alexander Wolff
Fakultät für Informatik Karlsruhe University
Stefan Gerdjikov and Alexander Wolff 1 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Outline
1 Problem definition
2 Approach Concave geodesics Characterization of pseudo-triangles
3 Dynamic program Computing pwij Computing cwij
4 Summary
Stefan Gerdjikov and Alexander Wolff 2 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Outline
1 Problem definition
2 Approach Concave geodesics Characterization of pseudo-triangles
3 Dynamic program Computing pwij Computing cwij
4 Summary
Stefan Gerdjikov and Alexander Wolff 3 19 Pseudo-Convex Decomposition 2 A pseudo-triangle is a simple polygon with 3 convex angles. 3 A pseudo-convex decomposition of a simple polygon
Problem definition Approach Dynamic program Summary Preliminaries
Definition 1 A convex angle is an angle ≤ 180◦.
Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition 3 A pseudo-convex decomposition of a simple polygon
Problem definition Approach Dynamic program Summary Preliminaries
Definition 1 A convex angle is an angle ≤ 180◦. 2 A pseudo-triangle is a simple polygon with 3 convex angles.
Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition 3 A pseudo-convex decomposition of a simple polygon
Problem definition Approach Dynamic program Summary Preliminaries
Definition 1 A convex angle is an angle ≤ 180◦. 2 A pseudo-triangle is a simple polygon with 3 convex angles.
Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Preliminaries
Definition 1 A convex angle is an angle ≤ 180◦. 2 A pseudo-triangle is a simple polygon with 3 convex angles. 3 A pseudo-convex decomposition of a simple polygon
Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Preliminaries
Definition 1 A convex angle is an angle ≤ 180◦. 2 A pseudo-triangle is a simple polygon with 3 convex angles. 3 A pseudo-convex decomposition of a simple polygon
Stefan Gerdjikov and Alexander Wolff 4 19 Pseudo-Convex Decomposition Output: A pseudo-convex decomposition of P with the minimum number m of polygons.
−→
Problem definition Approach Dynamic program Summary Problem
Input: Simple polygon P = A0A1 ... An−1 in the plane.
Stefan Gerdjikov and Alexander Wolff 5 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Problem
Input: Simple polygon P = A0A1 ... An−1 in the plane. Output: A pseudo-convex decomposition of P with the minimum number m of polygons.
−→
Stefan Gerdjikov and Alexander Wolff 5 19 Pseudo-Convex Decomposition −→
Problem definition Approach Dynamic program Summary Motivation
Pseudo-convex decomposition: fewer polygons than a convex decomposition! Pseudo-triangles have important applications in rigidity theory. Hope: ? Pseudo-convex decomposition of simple polygons ⇒ approximation for pseudo-convex decomposition of point sets.
Stefan Gerdjikov and Alexander Wolff 6 19 Pseudo-Convex Decomposition −→
Problem definition Approach Dynamic program Summary Motivation
Pseudo-convex decomposition: fewer polygons than a convex decomposition! Pseudo-triangles have important applications in rigidity theory. Hope: ? Pseudo-convex decomposition of simple polygons ⇒ approximation for pseudo-convex decomposition of point sets.
Stefan Gerdjikov and Alexander Wolff 6 19 Pseudo-Convex Decomposition −→
Problem definition Approach Dynamic program Summary Motivation
Pseudo-convex decomposition: fewer polygons than a convex decomposition! Pseudo-triangles have important applications in rigidity theory. Hope: ? Pseudo-convex decomposition of simple polygons ⇒ approximation for pseudo-convex decomposition of point sets.
Stefan Gerdjikov and Alexander Wolff 6 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Motivation
Pseudo-convex decomposition: fewer polygons than a convex decomposition! Pseudo-triangles have important applications in rigidity theory. Hope: ? Pseudo-convex decomposition of simple polygons ⇒ approximation for pseudo-convex decomposition of point sets.
−→
Stefan Gerdjikov and Alexander Wolff 6 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Outline
1 Problem definition
2 Approach Concave geodesics Characterization of pseudo-triangles
3 Dynamic program Computing pwij Computing cwij
4 Summary
Stefan Gerdjikov and Alexander Wolff 7 19 Pseudo-Convex Decomposition 2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .
3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons
Definition
1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .
Ai Aj dij
Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition 3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons
Definition
1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .
2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .
Pij
Ai Aj dij
Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition wij = 2
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons
Definition
1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .
2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .
3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .
Pij
Ai Aj dij
Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons
Definition
1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .
2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .
3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .
Pij
Ai Aj dij wij = 2
Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition → dynamic programming
. . . w0,n−1 = m
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons
Definition
1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .
2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .
3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .
wi,i+1 = 0
Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition → dynamic programming
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons
Definition
1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .
2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .
3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .
wi,i+1 = 0 . . . w0,n−1 = m
Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Diagonals and induced subpolygons
Definition
1 Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .
2 Each dij defines a simple polygon Pij = Ai Ai+1 ... Aj .
3 wij the minimum number of polygons in a pseudo-convex decomposition of Pij .
wi,i+1 = 0 ...... → dynamic programming w0,n−1 = m
Stefan Gerdjikov and Alexander Wolff 8 19 Pseudo-Convex Decomposition min. #polygons in pseudo-convex pwij = pseudo-triangle decomposition of Pij if dij bounds a
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Split the problem!
wij = min. #polygons in pseudo-convex decomposition of Pij .
Stefan Gerdjikov and Alexander Wolff 9 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Split the problem!
wij = min. #polygons in pseudo-convex decomposition of Pij . min. #polygons in pseudo-convex pwij = pseudo-triangle decomposition of Pij if dij bounds a
Pij Pij
dij dij
Stefan Gerdjikov and Alexander Wolff 9 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Split the problem!
wij = min. #polygons in pseudo-convex decomposition of Pij . pwij min. #polygons in pseudo-convex pseudo-triangle = cwij decomposition of Pij if dij bounds a convex polygon
Pij Pij
dij dij
diagonal-convex decomposition
Stefan Gerdjikov and Alexander Wolff 9 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Split the problem!
wij = min. #polygons in pseudo-convex decomposition of Pij . pwij min. #polygons in pseudo-convex pseudo-triangle = cwij decomposition of Pij if dij bounds a convex polygon
wij = min(pwij, cwij)
Compute wij , cwij and pwij in increasing order of j − i.
Stefan Gerdjikov and Alexander Wolff 9 19 Pseudo-Convex Decomposition B1 = Ai and Bm = Aj . For each k < m: + Bk+1 = last vertex on P (Bk , Aj ) visible from Bk .
B1B2 ... Bm is a convex, anticlockwise oriented polygon.
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Concave geodesics
Definition
A concave geodesic from Ai to Aj with respect to P is a path π = B1B2 ... Bm with
Ai
Aj
Stefan Gerdjikov and Alexander Wolff 10 19 Pseudo-Convex Decomposition For each k < m: + Bk+1 = last vertex on P (Bk , Aj ) visible from Bk .
B1B2 ... Bm is a convex, anticlockwise oriented polygon.
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Concave geodesics
Definition
A concave geodesic from Ai to Aj with respect to P is a path π = B1B2 ... Bm with
B1 = Ai and Bm = Aj .
Ai = B1
Aj = Bm
Stefan Gerdjikov and Alexander Wolff 10 19 Pseudo-Convex Decomposition B1B2 ... Bm is a convex, anticlockwise oriented polygon.
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Concave geodesics
Definition
A concave geodesic from Ai to Aj with respect to P is a path π = B1B2 ... Bm with
B1 = Ai and Bm = Aj . For each k < m: + Bk+1 = last vertex on P (Bk , Aj ) visible from Bk .
Bk+1 Bk
Ai = B1
Aj = Bm
Stefan Gerdjikov and Alexander Wolff 10 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Concave geodesics
Definition
A concave geodesic from Ai to Aj with respect to P is a path π = B1B2 ... Bm with
B1 = Ai and Bm = Aj . For each k < m: + Bk+1 = last vertex on P (Bk , Aj ) visible from Bk .
B1B2 ... Bm is a convex, anticlockwise oriented polygon.
Bk+1 Bk
Ai = B1
Aj = Bm
Stefan Gerdjikov and Alexander Wolff 10 19 Pseudo-Convex Decomposition Each pseudo-triangle in the interior of P consists of 3 concave geodesics that connect its convex vertices. If π1, π2 and π3 are concave geodesics from Ai to Aj , Aj to Ak and Ak to Ai respectively and Ai Aj Ak is clockwise oriented, then π1π2π3 is a pseudo-triangle.
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Characterization of pseudo-triangles
Stefan Gerdjikov and Alexander Wolff 11 19 Pseudo-Convex Decomposition If π1, π2 and π3 are concave geodesics from Ai to Aj , Aj to Ak and Ak to Ai respectively and Ai Aj Ak is clockwise oriented, then π1π2π3 is a pseudo-triangle.
Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Characterization of pseudo-triangles
Each pseudo-triangle in the interior of P consists of 3 concave geodesics that connect its convex vertices.
Stefan Gerdjikov and Alexander Wolff 11 19 Pseudo-Convex Decomposition Problem definition Approach Concave geodesics Dynamic program Characterization of pseudo-triangles Summary Characterization of pseudo-triangles
Ak
π3
T π2 π1 Aj Ai
Each pseudo-triangle in the interior of P consists of 3 concave geodesics that connect its convex vertices. If π1, π2 and π3 are concave geodesics from Ai to Aj , Aj to Ak and Ak to Ai respectively and Ai Aj Ak is clockwise oriented, then π1π2π3 is a pseudo-triangle.
Stefan Gerdjikov and Alexander Wolff 11 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary Outline
1 Problem definition
2 Approach Concave geodesics Characterization of pseudo-triangles
3 Dynamic program Computing pwij Computing cwij
4 Summary
Stefan Gerdjikov and Alexander Wolff 12 19 Pseudo-Convex Decomposition select a concave geodesic π = B ... B in P con- Step 1 1 m ij taining dij . Step 2 go along boundary of Pij from Bm to B1 for each vertex As check: ∃ pseudo-triangle T with convex vertices As, B1, Bm. X X X Step 3 pwij = min wk` + wk` + wk` + 1 T =ππ1π2 Ak A`∈π1 Ak A`∈π2 Ak A`∈π Ak A`6=Ai Aj
Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Computing pwij
Pij
dij
Stefan Gerdjikov and Alexander Wolff 13 19 Pseudo-Convex Decomposition Step 2 go along boundary of Pij from Bm to B1 for each vertex As check: ∃ pseudo-triangle T with convex vertices As, B1, Bm. X X X Step 3 pwij = min wk` + wk` + wk` + 1 T =ππ1π2 Ak A`∈π1 Ak A`∈π2 Ak A`∈π Ak A`6=Ai Aj
Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Computing pwij
select a concave geodesic π = B ... B in P con- Step 1 1 m ij taining dij .
d Bm Aj ij Ai π B1
Stefan Gerdjikov and Alexander Wolff 13 19 Pseudo-Convex Decomposition X X X Step 3 pwij = min wk` + wk` + wk` + 1 T =ππ1π2 Ak A`∈π1 Ak A`∈π2 Ak A`∈π Ak A`6=Ai Aj
Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Computing pwij
select a concave geodesic π = B ... B in P con- Step 1 1 m ij taining dij . Step 2 go along boundary of Pij from Bm to B1 for each vertex As check: ∃ pseudo-triangle T with convex vertices As, B1, Bm.
As π2
T π 1 d Bm Aj ij Ai π B1
Stefan Gerdjikov and Alexander Wolff 13 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Computing pwij
select a concave geodesic π = B ... B in P con- Step 1 1 m ij taining dij . Step 2 go along boundary of Pij from Bm to B1 for each vertex As check: ∃ pseudo-triangle T with convex vertices As, B1, Bm. X X X Step 3 pwij = min wk` + wk` + wk` + 1 T =ππ1π2 Ak A`∈π1 Ak A`∈π2 Ak A`∈π Ak A`6=Ai Aj
As π2
T π 1 d Bm Aj ij Ai π B1
Stefan Gerdjikov and Alexander Wolff 13 19 Pseudo-Convex Decomposition O(n2) geodesics ⇒ running time O(n3)
Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Time needed to compute all pwij
1 Determine all concave geodesics.
2 Construct lists Lij of all concave geodesics containing dij and 2 lying in Pij → O(n ) time. 3 for each geodesic go along the boundary of Pij → O(n) time go once along a geodesic π to determine the sums of type X X wk` and wk`
Ak A`∈π Ak A`∈π\Ai Aj
→ O(n) time per geodesic.
Stefan Gerdjikov and Alexander Wolff 14 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Time needed to compute all pwij
1 Determine all concave geodesics.
2 Construct lists Lij of all concave geodesics containing dij and 2 lying in Pij → O(n ) time. 3 for each geodesic go along the boundary of Pij → O(n) time go once along a geodesic π to determine the sums of type X X wk` and wk`
Ak A`∈π Ak A`∈π\Ai Aj
→ O(n) time per geodesic.
O(n2) geodesics ⇒ running time O(n3)
Stefan Gerdjikov and Alexander Wolff 14 19 Pseudo-Convex Decomposition select a point A on the boundary of P , visible both Step 1 ` ij from Ai and Aj . containing dij . Step 2 Is there a diagonal-convex decomposition D of P`j such that: |D| = cw`j , A`As ... At Aj ∈ D and Ai A`As ... At Aj is convex? Step 3 cwij = min min(cw`j + wi`), w`j + wi` + 1 ` D
Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Computing cwij
Pij
dij
Stefan Gerdjikov and Alexander Wolff 15 19 Pseudo-Convex Decomposition Step 2 Is there a diagonal-convex decomposition D of P`j such that:
|D| = cw`j , A`As ... At Aj ∈ D and Ai A`As ... At Aj is convex? Step 3 cwij = min min(cw`j + wi`), w`j + wi` + 1 ` D
Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Computing cwij
select a point A on the boundary of P , visible both Step 1 ` ij from Ai and Aj . containing dij .
A` Aj dij Ai
Stefan Gerdjikov and Alexander Wolff 15 19 Pseudo-Convex Decomposition Step 3 cwij = min min(cw`j + wi`), w`j + wi` + 1 ` D
Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Computing cwij
select a point A on the boundary of P , visible both Step 1 ` ij from Ai and Aj . containing dij .
Step 2 Is there a diagonal-convex decomposition D of P`j such that:
|D| = cw`j , A`As ... At Aj ∈ D and Ai A`As ... At Aj is convex?
As At A` Aj dij Ai
Stefan Gerdjikov and Alexander Wolff 15 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Computing cwij
select a point A on the boundary of P , visible both Step 1 ` ij from Ai and Aj . containing dij .
Step 2 Is there a diagonal-convex decomposition D of P`j such that:
|D| = cw`j , A`As ... At Aj ∈ D and Ai A`As ... At Aj is convex? Step 3 cwij = min min(cw`j + wi`), w`j + wi` + 1 ` D
As At A` Aj dij Ai
Stefan Gerdjikov and Alexander Wolff 15 19 Pseudo-Convex Decomposition Total time: O(n3)
Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Time needed to compute all cwij
1 go along the boundary of Pij – O(n) time per pair (i, j) 2 use concept of representative classes [Keil & Snoeyink ’02] to perform the test in step 2 – amortized O(n) time per pair (i, j).
Stefan Gerdjikov and Alexander Wolff 16 19 Pseudo-Convex Decomposition Problem definition Approach Computing pwij Dynamic program Computing cwij Summary
Time needed to compute all cwij
1 go along the boundary of Pij – O(n) time per pair (i, j) 2 use concept of representative classes [Keil & Snoeyink ’02] to perform the test in step 2 – amortized O(n) time per pair (i, j). Total time: O(n3)
Stefan Gerdjikov and Alexander Wolff 16 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Outline
1 Problem definition
2 Approach Concave geodesics Characterization of pseudo-triangles
3 Dynamic program Computing pwij Computing cwij
4 Summary
Stefan Gerdjikov and Alexander Wolff 17 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Summary
Problem minimum pseudo-convex decomposition of a simple polygon. Approach Characterization of pseudo-triangles in terms of concave geodesics. Take advantage of [Keil & Snoeyink ’02].
Result O(n3)-time algorithm.
Stefan Gerdjikov and Alexander Wolff 18 19 Pseudo-Convex Decomposition −→
Thank you for your attention!
Problem definition Approach Dynamic program Summary Open Problem
efficient algorithm for pseudo-convex decomposition of point sets
Stefan Gerdjikov and Alexander Wolff 19 19 Pseudo-Convex Decomposition Thank you for your attention!
Problem definition Approach Dynamic program Summary Open Problem
efficient algorithm for pseudo-convex decomposition of point sets
−→
Stefan Gerdjikov and Alexander Wolff 19 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary Open Problem
efficient algorithm for pseudo-convex decomposition of point sets
−→
Thank you for your attention!
Stefan Gerdjikov and Alexander Wolff 19 19 Pseudo-Convex Decomposition Problem definition Approach Dynamic program Summary O. Aichholzer, C. Huemer, S. Renkl, B. Speckmann, C. D. Tóth. On pseudo-convex decompositions, partitions, and coverings. In Proc. 21st European Workshop on Computational Geometry (EWCG’05), pages 89–92, Eindhoven, 2005. J. Gudmundsson and C. Levcopoulos. Minimum weight pseudo-triangulations. Proc. 24th Int. Conf. FSTTCS’04, volume 3328 of Lecture Notes in Computer Science, pages 299–310. Springer-Verlag, 2004. J. M. Keil. Decomposing a polygon into simpler components. SIAM J. Comput., 14:799–817, 1985. J. M. Keil and J. Snoeyink. On the time bound for convex decomposition of simple polygons. Int. J. Comput. Geometry Appl., 12(3):181–192, 2002.
Stefan Gerdjikov and Alexander Wolff 19 19 Pseudo-Convex Decomposition