Drawing Planar Graphs with Few Geometric Primitives

We define the emph{visual complexity of a plane graph drawing to be the number of basic geometric objects needed to represent all its edges. In particular, one object may represent multiple edges (e.g., one needs only one line segment to draw two collinear edges of the same vertex). Let $n$ denote the number of vertices of a graph. We show that trees can be drawn with $3n/4$ straight-line segments on a polynomial grid, and with $n/2$ straight-line segments on a quasi-polynomial grid. Further, we present an algorithm for drawing planar 3-trees with $(8n-17)/3$ segments on an $O(n)\times O(n^2)$ grid. This algorithm can also be used with a small modification to draw maximal outerplanar graphs with $3n/2$ edges on an $O(n)\times O(n^2)$ grid. We also study the problem of drawing maximal planar graphs with circular arcs and provide an algorithm to draw such graphs using only $(5n - 11)/3$ arcs. This provides a significant improvement over the lower bound of $2n$ for line segments for a nontrivial graph class.


Introduction
The complexity of a graph drawing can be assessed in a variety of ways: area, crossing number, bends, angular resolution, etc.All these measures have their justification, but in general it is challenging to optimize all of them in a single drawing.More recently, the visual complexity was suggested as another quality measure for drawings [18].The visual complexity denotes the number of simple geometric entities used in the drawing.
Typically, we consider as entities either straight-line segments or circular arcs.To distinguish these two types of drawings, we call the former segment drawings and the latter arc drawings.The idea is that we can use, for example, a single segment to draw a path of collinear edges.The hope is that a drawing that consists of only a few geometric entities is easy to perceive.It is a natural question to ask for the best possible visual complexity of a drawing of a given graph.Unfortunately, it is an NP-hard problem to determine the smallest number of segments necessary in a segment drawing [10].However, we can still expect to prove bounds for certain graph classes.1.However, these bounds (except for cubic 3-connected graphs) do not require the drawings to be on the grid.In his thesis, Mondal [14] gives an algorithm for triangulations with few segments-but more than Durocher and Mondal [9] require-on an exponential grid.
There are three trivial lower bounds for the number of segments required to draw any graph G = (V, E) with n vertices and e edges: (i) ϑ/2, where ϑ is the number of odd-degree vertices, (ii) max v∈V deg(v)/2 , and (iii) e/(n − 1) .For triangulations and general planar graphs, a lower bound of 2n − 2 and 5n/2 − 4, respectively, is known [8].Note that the trivial lower bounds are the same as for the slope number of graphs [20], that is, the minimum number of slopes required to draw all edges, and that the number of slopes of a drawing is upper bounded by the number of segments.Chaplick et al. [3,4] consider a similar problem where all edges are to be covered by few lines (or planes); the difference to our problem is that collinear segments are only counted once.
Contributions.In this work, we present two types of results.In the first part (Sections 2, 3 and 4), we discuss algorithms for segment drawings on the grid with low visual complexity.This direction of research was posed as an open problem by Dujmović et al. [8], but only a few results exist; see Table 2.We present an algorithm that draws trees on an O(n 2 ) × O(n 1.58 ) grid using 3n/4 straight-line segments.For comparison, the drawings of Schulz [18] need also 3n/4 arcs on a smaller O(n) × O(n 1.58 ) grid, but use the more complex circular arcs instead.Our segment drawing algorithm for trees can be modified to generate drawings with an optimal number of ϑ/2 segments on a quasi-polynomial grid.We also present algorithms to compute segment drawings of planar 3-trees and maximal outerplanar graphs, both on an O(n) × O(n 2 ) grid.In the case of planar 3-trees, the algorithm needs at most (8n − 17)/3 segments, and in the case of maximum outerplanar graphs the algorithm needs at most 3n/2 segments.
Finally, in Section 5, we study arc drawings of triangulations and general planar graphs.In particular, we prove that (5n − 11)/3 arcs are sufficient to draw any triangulation with n vertices.We highlight that this bound is significantly lower than the 2n − 2 lower bound known for segment drawings [8] and the so far best-known 2e/3 = 2n upper bound for circular arc drawings [18].A straightforward extension shows that (14n − 3e − 29)/3 arcs are sufficient for general planar graphs with e edges.[6,7].A canonical order can be constructed in reverse order by repeatedly removing a vertex without a chord from the outer face.Most of our algorithms make ample use of Schnyder realizers [17].Assume we selected a face as the outer face with vertices v 1 , v 2 and v n .We decompose the interior edges into three trees: T 1 , T 2 , and T n rooted at v 1 , v 2 , and v n , respectively.The edges of the trees are oriented to their roots.For k ∈ {1, 2, n}, we call each edge in T k a k-edge and the parent of a vertex in T k its k-parent.In the figures of this paper, we will draw 1-edges red, 2-edges blue, and n-edges green.The decomposition is a Schnyder realizer if at every interior vertex the edges are cyclically ordered as: outgoing 1-edge, incoming n-edges, outgoing 2-edge, incoming 1-edges, outgoing n-edge, incoming 2-edges.The trees of a Schnyder realizer are also called canonical ordering trees, as each describes a canonical order on the vertices of G by a (counter-)clockwise pre-order traversal [5].There is a unique minimal realizer such that any interior cycle in the union of the three trees is oriented clockwise [2]; this realizer can be computed in linear time [2,17].The number of such cycles is denoted by ∆ 0 and is upper bounded by (n − 1)/2 [21].Bonichon et al. [1] prove that the total number of leaves in a minimal realizer is at most 2n − 5 − ∆ 0 .

Trees with segments on the grid
Let T = (V, E) be an undirected tree.Our algorithm follows the basic idea of the circular arc drawing algorithm by Schulz [18].We make use of the heavy path decomposition [19] of trees, which is defined as follows.First, root the tree at some vertex r and direct all edges away from the root.Then, for each non-leaf u, compute the size of each subtree rooted in one of its children.Let v be the child of u with the largest subtree (one of them in case of a tie).Then, (u, v) is called a heavy edge and all other outgoing edges of u are called light edges.The maximal connected components of heavy edges form the heavy paths of the decomposition.
We call the vertex of a heavy path closest to the root its top node and the subtree rooted in the top node a heavy path subtree.We define the depth of a heavy path (subtree) as follows.We treat each leaf that is not incident to a heavy edge as a heavy path of depth 0. The depth of each other heavy path P is by 1 larger than the maximum depth of all heavy paths that are connected from P by an outgoing light edge.Heavy path subtrees of common depth are disjoint.Boxes.We order the heavy paths nondecreasingly by their depth and then draw their subtrees in this order.Each heavy path subtree is placed completely inside an L-shaped box (heavy path box ) with its top node placed at the reflex angle; see Fig. 1b for an illustration of a heavy path box B i with top node u i , width w i = i + r i , and height h i = t i + b i .We require that (i) heavy path boxes of common depth are disjoint, (ii) u i is the only vertex on the boundary, and (iii) b i ≥ t i .Note that the boxes will be mirrored horizontally and/or vertically in some steps of the algorithm.We assign to each heavy path subtree of depth 0 a heavy path box Drawing.Assume that we have already drawn each heavy path subtree of depth d.When drawing the subtree of a heavy path v 1 , . . ., v m of depth d + 1, we proceed as follows.The last vertex on a heavy path has to be a leaf, so v m is a leaf.If outdeg(v m−1 ) is odd, we place the vertices v 1 , . . ., v m on a vertical line; otherwise, we place only the vertices v 1 , . . ., v m−1 on a vertical line and treat v m as a heavy path subtree of depth 0 that is connected to v m−1 .For 1 ≤ h ≤ m − 1, all heavy path boxes adjacent to v h will be drawn either in a rectangle on the left side of the edge (v h , v h+1 ) or in a rectangle on the right side of the edge (v h−1 , v h ) (a rectangle that has v 1 as its bottom left corner for h = 1); see Fig. 2a for an illustration with even outdeg(v m−1 ).
We now describe how to place the heavy path boxes B 1 , . . ., B k with top node u 1 , . . ., u k , respectively, incident to some vertex v on a heavy path into the rectangles described above.First, assume that k is even.Then, for 1 ≤ i ≤ k/2, we order the boxes such that b 2i ≤ b 2i−1 .We place the box B 2i−1 in the lower left rectangle and box B 2i in the upper right rectangle in such a way that the edges (v, u 2i−1 ) and (v, u 2i ) can be drawn with a single segment.To this end, we construct a merged box B * i as depicted in Fig. 1c with * i = max{ 2i−1 , 2i }, r * i = max{r 2i−1 , r 2i }, and w * i = * i + r * i ; the heights are defined analogously.The merged boxes will help us reduce the number of segments.We mirror all merged boxes horizontally and place them in the lower left rectangle (of width k/2 i=i w * i ) as follows.We place B * 1 in the top left corner of the rectangle.For 2 ≤ j ≤ k/2, we place B * j directly to the right of B * j−1 such that its top border lies exactly t * j−1 rows below the top border of B * j−1 .Symmetrically, we place the merged boxes (vertically mirrored) in the upper right rectangle.Finally, we place each box B 2i−1 (horizontally mirrored) in the lower left copy of B * i such that their inner concave angles coincide, and we place each box B 2i (vertically mirrored) in the upper right copy of B * i such that their inner concave angles coincide; see Fig. 2b.If k is odd, then we simply add a dummy box B k+1 = B k that we remove afterwards.
Analysis.We will now calculate the width w and the height h of this construction.For the width, we have w = 2 i , but we have to add a bit more for the bottom parts of the boxes; in the worst case, this is max 1≤j≤k/2 b 2j−1 in the lower rectangle and max 1≤h≤k/2 b 2h in the upper rectangle.Since we require b i ≥ t i for each i, we have Since all heavy path trees of common depth are disjoint, the heavy path boxes of common depth are also disjoint.Further, we place only the top vertex of a heavy path on the boundary of its box.Finally, since we order the boxes such that b 2i ≤ b 2i−1 for each i, for the constructed box B we have b ≥ t.
Due to the properties of a heavy path decomposition, the maximum depth is log n .Recall that we place the depth-0 heavy paths in a box of width and height 2. Hence, by induction, a heavy path subtree of depth d with n vertices lies inside a box of width 2 • 2 d • n and height 2 • (3/2) d • n .Thus, the whole tree is drawn in a box of width 2 1.58 ).Following the analysis of Schulz [18], the drawing uses at most 3e/4 = 3(n − 1)/4 segments.Theorem 1.Every tree admits a straight-line drawing that uses at most 3e/4 segments on an O(n 2 ) × O(n 1.58 ) grid.
We finish this section with an idea of how to get a grid drawing with the best possible number of straight-line segments.Due to the limited space we give only a sketch.Observe that there is only one situation in which the previous algorithm uses more segments than necessary, that is the top node of each heavy path.This suboptimality can be "repaired" by tilting the heavy path as sketched in Fig. 2c.Note that the incident subtrees with smaller depth will only be translated.To make this idea work, we have to blow up the size of the heavy path boxes.We are left with scaling in each "round" by a polynomial factor.Since there are only log n rounds, we obtain a drawing on a quasi-polynomial grid.However, an implementation of the algorithm shows that some simple heuristics can already substantially reduce the drawing area, which gives hope that drawings on a polynomial grid exist for all trees.
Theorem 2. Every tree admits a straight-line drawing with the smallest number of straightline segments on a quasi-polynomial grid.Figure 3: Proof that the edge (w p , w q ) exists.

