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.

Recommend


More recommend