Canonical Ordering for Triangulations on the Cylinder, with Applications to Periodic Straight-line Drawings Luca Castelli Aleardi, Olivier Devillers and Éric Fusy LIX, École Polytechnique, Palaiseau, France GD’12, Redmond Planar straight-line drawings ⇒ [Wagner’36] [Fary’48] [Stein’51] Planar straight-line drawings ⇒ [Wagner’36] [Fary’48] [Stein’51] Classical algorithms: [Tutte’63] spring-embedding [De Fraysseix,Pach,Pollack’88] “FPP algo” incremental [Schnyder’90] face-counting principle Periodic straight-line drawings On the cylinder (⇔ annulus) ⇒ lifts to x-periodic drawing Periodic straight-line drawings On the (flat) torus ⇒ m [Kocay et al’01] [Gortler et al’06] [Gonçalves-Lévêque’12] Grid O(n2 × n2 ) lifts to x-periodic & y-periodic drawing Overview 1. Recall FPP algorithm 2. Extend to the cylinder 3. Get toroidal drawings [Castelli,Devillers,F’12] Cylinder Plane Torus ⇓ ⇓ Grid (2n−4) × (n−2) Overview 1. Recall FPP algorithm 2. Extend to the cylinder 3. Get toroidal drawings [Castelli,Devillers,F’12] Cylinder Plane Torus ⇓ c=3 ⇓ d=2 Grid (2n−4) × (n−2) Grid ≤ 2n × n(2d + 1) Grid≤ 2n×(1+n(2c+1)) Canonical ordering for planar triangulations T a planar triangulation with marked bottom-edge e Canonical ordering = shelling order (from top to bottom) At each step: T \e has 7 vertices ⇓ e Canonical ordering for planar triangulations T a planar triangulation with marked bottom-edge e Canonical ordering = shelling order (from top to bottom) 7 At each step: T \e has 7 vertices ⇓ e Canonical ordering for planar triangulations T a planar triangulation with marked bottom-edge e Canonical ordering = shelling order (from top to bottom) 7 At each step: T \e has 7 vertices ⇓ 6 e Canonical ordering for planar triangulations T a planar triangulation with marked bottom-edge e Canonical ordering = shelling order (from top to bottom) 7 At each step: T \e has 7 vertices 5 6 e ⇓ Canonical ordering for planar triangulations T a planar triangulation with marked bottom-edge e Canonical ordering = shelling order (from top to bottom) 7 At each step: T \e has 7 vertices 5 6 4 e ⇓ Canonical ordering for planar triangulations T a planar triangulation with marked bottom-edge e Canonical ordering = shelling order (from top to bottom) 7 At each step: T \e has 7 vertices 5 6 3 4 e ⇓ Canonical ordering for planar triangulations T a planar triangulation with marked bottom-edge e Canonical ordering = shelling order (from top to bottom) 7 At each step: T \e has 7 vertices 5 6 3 4 2 e ⇓ Canonical ordering for planar triangulations T a planar triangulation with marked bottom-edge e Canonical ordering = shelling order (from top to bottom) 7 At each step: T \e has 7 vertices 5 6 ⇓ 3 4 2 e 1 Canonical ordering: primal tree & dual tree primal tree: parent of each vertex v = neighbour of v of largest label 7 5 6 3 4 2 e 1 Canonical ordering: primal tree & dual tree primal tree: parent of each vertex v = neighbour of v of largest label dual tree: dual of primal tree (augmented with two outer edges) Canonical ordering: successive induced graphs 7 5 6 G4 4 4 3 3 2 e 1 2 1 e Notation: Gk is the graph formed by e and {1, . . . , k} Canonical ordering: successive induced graphs 7 5 6 G4 4 4 3 3 2 e 1 2 1 e Notation: Gk is the graph formed by e and {1, . . . , k} Canonical ordering: successive induced graphs 7 5 5 6 G45 4 4 3 3 2 e 1 2 1 e Notation: Gk is the graph formed by e and {1, . . . , k} Incremental drawing algorithm [de Fraysseix, Pollack, Pach’89] Gk−1 v` vr Incremental drawing algorithm [de Fraysseix, Pollack, Pach’89] Gk−1 v` vr shift by +1 shift by −1 v` vr Incremental drawing algorithm [de Fraysseix, Pollack, Pach’89] Gk−1 v` vr k Gk shift by +1 shift by −1 v` vr Incremental drawing algorithm [de Fraysseix, Pollack, Pach’89] Gk−1 v` vr k Gk shift by +1 shift by −1 v` vr Incremental drawing algorithm [de Fraysseix, Pollack, Pach’89] 1. 7 2. 3. 5 6 4 4. 3 2 5. 6. Grid size of Gk : 2k × k 7. 1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Reformulation of the shift-step At each step: insert two vertical strips of width 1 using the dual tree Gk−1 Gk Extension to the cylinder: canonical ordering annular representation At each step: vk Extension to the cylinder: canonical ordering annular representation At each step: vk 7 Extension to the cylinder: canonical ordering annular representation At each step: vk 7 6 Extension to the cylinder: canonical ordering annular representation At each step: vk 7 5 6 Extension to the cylinder: canonical ordering annular representation At each step: 7 5 6 4 vk Extension to the cylinder: canonical ordering annular representation At each step: 7 5 6 4 3 vk Extension to the cylinder: canonical ordering annular representation At each step: 2 7 5 6 4 3 vk Extension to the cylinder: canonical ordering annular representation At each step: 2 7 5 4 3 vk 6 1 Terminates if no chordal edge incident to bottom cycle Extension to the cylinder: canonical ordering annular representation At each step: vk Underlying forest Extension to the cylinder: canonical ordering annular representation At each step: vk Underlying forest + dual forest Extension to the cylinder: drawing algorithm Gk−1 At each step: - insert two vertical strips of width 1 - insert next vertex as in the planar case Extension to the cylinder: drawing algorithm Gk−1 At each step: - insert two vertical strips of width 1 - insert next vertex as in the planar case Extension to the cylinder: drawing algorithm Gk−1 At each step: - insert two vertical strips of width 1 - insert next vertex as in the planar case Extension to the cylinder: drawing algorithm Gk−1 At each step: - insert two vertical strips of width 1 - insert next vertex as in the planar case Extension to the cylinder: drawing algorithm Gk−1 At each step: - insert two vertical strips of width 1 - insert next vertex as in the planar case Extension to the cylinder: drawing algorithm Gk−1 At each step: - insert two vertical strips of width 1 - insert next vertex as in the planar case Extension to the cylinder: drawing algorithm Gk−1 At each step: - insert two vertical strips of width 1 - insert next vertex as in the planar case Extension to the cylinder: drawing algorithm Gk−1 At each step: - insert two vertical strips of width 1 - insert next vertex as in the planar case Extension to the cylinder: drawing algorithm Gk−1 Gk At each step: - insert two vertical strips of width 1 - insert next vertex as in the planar case Execution on an example 2 7 5 6 1 4 3 Execution on an example 2 7 55 6 1 4 3 Execution on an example 2 7 5 6 1 4 3 1 Execution on an example 2 7 5 6 1 4 3 1 Execution on an example 2 7 5 6 1 4 3 1 Execution on an example 2 7 5 6 1 4 3 2 1 Execution on an example 2 7 5 6 1 4 3 2 1 Execution on an example 2 7 5 6 1 4 3 2 1 Execution on an example 3 2 7 5 4 3 2 1 6 1 Execution on an example 3 2 7 5 4 3 2 1 6 1 Execution on an example 2 7 5 4 3 3 2 1 6 1 Execution on an example 4 2 7 5 4 3 3 2 1 6 1 Execution on an example 4 2 7 5 4 3 3 2 1 6 1 Execution on an example 4 2 7 5 4 3 3 2 1 6 1 Execution on an example 5 4 4 3 2 7 5 3 2 1 6 1 Execution on an example 4 4 3 2 7 3 5 2 6 1 5 1 Execution on an example 5 4 3 4 3 2 7 5 2 6 1 1 Execution on an example 6 2 7 5 4 4 3 3 2 6 1 5 1 Execution on an example 2 7 5 4 3 6 4 5 3 6 2 1 1 Execution on an example 2 7 5 4 3 6 5 4 3 6 2 1 1 Execution on an example 7 2 7 5 6 4 3 6 4 5 3 2 1 1 Execution on an example 7 2 7 5 6 4 3 6 4 5 3 2 1 1 Grid size: w = 2n Each edge has vertical extension at most w ⇒ h ≤ n(2d + 1) with d the graph-distance between the two boundaries Execution on an example 7 2 7 5 6 4 3 4 5 6 d=2 3 2 1 1 Grid size: w = 2n Each edge has vertical extension at most w ⇒ h ≤ n(2d + 1) with d the graph-distance between the two boundaries Dealing with chordal edges at outer cycle initial spacing a b c d ⇓ algo a b c d a b c d Dealing with chordal edges at outer cycle initial spacing a b c d ⇓ algo a b c d a b c d Toroidal triangulations & tambourine Every toroidal triangulation admits a “tambourine” [Bonichon, Gavoille, Labourel0 06] Torus Cylinder a b ce d a ab c e d a Getting a drawing on the (flat) torus compute tambourine a b ce d a delete edges in tambourine ab c Torus a b c e drawing algo. on cylinder d resinsert edges in tambourine a b c d a bc e d e d a Cylinder Getting a drawing on the (flat) torus compute tambourine a b ce d a delete edges in tambourine ab c Torus a b c e drawing algo. on cylinder d resinsert edges in tambourine b c d Cylinder w ≤ 2n h ≤ n(2d+1) ∆h ≤ 2n + 1 a e d a d=2 a bc e d Getting a drawing on the (flat) torus compute tambourine a b ce d a delete edges in tambourine ab c Torus a b c e drawing algo. on cylinder d resinsert edges in tambourine a b c d Cylinder w ≤ 2n h ≤ n(2d+1) ∆h ≤ 2n + 1 c=3 e d a d=2 a b√c e d Let c =length shortest non-contractible cycle, c ≤ 2n [Hutchinson, Albert’78] Can choose tambourine so that d < c ⇒ h = O(n3/2 ) Extensions and perspectives • Extension to 3-connected maps on cylinder & torus (cf Kant’s extension of the FPP algorithm in the planar case) weakly convex periodic straight-line drawing Extensions and perspectives • Extension to 3-connected maps on cylinder & torus (cf Kant’s extension of the FPP algorithm in the planar case) weakly convex periodic straight-line drawing • Extension of our method to higher genus ? Polygonal scheme Universal cover Wikipedia pictures g=2 [Duncan, Goodrich, Kobourov’99] [Chambers, Eppstein, Goodrich, Löffler’00] drawing in polynomial area [Mohar’99] periodic drawing out of circle packing
© Copyright 2025 Paperzz