Planar 3-trees with few segments on the grid
In this section, we show how to construct drawings of planar 3-trees with few segments on the grid.We begin by introducing some notation.A 3-tree is a maximal graph of treewidth k, that is, no edges can be added without increasing the treewidth.Each planar 3-tree can be produced from the complete graph K 4 by repeatedly adding a vertex into a triangular face and connecting it to all three vertices incident to this face.This operation is also known as stacking.Any planar 3-tree admits exactly one Schnyder realizer, and it is cycle-free [2], that is, directing all edges according to T 1 , T 2 , and T n gives a directed acyclic graph.
Let T be a planar 3-tree.Let T 1 , T 2 , and T n rooted at v 1 , v 2 , and v n , respectively, be the canonical ordering trees of the unique Schnyder realizer of T .Without loss of generality, let T 1 be the canonical ordering tree having the fewest leaves, and let σ = (v 1 , v 2 , . . ., v n ) be the canonical order induced by a clockwise pre-order walk of T 2 .The following lemma holds for any v k , 1 ≤ k ≤ n.Lemma 1.Let C k−1 = (w 1 , . . ., w r ) be the contour of G k−1 , let w p be the 1-parent of v k , and let w q be the 2-parent of v k .Then, (a) either (w q , w p ) ∈ T 1 or (w p , w q ) ∈ T 2 (b) the subgraph inside the triangle (w p , w q , v k ) is a planar 3-tree (c) if q > p + 1, then w p+1 , . . ., w q−1 lie inside the triangle (w p , w q , v k ), (w p+1 , w p ) ∈ T 1 , and (w q−1 , w q ) ∈ T 2 .
Proof.Proof for (a): For q = p + 1 the statement holds trivially.So we assume that there exists a vertex w o on C k between w p and w q .Let X = {v n } and Y = {w o }.Obviously, the contour C k is an X-Y -separator; see Fig. 3. Let Z be a minimal X-Y -separator that only contains vertices from C k .By the properties of the Schnyder realizer, each incoming n-edge of a vertex on C k comes from a vertex below the contour.Hence, there is a path from each vertex on C k to v n in T n that does not revisit C k .Further, the paths (w o , v k ), (w o , w o−1 , . . ., w p ), and (w o , w o+1 , . . ., w q ) connect w o to each of v k , w p and w q without traversing any other vertex from C k .Hence, v k , w p , and w q all have to lie inside Z.
Otherwise a v n -w o -path would remain after deleting Z. Rose [16] has shown that every minimal X-Y -separator in a k-tree is a k-clique; thus, Z has to be the 3-cycle (w p , w q , v k ).The edge (w p , w q ) cannot be an n-edge, since otherwise we would have a cycle in T n .So either (w q , w p ) ∈ T 1 or (w p , w q ) ∈ T 2 .Proof for (b): Mondal et al. [15] have shown that this is true for every triangle in a planar 3-tree.
Proof for (c): The vertices have to lie inside the triangle (w p , w q , v k ) since otherwise their outgoing n-edge to v k would cross the edge (w p , w q ).Further, since the subgraph inside (w p , w q , v k ) is again a planar 3-tree, w p , w q , and v k are the roots of the corresponding Schnyder realizer; (w p+1 , w p ) ∈ T 1 and (w q−1 , w q ) ∈ T 2 follows immediately.vi par1(i) The following lemma was proven by Durocher and Mondal [9].

