Two-Sided Boundary Labeling with Adjacent Sides Philipp Kindermann Lehrstuhl f¨ ur Informatik I Universit¨ at W¨ urzburg Joint work with Benjamin Niedermann, Ignaz Rutter, Marcus Schaefer, Andr´ e Schulz & Alexander Wolff
Problem Statement enclosing rectangle
Problem Statement • n sites in general position enclosing rectangle sites
Problem Statement labels • n sites in general position • labels on the boundary enclosing rectangle sites
Problem Statement labels ports • n sites in general position • labels on the boundary • ports are fixed or sliding enclosing rectangle sites
Problem Statement labels ports • n sites in general position • labels on the boundary • ports are fixed or sliding enclosing rectangle sites
Problem Statement labels ports • n sites in general position • labels on the boundary • ports are fixed or sliding leaders enclosing rectangle sites Find a site-label matching with crossing-free leaders.
Why Boundary Labeling? � Google Maps c
Why Boundary Labeling? � Google Maps c Hotel Ibis Main Station Kulturspeicher Bus Terminal Main Station West Hotel Poppular Juliuspromenade Escalera Barbarossaplatz Ulmer Hof Hotel Urlaub
Why Boundary Labeling? Kulturspeicher Hotel Ibis � Google Maps c Main Station Bus Terminal Main Station West Hotel Poppular Barbarossaplatz Juliuspromenade Escalera Hotel Urlaub Ulmer Hof
Why Boundary Labeling? � DW-TV c
Why Boundary Labeling? � DW-TV c Henry Vandyke Carter, via Wikimedia Commons
Why Boundary Labeling? � DW-TV c Henry Vandyke Carter, via Wikimedia Commons � friv5games.me c
Previous Work sides 1 2 (opp.) 2 (adj.) 4 style
Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s [1] Bekos et al. CGTA’07
Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo [1] Bekos et al. CGTA’07
Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10
Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd O ( n log n ) [2] O ( n 2 ) [1] po [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10
Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd ? ? O ( n log n ) [2] O ( n 2 ) [1] po [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10
Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd ? ? O ( n log n ) [2] O ( n 2 ) [1] po [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10
Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd ? ? O ( n log n ) [2] O ( n 2 ) [1] po 2-Approximation on number of bends [4] [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10 [4] Speckmann & Verbeek LATIN’10
Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd ? ? O ( n log n ) [2] O ( n 2 ) [1] po 2-Approximation on number of bends [4] [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10 [4] Speckmann & Verbeek LATIN’10
Structure of Planar Solutions R
Structure of Planar Solutions xy -separating curve C C R
Structure of Planar Solutions xy -separating curve C • xy -monotone C R
Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C R
Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R R
Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R xy -separated solution R
Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R xy -separated solution R • top sites and leaders lie above C
Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R xy -separated solution R • top sites and leaders lie above C • right sites and leaders lie below C
Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R xy -separated solution R • top sites and leaders lie above C • right sites and leaders lie below C • does not contain any of the following patterns C C C C
Structure of Planar Solutions xy -separated solution • does not contain any of the following patterns C C C C
Structure of Planar Solutions xy -separated solution • does not contain any of the following patterns C C C C Planar solution ⇒ xy -separated planar solution
Structure of Planar Solutions xy -separated solution • does not contain any of the following patterns C C C C Planar solution ⇒ xy -separated planar solution C C C C
Structure of Planar Solutions xy -separated solution • does not contain any of the following patterns C C C C Planar solution ⇒ xy -separated planar solution C C C C Eliminate local crossings
The Strip Condition Given: xy -monotone curve C C R
The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left h 0 h 1 C h i h k R
The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k h 0 S 1 h 1 S i C h i S k h k R
The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k • p i : any point on h i \ C h 0 S 1 h 1 S i C h i p i S k h k R
The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k • p i : any point on h i \ C • R p i : polygon spanned by p i , h i and C h 0 S 1 h 1 S i R p i C h i p i S k h k R
The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k • p i : any point on h i \ C • R p i : polygon spanned by p i , h i and C • R p i is valid : number of sites ≥ number of ports h 0 S 1 h 1 S i R p i C h i p i S k h k R
The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k • p i : any point on h i \ C • R p i : polygon spanned by p i , h i and C • R p i is valid : number of sites ≥ number of ports Condition. strip condition of S i is satisfied ⇔ ∃ p i ∈ h i \ C : R p i is valid. h 0 S 1 h 1 S i R p i C h i p i S k h k R
The Strip Condition - An Example C
The Strip Condition - An Example S 1 h 1 C
The Strip Condition - An Example S 1 h 1 p 1 C
The Strip Condition - An Example S 1 h 1 p 1 C
The Strip Condition - An Example S 1 h 1 C
The Strip Condition - An Example S 1 h 1 C
The Strip Condition - An Example S 1 h 1 C
The Strip Condition - An Example S 1 h 1 p 1 C
The Strip Condition - An Example S 1 h 1 p 1 C
The Strip Condition - An Example S 1 h 1 p 1 C The strip conditions are sufficient and necessary
The Algorithm • Find an xy -separating curve C that satisfies the strip conditions.
The Algorithm • Find an xy -separating curve C that satisfies the strip conditions. • Consider the dual of the grid induced by sites and ports
The Algorithm • Find an xy -separating curve C s − 1 r r s that satisfies the strip conditions. • Consider the dual of the grid t induced by sites and ports G ( s , t ) • Define grid points G ( s , t ) and top-right corner r G (0, 0)
The Algorithm Dynamic Program: s − 1 r s Compute table T [( s , t ), u ] . t G ( s , t ) G (0, 0)
The Algorithm Dynamic Program: s − 1 r s Compute table T [( s , t ), u ] . T [( s , t ), u ] = true t G ( s , t ) ⇔ ∃ xy -monotone chain C : G (0, 0)
Recommend
More recommend