Planar Drawings with Few Slopes of Halin Graphs and Nested Pseudotrees

The $\textit{planar slope number}$ $psn(G)$ of a planar graph $G$ is the minimum number of edge slopes in a planar straight-line drawing of $G$. It is known that $psn(G) \in O(c^\Delta)$ for every planar graph $G$ of maximum degree $\Delta$. This upper bound has been improved to $O(\Delta^5)$ if $G$ has treewidth three, and to $O(\Delta)$ if $G$ has treewidth two. In this paper we prove $psn(G) \leq \max\{4,\Delta\}$ when $G$ is a Halin graph, and thus has treewidth three. Furthermore, we present the first polynomial upper bound on the planar slope number for a family of graphs having treewidth four. Namely we show that $O(\Delta^2)$ slopes suffice for nested pseudotrees.


Introduction
Minimizing the number of slopes used by the edge segments of a straight-line graph drawing is a well-studied problem, which has received notable attention since its introduction by Wade and Chu [32].A break-through result by Keszegh, Pach and Pálvölgyi [24] states that every planar graph of maximum degree ∆ admits a planar straight-line drawing using at most 2 O(∆) slopes.That is, the planar slope number of planar graphs is bounded by a function of ∆, which answers a question of Dujmović et al. [20].In contrast, the slope number of non-planar graphs has been shown to be unbounded (with respect to ∆) even for ∆ = 5 [5,29].Besides the above mentioned upper bound, Keszegh et al. [24] also prove a lower bound of 3∆ − 6, leaving as an open problem to reduce the large gap between upper and lower bounds on the planar slope number of planar graphs.
The open problem by Keszegh et al. motivated a great research effort to establish improvements for subclasses of planar graphs.Jelínek et al. [23] study planar partial 3-trees and show that their planar slope number is at most O(∆ 5 ).Di Giacomo et al. [16] study a subclass of planar partial 3-trees (those admitting an outer 1-planar drawing) and present an O(∆ 2 ) upper bound for the planar slope number of these graphs.Lenhart et al. [28] prove that the planar slope number of a partial 2-tree is at most 2∆ (and some partial 2-trees require at least ∆ slopes).Knauer et al. [27] focus on outerplanar graphs (a subclass of partial 2-trees) and establish a tight bound of ∆ − 1 for the (outer)planar slope number of this graph class.Di Giacomo et al. [17] prove that the planar slope number of planar graphs of maximum degree three is four.Finally, the problem of computing planar drawings with few slopes has also been studied in the setting where the edges are polygonal chains rather than straight-line segments [1,8,18,24,25,26].
An algorithmic strategy to tackle the study of the planar slope number problem can be based on a peeling-into-levels approach.This approach has been successfully used to address the planar slope number problem for planar 3-trees [23], as well as to solve several other algorithmic problems on (near) planar graphs, including determining their pagenumber [7,6,21,33], computing their girth [10], and constructing radial drawings [15].In the peeling-into-levels approach the vertices of a plane graph (i.e., a planar graph with a given planar embedding) are partitioned into levels, based on their distance from the outer face.The vertices in each level induce an outerplane graph and two consecutive levels form a 2-outerplane graph.One key ingredient is an algorithm that deals with a 2-outerplane graph with possible constraints on one of the two levels.Another ingredient is an algorithm to extend a partial solution by introducing the vertices of new levels, while taking into account the constraints defined in the already-considered levels.Intrinsic in this approach is the construction of an embedding-preserving planar drawing of the input graph.The plane slope number psn(G) of a plane graph G is the minimum number of slopes used by the edge segments over all possible embedding-preserving planar straight-line drawings of G. Clearly, the planar slope number of G is upper bounded by its plane slope number.Fig. 1.A nested pseudotree: the edges of its pseudotree are bold and the cycle of its pseudotree is red.
In an attempt to exploit the peeling-into-levels approach to prove a polynomial upper bound on the plane slope number of general plane graphs, one must be able to show a polynomial bound on the plane slope number of 2-outerplane graphs.In this paper we take a first step in this direction by focusing on a meaningful subfamily of 2-outerplane graphs, namely the nested pseudotrees.A nested pseudotree is a graph with a planar embedding such that when removing the vertices of the outer face one is left with a pseudotree, that is, a connected graph with at most one cycle.See Fig. 1 for an example.The family of nested pseudotrees generalizes the well studied 2-outerplane simply nested graphs and properly includes the Halin graphs [22], the cycle-trees [12], and the cyclecycles [12].Simply nested graphs were first introduced by Cimikowski [11], who proved that the inner-triangulated ones are Hamiltonian, and have been extensively studied in various contexts, such as universal point sets [2,3], square-contact representations [12], and clustered planarity [13].Generally, nested pseudotrees have treewidth four and, as such, the best prior upper bound on their planar slope number is the one by Keszegh et al., which is exponential in ∆.Halin graphs and cycle-trees have instead treewidth three, and therefore the previously known upper bound for these graphs is O(∆ 5 ), as shown by Jelínek et al. [23].We prove significantly better upper bounds for all the above mentioned graph classes.Our main results are the following.
The proofs of Theorems 1 and 2 are constructive.We first consider the case that G is a cycle-tree and we show a recursive algorithm that computes a planar straight-line drawing of G using O(∆ 2 ) slopes (Section 3).The algorithm first considers 3-connected instances which are treated by means of a suitable data structure called SPQ-tree [12].The case of general nested pseudotree is then handled in Section 4 where the input graph G is transformed into a cycle-tree G ′ by removing an edge e; G ′ is drawn with the algorithm of Section 3 and the invariants that we maintain in the construction are exploited to reintroduce e in the computed drawing so to obtain a new drawing that still uses O(∆ 2 ) slopes.The technique for cycle-trees described in Section 3 gives an upper bound of 12∆ + 10 when applied to a Halin graph; in Section 5 we prove for this family the finer bound stated in Theorem 2. Section 6 discusses some open problems.

Preliminaries
We assume familiarity with standard graph theoretic and graph drawing notions (see, e.g., [14,19]).Let G be a graph and let v be a vertex of G; let deg G (v) denote the degree of vertex v of G.The degree ∆(G) of G is max v∈G deg G (v).When clear from the context, we omit the specification of G in the above notation and say that G is a degree-∆ graph.Drawings and Embeddings.A drawing Γ of a graph G is a mapping of the vertices of G to distinct points of the plane, and of the edges of G to Jordan arcs connecting their corresponding endpoints but not passing through any other vertex.In the remainder of the paper, if it leads to no confusion, in notation and terminology we make no distinction between a vertex of G and the corresponding point of Γ and between an edge of G and the corresponding arc of Γ .Drawing Γ is straight-line if its edges are straight-line segments.A drawing is planar if no two edges intersect, except at a common endpoint, if any.A planar graph is a graph that admits a planar drawing.A planar drawing subdivides the plane into topologically connected regions, called faces.The infinite region is called the outer face; any other face is an inner face.A planar embedding of a planar graph is an equivalence class of topologically equivalent (i.e., isotopic) planar drawings of G.A planar embedding of a connected planar graph can be described by the clockwise circular order of the edges around each vertex together with the choice of the outer face.A planar graph with a given planar embedding is a plane graph.A plane drawing of a plane graph G is a planar drawing of G that preserves the planar embedding of G.
The slope of a line ℓ is the smallest angle α ∈ [0, π) such that ℓ can be made horizontal by a clockwise rotation by α.The slope of a segment is the slope of the line containing it.Let G be a plane graph and let Γ be a plane straight-line drawing of G.The plane slope number psn(Γ ) of Γ is the number of distinct slopes used by the edges of G in Γ .The plane slope number psn(G) of G is the minimum psn(Γ ) over all planar straight-line drawings Γ of G.If G has degree ∆, then clearly psn(G) ≥ ⌈∆/2⌉, as in any straight-line drawing the same slope can be used by at most two edges incident to the same vertex.
The following theorem rephrases a result proved in [28].Fig. 2 shows an example of the construction.