Lemma 2 ([9]
).Let a 1 , . . ., a m be a strictly x-monotone polygonal chain C. Let p be a point above C such that the segments a 1 p and a m p do not intersect C except at a 1 and a m .If the positive slopes of the edges of C are smaller than slope(a 1 , p), and the negative slopes of the edges of C are greater than slope(p, a m ), then every a i is visible from p.
Overview and Notation.The main idea of the algorithm is to draw the graph such that T 1 is drawn with one segment per leaf.We inductively place the vertices according to the canonical order σ = (v 1 , . . ., v n ) and refer to the step in which vertex v k is placed as step k.For the algorithm, we make use of the following additional notation; see Fig. 4. For each vertex v i , the 1-out-slope out 1 (i) is the slope of its outgoing 1-edge, the 2-out-slope out 2 (i) is the slope of its outgoing 2-edge, and the in-slope in(i) is the highest slope of the incoming 1-edges in the current drawing.Further, we denote by par 1 (i) the 1-parent of v i and by par 2 (i) the 2-parent of v i .For two vertices v i , v j , we denote by lca(i, j) the lowest common ancestor of v i and v j in T 1 .For an edge (v i , v j ) we call the closed region bounded by (v i , v j ), the path (v i , . . ., lca(i, j)), and the path (v j , . . ., lca(i, j)) the domain dom(i, j) of (v i , v j ).For each step k, we denote by λ k the number of leafs in the currently drawn subtree of T 1 , by s k the number of segments that are used to draw T 1 , and by η k the highest slope of the 1-edges in the current drawing.We denote by C → k the part of the contour C k between v k and v 2 .Note that par 2 (k) ∈ C → k−1 because the canonical order is induced by T 2 in clockwise order; hence, either v k and v k−1 are connected, or par 2 (k) is an ancestor of v k−1 on T 2 .
Invariants.After each step k, 3 ≤ k ≤ n, we maintain the following invariants: (I1) The contour C k is a strictly x-monotone polygonal chain; the x-coordinates along C → k increase by 1 per vertex.(I2) The 1-edges are drawn with s k = λ k segments in total with integer slopes between 1 and we have lca(i, j) = par 1 (j) and for each 1-edge e = (par 1 (j), v j ) in dom(i, j) it holds that slope(e) > out 1 (j).(I4) For each The current drawing is crossing-free and for each (v i , v j ) ∈ T n , slope(v i , v j ) > out 1 (j).(I6) Vertex v 1 is placed at coordinate (0, 0), v 2 is placed at coordinate (k − 1, 0), and every vertex lies inside the rectangle (0, 0) The Algorithm.The algorithm starts with placing v 1 at (0, 0), v 2 at (2, 0), and v 3 at (1, 1).Obviously, all invariants (I1)-(I6) hold.In step k > 3, the algorithm proceeds in two steps.Recall that v k is a neighbor of all vertices on the contour between v l = par 1 (k) and v r = par 2 (k).In the first step, the insertion step, v k is placed in the same column as v r .We distinguish between three cases to obtain the y-coordinate of v k ; see Fig. 5. (i) If no incoming 1-edge of v l has been drawn yet, then we draw the edge (v l , v k ) with slope out 1 (l); (ii) If v l already has an incoming 1-edge and v l and v r are the only neighbors of v k in the current drawing, then we draw the edge (v l , v k ) with slope in(l) + 1; (iii) Otherwise, we draw the edge (v l , v k ) with slope η k−1 + 1.Note that this does not maintain invariant (I1).
In the second step of the algorithm, the shifting step, the vertices between v r and v 2 on the contour C k have to be shifted to the right without increasing the number of segments s k used to draw T 1 .To this end, we iteratively extend the outgoing 1-edge of these vertices, starting with v r , to increase their x-coordinates all by 1; see Fig. 5b.This procedure places the vertices on the grid since the slopes of the extended edges are all integer by invariant (I2).Proof.It remains to show that, after each step k > 3, all invariants (I1)-(I6) hold.We denote by x(v) the x-coordinate of the vertex v, and similarly, by y(v) the y-coordinate of v. Invariant (I1).After inserting v k , we have C k = (v 1 , . . ., v l , v k , v r , . . ., v 2 ).The part from v 1 to v l is strictly x-monotone by induction.Since the vertices from v r to v 2 are all moved to the right by one, this part is strictly x-monotone with the x-coordinates increasing by one per vertex by induction.Since x(v l ) < x(v k ) = x(v r ) + 1, the invariant holds for the whole contour.Invariant (I2) In case (i) of the insertion step, v l changes from a leaf to a non-leaf, while v k is added as a leaf.Since (v l , v k ) is drawn with the same slope as the outgoing 1-edge of v l , we have In cases (ii) and (iii) of the insertion step, v l was not a leaf before and a new integer slope is used to draw (v l , v k ), so we have  1-edges, and the slopes of their outgoing 1-edges do not change, the number of segments remains the same.Invariant (I3).We only have to address the insertion step, since the shifting step does not affect the relevant slopes.Since the slopes of the 1-edges do not change, the invariant holds for edges on (v r , . . ., v 2 ) by induction; hence, it suffices to show the invariant for (v k , v r ).By Lemma 1(a), the edge (v l , v r ) exists in T 1 or T 2 .We distinguish between two cases.Case 1: (v r , v l ) ∈ T 1 ; see Fig. 7a.It immediately follows that lca(k, r) = v l = par 1 (k).Hence, the domain dom(k, r) is bounded by the triangle (v l , v r , v k ), which is a planar 3-tree by Lemma 1(b) with v l as the root of T 1 .By construction, the edge (v r , v l ) has the smallest slope of all incoming 1-edges of v l within the domain.Further, by construction, the first incoming 1-edge of each vertex is assigned the same slope as the outgoing 1-edge, while all other incoming 1-edges are assigned higher slopes.Thus, all 1-edges in the domain must have higher slopes than (v r , v l ).
Case 2: (v l , v r ) ∈ T 2 ; see Fig. 7b.Consider the path (v l = t 1 , . . ., t o = v 1 ) in T 1 from v l to v 1 .Let t s be the first vertex on this path such that (t s , v r ) / ∈ T 2 ; since (v 1 , v r ) / ∈ T 2 and (v l , v r ) ∈ T 2 , this vertex exists with s > 1.By choice of t s , we have that (t s−1 , t s ) ∈ T 1 and (t s−1 , v r ) ∈ T 2 ; hence, by Lemma 1(a), the edge (v r , t s ) exists and since (t s , v r ) ∈ T 2 it has to be a 1-edge.Hence, we have par 1 (r) = t s = lca(k, r).The domain dom(k, r) is bounded by the edges (v k , v r ), (v r , t s ), and the path (t 0 := v k , t 1 , . . ., t s ).By Lemma 1(b), the domain can be divided into s planar 3-trees (t i , v r , t i−1 ), 1 ≤ i ≤ s.For the triangle (t s , v r , t s−1 ), the argument from Case 1 can be directly applied; for i < s, we can use the same argument to show that no 1-edge has a higher slope than (t i , t i+1 ), which proves the invariant.Invariant (I4).Let v i ∈ C → k .First, consider the case that v i = v k ; see Fig. 8a.In the insertion step, v k is placed at the same x-coordinate as v r .In the shifting step, v r is moved to the right by one column and upwards by out 1 (r) rows; hence, we have y Now, consider the case that v 2 = v i = v k ; see Fig. 8b.Let v j = par 2 (i).We had out 1 (i) > out 2 (i) before the shifting step of the algorithm.In the shifting step, out 1 (i) does not change.However, v i and v j are shifted to the right by one column and upwards by out 1 (i) rows and out 1 (j) rows, respectively; hence, out 2 (i) increases by out 1 (j)−out 1 (i).Since dom(i, j) contains v l = par 1 (i), it follows from invariant (I3) that out 1 (j) < out 1 (i).This implies that out 2 (i) becomes smaller by the shifting step, so out 1 (i) > out 2 (i) is maintained.Invariant (I5).First, consider the drawing after the insertion step, but before the shifting step.By induction, the drawing was crossing-free before this step.Since no existing edge is modified, each crossing has to involve an edge of v k .We will use Lemma 2 to show that v k sees all its neighbors.By invariant (I1), the neighbors of v k lie on a strictly xmonotone polygonal chain.Because of slope(v k , v r ) = −∞, it suffices to show that the edges between v l and v r on the contour have smaller slope than slope(v l , v k ).
Consider case (i) of the insertion step: v l has no incoming 1-edge; see Fig. 5a.Then, (v l , v r ) ∈ C k−1 ; otherwise, we get a contradiction from Lemma 1(c).Hence, v l and v r are the only neighbors of v k and we only have to show that slope(v k , v l ) > slope(v l , v r ).By construction and invariant (I4), we have slope Consider case (ii) of the insertion step: v l already has an incoming 1-edge and v l and v r are the only neighbors of v k ; see Fig. 5b.In particular, that means that (v r , v l ) ∈ T 1 and, by construction, slope Consider case (iii) of the insertion step: v l already has an incoming 1-edge and (v l , v r ) / ∈ C k−1 ; see Fig. 5c.In this case, (v k , v l ) is drawn with slope(v k , v l ) = η k−1 + 1, so every 1-edge on the contour between v l and v r has lower slope than (v k , v l ).By invariant (I2) and (I4), the 2-edges on the contour between v l and v r also cannot have higher slope than η k−1 .
Hence, we can use Lemma 2 in each case of the insertion step to show that the drawing remains planar.The second part of the invariant, for each (v i , v j ) ∈ T n , slope(v i , v j ) > out 1 (j), holds for each vertex but v k by induction.Since the edges of v k are planar and v k is placed vertically above v r = par 2 (k), all edges (v i , v k ) ∈ T n have positive slope with x(v i ) > x(v l ), so slope(v i , v k ) > out 1 (k).Now, consider the drawing after the shifting step.We shift the vertices between v r and v 2 one by one on the contour C → k and show that, after each step, the invariant holds.Let v t be the vertex next to shift, let v s be its predecessor and let v u = par 2 (t) be its successor on the contour.Since either v s = v k or v s has been shifted in the previous step, the edge (v s , v t ) is drawn vertically and the edge (v t , v u ) has slope out 2 (t).Since (v t , par 1 (t)) lies on the boundary of both domains dom(s, t) and dom(t, u), the union of these domains contains all edges incident to v t and all n-edges of v t lie in dom(t, u).We will now show that both domains remain planar and for all Consider the domain dom(s, t); see Fig. 9a.By the Schnyder realizer properties, all edges incident to v t (except (v t , par 1 (t))) are 2-edges.Let par 1 (t) = a 1 , . . ., a m = v s be the path through the neighbors of v t .All edges on this path are 1-edges or n-edges (otherwise T 2 would not be a tree).By invariant (I3), all 1-edges on this path have slope higher than out 1 (t).By induction and by invariant (I3), for each n-edge (a i−1 , a i ) on this path, we have slope(a i−1 , a i ) > out 1 (i) > out 1 (t).As out 1 (t) > 0, the path a 1 , . . ., a m is an x-monotone chain without negative slopes.We can now apply Lemma 2; note that v t lies below the x-monotone chain, so have the mirrored requirements that the positive slopes of the edges of the chain are greater than slope(a 1 , v t ) = out 1 (t).Now, consider the domain dom(t, u); see Fig. 9b.By the Schnyder realizer properties, all edges incident to v t (except (v t , par 2 (t))) are n-edges.Let par 1 (t) = a 1 , . . ., a m = v u be the path through the neighbors of v t .All edges on this path are 1-edges or 2-edges (otherwise T n would not be a tree).If m = 2, then there is no n-edge in dom(t, u).By invariant (I3), we have out 1 (t) > slope(a 1 , a 2 ) = out 1 (u) and we can move v t in direction − −−−−− → par 1 (t)v t without changing the embedding.If m > 2, we look back on step t of the algorithm.Observe that a 1 , . . ., a m were the neighbors of v t on the contour C t−1 .Since case (i) and (ii) imply m = 2, v t had to be inserted with case (iii).By construction, the edge (par 1 (t), v t ) was inserted with a higher slope than all 1-edges and, by invariant (I3), also all 2-edges on the contour.Further, as a 1 , . . ., a m−1 were removed from the domain, the edges (a i , a i+1 ) for 1 ≤ i ≤ m − 2 were not changed afterward.Thus, we still have out 1 (t) > slope(a i , a i+1 ), 1 ≤ i ≤ m − 2. Additionally, by invariant (I3), also out 1 (t) > slope(a m−1 , a m ) holds, so by Lemma 2 we can place v t above v u with slope out 1 (t) without crossings.The movement of v t to the right and the planarity maintain that slope(a i , v t ) > out 1 (t), 2 ≤ i ≤ m − 1.This establishes invariant (I5).Invariant (I6).Since v 1 is never moved, it remains at (0, 0).Vertex v 2 is moved k − 3 times to the right by one column, so it is located at ((k − 3) + 2, 0) = (k − 1, 0).As v k is not placed to the right of v 2 and no vertex is moved to the right by more than one column, the maximum x-coordinate of all vertices is k − 1.The contour only consists of 1-edges and 2-edges; by invariants (I4) and (I2), their maximum slope is λ k .Hence, the maximum y-coordinate of all vertices is at most (k − 1)λ k .

Maximal outerplanar graphs with segments on the grid
A graph is outerplanar if it can be embedded in the plane with all vertices on one face (called outerface), and it is maximal outerplanar if no edge can be added while preserving outerplanarity.This implies that all interior faces of a maximal outerplanar graph are triangles.Outerplanar graphs have degeneracy 2 [13], that is, every induced subgraph of an outerplanar graph has a vertex with degree at most two.Thus, we find in every maximal outerplanar graph a vertex of degree 2 whose removal (taking away one triangle) results in another maximal outerplanar graph.By this, we gain a deconstruction order that stops with a triangle.Let G = (V, E) be a maximal outerplanar graph and let σ = (v 1 , . . ., v n ) be the reversed deconstruction order.Lemma 3. The edges of G can be partitioned into two trees T 1 and T 2 .Moreover, we can turn G into a planar 3-tree by adding a vertex and edges in the outerface.The additional edges form a tree T n .The three trees T 1 , T 2 and T n induce a Schnyder realizer.
Proof.We build the graph G according to the reversed deconstruction order.Let G k denote the subgraph of G induced by the set {v 1 , v 2 , . . ., v k }.Further, let G k be the graph obtained by adding the vertex v n and the edges (v i , v n ) for all 1 ≤ i ≤ k to G. We prove by induction over k that there exists a Schnyder realizer induced by T 1 , T 2 , T n for G k such that the trees T 1 and T 2 form the graph G k and G k is a planar 3-tree.Note that Felsner and Trotter [11] already proved this lemma without the statement that G k is a planar 3-tree.
For the base case k = 2, our hypothesis is certainly true; see G 2 in Fig. 10.Assume our assumption holds for some k.In order to obtain G k+1 from G k , we have to add the vertex v k+1 and two incident edges (v i , v k+1 ) and (v j , v k+1 ).Assume that v i is left of v j on C k .We add (v i , v k+1 ) to T 1 and (v j , v k+1 ) to T 2 .This is safe since we cannot create a cycle in any of the trees.There is another a new edge (v k+1 , v n ) in G k+1 which we add to T n .Again, no cycle can be created.The three outgoing tree edges at v i form three wedges (unless v i is the root of T 1 ).The new ingoing 1-edge (v i , v k+1 ) lies in the wedge bounded by the outgoing 2-edge and the outgoing n-edge.For the edge (v j , v k+1 ), we can argue analogously.Hence, the three trees induce a Schnyder realizer; see also Fig. 10.Moreover, the graphs G k and G k+1 differ exactly by the vertex v k+1 that has been stacked into a triangular face of G k ; thus, since G k is a planar 3-tree, so is G k+1 .We now have proven the induction hypothesis for k + 1.To obtain the statement of the lemma, we take the Schnyder realizer for the graph G n−1 and move the edge (v 1 , v n ) from T n to T 1 and the edge (v 2 , v n ) from T n to T 2 .Now T 1 and T 2 form G, and all three trees induce the Schnyder realizer of a planar 3-tree.
We can now rely on our methods developed for the planar 3-trees.The technique used in Theorem 3 produces a drawing of a planar 3-tree in which two of the trees of the Schnyder realizer are drawn with single-edge segments, whereas the third tree uses as many segments as it had leaves.
Consider a drawing according to Theorem 3 of the planar 3-tree introduced in Lemma 3 that contains the maximal outerplanar graph G as a spanning subgraph.By deleting T n , we obtain a drawing of G.Note that in this drawing the outer face is realized as an interior face, which can be avoided (if this is undesired) by repositioning v n accordingly.The Schnyder realizer has 2n − 5 leaves in total, but n − 3 of them belong to T n .We can assume that T 1 has the smallest number of leaves, which is at most n/2 − 1.We need n − 2 segments for drawing T 2 (one per edge), and three edges for the triangle v 1 , v 2 , v n .In total, we have at most n/2 − 1 + n − 2 + 3 = 3n/2 segments.Since the drawing is a subdrawing from our drawing algorithm for planar 3-trees, we get the same area bound as in the planar 3-tree scenario.We summarize our results in the following theorem.Complexity.We perform our algorithm using the canonical order induced by the canonical ordering tree in the minimal Schnyder realizer having the fewest leaves; without loss of generality, let T n be this tree.Recall that T n has at most (2n − 5 − ∆ 0 )/3 leaves; since ∆ 0 ≥ 0, we simplify this to (2n − 5)/3 for the remainder of the analysis.We start with one circle and subsequently process v n , . . ., v 4 , adding one circular arc per vertex (representing edges in T 1 and T 2 ) and a number of line segments (representing edges in T n ).Note that processing v 3 has no effect since the edge v 1 v 2 is the bottom arc.Counting the circle as one arc, we thus have n − 2 arcs in total.At every vertex in T n , one incoming edge is collinear with the outgoing one towards the root.Hence, we charge each line segment uniquely to a leaf of T n : there are at most (2n − 5)/3 segments.Thus, the total visual complexity is at most n − 2 + (2n − 5)/3 = (5n − 11)/3.In particular, this shows that, with circular arcs, we obtain greater expressive power for a nontrivial class of graphs in comparison to the 2n lower bound that is known for drawing triangulations with line segments.Since a triangulation has e = 3n − 6 edges, we conclude the following.
Theorem 5. Every triangulation admits a circular arc drawing that uses at most 5n/3 − 11/3 = 5e/9 − 1/3 arcs.This bound readily improves upon the result for line segments (7e/9 − 10/3) by Durocher and Mondal [9].Schulz [18] proved an upper bound of 2e/3 arcs.The bound above is an improvement on this result, though only for triangulations.Degrees of freedom.One circular arc has five degrees of freedom (DoF), which is one more than a line segment.Hence, our algorithm with circular arcs uses at most 5 • (5n − 11)/3 = (25n − 55)/3 DoF, even if we disregard any DoF reduction arising from the need to have arcs coincide at vertices.This remains an improvement over the result of Durocher and Mondal [9], using at most 4 • (7n − 10)/3 = (28n − 40)/3 DoF.The lower bound for line segments (4 • 2n = 24n/3) is lower than what we seem to achieve with our algorithm.However, our algorithm uses line segments rather than arcs to draw the tree T n .Thus, the actual DoF employed by the algorithm is 5(n − 2) + 4 • (2n − 5)/3 = (23n − 50)/3, which is in fact below the lower bound for line segments.
General planar graphs with circular arcs.The algorithm for triangulations easily adapts to draw a general planar graph G with n ≥ 3 vertices and e edges.As connected components can be drawn independently, we assume G is connected.We need to only triangulate G, thereby adding 3n − e − 6 chords.We then run the algorithm described in Theorem 5. Finally, we remove the chords from the drawing.Each chord may split an arc into two arcs, thereby increasing the total complexity by one.From Theorem 5, it follows that we obtain a drawing of G using (5n/3 − 11/3) + (3n − e − 6) = 14n/3 − e − 29/3 arcs.Since e is at least n − 1, a very rough upper bound is 11n/3 − 26/3.Theorem 7. Every planar graph with n ≥ 3 admits a circular arc drawing with at most 14n/3 − e − 29/3 arcs.
Again, this bound readily improves upon the upper bound for line segments (16n/3 − e − 28/3) by Durocher and Mondal [9].Provided the graph is 3-connected, Schulz's [18] bound of 2e/3 − 1 is lower than our bound, but only for sparse-enough graphs having e < 14n/5 − 26/5.However, there are planar graphs that are not 3-connected with as many as 3n − 7 edges (one less than a triangulation): there is no sparsity for which planar graphs must be 3-connected and Schulz's bound is lower than our result.In case the original graph G is 4-connected, extending it to a triangulation by adding edges does not violate this property.Repeating the above analysis using the improved bound of Theorem 6 yields us the following result.Heuristic improvement for planar graphs.We investigate here a simple improvement upon the above by choosing a "good triangulation".However, we must finally conclude that for worst-case bounds, this improvement is only noticeable in small graphs.
For the improvement, we observe that at most two arcs at every vertex continue: one for the horizon and one for T n .We thus reduce the necessary geometric primitives by picking a single vertex on every face and connecting all chords to that particular vertex.That is, we reduce the increase in complexity caused by removing the temporary chords in the final step of the algorithm.We may even further save on complexity by selecting the same vertex for two adjacent faces, but this is not analyzed here.
Since two chords in a face can lead to an increase in complexity, and since a face of size |f | needs |f | − 3 chords to be triangulated, we can readily conclude that this saves us max{0, |f | − 5} for each face.In other words, only faces with size at least 6 help us reduce the number of circular arcs in the eventual drawing.We define the total reduction R = f ∈G max{0, |f | − 5}; the complexity bound thus becomes (14n/3 − e − 29/3) − f ∈G max{0, |f | − 5}.Below, we show that R ≥ max{0, 5n − 3e}.
For any n and e, we want to find the minimal value of R. Consider an arbitrary connected graph G on n vertices with e edges and consider the sizes of all faces.We turn this into an example with minimal value of R by readjusting the sizes of the faces, "reassigning" chords to different faces.We do so with the following two operations: A first question would be whether the newly assigned face sizes can always be realized by a graph.We can answer this affirmatively by observing the following procedure to implement the reassignment.Let f = f 1 , . . ., f k = f denote the faces corresponding to a shortest path between f and f in the dual of G.For i = 1 up to k − 1, pick an edge (u, v) that is incident to f i and f i+1 and replace (u, v) by (u, w) where w = u is a neighbor of v on f i .This yields again a simple graph with n vertices and e edges, if Using the above two operations, we can turn any graph into one having minimal R, for given values of n and e.In particular, applying these operations until they can no longer be applied implies that either: As the graph is connected, we know that n − 1 ≤ e must hold, and thus, we find that n < 16 must hold for this improvement to be noticeable in the worst-case scenario.
We conclude that this approach does not readily yield an improvement to the complexity bound, but it does provide a heuristic to obtain a lower visual complexity, when a graph has multiple faces of size at least 6.
(a) A heavy path decomposition.
The heavy path box B i with top node u i .The merged box B * i for B 2i−1 and B 2i .

