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
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
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
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
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
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
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
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
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
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
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
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
Approach that Nearly Works 6
Approach that Nearly Works 6 • Input: a NIC-plane graph
Approach that Nearly Works 6 • Input: a NIC-plane graph
Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( )
Approach that Nearly Works 6 • Input: a NIC-plane graph • Enclose each crossing by a so called empty kite ( ) v dummy
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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!
Our Algorithm 7 bad configu- ration!
Our Algorithm 7 bad Solution: configu- ration! • Make the first vertex in the qudrangle (regarding the canonical ordering) adjacent to the other three vertices.
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).
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.
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
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.
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
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
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.
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.
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
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:
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
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
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
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
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
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
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
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
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
Summary 8
Summary 8 • Runs in O ( n ) time.
Recommend
More recommend