Theorem 3 ([28]
).Let G be a degree-∆ plane partial 2-tree and let (u, v) be a distinguished edge of G. Let 0 < β < π 2 , let s be a given slope, and let ♦(abcd) be any rhombus whose longer diagonal ac has slope s and such that the interior angles at a and c are equal to β.There exists a set L(β, s, ∆) of O(∆) slopes such that G admits a plane straight-line drawing inside ♦(abcd) using the slopes in L(β, s, ∆) and such that a ≡ v and c ≡ u.A pseudotree is a connected graph containing at most one cycle.A nested pseudotree is a topological graph such that removing the vertices on the outer face yields a non-empty pseudotree.See Fig. 1 for an example of a nested pseudotree.Note that the external vertices of a nested pseudotree need not induce a chordless cycle.In fact, the outer boundary is a closed walk.By definition, nested pseudotrees generalize 2-outerplane simply nested graphs.Moreover, this class includes some graphs of treewidth 4, as formalized in the following.Proof.Lower bound.The graph of the octahedron is a nested pseudotree whose cycle and pseudotree are both triangles.This graph is one of the forbidden minors for treewidth-3 graphs [4].Hence, there is a nested pseudotree with treewidth at least 4.
Upper bound.First, we show that each cycle-tree has treewidth at most 3, and then we improve this bound to show that each nested pseudotree has treewidth at most 4.
Since each cycle-tree has radius r = 1 (defined as the maximum distance of an inner face from the outer face), it follows from a theorem of Robertson and Seymour [30] that they have treewidth at most 3r + 1 = 4.However, we can prove, more strongly, that any cycle-tree G has treewidth at most 3. To this aim we prove that G has a tree decomposition of width 3. Let C be the cycle induced by the external vertices of G and let T be the tree induced by the internal vertices of G.We can assume that G is 2-connected.If G is not 2-connected, then it has a 2-connected component B that contains all the vertices of C; any other 2-connected component only contains vertices of T and hence it is an edge.Since the treewidth of a graph is the maximum treewidth of its 2-connected components [9], we can concentrate on the component B. The proof is by induction on the number of edges in T .If T has no edge, then it has only one vertex and G is a subgraph of a wheel graph.Since a wheel graph is a Halin graph, it has treewidth 3 [9].Suppose now that T has at least one edge (u, v).This edge is shared by two faces of G, each of which contains at least one external vertex.Let w and z be two external vertices, one for each of the two faces.Removing (u, v), the pair {w, z} becomes a 2-cut (see Fig. 4), which splits the graphs into two components, one having w, z, and u on the outer boundary, call it B 1 , and one having w, z, and v on the outer boundary, call it B 2 .We add to B 1 the edges (w, z), (z, u), and (u, w), if they do not exist; analogously, we add to B 2 the edges (w, z), (z, v), and (v, w), if they do not exist.After this addition both B 1 and B 2 are cycle-trees whose trees have at least one edge less that the tree of G.By induction they admit a tree decomposition of width 3. Since B 1 contains the 3-cycle (w, z), (z, u), and (u, w), in the tree decomposition of B 1 there is a bag X 1 containing the three vertices u, w and z.Analogously, in the tree decomposition of B 2 there is a bag X 2 containing the three vertices v, w, and z.We combine these two tree decompositions by adding a new bag containing the vertices u, v, w, and z and connecting it to both X 1 and X 2 .This results in a tree decomposition of G, with width 3.
We will use this result to establish that the treewidth of any nested pseudotree is at most 4. First, notice that a cycle-psuedotree is simply a cycle-tree plus one edge.Moreover, adding one edge to any graph increases the treewidth by at most one.Thus, since we have shown that every cycle-tree has treewidth at most 3, each cycle-peseudotree has treewidth at most 4.
Finally, we extend this bound to each nested pseudotree.Consider any nested pseudotree G. Observe that G consists of a cycle-pseudotree H together with a (possibly empty) set of partial 2-trees hanging from 2-cuts formed by edges of the chordless cycle containing the psuedotree.Consequently, any tree decomposition of H with width t can be extended to a tree decomposition of G where the width is max{2, t}.Thus, since H has treewidth at most 4, we have that G also has treewidth at most 4.
⊓ ⊔ 3 Cycle-Trees and Proof of Theorem 2 In this section, we consider cycle-trees and prove that their plane slope number is O(∆ 2 ) in general and O(∆) for Halin graphs.A degree-2 vertex v of a cycle-tree G whose neighbors are x and y is contractible if (x, y) is not an edge of G, and if deleting v and adding the edge (x, y) yields a cycle-tree; this operations is the contraction of v.A cycle-tree G is irreducible if it contains no contractible vertex.
Lemma 1.For every degree-∆ cycle-tree G and irreducible cycle-tree G ′ obtained from G by any sequence of contractions, psn(G) ≤ psn(G ′ ).
Proof.First, G ′ has at most degree ∆, as each contraction does not increase the degree of any vertex.Let Γ ′ be a plane straight-line drawing of G ′ .A plane straight-line drawing Γ of G can be obtained from Γ ′ by subdividing the edges that stemmed from the contraction operations.Clearly, psn(Γ ) = psn(Γ ′ ), and consequently psn(G) ≤ psn(G ′ ).

⊓ ⊔
By Lemma 1, without loss of generality, the considered cycle-trees will have no contractible vertices.Furthermore, if the outer face of an irreducible 2-connected cycle-tree G of degree ∆ has size k ≥ 3, then the number of edges of G is O(k ∆), which implies that psn(G) ∈ O(∆) if k is constant.This observation allows us to assume k > 3 for 2-connected instances, which will simplify the description.

