1 bend rac drawings of nic planar graphs in quadratic area
play

1-Bend RAC Drawings of NIC-Planar Graphs in Quadratic Area Steven - PowerPoint PPT Presentation

1-Bend RAC Drawings of NIC-Planar Graphs in Quadratic Area Steven Chaplick, Fabian Lipp, Alexander Wolff, and Johannes Zink Beyond-Planar Graphs 2 Types of Drawings: Planar: No crossings Beyond-Planar Graphs 2 Types of Drawings:


  1. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: – Start with triangle v 1 , v 2 , v 3 . – For v k : Shift first & last neighbor of v k . v 3 v 1 v 2

  2. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: – Start with triangle v 1 , v 2 , v 3 . – For v k : Shift first & last neighbor of v k . v 3 v 1 v 2

  3. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: – Start with triangle v 1 , v 2 , v 3 . – For v k : Shift first & last neighbor of v k . – Add v k to the outer face. v 3 v 1 v 2

  4. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: – Start with triangle v 1 , v 2 , v 3 . – For v k : Shift first & last neighbor of v k . – Add v k to the outer face. v 4 v 3 v 1 v 2

  5. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: – Start with triangle v 1 , v 2 , v 3 . – For v k : Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  6. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: – Start with triangle v 1 , v 2 , v 3 . – For v k : Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  7. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: – Start with triangle v 1 , v 2 , v 3 . – For v k : Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 5 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  8. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: – Start with triangle v 1 , v 2 , v 3 . – For v k : Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 5 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  9. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: – Start with triangle v 1 , v 2 , v 3 . – For v k : v 6 Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 5 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  10. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: Resulting grid size: – Start with triangle v 1 , v 2 , v 3 . (2 n − 4) × ( n − 2) – For v k : v 6 Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 5 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  11. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: Resulting grid size: – Start with triangle v 1 , v 2 , v 3 . (2 n − 4) × ( n − 2) – For v k : v 6 Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 5 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  12. The Shift Algorithm 5 [de Fraysseix, Pach, and Pollack, 1990] [Chrobak and Payne, 1995] Idea: v 4 v 6 • Triangulate given plane graph. • Compute a canonical ordering of v 3 v 5 the vertices v 1 , v 2 , . . . , v n . v 2 v 1 • Draw the graph: Resulting grid size: – Start with triangle v 1 , v 2 , v 3 . (2 n − 4) × ( n − 2) – For v k : v 6 Shift first & last neighbor of v k . – Add v k to the outer face. ⇒ all slopes on outer face ± 1 v 5 v 4 v 3 (except for v 1 v 2 ) v 1 v 2

  13. Approach that Nearly Works 6

  14. Approach that Nearly Works 6 • Input: a NIC-plane graph

  15. Approach that Nearly Works 6 • Input: a NIC-plane graph

  16. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( )

  17. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) v dummy

  18. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge v dummy

  19. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge v dummy

  20. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm v dummy

  21. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm v dummy

  22. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) v dummy

  23. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) v dummy

  24. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) v dummy

  25. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) grid point on the Thales’ circle v dummy

  26. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) grid point on the Thales’ circle v dummy

  27. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) grid points for the bends v dummy

  28. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) � v dummy

  29. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) � v dummy

  30. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) � v dummy

  31. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) � very slim v dummy

  32. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) � v dummy

  33. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) � v dummy

  34. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) � v dummy

  35. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) � v dummy

  36. Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) • Replace each pair of crossing edges by a single edge • Draw the obtained plane graph with the Shift Algorithm • Manually reinsert the removed edges with 1 bend so that they cross in a right angle (crossings and bends on the grid) � bad v dummy configu- ration!

  37. Our Algorithm 7 bad configu- ration!

  38. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices.

  39. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs).

  40. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up instead of top-down.

  41. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). It builds a canonical ordering bottom-up start with instead of top-down. an empty quadrangle

  42. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down.

  43. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. Insert the diagonal

  44. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. Insert the diagonal

  45. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down.

  46. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down.

  47. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94

  48. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear:

  49. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1

  50. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1

  51. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1

  52. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2

  53. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2

  54. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2

  55. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2 Case 3

  56. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2 Case 3

  57. Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices. v 55 v 61 • Use the algorithm by Harel and Sardas (Shift Algorithm for biconnected graphs). v 42 It builds a canonical ordering bottom-up instead of top-down. v 94 • Now only three “good” cases can appear: Case 1 Case 2 Case 3

  58. Summary 8

  59. Summary 8 • Runs in O ( n ) time.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend