Pseudo-Convex Decomposition of a Simple Polygon

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
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
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.
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
Problem definition
Approach
Dynamic program
Summary
Problem
Input:
Simple polygon P = A0 A1 . . . 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 = A0 A1 . . . 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
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
Diagonals and induced subpolygons
Definition
1
Diagonals dij = Ai Aj , i < j and Aj is visible from Ai .
Ai
dij
Stefan Gerdjikov and Alexander Wolff
8 19
Aj
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
dij
Stefan Gerdjikov and Alexander Wolff
8 19
Aj
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
dij
Stefan Gerdjikov and Alexander Wolff
8 19
Aj
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
dij
Aj
wij = 2
Stefan Gerdjikov and Alexander Wolff
8 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
..
w0,n−1
=
..
=
Stefan Gerdjikov and Alexander Wolff
0
..
m
8 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
..
w0,n−1
=
..
=
Stefan Gerdjikov and Alexander Wolff
0
.. →
m
8 19
dynamic programming
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
Split the problem!
wij
pwij
= min. #polygons in pseudo-convex decomposition of Pij .
min. #polygons in pseudo-convex
pseudo-triangle
=
decomposition of Pij if dij bounds a
Pij
Pij
dij
Stefan Gerdjikov and Alexander Wolff
dij
9 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
Split the problem!
wij
pwij
cwij
= min. #polygons in pseudo-convex decomposition of Pij .
min. #polygons in pseudo-convex
pseudo-triangle
=
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
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
Split the problem!
wij
pwij
cwij
= min. #polygons in pseudo-convex decomposition of Pij .
min. #polygons in pseudo-convex
pseudo-triangle
=
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
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
Concave geodesics
Definition
A concave geodesic from Ai to Aj with respect to P is a path
π = B1 B2 . . . Bm with
Ai
Aj
Stefan Gerdjikov and Alexander Wolff
10 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
Concave geodesics
Definition
A concave geodesic from Ai to Aj with respect to P is a path
π = B1 B2 . . . Bm with
B1 = Ai and Bm = Aj .
Ai = B1
Aj = Bm
Stefan Gerdjikov and Alexander Wolff
10 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
Concave geodesics
Definition
A concave geodesic from Ai to Aj with respect to P is a path
π = B1 B2 . . . 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
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
Concave geodesics
Definition
A concave geodesic from Ai to Aj with respect to P is a path
π = B1 B2 . . . Bm with
B1 = Ai and Bm = Aj .
For each k < m:
Bk +1 = last vertex on P + (Bk , Aj ) visible from Bk .
B1 B2 . . . Bm is a convex, anticlockwise oriented polygon.
Bk +1 Bk
Ai = B1
Aj = Bm
Stefan Gerdjikov and Alexander Wolff
10 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
Characterization of pseudo-triangles
Stefan Gerdjikov and Alexander Wolff
11 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
Dynamic program
Summary
Concave geodesics
Characterization of pseudo-triangles
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
Dynamic program
Summary
Computing pwij
Computing cwij
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
Problem definition
Approach
Dynamic program
Summary
Computing pwij
Computing cwij
Computing pwij
Pij
dij
Stefan Gerdjikov and Alexander Wolff
13 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Computing pwij
Computing cwij
Computing pwij
Step 1
select a concave geodesic π = B1 . . . Bm in Pij containing dij .
Bm
Stefan Gerdjikov and Alexander Wolff
Aj dij Ai
13 19
π
B1
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Computing pwij
Computing cwij
Computing pwij
select a concave geodesic π = B1 . . . Bm in Pij containing 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 .
Step 1
As
π2
Bm
Stefan Gerdjikov and Alexander Wolff
π1
T
Aj dij Ai
13 19
π
B1
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Computing pwij
Computing cwij
Computing pwij
select a concave geodesic π = B1 . . . Bm in Pij containing dij .
Step 2 go along boundary of Pij from Bm to B1
for each vertex As
check: ∃ pseudo-triangle
T with convex vertices As , B
1 , Bm .
X
X
X
wk ` +
wk ` +
wk ` + 1
Step 3 pwij = min
Step 1
T =ππ1 π2
Ak A` ∈π1
Ak A` ∈π2
Ak A` ∈π
Ak A` 6=Ai Aj
As
π2
Bm
Stefan Gerdjikov and Alexander Wolff
π1
T
Aj dij Ai
13 19
π
B1
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Computing pwij
Computing cwij
Time needed to compute all pwij
1
2
3
Determine all concave geodesics.
Construct lists Lij of all concave geodesics containing dij and
lying in Pij → O(n2 ) time.
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
Dynamic program
Summary
Computing pwij
Computing cwij
Time needed to compute all pwij
1
2
3
Determine all concave geodesics.
Construct lists Lij of all concave geodesics containing dij and
lying in Pij → O(n2 ) time.
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
Problem definition
Approach
Dynamic program
Summary
Computing pwij
Computing cwij
Computing cwij
Pij
dij
Stefan Gerdjikov and Alexander Wolff
15 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Computing pwij
Computing cwij
Computing cwij
Step 1
select a point A` on the boundary of Pij , visible both
from Ai and Aj . containing dij .
A`
Aj dij Ai
Stefan Gerdjikov and Alexander Wolff
15 19
Pseudo-Convex Decomposition
Problem definition
Approach
Dynamic program
Summary
Computing pwij
Computing cwij
Computing cwij
select a point A` on the boundary of Pij , visible both
from Ai and Aj . containing dij .
Step 2 Is there a diagonal-convex decomposition D of P`j such that:
Step 1
|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
Dynamic program
Summary
Computing pwij
Computing cwij
Computing cwij
select a point A` on the boundary of Pij , visible both
from Ai and Aj . containing dij .
Step 2 Is there a diagonal-convex decomposition D of P`j such that:
Step 1
|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
Problem definition
Approach
Dynamic program
Summary
Computing pwij
Computing cwij
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
Dynamic program
Summary
Computing pwij
Computing cwij
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
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
−→
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