3-Connected Instances
A path-tree is a plane graph G that can be augmented to a cycle-tree G ′ by adding an edge e = (ℓ, r) to its outer face.Fig. 5(a) shows an example of a path-tree where the edge (ℓ, r) is the dashed edge.Suppose that, in a clockwise walk along the outer face of G ′ , edge e is traversed from ℓ to r; then ℓ is the leftmost path-vertex and v is the rightmost path-vertex of G.All vertices in the outer face of G ′ are path-vertices, while the other vertices are tree-vertices.The path induced by the path-vertices of G is the path of G. Analogously, the tree induced by the tree-vertices of G is the tree of G.In Fig. 5 the path of G is shown with white vertices and black solid edges, while the tree of G is shown with black vertices and bold edges.Let f be the internal face of G ′ that contains edge e.The path-tree G can be rooted at any tree-vertex ρ on the boundary of f ; then vertex ρ becomes the root of G. Fig. 5(b) shows the path-tree of Fig. 5(a) rooted at a vertex ρ.If G is rooted at ρ, then the tree of G is also rooted at ρ.A rooted path-tree with root ρ, leftmost path-vertex ℓ, and rightmost path-vertex r is almost-3-connected if it becomes 3-connected by adding the edges (ρ, ℓ), (ρ, r), and (ℓ, r), if missing.For example, the path-tree of Fig. 5 is almost-3-connected.
Fig. 6.Path-trees associated with a Q-node (left), an S-node (middle), and a P-node (right).Dashed edges may or may not exist.Shaded triangles represent smaller path-trees Gν i rooted at ρi, with leftmost path-vertex ℓν i and rightmost path-vertex rν i .
SPQ-decomposition of path-trees.Let G be an almost-3-connected path-tree rooted at ρ, with leftmost path-vertex ℓ and rightmost path-vertex r.The SPQ-decomposition of G [12] constructs a tree T , called the SPQ-tree of G, whose nodes are of three different kinds: S-, P-, and Q-nodes.Each node µ of T is associated with an almost-3-connected rooted path-tree G µ , called the pertinent graph of µ.To avoid special cases, we extend the definition of path-trees so to include graphs whose path is a single edge (ℓ, r) and whose tree consists of a single vertex ρ, possibly not adjacent to ℓ or r.As a consequence, we also extend the definition of almost-3-connected path-trees to graphs such that adding (ρ, r), and (ℓ, r), if missing, yields a 3-cycle.
S-node: the pertinent graph G µ of an S-node µ is an almost-3-connected rooted path-tree consisting of a root ρ µ adjacent to the root ρ ν of one almost-3-connected rooted path-tree G ν , and possibly to the leftmost path-vertex ℓ ν and to the rightmost path-vertex r ν of G ν .The node ν whose pertinent graph is G ν is the unique child of µ in T .The leftmost and the rightmost path-vertices of G µ are ℓ ν and r ν , respectively; see Fig.The SPQ-tree T of G is such that: (i) Q-nodes are leaves of T .(ii) If the pertinent graph of an S-node µ contains neither (ρ µ , ℓ µ ) nor (ρ µ , r µ ), then the parent of µ is a P-node.(iii) Every P-node has at most 2∆ + 1 children.Fig. 7 provides two alternative SPQ-trees of the same graph.
For simplicity, we assume that the pertinent graphs of the children of a P-node µ are induced subgraphs of G µ .This implies that if G µ contains an edge (ρ µ , v), where v is a path-vertex, then such an edge belongs to every child of µ whose pertinent graph contains v.
Let µ be a node of T .The left path of µ is the path directed from ℓ µ to ρ µ , consisting of edges belonging to the outer face of G µ , and not containing r µ .The definition of the right path of µ is symmetric.Observe that, if µ is a Q-node whose pertinent graph G µ does not contain the edge (ρ µ , ℓ µ ), then the left path of µ is the empty path.Similarly, the right path of µ is the empty path if G µ does not contain the edge (ρ µ , r µ ).We say that an SPQ-tree is canonical if each child of every P-node is either an S-or a Q-node.
Lemma 2. Every n-vertex almost-3-connected rooted path-tree G admits a canonical SPQ-tree.Furthermore, a canonical SPQ-tree of G can be computed in O(n) time.
Proof.By [12], any almost-3-connected rooted path-tree G admits an SPQ-tree T .If T is not canonical, it can be turned into a canonical SPQ-tree of G as follows.Let µ be a P-node in T with children ν 1 , . . ., ν k such that ν j is a P-node, with 1 ≤ j ≤ k.We remove ν j from T , and we update the children of µ in T to be ν 1 , . . ., ν j−1 , λ 1 , . . ., λ h , ν j+1 , . . ., ν k , where λ 1 , . . ., λ h are the children of ν j in T .We repeat this procedure until T becomes canonical.In the following, we show how to directly compute a canonical SPQ-tree T of G in linear time.
Since G is an almost-3-connected rooted path-tree, each internal face of G is incident to exactly one or exactly two path vertices.In linear time, we label each internal face f of G with a list L(f ) containing either the single path vertex or the two path vertices f is incident to (in the left-to-right order in which they appear along the path of G).Furthermore we orient the edges incident to tree-vertices as follows: the tree edges are oriented from parent to children, while the edges connecting a tree-vertex to a path-vertex are oriented from the tree-vertex to the path-vertex.Let ρ, ℓ and r be the root, the left-most path-vertex, and the right-most path vertex of G.We compute T recursively.(Base case) If G has exactly three vertices, namely ρ, ℓ and r, then T consists of a Q-node.Otherwise (Recursive case), let e 1 , e 2 , . . ., e k be the outgoing edges of ρ in left-to-right order and denote by v i the end-vertex of e i different from ρ.Let f 1 , . . ., f k+1 be the faces of G incident to ρ where f i is the face to the left of e i (for i = 1, 2, . . ., k) and f k+1 is the face to the right of e k .Notice that f 1 and f k+1 may coincide.Also, let L ρ be the list obtained by concatenating ℓ, v 1 , L(f 2 ), v 2 , L(f 3 ), . . ., L(f k ), v k , and r (i.e., we initialize , and by suppressing repeated vertices.Note that, L ρ contains all the path-vertices that are visible from ρ along the path between ℓ and r.Let w 1 , w 2 , . . ., w h be such path-vertices.By construction, for each i = 1, . . ., h − 1, either there is exactly one tree-vertex between w i and w i+1 in L ρ , or they are consecutive.
Suppose that L ρ contains exactly two path-vertices, namely ℓ and r.In this case the root of the SPQ-tree T of G will be an S-node.Since G has more than three vertices, there must be a tree-vertex z between ℓ and r in L ρ .We recursively construct the SPQ-tree T ′ of G ′ = G − ρ, which is an almost-3-connected rooted path-tree rooted at z with leftmost path-vertex ℓ and rightmost path-vertex r.The root of T is the S-node whose single child is the root of T ′ .
Suppose now that L ρ contains at least three path-vertices.In this case the root of the SPQ-tree T of G will be a P -node.For every pair w i , w i+1 , we recursively construct the SPQ-tree T i of an almost-3-connected rooted path-tree G i rooted at ρ with leftmost path-vertex w i and rightmost path-vertex w i+1 .If there is no tree-vertex between w i and w i+1 , then G i is the subgraph of G induced by ρ, w i and w i+1 .If there is a tree-vertex z i between w i and w i+1 , then G i is the subgraph of G induced by ρ, w i , w i+1 , the path-vertices of G between w i and w i+1 , and all the tree-vertices that are descendants of z i (including z i ).Observe that each G i is an almost-3-connected rooted path-tree and Concerning the running time, observe that when we construct the SPQ-tree T of an almost-3-connected rooted path-tree rooted at ρ, the running time of the non-recursive part of the algorithm is O(deg(ρ)) or O(1) if the root of T is a P-node or a S-node, respectively.Furthermore, each tree-vertex ρ can occur at most once as the root of the pertinent graph of a P-node and O(deg(ρ)) many times as the root of the pertinent graph of an S-or Q-node.It follows that the overall running time is O(n).
⊓ ⊔ Based on Lemma 2, in the remainder we shall assume that our SPQ-trees are canonical.The cornerstone of our contribution is a construction for almost-3-connected rooted path-trees using O(∆ 2 ) slopes.We start by defining the slope set.Let a, b, and c be points in R 2 ; ab denotes the straight-line segment whose endpoints are a and b, and ▲(abc) denotes the triangle whose corners are a, b, and c.Slope set.Let G be an almost-3-connected path-tree and let T be an SPQ-tree of G.For any node µ of T and for any path-vertex v in G µ we let δ µ (v) = deg Gµ (v) and we let δ * be the maximum δ µ (v) over all nodes µ and path-vertices v. Consider the equilateral triangle ▲(abc) with vertices a, b, and c in counter-clockwise order; refer to Fig. 8(a).Assume that the side bc is horizontal, and that a lies above bc.Let b = u 0 , u 1 , . . ., u 2∆+1 = c be the 2∆ + 2 equispaced points along bc.We define the following slope sets: Black slope: The slope 0, i.e., the slope of an horizontal line.Orange slopes: The i-th orange slope O i is the slope of au i , with 1 ≤ i ≤ 2∆.Blue slopes: The i-th blue slope B i is the slope of av i , where v i is the vertex of the equilateral triangle inside ▲(abc) with vertices v i , u i , and u i+1 , with 0 ≤ i ≤ 2∆.

Magenta slopes:
We have two sets of magenta slopes: For convenience, we let M l δ * = B 0 and consider B 0 to be also left-magenta.▶ Right-magenta slopes: The i-th r-magenta slope M r i is π − M l i , with 1 ≤ i ≤ δ * − 1.Again, we let M r δ * = B 2∆ and consider B 2∆ to be also right-magenta.
Red slopes: Let M l i be a left-magenta slope, with 2 ≤ i ≤ δ * , and let M r j be a right-magenta slope, with 2 ≤ j ≤ δ * .Also, let 1 ≤ h ≤ 2∆.We have: ▶ Central-red slopes: Let ▲(a ′ b ′ c ′ ) be a triangle such that the slope of b ′ c ′ is the black slope, the slope of c ′ a ′ is M r j , and the slope of a ′ b ′ is M l i .Let p * be the intersection point between the line with slope M l i−1 passing through b ′ and the line with slope M l j−1 passing through c ′ .The c-red slope R c i,j is the slope of the segment a ′ p * ; see Fig. 8(b).▶ Left-red slopes: Let q be a point above the x-axis.Let p ′ be the intersection point between the line with slope M l i passing through q and the x-axis.Also, let p ′′ be the intersection point between the line with slope O h passing through q and the x-axis.Further, let p * be the intersection point between the line with slope M l i−1 passing through p ′ and the line with slope B 2∆ passing through p ′′ .The l-red slope R l i,h is the slope of the segment qp * ; see Fig. 8(c).▶ Right-red slopes: Let q be a point above the x-axis.Let p ′ be the intersection point between the line with slope O h passing through q and the x-axis.Also, let p ′′ be the intersection point between the line with slope M r j passing through q and the x-axis.Further, let p * be the intersection point between the line with slope B 0 passing through p ′ and the line with slope M r j−1 passing through p ′′ .The r-red slope R r h,j is the slope of the segment qp * ; see Fig. 8(d).
Let S be the union of these slope sets together with the black slope.Note that, Construction.In what follows we assume that G is rooted at ρ, with leftmost path-vertex ℓ and rightmost path-vertex r.Further, recall that T is canonical.We say that a triangle ▲(a µ b µ c µ ) is good for a node µ of T , if it satisfies the following properties.First, the side b µ c µ has the black slope.Second, the slopes s l and s r of the sides a µ b µ and a µ c µ , respectively, are such that: G.1 If s l = O i and s r = O j are orange, then j = i + 1. G.2 If µ is an S-or a Q-node, then s l is either (i) orange or (ii) a left-magenta slope such that s l ≥ M l δµ(ℓµ) ; G.3 If µ is an S-or a Q-node, then s r is either (i) orange or (ii) a right-magenta slope such that s r ≤ M r δµ(rµ) ; G.4 If µ is an S-node whose pertinent graph contains neither the edge (ρ µ , ℓ µ ) nor the edge (ρ µ , r µ ), then at least one among s l and s r is an orange slope; G.5 If µ is a P-node, s l is a left-magenta slope such that s l ≥ M l δµ(ℓµ) and s r is a right-magenta slope such that s r ≤ M r δµ(rµ) .
Let π be a planar straight-line drawing of a path (u 1 , . . ., u k ) directed from u 1 to u k , and let x(u) and y(u) denote the x-and y-coordinate of a vertex u, respectively.We say that π is Let µ be a node of T and let ▲(a µ b µ c µ ) be a good triangle for µ.
Let s l and s r be the slopes of a µ b µ and a µ c µ , respectively.We will recursively construct a planar straight-line drawing Γ µ of G µ with the following geometric properties.
P.1 Γ µ uses the slopes in S.

P.2
The convex hull of Γ µ is the given triangle ▲(a µ b µ c µ ), and the vertices ρ µ , ℓ µ , and r µ are mapped to the points a µ , b µ , and c µ , respectively.P.3 If s l (resp.s r ) is left-magenta (resp.right-magenta), then the left path (resp.right path) is ↗-monotone (resp.↖-monotone); if s l (resp.s r ) is orange, then the left path (resp.right path) is ↗-monotone (resp.↖-monotone) except, possibly, for the edge incident to ρ µ .We remark Property P.3 is not needed to compute a drawing of a cycle-tree, but it will turn out to be fundamental to handle nested pseudotrees.
We describe how to construct Γ µ in a given good triangle ▲(a µ b µ c µ ) for µ, based on the type of µ.When µ is the root of T , the algorithm yields a planar straight-line drawing Γ of G using the slopes in S.

Q-nodes.
If µ is a Q-node, we obtain Γ µ by placing ρ µ , ℓ µ , and r µ at the points a µ , b µ , and c µ , respectively.S-nodes.If µ is an S-node, then the construction of Γ µ depends on the degree of ρ µ in G µ .Let ν be the unique child of µ.For convenience, we let ℓ = ℓ µ = ℓ ν and r = r µ = r ν .We first recursively build a drawing Γ ν of G ν in a triangle ▲(a ν b ν c ν ) that is good for ν, where a ν is appropriately placed in the interior of ▲(a µ b µ c µ ) while b ν = b µ and c ν = c µ .Then, Γ µ is obtained from Γ ν by simply placing ρ µ at a µ , and by drawing the edges incident to ρ µ as straight-line segments.
Note that, ρ µ is adjacent to the root ρ ν of G ν , and to either ℓ, or r, or both.In order to define the point a ν , we now choose the slopes s ′ l and s ′ r of the segments a ν b ν and a ν c ν , respectively, as follows.We start with s ′ l .Since µ is an S-node, s l is either orange or a left-magenta slope M l i .If s l is orange, then s ′ l = M l δ * .See Fig. 9(a) and Fig. 9(b).If s l = M l i and (ρ µ , ℓ) belongs to G µ , we have that s ′ l = M l i−1 .Notice that, by Property G.2 i ≥ δ µ (ℓ), and since ℓ is incident at least to (ρ µ , ℓ) and to an edge of the path of G, we have i ≥ 2. If s l = M l i and (ρ µ , ℓ) does not belong to G µ , we have that s ′ l = s l = M l i .See Fig. 9(c).The choice of s ′ r is symmetric, based on the existence of (ρ µ , r).Notice that, by Property G.4, if both s l and s r are magenta, then one between (ρ µ , ℓ) and (ρ µ , r) exists.

P-nodes.
If µ is a P-node, then let ν 1 , ν 2 , . . ., ν k , with 2 ≤ k ≤ 2∆ + 1 be the children of µ.Since T is canonical, no ν i is a P-node.Refer to Fig. 9(d).Let o i be the intersection point between b µ c µ and the line passing through a µ with slope O i , for i = 1, . . ., 2∆ − 1.For convenience, we let o 0 = b µ and o 2∆ = c µ .We recursively build a drawing Γ νi of G νi , with i = 1, . . ., k − 1, in the triangle ▲(a µ o i−1 o i ), which is good for ν i , and a drawing Γ ν k of G ν k in the triangle ▲(a µ o k−1 o 2∆ ), which is good for ν k .Γ µ is the union of the Γ νi 's.
Proof of correctness.We now show that the construction satisfies Properties P.1, P.2, and P.3.
The fact that Properties P.1, P.2, and P.3 are satisfied by the drawing Γ µ when µ is a Q-node trivially follows by construction.Hence, it remains to consider S-and P-nodes.
Recall that the degree of a vertex v in G µ is denoted by deg Gµ (v); since this leads no confusion here, we let deg Lemma 3. Let µ be an S-node.Γ µ satisfies Properties P.1, P.2, and P.3.
Proof.For each of the cases in the construction of Section 3.1, we start by proving the following: (i) the triangle ▲(a ν b µ c µ ) is good for ν, (ii) the slope of a ν a µ belongs to S, and (iii) Γ µ satisfies Property P.3.Then, we prove that Γ µ is a planar straight-line drawing, and that it satisfies Properties P.1 and P.2.
Observe that, by construction, neither s ′ l nor s ′ r are orange.Thus, ▲(a ν b µ c µ ) trivially satisfies Property G.1.Furthermore, since G µ is an almost-3-connected path-tree and since µ is an S-node, we have that if ν is also an S-node, then at least one of the edges (ρ ν , ℓ) and (ρ ν , r) must exist.Thus, ▲(a ν b µ c µ ) also trivially satisfies Property G.4. Due to these observations, in order to prove (i), it remains to argue about Properties G.2, G.3, and G.5.The proof splits into four cases, corresponding to the four possible combinations of colors for the slopes of s l and s r .In all cases, we show that s ′ l (resp.s ′ r ) is a left-magenta slope (resp.right-magenta slope) which satisfies Properties G.2 and G.5 (resp.Properties G.3 and G.5).Along the way, we also prove (ii) and (iii).We start by observing that if s l is a left-magenta slope M l i and the edge (ρ µ , ℓ) belongs to G µ , then i ≥ 2. Namely, by Property G.2 i ≥ δ µ (ℓ), and since ℓ is incident to an edge of the path of G, if (ρ µ , ℓ) belongs to G µ , then δ µ (ℓ) ≥ 2. Analogously, if s r is a right-magenta slope M r j and the edge (ρ µ , r) belongs to G µ , then j ≥ 2.
Case 1: Both s l and s r are magenta slopes, i.e., s l = M l i and s r = M r j , with 1 ≤ i ≤ δ * and 1 ≤ j ≤ δ * .
There are three subcases Case 1.1, Case 1.2, and Case 1.3.Refer to Fig. 10.Case 1.1: both (ρ µ , ℓ) and (ρ µ , r) belong to G µ .In this case, , and s ′ r = M r j−1 ≤ M r δν (r) , since s r = M r j ≤ M r δµ(r) .It follows that ▲(a ν b µ c µ ) is good for ν.The slope of the segment a ν a µ is the c-red slope R c i,j .Furthermore, both the left and the right path of µ consist of the edge (ρ µ , ℓ µ ) and the edge (ρ µ , r µ ), respectively, and thus Γ µ trivially satisfies Property P.3.
Case 1.2: (ρ µ , ℓ) belongs to G µ and (ρ µ , r) does not belong to G µ .In this case, , and s ′ r = M r j ≤ M r δν (r) .It follows that ▲(a ν b µ c µ ) is good for ν.The slope of the segment a ν a µ is the r-magenta slope M r j .Furthermore, the left path of µ consists of the edge (ρ µ , ℓ).Also, the right path of µ consists of the right path π r of ν and the edge (ρ ν , ρ µ ).Since s ′ r is a right-magenta slope, by Property P.3 of Γ ν , we have that π r is ↖-monotone.Finally, since the slope of the edge (ρ ν , ρ µ ) is M r j , we have that ρ µ lies above and to the left of ρ ν .Therefore, Γ µ satisfies Property P.3.
Case 1.3: (ρ µ , ℓ) does not belong to G µ and (ρ µ , r) belongs to G µ .We have deg ν (ℓ) = deg µ (ℓ) and deg ν (r) = deg µ (r) − 1.We have s ′ l = M l i ≥ M l δν (ℓ) , and s ′ r = M r j−1 ≤ M r δν (r) .Since j ≥ 2, M r j−1 exists.It follows that ▲(a ν b µ c µ ) is good for ν.The slope of the segment a ν a µ is the l-magenta slope M l i .Furthermore, the right path of µ consists of the edge (ρ µ , r).Also, the left path of µ consists of the left path π ℓ of ν and the edge (ρ ν , ρ µ ).Since s ′ ℓ is a left-magenta slope, by Property P.3 of Γ ν , we have that π ℓ is ↗-monotone.Finally, 10. Construction of triangle ▲(a ′ bc) when both s l and sr are magenta.
since the slope of the edge (ρ ν , ρ µ ) is M l i , we have that ρ µ lies above and to the right of ρ ν .Therefore, Γ µ satisfies Property P.3.
Case 2: The slopes s l and s r are orange and right-magenta, respectively.That is, s l = O h , with 1 ≤ h ≤ 2∆, and s r = M r j , with 1 ≤ j ≤ δ * .Note that, by construction, s ′ l = M l δ * .We distinguish two subcases, based on whether (ρ µ , r) belongs to G µ .Refer to Fig. 11  Case 2.1: (ρ µ , r) does not belong to G µ .In this case, s ′ r = M r j = s r .We have that deg ν (ℓ) ≤ deg µ (ℓ) and deg ν (r) = deg µ (r).Therefore, s ′ l = M l δ * ≥ M l δν (ℓ) , since M l δ * is the largest left-magenta slope, and s ′ r = M r j ≤ M r δν (r) , since s r = M r j ≤ M r δµ(r) .It follows that ▲(a ν b µ c µ ) is good for ν.The slope of the segment a ν a µ is the r-magenta slope M r j .The proof that Γ µ satisfies Property P.3 is the same as in Case 1.2.Case 2.2: (ρ µ , r) belongs to G µ .In this case, s ′ r = M r j−1 .Since j ≥ 2, M r j−1 exists.We have that deg ν (ℓ) ≤ deg µ (ℓ) and deg ν (r) = deg µ (r) − 1.Therefore, s ′ l = M l δ * ≥ M l δν (ℓ) as for Case 2.1, and s ′ r = M r j−1 ≤ M r δν (r) , since s r = M r j ≤ M r δµ(r) .It follows that ▲(a ν b µ c µ ) is good for ν.The slope of the segment a ν a µ is the r-red slope R r h,j .The proof that Γ µ satisfies Property P.3 is the same as in Case 1.1, if (ρ µ , ℓ) belongs to G µ .
Otherwise, the right path of µ consists of the edge (ρ µ , r).Also, the left path of µ consists of the left path π ℓ of ν and the edge (ρ ν , ρ µ ).Since s ′ ℓ is a left-magenta slope, by Property P.3 of Γ ν , we have that π ℓ is ↗-monotone.Therefore, Γ µ satisfies Property P.3.
Case The slopes s l and s r are left-magenta and orange, respectively.I.e., s l = M l i , with 1 ≤ i ≤ δ * , and s r = O h , with 1 ≤ h ≤ 2∆.The proof of this case is based on two subcases symmetric to those of Case 2. Namely, Case 3.1 (i.e., (ρ µ , r) does not belong to G µ ) and Case 3.2 (i.e., (ρ µ , r) belongs to G µ ).In particular, the slope of the segment a ν a µ is the l-magenta slope M l i in Case 3.1 and the l-red slope R l i,h in Case 3.2.The proof that Γ µ satisfies Property P.3 is also symmetric to the one in Case 2. The slope of the segment a ν a µ is the blue slope slope B h .Finally, we argue about Property P.3 of Γ µ .We only consider the left path of µ, as the right path can be treated symmetrically.Recall that, since s ℓ is orange, in order to satisfy this property, the left path of µ needs to be ↗-monotone, except for its edge incident to ρ µ .If the edge (ρ µ , ℓ) belongs to G µ , then the left path of µ consists of just the edge (ρ µ , ℓ).Otherwise, the left path of µ consists of the left path π ℓ of ν and the edge (ρ ν , ρ µ ).Since s ′ ℓ is a left-magenta slope, by Property P.3 of Γ ν , we have that π ℓ is ↗-monotone.This proves that Γ µ satisfies Property P.3, which concludes the proof of (i), (ii), and (iii).
It remains to prove that Γ µ is a planar straight-line drawing, and that it satisfies Properties P.1 and P.2.First, since G ν contains one vertex less than G µ (namely, the root ρ µ of µ), the planar straight-line drawing Γ ν of G ν can be recursively constructed in ▲(a ν b µ c µ ) so to satisfy Properties P.1, P.2, and P.3.
Second, in all the cases described above, as depicted in Figs.9(a) to 9(c), the point a ν lies either on the line-segment a µ b µ , or on the line-segment of a µ c µ , or in the interior of ▲(a µ b µ c µ ) by construction.Thus, ▲(a ν b µ c µ ) is contained in ▲(a µ b µ c µ ).Furthermore, the placement of a ν is such that it is possible to draw the edges incident to ρ µ in G µ as straight-line segments a ν a µ , a ν b µ , and a ν c µ that do not cross ▲(a ν b µ c µ ), except at its corners.Finally, as already shown, the slopes of these segments belong to S. ⊓ ⊔ Lemma 4. Let µ be a P-node.Γ µ satisfies Properties P.1, P.2, and P.3.
Proof.First, we prove that the triangles defined above are good for the respective child of µ.Then, we prove that Γ µ is a planar straight-line drawing that satisfies Properties P.1, P.2, and P.3.
First, observe that since T is canonical no ν i is a P-node and therefore Property G.5 is trivially satisfied by all the defined triangles.
For i = 2, . . ., k − 1, consider the triangle ▲(a µ o i−1 o i ).We have that the slopes of a µ o i−1 and a µ o i are the orange slopes O i−1 and O i , respectively.Therefore, Properties G.1, G.2, G.3, and G.4 are satisfied.It follows that ▲(a µ o i−1 o i ) is good for ν i , for = 2, . . ., k − 1.
If i = 1, consider the triangle ▲(a µ o 0 o 1 ).We have that the slope of ao 0 is s l ≥ M l δ(ℓ) , since ▲(a µ b µ c µ ) satisfies Property G.5 as it is good for µ.Therefore, Property G.1 is trivially satisfied, since s l is not orange, and Property G.2 is satisfied, since deg ν1 (ℓ) = deg µ (ℓ).Furthermore, the slope of a µ o 1 is the orange slope O 1 .
Therefore, Properties G.3 and G.4 are satisfied.It follows that ▲(a µ o 0 o 1 ) is good for ν 1 .
If i = k, consider the triangle ▲(a µ o k−1 o 2∆ ).We have that the slope of Therefore, Properties G.2 and G.4 are satisfied.Furthermore, we have that the slope of since ▲(a µ b µ c µ ) satisfies Property G.5 as it is good for µ.Therefore, Property G.1 is trivially satisfied, since s r is not orange, and Property G.3 is satisfied, since deg is good for ν k .This concludes the proof that each triangle ▲(a µ u i−1 u i ) is good for ν i , for i = 1, . . ., k.
It remains to prove that Γ µ is a planar straight-line drawing that satisfies Properties P.1, P.2, and P.3.First, the pertinent graph G νi of each child ν i , for i = 1, . . ., k, contains at least one vertex less than G µ .In fact, the vertex set of each pertinent graph G νi contains at least three vertices and shares with any other pertinent graph G νj , with j ̸ = i, the root ρ µ and at most one cycle-vertex.Therefore, the planar straight-line drawing Γ νi of each child ν i , for i = 1, . . ., k can be recursively constructed in the respective good triangle so to satisfy Properties P.1, P.2, and P.3.
Second, observe that the triangles defined for the children of µ are all internally disjoint.Thus, Γ µ is a planar straight-line drawing of G µ , given that each drawing Γ νi is straight-line and planar.Finally, Γ µ satisfies Properties P.1 and P.2 due to the fact that each drawing Γ νi satisfies the same properties, and satisfies Properties P.3 since, in particular, Γ ν1 and Γ ν k satisfy this property.

⊓ ⊔
The following lemma summarizes the results of this section.
Lemma 5.For any almost-3-connected path-tree G and any triangle ▲(abc) that is good for the root of an SPQ-tree of G, the graph G admits an embedding-preserving planar straight-line drawing inside ▲(abc) that satisfies Properties P.1, P.2, and P.3.
We conclude with two remarks concerning the allocation of slopes.
Remark 1.The slope of an edge incident to a path vertex is either orange, magenta, or blue, and in particular it is not red.
The next remark is a consequence of the fact that red slopes are only used when constructing a drawing of an S-node µ with child ν.In this case, at most one red slope is used inside the good triangle ▲(a µ b µ c µ ) to connect ρ µ with ρ ν .Since none of the sides of ▲(a µ b µ c µ ) uses a red slope, we have the following.
Remark 2. Let e 1 and e 2 be two edges having red slopes that are consecutive in the counterclockwise circular order around a common vertex v. Let r i be the ray originating at v and containing the edge e i , for i = 1, 2, and let W be any of the two wedges defined by r 1 and r 2 .There exists a non-red slope s ∈ S such that the ray originating at v with slope s lies inside W .
3-connected cycle-trees.Let G be a degree-∆ 3-connected cycle-tree.We show how to exploit Lemma 5 to draw G using O(|S|) = O(∆ 2 ) slopes.Similarly to path-trees, we call cycle-vertices the vertices on the outer boundary of G and tree-vertices the remaining vertices of G. Let ℓ, v, and r be three cycle-vertices that appear in this clockwise order along the outer face of G; refer to Fig. 13.Remove v and its incident edges from G. Denote by G − the resulting topological graph.Let π be the graph formed by the edges that belong to the outer face of G − and do not belong to the outer face of G.
Since G is 3-connected, we have that G − is at least 2-connected and that π is a path connecting ℓ and r that contains at least one tree-vertex different from v. Let ρ be any such vertex encountered when traversing b≡ℓ c≡r a≡ρ q≡v Fig. 13.How to draw a 3-connected cycle-tree.
π from ℓ to r.Moreover, the only degree-2 vertices of G − , if any, belong to π.Let G * be the graph obtained from G − by replacing each degree-2 vertex of π different from ℓ, ρ, and r, if any, with an edge connecting its endpoints.Graph G * is an almost-3-connected path-tree rooted at ρ, with leftmost path-vertex ℓ and rightmost path-vertex r.Let T be the SPQ-tree of G * and let ▲(abc) be an equilateral triangle.Note that an equilateral triangle is good for the root of T , regardless of its type.Let Γ * be the planar straight-line drawing of G * inside ▲(abc), obtained by applying Lemma 5. We prove that there exists a planar straight-line drawing Γ of G such that psn(Γ ) ≤ psn(Γ * ) + ∆, which implies the statement because psn(Γ * ) ∈ O(|S|) = O(∆ 2 ) by Lemma 5. Note that, the slopes s ℓ and s r of ab and ac are the largest l-magenta slope M l δ * and the smallest r-magenta slope M r δ * , respectively.Moreover, since the drawing Γ * inside ▲(abc) has been obtained by applying Lemma 5, we have that Γ * satisfies Property P.3.We construct a planar straight-line drawing Γ of G as follows; refer to Fig. 13.First, we obtain a planar straight-line drawing Γ − of G − from Γ * , by subdividing the edges that stemmed from the contraction operations (which yielded G * from G − ).Clearly, psn(Γ − ) = psn(Γ * ).Γ − exhibits the following useful property: By Property P.3 of Γ * , we have that the subpath of π from ℓ to ρ is ↗-monotone and that the subpath of π from r to ρ is ↖-monotone.Second, we select a point q vertically above ρ such that all the straight-line segments connecting q to each of the vertices of π do not cross Γ − .The existence of such a point is guaranteed by the above property.Finally, we obtain Γ from Γ − by placing v at point q, and by drawing its incident edges as straight-line segments.Since v has at most degree ∆, we have that psn(Γ ) ≤ psn(Γ − ) + ∆.

⊓ ⊔
By Remark 1 and since the slopes of the edges incident to q do not belong to the set S, we have the following Remark 3. The slope of an edge incident to a cycle vertex is not red.
In the next sections, we extend the result of Lemma 6 to 2-connected and then 1-connected graphs.

2-Connected Cycle-Tree Graphs
Throughout this section G is a 2-connected cycle-tree.We can assume that G is not series-parallel because otherwise it can be drawn with O(∆) slopes by Theorem 3. By Lemma 1, we may further assume that G is irreducible.We begin by proving the following.Proof.First, we show that G contains no 2-cuts composed of pairs of tree-vertices.If such 2-cut existed, removing its vertices would yield one component containing all the cycle-vertices and at least one component containing only tree-vertices.Such a component is either a path, which contradicts the fact that G is irreducible, or it contains a cut-vertex which would also be a cut-vertex in G, thus contradicting the fact that G is 2-connected.Second, we show that G contains no 2-cuts composed of pairs of cycle-vertices.If such 2-cut existed, removing it would yield one component containing all the tree-vertices, and either at least two components containing cycle vertices, or exactly one component with at least two cycle vertices.Since the cycle of G is chordless, both cases contradict the fact that G is irreducible.

⊓ ⊔
Let {w, z} be a 2-cut of G, where w is a tree-vertex and z is a cycle-vertex.By removing w and z from G, . One of such components, say C 0 , contains all the cycle-vertices of G.The union of all components different from C 0 is called the (w, z)-flag of G. See Fig. 14 for an example.Since z has degree at most ∆ and since G is irreducible, we have the following.Property 1.For any 2-cut {w, z}, the (w, z)-flag has O(∆) vertices.
We say that a 2-cut {w ′ , z}, with w ′ ̸ = w, is dominated by {w, z} if w ′ belongs to the (w, z)-flag of G.We say that {w, z} is dominant when no other 2-cut dominates it.Let G 2 be the graph obtained from G as follows: (i) remove, for each dominant 2-cut {w, z}, all vertices of the (w, z)-flag of G except w and z, and add the edge (w, z), called the virtual edge of {w, z}, if it does not already exist in G; (ii) contract all contractible vertices, if any.We call G 2 the 2-frame graph of G. Now we have removed all (w, z)-flags without introducing new ones.By Lemma 7, G 2 has no 2-cuts and therefore it is a 3-connected cycle-tree.
Let e be an edge of a straight-line drawing Γ and let R be a rhombus whose longer diagonal is e.If R ∩ Γ = {e} we say that R is a nice rhombus for e. Lemma 8. Every 2-connected cycle-tree G with maximum degree ∆ has psn(G) ∈ O(∆ 2 ).
Proof.By Lemma 1 we can assume that G is irreducible.We construct an embedding-preserving planar straight-line drawing Γ of G as follows.Let G 2 be the 2-frame graph of G, and let Γ 2 be the planar straightline drawing of G 2 , obtained by applying Lemma 6 and by subdividing the edges that stemmed from the contraction operation (if any).We define an angle β > 0 and for each virtual edge e = (w, z) of G 2 we define a nice rhombus for e, such that the interior angles at w and z are both equal to β. Angle β is chosen such that no two nice rhombi intersect each other (except at common corners).We then apply Theorem 3 to draw each (w, z)-flag inside the corresponding nice rhombus for (w, z).Since no two nice rhombi intersect each other (except at common corners), the resulting drawing Γ of G is planar.Concerning the number of slopes, we have that Γ 2 uses O(∆ 2 ) slopes by Lemma 6.We now argue that, overall, the (w, z)-flags use O(∆ 2 ) additional slopes.The drawing of each (w, z)-flag such that wz has slope s in Γ 2 uses the O(∆) slopes in the set L(β, s, ∆) of Theorem 3. Since each virtual edge of G 2 connects a tree-vertex and a cycle-vertex, by Remark 3 it never uses one of the red slopes.Hence the total number of slopes used by all virtual edges is O(∆), which implies that, overall, the (w, z)-flags use O(∆ 2 ) slopes.⊓ ⊔

1-Connected Cycle-Trees
In order to extend our construction to the 1-connected case, we adopt a similar (but simpler) strategy as for the 2-connected case.Throughout this section G is a 1-connected cycle-tree.By Lemma 1, we may assume G be irreducible.Let c be a cut-vertex of G.By removing c from G, we obtain k ≥ 2 connected subgraphs H 0 , H 1 , . . ., H k−1 .The subgraph C i of G induced by V (H i ) ∪ {c} is a component of G with respect to c (0 ≤ i ≤ k − 1).One of such components, say C 0 , contains all the cycle-vertices of G. Consider any pair of edges e 1 and e 2 incident to c that are consecutive in the counter-clockwise order around c in C 0 ; the union of all components different from C 0 that have an edge incident to c appearing between e 1 and e 2 in the counter-clockwise order of the edges around c in G is a c-flag of G; e 1 is the reference edge of the c-flag and e 2 is the second reference edge of the c-flag.See Fig. 15 for an example.We say that a cut-vertex c ′ is dominated by c if c ′ belongs to the c-flag of G.A cut-vertex is dominant when it is not dominated by any other cut-vertex.
Let G 1 be the graph obtained from G as follows: (i) remove, for each dominant cut-vertex c, all vertices of the c-flags of G except c; (ii) contract all contractible vertices, if any.We call G 1 the 1-frame graph of G.We have the following.Lemma 9. Let G be an irreducible 1-connected cycle-tree.The 1-frame of G is a 2-connected cycle-tree.
Proof.Let G 1 be the 1-frame of G. Graph G 1 is 2-connected since, by removing the c-flags, all the cut-vertices of G are not cut-vertices of G 1 ; moreover no new cut-vertex has been introduced.Graph G is also a cycle-tree since G is a cycle-tree and we only removed tree-vertices from G that are not dominant cut-vertices.

⊓ ⊔
The following lemma consider the special case when G is a partial 2-tree and it will be used in the proof of Theorem 6.
Lemma 10.Let G be an irreducible 1-connected cycle-tree.If G is a partial 2-tree, its 1-frame has O(∆) edges.
Proof.The 1-frame graph G 1 of G is a 2-connected cycle-tree.Thus, removing the vertices of the outer boundary of G 1 one is left with a single tree T .Since G is a partial 2-tree, G 1 is a (2-connected) series-parallel graph and therefore there exists exactly two vertices u and v of the outer boundary of G 1 that are adjacent to vertices of T .Since the outer boundary of G 1 is chordless, any other vertex of the outer boundary different from u and v has degree two.Since G 1 is irreducible there is only one such vertex.It follows that the outer boundary of G 1 is a 3-cycle.Also, all tree-vertices of G 1 that have degree at most two in the tree are adjacent to u or to v; since both u and v have degree at most ∆ there are O(∆) such vertices and hence the tree has O(∆) vertices.
Proof.By Lemma 1 we can assume that G is irreducible.Furthermore, since removing the vertices of the outer boundary of G must yield a tree, at most one cut-vertex of G is a cycle-vertex.Also, if such a vertex exists, then G is a partial 2-tree and can be drawn with O(∆) slopes by Theorem 3. Hence we shall assume that every cut-vertex is a tree-vertex.We construct a planar straight-line drawing Γ of G as follows.Let G 1 be the 1-frame graph of G, and let Γ 1 be the planar straight-line drawing of G 1 , obtained by applying Lemma 8 and by subdividing the edges that stemmed from the contraction operation (if any).
In the following, we assume that G ̸ = G 1 , as otherwise G is 2-connected, and simply setting Γ = Γ 1 proves the statement.We now show how to insert the c-flags into Γ 1 so to construct Γ .We distinguish between the c-flag whose reference edge belongs to some (w, z)-flag, which we call c-flags of Type 1, and those whose reference edge belongs to the 2-frame G 2 , which we call c-flags of Type 2 (see Fig. 15).Let T c be any c-flag of Type 1 and let G w,z be the (w, z)-flag that contains the reference edge of T c .Observe that T c ∪ G w,z is a partial 2-tree.Let R be the nice rhombus for (w, z) defined in the proof of Lemma 8. We delete from Γ 1 the drawing of G w,z and apply Theorem 3 to draw T c ∪ G w,z inside R. Let Γ ′ 1 be the drawing obtained once all the Type 1 c-flags have been processed.
We now add to Γ ′ 1 the Type 2 c-flags.For every c-flag we suitably identify an edge e c as follows.Let T c be a Type 2 c-flag, let e 1 be the reference edge of T c , and let e 2 be the second reference edge of Γ ′ 1 .If the slope of e 1 is non-red, then e c = e 2 ; if the slope of e 1 is red and the slope of e 2 is non-red then e c = e 2 ; otherwise, e c is any edge of T c incident to c. Notice that, in the latter case, e c is not an edge of Γ ′ 1 and e 1 and e 2 are drawn with two red slopes.Let W be the wedge swept by rotating e 1 counterclockwise until it overlaps e 2 .By Remark 2 there exists a non-red slope s in the set S such that the ray r originating at c having slope s lies inside W .We draw edge e c in Γ ′ 1 along ray r such that it does not intersect any other edges.We define an angle β > 0 and for each edge e c = (c, w) of every Type 2 c-flag T c we define a nice rhombus for e c , such that the interior angles at c and w are both equal to β. Angle β is chosen such that no two nice rhombi intersect each other.Since T c ∪ e c is a tree (and hence a partial 2-tree), we can apply Theorem 3 to draw the Type 2 c-flag inside the nice rhombus for e c .
Since no two nice rhombi intersect each other (except at common corners), the resulting drawing Γ of G is planar.Concerning the number of slopes, we have that Γ 1 uses O(∆ 2 ) slopes by Lemma 8. We now argue that, overall, the c-flags use O(∆ 2 ) additional slopes.All the nice rhombi used to draw the Type 1 and Type 2 c-flags are defined for edges that have a non-red slope s ∈ S, that is for edges with O(∆) different slopes in total.For each such nice rhombus, the drawing of the c-flag inside the rhombus uses the O(∆) slopes in the set L(β, s, ∆) of Theorem 3. Hence, the drawings of all c-flags use O(∆ 2 ) slopes overall.
⊓ ⊔ Lemmas 1 and 11 imply the following.drawn by Theorem 3 inside a nice rhombus for (v, z); finally edges (w, v), (z, v), and (w, z) are removed, if they are not in G.
We show that the recursion moves to Case C in at most two steps.If Case B.2 applies, then v still belongs to the (w ′ , z ′ )-flag W ′ in H ′ \ (w, v) and w belongs to the 2-frame of H ′ \ (w, v).Therefore, we recurse to Case B.3.If Case B.3 applies, then both w and v belong to the 2-frame of H ′ \ (w, v), and we recurse to Case C.
In Case C, both u and v are in G 2 .In order to construct Γ we proceed as follows.We first construct a drawing Γ 2 of the graph G 2 ∪ (u, v).Then, we obtain a drawing Γ 1 of G 1 ∪ (u, v) by adding to Γ 2 all the (w, z)-flags of G as described in the proof of Lemma 11, which uses O(∆ 2 ) new slopes.Finally, we obtain Γ from Γ 1 by adding all the c-flags of G as described in the proof of Lemma 11, which uses O(∆) new slopes.From this discussion it suffices to show how to compute Γ 2 .
Refer to Fig. 21.Let g be the unique face of G 2 that is incident to u and v (this face is unique because otherwise u and v would be a 2-cut, but this is not possible by Lemma 7).Let d be any cycle-vertex of g.Let G ′ 2 be the graph obtained by adding the edges (u, d) and (v, d) to G 2 .Observe that, G ′ 2 is a cycle-tree and, like G 2 , it is 3-connected.Let Q be the path between u and v in the tree of G ′ 2 .Let x be the neighbor of u in Q.Consider the face f of G ′ 2 having the edge (u, x) on its boundary that does not contain v. Let w be the first cycle-vertex that is encountered when traversing the boundary of f starting from x and avoiding u.Let ρ be the tree-vertex preceding w in such a traversal (notice that ρ may coincide with x).Let G * be the path-tree illustrated in Fig. 21.G * is constructed from G ′ 2 by removing w from the cycle-tree and by choosing ρ as the root vertex of G * (see also the construction before the proof Lemma 6).Let Γ * be the planar straight-line drawing of G * inside an equilateral triangle, obtained by applying Lemma 5. Let Γ ′ 2 be a planar straight-line drawing of G ′ 2 such that psn(Γ ′ 2 ) ≤ psn(Γ * ) + ∆, obtained by applying Lemma 6 starting from Γ * .By our selection of ρ, we have that in any SPQ-tree of G * the vertex x is the root of a P-node µ having two consecutive children ν and ν ′ sharing the cycle-vertex d.Moreover, we have that the edge (u, d) belongs to the right path R of the pertinent graph G ν of ν, and that the edge (v, d) belongs to the left path L of the pertinent graph G ν ′ of ν ′ , unless they have been contracted because they had degree 2 after the removal of (u, v).In the latter case, if u (resp.v) has been contracted we first reinsert it in the drawing by subdividing the edge incident to d that belongs to R (resp.to L). Since, in Γ * , the path R is ↖-monotone

Halin Graphs
We observe that Halin graphs are 3-connected cycle-trees with δ * =3 because each path-vertex has two incident edges that are incident to the outer face and it is a leaf when these two edges are removed.By Equation 1, we obtain |S|=12∆+10.Thus, Lemma 6 implies that Halin graphs have planar slope number Θ(∆).
We now prove a finer upper bound for Halin graphs, namely, we show that Halin graphs have planar slope number at most ∆ for ∆ ≥ 4 and at most 4 if ∆ = 3.To this aim, we define a set of k = max{4, ∆} slopes S k as follows: S k contains the slope 0, the slope π 3 , the slope π 2 , and the slope 2π 3 .If ∆ > 4, we need ∆ − 4 additional slopes.While our construction works for any set of ∆ − 4 additional slopes whose value is between π 3 and slope 2π 3 , to simplify the description we arbitrarily choose these ∆ − 4 additional slopes between π 2 and 2π 3 (see Fig. 22(a)).Let Q 0 , Q 1 , . . ., Q k−1 denote the slopes of S k in increasing value.Notice that, by our choice of the slopes, Q 0 is the slope 0 and Q 2 is the slope π 2 .We will exploit the following technical lemma.
Lemma 12. Let T be an n-vertex rooted ordered tree such that each vertex of T has at least 2 and at most d children, d ≥ 2. Let ρ be the root of T and, if n > 1, let ℓ, and r the leftmost leaf, and the rightmost leaf of T , respectively.Let ▲(abc) be an equilateral triangle such that the segment bc is horizontal, a lies above bc, Proof.The proof is by induction on the number of vertices n of T .If n = 1, then we can choose one of the slope Q i with i > 0 and place the unique vertex of T at the intersection point between bc and a straight line through a with slope Q i .Properties (i), (ii), (iv), and (v) hold by construction, while (iii) does not apply.If n > 1, let T 1 , T 2 , . . ., T g , the (at most d) sub-trees of T rooted at the children of ρ in their left-to-right order.Let δ(b, c) be the length of bc and let x be a value smaller than δ(b,c) 2d .For every i = 1, 2, . . ., d we define an equilateral triangle ▲(a i b i c i ) with sides of length x and such that: (i) the point a i is a point of the straight line l i having slope Q i and passing through the point a; (ii) the segment b i c i is contained in the segment bc.
By the choice of x, every triangle ▲(a i b i c i ) is contained in the triangle ▲(abc) and ▲(a i b i c i ) ∩ ▲(a j b j c j ) = ∅, for 1 ≤ i ̸ = j ≤ d.See Fig. 22(b) for an illustration.
To construct the drawing Γ of T we recursively compute a drawing Γ i of each sub-tree T i inside the triangle ▲(a i b i c i ), for i = 1, 2, . . ., g − 1, and a drawing Γ g of T g inside the triangle ▲(a d b d c d ).We then place the root ρ of T at point a and connect it to the points a 1 , a 2 , . . ., a g−1 and a d .Let T j be the sub-tree drawn inside ▲(a i b i c i ) (i is equal to j if j ≤ g − 1, while i is equal to d if j = g).By induction, the point a i represents the root ρ j of T j if T j has more than one vertex.This means that, in this case, the edge (ρ, ρ j ) is drawn as a segment using the slope Q i in S k .If T j has only one vertex, then, by property (iv), the single vertex ρ j of T j can be represented by a point q at the intersection of the segment b i c i with the straight line passing through a i and having slope Q i .Thus, also in this case the edge (ρ, ρ j ) is represented by a segment with slope Q i .It follows that all edges incident to ρ are drawn with slopes in the set S k .Since by induction the edges of each Γ i use slopes in the set S k property (i) holds for Γ .Property (ii) holds because each Γ i is contained inside its assigned triangle and each such triangle is contained inside ▲(abc).About property (iii) observe that, the leftmost leaf ℓ of T coincides with the leftmost leaf of T 1 if T 1 has more than one vertex, otherwise it coincides with the single vertex of T 1 .In the former case such a vertex is represented by the point b 1 , which coincides with b; in the latter case, the unique vertex of T 1 is represented by a point q that is the intersection of b 1 c 1 with a straight line passing through a 1 with slope Q 1 ; since the left side of ▲(a 1 b 1 c 1 ) has slope Q 1 and by construction a 1 belongs to segment ab, point q coincides with b, and the leftmost leaf of T is represented by b also in this case.Analogously, r either coincides with the rightmost leaf of T g or with the single vertex of T g .With a symmetric argument as the one used for ℓ, we can show that in both cases r is represented by the point c d , which coincides with c. Property (iv) does not apply in this case.Property Proof of Theorem 2 .Let G be a Halin graph different from K 4 .We distinguish two cases depending on the number of internal vertices of G.If G has only one internal vertex, i.e., it is a wheel with n − 1 external vertices, we compute a drawing Γ n as follows.If n = 5, the drawing Γ n is obtained by placing the four external vertices at the four corners of a square and the single internal vertex at the center of the square.
The number of slopes of Γ 5 is clearly 4. If n > 5, then Γ n is obtained from Γ n−1 by adding a vertex in any point of the outer quadrangle of Γ n−1 and connecting it to the center of the wheel.Since Γ 5 uses 4 slopes and each Γ n uses one slope more than Γ n−1 , the number of slopes of Γ n is n − 1, which is equal to ∆. Assume now that G has at least two internal vertices and therefore at least one edge e = (ρ 1 , ρ 2 ) such that both ρ 1 and ρ 2 are internal.The edge e is incident to two faces each one having a single edge incident to the outer face of G. Let e ′ = (ℓ 1 , r 2 ) and e ′′ = (ℓ 2 , r 1 ) be these two edges.See Fig. 23 for a schematic illustration.Up to a renaming, we can assume that walking counter-clockwise along the outer boundary of G we encounter r 1 , ℓ 2 , r 2 , and ℓ 1 in this order.Let G 1 and G 2 be the two path-trees obtained by removing e, e ′ , and e ′′ from G, such that G i contains ρ i , ℓ i , and r i , for i = 1, 2. Let T i be the tree rooted at ρ i obtained by removing the edges of G i connecting its path-vertices, for i = 1, 2. Tree T i is ordered according to the embedding of G i and therefore its leftmost leaf is ℓ i and its rightmost leaf is r i .
We now explain how to construct a planar straight-line drawing Γ of G that uses ∆ slopes.Let ▲(a 1 b 1 c 1 ) and ▲(a 2 b 2 c 2 ) be two equilateral triangles of the same size.By Lemma 12, T i , for i = 1, 2, admits a straightline order preserving drawing Γ i contained in ▲(a i b i c i ) with the additional properties listed in the statement of Lemma 12.We rotate Γ 2 by π radians and translate it in such a way that the roots of Γ 1 and Γ 2 are vertically aligned (see Fig. 23(a)).Notice that, since the two triangles ▲(a 1 b 1 c 1 ) and ▲(a 2 b 2 c 2 ) have the same size, ℓ 1 and r 2 are vertically aligned and r 1 and ℓ 2 are also vertically aligned.It follows that the edges e = (ρ 1 , ρ 2 ), e ′ = (ℓ 1 , r 2 ), and e ′′ = (ℓ 2 , r 1 ) can be added to the drawing as vertical segments.To complete the drawing of G, it only remains to add the edges of the outer boundary different from e ′ and e ′′ .Since these edges only connect leaves of T 1 or leaves of T 2 , and the leaves in each of such trees are horizontally aligned by Lemma 12, all these edges can be drawn as horizontal segments.
Since the two drawings use the same set of slopes S k with k = max{4, ∆} and the rotation of Γ 2 by π radians preserves the slopes, the statement follows.

Conclusions and Open Problems
In this paper we proved a quadratic upper bound on the planar slope number of nested pseudotrees.This is the first result proving the existence of graphs with treewidth 4 whose plane slope number is polynomial in ∆.In the special case of Halin graphs (which have treewidth 3) we have an asymptotically tight Θ(∆) bound, which improves over the previously known O(∆ 5 ) bound.Our proofs are constructive and exploit the SPQ-tree, a data structure that we prove can be computed in linear time.The number of operations that we perform is also linear, however we use irrational slopes which may give rise to drawings whose area is not polynomial in the input size.It remains open whether the same upper bounds on the slope number can be achieved if the vertices are required to lie on an integer grid of polynomial size.
Also it would be interesting to establish whether the upper bound of Theorem 1 is tight and whether it also applies to nested pseudoforests.Finally, is there a subexponential upper bound on the planar slope number of 2-outerplanar graphs?This question is interesting even for 2-connected graphs.

Fig. 2 .
Fig. 2. (a) A plane partial 2-tree with a distinguished edge (u, v); (b) A rhombus ♦(abcd) with s = 0 and angles at a and c equal to β; (c) a plane straight-line drawing of G inside ♦(abcd); the slope set L(β, s, ∆) used is shown in the figure.

Fig. 3 .Theorem 4 .
Fig. 3. Examples of 2-outerplane graphs; In all figures, the external vertices are black and the internal ones are white.The edges connecting external vertices are thin black; the edges connecting internal vertices are bold; the edges connecting an internal and an external vertex are grey.(b), (c), and (d) are simply nested 2-outerplane graphs; (b) is a cycle-cycle; (c) and (d) are Cycle-trees; (d) is a Halin graph.

Fig. 5 .
Fig. 5. (a) An example of a path-tree G (solid edges).Vertex ℓ is the leftmost path vertex and r is the rightmost path vertex of G.The path of G is shown with white vertices and black solid edges, while the tree of G is shown with black vertices and bold edges.(b) The path-tree G rooted at ρ. µ 6(middle).P-node: the pertinent graph G µ of a P-node µ is an almost-3-connected rooted path-tree obtained from almost-3-connected rooted path-trees G ν1 , . . ., G ν k , with k > 1, as follows.First, the roots of G ν1 , . . ., G ν k are identified into the root ρ µ of G µ .Second, the leftmost path-vertex of G νi is identified with the rightmost pathvertex of G νi−1 , for i = 2, . . ., k.The nodes ν 1 , . . ., ν k whose pertinent graphs are G ν1 , . . ., G ν k , respectively, are the children of µ in T , and the left-to-right order in which they appear in T is ν 1 , . . ., ν k .The leftmost and the rightmost path-vertices of G µ are ℓ ν1 and r ν k , respectively; see Fig.6(right).

Fig. 7 .
Fig.7.Two alternative partial SPQ-trees of the almost-3-connected path-tree in the center: The child of node ν4 is an S-node on the left and a P-node on the right.

Fig. 8 .
Fig. 8. (a) Black, orange, blue, left-and right-magenta slopes; (b) c-red slope R c i,j ; (c) l-red slope R l i,h ; and (d) r-red slope R r h,j .

Fig. 9 .
Fig. 9. (a)-(c) Construction of a good triangle for the child of an S-node: (a)-(b) s l is orange; (c) s l and sr are magenta.(d) Construction of good triangles for the children of a P-node with k = 3 children.The triangle of each child has a distinct opacity. .

Fig. 11 .
Fig.11.Construction of triangle ▲(aνbµcµ) when s l is orange and sr is right-magenta.

Lemma 6 .
Every cycle-tree G with maximum degree ∆ has psn(G) ∈ O(|S|).Proof.If the outer boundary of G has 3 vertices, the total number of edges of G is O(∆) and hence psn(G) ∈ O(∆) ⊆ O(|S|).So assume that the outer boundary of G has more than 3 vertices.

Lemma 7 .
Let G be an irreducible 2-connected cycle-tree.If the cycle of G contains at least 4 vertices, then any 2-cut of G consists of a tree-vertex and a cycle-vertex.

Fig. 15 .
Fig.15.A 1-connected cycle-tree with highlighted two distinct c-flags C1 (in gray) and C2 (in green) and a c ′ -flag (in light blue).The cut-vertex c ′ is dominated by the cut-vertex c.The reference edge of C1 is e1 and the reference edge of C2 is e2.C1 is a c-flag of Type 1 because e1 is an edge of a (c, z)-flag (highlighted with a dashed orange curve).C2 is a c-flag of Type 2.

Theorem 5 .Fig. 18 .
Fig. 18.Illustration for Cases A.2, A.3, and A.4 of Theorem 6.The cycle of P is red.The c-flag is highlighted with a grey background.

Fig. 20 .
Fig. 20.Illustrations for Cases B.2 and B.3 of Theorem 6.The cycle of P is red.The (w, z)-flag is highlighted with a grey background.
and a, b, and c appear in this counter-clockwise order.Tree T admits a straight-line order-preserving planar drawing Γ such that: (i) Γ uses the slopes in the set S k , where k = max{4, d + 1}; (ii) Γ is contained in ▲(abc); (iii) if n > 1, then ρ, ℓ, and r are mapped to the points a, b, and c in Γ , respectively; (iv) if n = 1, then ρ is represented by a point at the intersection of bc with a straight line passing through a and having any slope Q i ∈ S k \ {S 0 }; (v) all the leaves of T lie on bc in Γ .

Fig. 21 .
Fig. 21.Illustrations for Case C of Theorem 6.(a) Construction of G ′ 2 from G2 ∪ e; in the left part, the shaded region is face g.The cycle of P is red.(b) The path-tree G * rooted at ρ

Fig. 22 .
Fig. 22.(a) A set of slope S k for k = 7; (b) Definition of the equilateral triangles for the recursive construction of a tree drawing that uses the slope set S k of (a).

Fig. 23 .
Fig. 23.(a) Decomposition of a Halin graph that has at least two internal vertices; (b) Construction of a drawing of a Halin graph by combining two sub-drawings and Γ2.