Figure 1 :
Figure 1: The heavy path boxes and the merged boxes with their respective lengths.

BFigure 2 :
Figure 2: (a) Placement of a heavy path, its box B, and areas for the adjacent heavy path boxes.(b) Placement of the heavy path boxes adjacent to v. (c) Further improvement on the visual complexity via increasing the size of the boxes.

Figure 4 :
Figure 4: Definitions for the drawing algorithm for planar 3-trees.
Maintaining the invariant in dom(t, u)

Figure 10 :
Figure 10: Construction of an maximal outerplanar graph embedded in a planar 3-tree as done in the proof of Lemma 3. The tree T n is dashed.

Theorem 4 .
Every maximal outerplanar graph admits a straight-line drawing that uses at most 3n/2 segments on an O(n) × O(n 2 ) grid.

Figure 12 :
Figure12: (a) Arc A lies inside the dashed triangle h i−1 h i h i+1 .(b) Undrawn neighbors of h i are placed on A, in the section determined by v 1 and v 2 .One neighbor is placed to align with h i towards a predecessor of h i .
As a result of this replacement, |f i | decreases by one, and |f i+1 | increases by one.By assumption, |f 1 | = |f | > 3 and thus this procedure is valid and has the eventual result that |f | decreases by one and |f | increases by one; all intermediate faces maintain their size.
(a) all faces have size at most 5; or (b) one face f has size |f | > 5 and all other faces have size exactly 5.In case (a), no face contributes to R and thus R = 0.In case (b), only face f contributes to R and thus R = |f | − 5.This effectively reduces R to max{0, |f | − 5}.Let us further investigate case (b).Double counting of edges along faces gives us 2e = f ∈G |f | = |f | + 5(F − 1), where F = 2 + e − n is the total number of faces in G. Hence, we find that |f | = 5n − 3e + 5, implying R = |f | − 5 = 5n − 3e.The resulting bound is 2e − n/3 − 29/3.As any planar graph can be drawn trivially with e arcs (or line segments), this new bound is only an improvement if e > 2e − n/3 − 29/3, or equivalently, e < n/3 + 29/3.

Table 1 :
Upper bounds on the visual complexity.Here, n is the number of vertices, ϑ the number of odd-degree vertices and e the number of edges.Constant additions or subtractions have been omitted.Related work.For a number of graph classes, upper and lower bounds are known for segment drawings and arc drawings; the upper bounds are summarized in Table

Table 2 :
Same as in Table1but for grid drawings.Preliminaries.Given a triangulated planar graph G = (V, E) on n vertices, a canonical order σ = (v 1 , . . ., v n ) is an ordering of the vertices in V such that, for 3 ≤ k ≤ n, (i) the subgraph G k of G induced by v 1 , . . ., v k is biconnected, (ii) the outer face of G k consists of the edge (v 2 , v 1 ) and a path C k , called contour, that contains v k , and (iii) the neighbors of