Abstract 1 Introduction 2 Preliminaries 3 1-bend planar drawings of 𝟑-connected degree-𝚫 planar graphs 4 2-bend planar drawings of degree-𝚫 graphs 5 4-bend planar drawings of degree-𝚫 graphs 6 Conclusions and Open Problems References

How Many Slopes Does Polynomial Area Cost?

Michael A. Bekos ORCID University of Ioannina, Greece    Eleni Katsanou ORCID National Technical University of Athens, Greece    Philipp Kindermann ORCID Trier University, Germany    Maria Eleni Pavlidi ORCID University of Ioannina, Greece
Abstract

In this work, we study the interplay between the number of slopes, the number of bends per edge, and the area requirements for planar drawings of bounded-degree graphs. Our motivation stems from the fact that, while numerous algorithms produce planar drawings with few slopes for graphs of relatively small degree in polynomial area, existing approaches for higher-degree graphs often require super-polynomial area. We address this gap in the literature by presenting new constructions that yield polynomial-area drawings with few bends per edge while slightly increasing the required number of slopes, thereby providing the first systematic study of slopes, bends and area trade-offs.

Keywords and phrases:
k-bend planar drawings, planar slope number, area requirements
Copyright and License:
[Uncaptioned image] © Michael A. Bekos, Eleni Katsanou, Philipp Kindermann, and Maria Eleni Pavlidi; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Mathematics of computing Combinatorics
; Mathematics of computing Graph theory ; Human-centered computing Graph drawings
Funding:
This work was partially funded by the IKYDA 2025 funding program of the DAAD (project 57775422 “Algorithms and Combinatorics for Drawing Graphs with Few Slopes”).
Related Version:
Full Version: https://arxiv.org/abs/2605.31098
Editor:
Pierre Fraigniaud

1 Introduction

Producing drawings of graphs while minimizing the number of slopes is a well-studied problem in Graph Drawing, motivated by both theoretical interest and practical applications such as network visualization and VLSI design [2, 19, 41]. From an algorithmic perspective, given a graph, the goal is to determine its slope number, that is, the minimum number of pairwise distinct slopes used by its edge segments, taken over all polyline drawings of the graph with a prescribed number of bends per edge. Wade and Chu [42] were among the first to investigate this problem by showing that the slope number of the complete graph Kn in the straight-line setting is n. The problem has been extensively studied since then; several results are known for general graphs of bounded degree [15, 26, 34, 35, 36], and beyond-planar graphs [11, 28].

When the input graph is planar, the output drawing is additionally required to be crossing-free. The problem of finding planar drawings with few slopes has also been extensively studied [4, 29, 30, 7, 12, 13, 14, 18, 25, 31, 33, 6], as it traces back to orthogonal graph drawing [17, 8, 40], where edges are represented as polygonal chains consisting of alternating horizontal and vertical segments, that is, using only two slopes. In this context, a central result by Biedl and Kant [5] guarantees that every planar graph of maximum degree 4, except for the octahedron, admits an orthogonal drawing on an n×n grid in which each edge has at most two bends. This result is tight in the sense that there exist planar graphs of maximum degree 4 that do not admit planar orthogonal drawings with one bend per edge [40].

A natural extension of the orthogonal drawing model is the octilinear, which additionally supports diagonal segments at ±45, yielding a total of four slopes. In this model, every planar graph with maximum degree at most 3 admits a bendless planar drawing [12] on a O(n)×O(n) grid, while every planar graph with maximum degree at most 4 (and 5, respectively) admits a planar drawing with at most one bend per edge on a O(n2)×O(n) grid (and a super-polynomial grid, respectively) [3].

For graphs of higher degree, Keszegh, Pach, and Pálvölgyi [25] extended the algorithm of Biedl and Kant [5] and showed that every planar graph of maximum degree Δ3, with the exception of the octahedron, admits a planar drawing with at most two bends per edge using segments of at most Δ/2 distinct equidistant slopes; this bound on the number of slopes is clearly optimal. Improving previous related results [25, 32], Angelini, Bekos, Liotta, and Montecchiani [1] demonstrated that every planar graph of maximum degree Δ4 admits a planar drawing with at most one bend per edge using segments from any arbitrary set of Δ1 pairwise distinct slopes. In the straight-line setting, Keszegh, Pach, and Pálvölgyi [25] showed that every planar graph with maximum degree Δ admits a straight-line drawing using segments of 2O(Δ) distinct slopes.

Our contribution.

In this work, we identify and close a critical gap in the literature. While almost all aforementioned algorithms for planar graphs of small fixed degree produce drawings of polynomial area [3, 5, 17, 12, 40] (and are therefore practically applicable), the corresponding algorithms that have been proposed for planar graphs of higher maximum degree require super-polynomial area [1, 25, 32], which limits significantly their practical applicability. Thus, in this paper, we study for first time the interplay between the number of slopes, the number of bends per edge, and the corresponding area requirements; see Table 1. Our focus is on algorithms that produce planar drawings with few bends per edge on polynomial-size grids while only slightly increasing the number of slopes used. More precisely:

Table 1: Summary of our results for planar graph drawings with at most k bends per edge.
k Degree Connectivity Drawing area No. of Slopes Ref.
1 Δ5 3 𝒪(Δn2)× 𝒪(Δn3) 3Δ8 Thm. 1
1 Δ5 𝒪(Δn2)× 𝒪(Δn3) 92Δ+1 Section 3
1 5 3 𝒪(n3)× 𝒪(n4) 5 Thm. 3
2 Δ3 2 𝒪(n)× 𝒪(Δn2) Δ2 Thm. 4
2 Δ 𝒪(n)× 𝒪(Δn2) Δ2+1 Section 4
4 Δ 𝒪(n)× 𝒪(n) Δ Thm. 6
  • In Section 3, we prove that every 3-connected n-vertex planar graph of maximum degree Δ admits a planar grid drawing with at most one bend per edge, using at most 3Δ8 slopes on a O(Δn2)×O(Δn3) grid. Our approach builds upon the incremental construction by Angelini, Bekos, Liotta and Montecchiani [1], which produces such drawings on arbitrary sets of Δ1 slopes. In contrast, we fix the slope set in advance and increase its size from Δ1 to 3Δ8 in order to guarantee polynomial area. As a consequence, for general planar graphs (i.e., not necessarily 3-connected) the number of slopes becomes 92Δ+1.

  • For the special case of planar graphs of maximum degree 5, we decrease the number of required slopes from 3Δ8=7 to 5 at the cost of increasing the drawing area by a factor of O(n2); see Theorem 3. Compared with the best-known algorithm in [3], our construction achieves polynomial-area while increasing the number of slopes by one.

  • In Section 4, we prove that every planar graph G of maximum degree Δ3 admits a 2-bend planar drawing on a O(n)×O(Δn2) grid using at most Δ/2 slopes if G is biconnected, and at most Δ/2+1 slopes otherwise. In contrast to the algorithm by Keszegh, Pach, and Pálvölgyi [25], which uses equidistant slopes to support rotations and scalings of biconnected components around cut vertices, our algorithm uses a different slope set to guarantee polynomial-drawing area. However, it requires one additional slope for general (i.e., non-biconnected) planar graphs, as it can rely neither on rotations (because of the non-equidistant slopes) nor on scaling (because of the area requirement).

  • In Section 5, we prove that, regardless of the maximum degree Δ of the input planar graph, quadratic area in the number of vertices of the graph suffices to obtain a planar drawing with at most Δ slopes, where each edge has at most four bends. If the graph is additionally subhamiltonian, then three bends suffice.

Note that a fundamental requirement of our grid drawings is that both vertices and edge bends lie on grid points. Furthermore, we stress that the algorithms that we present in this work can be implemented to run in time linear in the size of the input graphs.

2 Preliminaries

In this section, we introduce preliminary definitions and notation used throughout the paper. Unless stated otherwise, all graphs considered are simple and undirected. The degree of a vertex is the number of its neighbors. A graph has maximum degree Δ if it contains a vertex of degree Δ and no vertex of degree greater than Δ. A graph is connected if every pair of vertices is joined by a path. More generally, for k1, a graph is k-connected if the removal of any set of at most k1 vertices leaves the graph connected. In particular, 2- and 3-connected graphs are also referred to as biconnected and triconnected, respectively.

A drawing of a graph maps each vertex of the graph to a point of the Euclidean plane and each of its edges to a Jordan arc connecting its endpoints. A drawing is planar if no two edges intersect except possibly at common endpoints. Such a drawing partitions the plane into connected regions called faces; the unbounded one is the outer face. A graph is planar if it admits a planar drawing. A planar embedding of a planar graph is an equivalence class of planar drawings that define the same set of faces and the same outer face. A planar drawing is k-bend if each of its edges is a polygonal chain composed of at most k+1 straight-line segments. The point where two such segments meet is called a bend. Unless otherwise specified, we consider grid drawings, that is, drawings in which each vertex and each bend lies on a point of the Euclidean plane with integer coordinates. Given such a drawing Γ, we denote by W(Γ) and by H(Γ) the width and the height of the minimum rectangle enclosing Γ, respectively.

The slope of a line measures its steepness and direction. It is defined as the ratio of the vertical change (rise) to the horizontal change (run) between any two points on the line. This equivalently corresponds to the tangent of the counter-clockwise angle through which a horizontal line must be rotated to coincide with the given line. The horizontal (vertical) slope is the slope of a line parallel (perpendicular) to the x-axis. The slope of an edge segment is the slope of the line containing it. Given a set of slopes S, a k-bend planar drawing is said to be on S if each of its edge segments has a slope belonging to S. For a vertex v in a k-bend planar drawing, each slope s of S determines two distinct rays emanating from v with slope s, which we call ports. If s is the horizontal slope, these rays are called horizontal. The upward (downward) directed ports are called top (bottom) ports. We say that a port ρv incident to v is free if no edge incident to v is drawn along ρv; otherwise, ρv is occupied.

Given an edge e at the outer face of a k-bend planar drawing Γ, a cut at edge e is a strictly y-monotone curve that (i) starts at a point on a horizontal segment of e, (ii) ends at a point on a horizontal segment of an edge e incident to the outer face of Γ, with ee, and (iii) intersects only horizontal segments of Γ; see Figure 1. Such a cut allows to stretch Γ horizontally by translating all vertices and edges on one side of the cut horizontally by an arbitrary distance d>0, thereby increasing the horizontal distance between the two resulting parts without introducing crossings. Since the stretching is purely horizontal, the slopes of all non-horizontal segments remain unchanged, while the lengths of the horizontal segments crossed by the cut increase. Hence, if Γ is on S before the stretching, it remains on S afterward. When we say that we stretch an edge e, we refer precisely to this operation.

Let G be a 3-connected n-vertex plane graph and let Π=(P0,,Pm) be a partition of its vertex set into paths such that P0={v1,v2}, Pm={vn}, the edges (v1,v2) and (v1,vn) exist and belong to the outer face of G. For i=0,,m, let Gi be the subgraph induced by P0Pi and denote by Ci the contour of Gk defined as follows: If i=0, then C0 is the edge (v1,v2) of P0, while if i>0, then Ci is the path from v1 to v2 obtained by removing (v1,v2) from the cycle delimiting the outer face of Gi. We say that Π is a canonical order [9, 21] of G if for each i=1,,m1 the following hold (see Figure 1): (i) Giis biconnected, internally 3-connected and embedded with Ci{(v1,v2)} as its outer face; (ii) all neighbors of Pi in Gi1 are on Ci1; (iii) Pieither consists of a single vertex (called singleton), or the degree of each of its vertices is 2 in Gi (called chain); (iv) every vertex in Pi has at least one neighbor in Pj with j>i. A canonical order of a 3-connected planar graph can be computed in linear time [21].

Figure 1: Illustration of a canonical order and of a 4-coloring of a 3-connected planar graph. The dotted curve is a cut (dashed) at edge e.

Given a 3-connected plane graph G and a canonical order Π of it, it is possible to compute a 4-edge-coloring of G similar to the one by Schnyder [16, 39]. The edge (v1,v2) of G0 is colored black. For i=1,,m, a 4-coloring of Gi1 is extended to one of Gi as follows (see, e.g, Figures 1 and 3). First, consider the edges of Gi that do not belong to Gi1 and lie on the contour Ci. The first (last) such edge encountered on a traversal of Ci from v1 to v2 is colored blue (green, respectively), while all remaining ones (i.e., those whose endpoints both belong to Pi, when Pi is a chain) are colored black. The remaining edges of Gi that do not belong to Gi1 are colored red; these are precisely the edges incident to Pi that are not part of Ci (i.e., when Pi is a singleton of the canonical order). Finally, we treat all black edges as undirected, and all remaining edges as directed where the orientation of an edge connecting a vertex uPi to a vertex vPj with 0i<jm is from u to v.

For an n-vertex graph with two designated vertices s and t, an st-ordering v1,,vn is a permutation of its vertices such that v1=s and vn=t, and every vertex vj with 1<j<n has at least two neighbors vi and vk with i<j<k. It is known that every biconnected graph admits such an st-ordering [38]. In the case of a planar input, one may additionally guarantee that the vertices v1,v2,vn all lie on the outer face of the graph, such that the edge (v1,v2) is incident to this face [5].

In our algorithms, we occasionally augment the input graph to make it biconnected or triconnected. To augment a connected planar graph G to a simply biconnected planar graph G, we utilize an algorithm by Kant and Bodlaender [22]. This algorithm runs in linear time and ensures that the maximum degree Δ(G) of the resulting graph satisfies Δ(G)Δ(G)+2. Furthermore, we utilize an algorithm by Kant [20] to augment a biconnected planar graph G to a triconnected planar graph G. This augmentation is performed in linear time, and the resulting maximum degree Δ(G) is bounded by Δ(G)max{2,32Δ(G)}.

3 1-bend planar drawings of 𝟑-connected degree-𝚫 planar graphs

In this section, we seek to prove that every 3-connected n-vertex planar graph with maximum degree Δ admits a 1-bend planar grid drawing with at most 3Δ8 slopes on a O(Δn2)×O(Δn3) grid. Since for Δ4 our results is superseded by [3, 10], we assume w.l.o.g. that Δ5. Our approach builds upon the incremental construction by Angelini, Bekos, Liotta and Montecchiani [1], which uses a canonical ordering of the input 3-connected planar graph G to produce a 1-bend planar drawing Γ of it on an arbitrary set of Δ1 slopes. In contrast, we fix the slope set in advance. Moreover, to obtain polynomial area, we enlarge the number of available slopes from Δ1 to 3Δ8.

Theorem 1.

Every 3-connected planar n-vertex graph G with maximum degree Δ5 admits a 1-bend planar grid drawing with at most 3Δ8 slopes on a 12Δn2×18Δn3 grid.

Proof.

The slope set S used by our algorithm is defined with respect to a parameter k>Δn2 that we will specify later, and is the union of the following sets. Sv consists only of the vertical slope. Sh consists only of the horizontal slope. Sls consists of Δ3 left steep slopes k1,,kΔ3 (green in Figure 2(a)). Srs consists of Δ3 right steep slopes k1,,kΔ3 (blue in Figure 2(a)). Finally, Sf consists of Δ4 flat slopes 1Δ3,,Δ4Δ3 (red in Figure 2(a)). Hence, the cardinality of S is 3Δ8, as desired.

Let Π=(P0,,Pm) be a canonical order of G. For the drawing algorithm, we first remove the edge (v1,v2) from the graph and color the edges incident to v1 and v2 in G1 black. After the drawing algorithm is completed, we will insert the edge (v1,v2) below the constructed drawing with a vertical segment incident to v1 and a segment with slope 1Δ3Sf incident to v2 (see Figure 2(b)). For now, we also assume that vn has degree strictly less than Δ (note that if Δ6, then this assumption is w.l.o.g.  since we can choose vn such that its degree is at most 5). We will describe how to handle the other case later.

Assume that for 0<im, we have already constructed a 1-bend planar grid drawing Γi1 of Gi1 on S that satisfies the following invariants.

  1. I.1

    The contour Ci1 of Γi1 is drawn strictly x-monotone.

  2. I.2

    There exists a cut at every edge belonging to the contour Ci1 of Γi1.

  3. I.3

    Every vertex of Ci1 has at least as many unoccupied top ports in each of Srs and Sls incident to the outer face of Γi1 as it has neighbors in GGi1 minus one, and the port corresponding to Sv is unoccupied if the vertex has at least one neighbor in GGi1 or its degree is strictly less than Δ.

  4. I.4

    All vertices of Gi1 are at y-coordinates that are multiples of k in Γi1.

  5. I.5

    Based on their colors, the edges of Gi1 have been drawn as follows in Γi1:

    1. a.

      Each black edge of Gi1 consists of a single horizontal segment (i.e., its slope is in Sh).

    2. b.

      Each blue edge of Gi1 consists of two segments; the one incident to its source has a slope in SvSrs, while the one incident to its target is in Sh.

    3. c.

      Each red edge of Gi1 consists of at most two segments; the one incident to its source is vertical (i.e., its slope is in Sv), while the one incident to its target has a slope in SfSv, i.e, if the slope of the second segment is in Sv, then the edge consists of one segment.

    4. d.

      Each green edge of Gi1 consists of two segments; the one incident to its source has a slope in SvSls, while the one incident to its target is in Sh.

(a)
(b)
Figure 2: (a) Illustration of the slopes used in Theorem 1. (b) The drawing created by the algorithm in Theorem 1 with k=4 for the graph in Figure 1.

Note that Invariants I.1 and I.2 are inherited from [1]; Invariant I.3 is adapted to our setting, and Invariants I.4 and I.5 are specific to our construction. The base case of our recursive algorithm is the graph G1, which consists of the vertices v1, v2, and all vertices in P1. We place these vertices on a horizontal line: v1 is positioned at (0,0), v2 at (|P1|+1,0), and the vertices of P1 are placed between them at unit distance. All edges are then drawn as horizontal segments. This obviously satisfies the invariants. So, we may assume that i>1. To derive a drawing Γi of Gi maintaining Invariants I.1I.5, we introduce the vertices of path Pi into the drawing Γi1 by distinguish two cases depending on whether Pi is a chain or a singleton of degree 2 (Case 1) and a singleton of degree greater than 2 (Case 2). At a high level, Invariant I.4 will allow us to determine a grid point for each vertex of Pi and for each bend of the blue and green edges incident to it, while Invariant I.2 will support stretching the drawing Γi1 to create additional space to accomplish this placement, if needed.

Case 1: 𝑷𝒊 is a chain or a singleton of degree 2.

Suppose that Pi={vg,,vh} is a chain or a singleton of degree 2 in Gi. Note that in the latter case, g=h holds. Let v and vr be the neighbors of vg and vh in Gi1, respectively. Refer to Figure 3(a). W.l.o.g., we may assume that v appears before vr along the contour Ci1 in a traversal of it from v1 to v2. Let also ρ (ρr) be the first unoccupied port at v (vr) encountered in a counter-clockwise (clockwise) traversal of its top ports in SrsSv (SlsSv) starting from the rightward (leftward) horizontal port, which exist by Invariant I.3. To satisfy Invariant I.4, we set the y-coordinate of each of vg,,vh to H(Γi1)+k. The x-coordinates of vg,,vh will be determined by the constraints arising from the way that (v,vg),(vg,vg+1),,(vh1,vh),(vh,vr) must be drawn. Since (v,vg) and (vr,vh) are incoming edges to vg and vh in Gi, we satisfy Invariants I.5b. and I.5d. by drawing (v,vg) and (vr,vh) with a horizontal segment incident to vg and vh and a second segment attached to ρ and ρr, respectively, which maintains Invariant I.3 for v and vr. The remaining edges of Pi (if any) will be drawn as unit-length horizontal segments satisfying Invariant I.5a.. Each of the vertices vg,,vh has at most Δ2 neighbors in GGi and all Δ3 ports unoccupied in each of Srs and Sls that are incident to the outer face of Γi, which ensures Invariant I.3 for them.

Let p and pr be the points where the rays that correspond to ρ and ρr intersect the horizontal line L through vg; see Figure 4. We have to ensure that p lies at least hg+2 units to the left of pr such that vg,,vh can be placed between them in Γi. Furthermore, the rays at ρ and ρr are not allowed to cross any part of Γi1. To guarantee these conditions, we horizontally stretch Γi1 as follows. Let (v,v) be the first edge of Ci1 that is encountered when traversing Ci1 from v to v2. Analogously, (vr,vr) is the first edge of Ci1 that is encountered when traversing Ci1 from vr to v1. (Note that v=vr and vr=v is possible.) Since both these edges lie on Ci1, by Invariant I.2 there is a cut at each of them. This allows us to stretch (v,v) until p lies to the left of v, and symmetrically, stretch (vr,vr) until pr lies to the right of vr. This further guarantees that the horizontal distance between p and pr is at least 2. If needed, we further stretch one of the edges (v,v) and (vr,vr), say w.l.o.g. the former, by up to hg additional units, so as to ensure that the horizontal distance between p and pr is at least hg+2. Hence, it is possible to place each of vg,,vh at a grid point along L that lies between p and pr, and draw the edges (v,vg) and (vr,vh) with one bend each at p and pr, respectively. The remaining edges of Pi are drawn as unit-length horizontal edge segments, as we initially sought; see Figure 3. This completes the drawing of Γi.

(a)
(b)
Figure 3: Illustration of the case where Pi is (a) a chain or a singleton of degree 2, and (b) a singleton of degree greater than 2 in Theorem 1.

It remains to show that Γi is planar and satisfies Invariant I.1. For the former, observe that the introduction of vg,,vh into Γi1 yields hg+4 new edge segments in Γi. The two segments connecting p with vg and pr with vh, as well as all edge segments connecting internal vertices of Pi (if any) lie completely above Γi1. So they cannot cross any edge of Γi1. The port ρ that is used by the edge segment connecting v with p is the next available port in Srs, i.e., the one that follows the corresponding port used by the edge (v,v). Furthermore, the only edge of Ci1 that lies between the x-coordinates of v and p is the edge (v,v). So no edge of Ci1 and thus no edge of Γi1 can be crossed by the edge segment connecting v and p. A symmetric argument applies to the edge segment connecting vr and pr. Since these two edge segments cannot cross each other, it follows that Γi is planar, as desired. Having ensured this property, the fact that the contour Ci of Γi is x-monotone is implied by the choice of ρ and ρr and by the fact that ρSrs and ρrSls. Hence, Γi satisfies Invariant I.1.

Before considering the case where Pi is a singleton of degree greater than 2 in Gi, we establish an upper bound on how much the drawing Γi1 must be stretched horizontally to accommodate vg,,vh in Γi. To this end, consider the edge (v,vg). Let x be the x-coordinate of p before applying any stretching. Let also sSrs be the slope of the edge segment connecting v with p; symmetrically, srSls is defined. It follows that x=x(v)+y(vg)y(v)sx(v)+y(vg)s. After the stretching of the edge (v,v), the x-coordinate of p should be at most x(v)1. To achieve this, the edge (v,v) must be stretched by at most x(x(v)1)x(v)+y(vg)sx(v)=y(vg)s units of length. Symmetrically, the edge (vr,vr) must be stretched by at most y(vg)|sr| units of length. Now the x-coordinate of p is at most the old x-coordinate of v and the x-coordinate of pr is at least the old x-coordinate of vr, so p and pr are at least one unit apart. To make space for vg,,vh between them, we might have to stretch the edge (v,v) by hg+1 more units. Since |Pi|=hg+1, it follows that the total stretch applied is at most

y(vg)s+y(vg)|sr|+|Pi| H(Γi1)+kkΔ3+H(Γi1)+kkΔ3+|Pi|
=2H(Γi1)+kk(Δ3)+|Pi|2ΔH(Γi1)+kk+|Pi|. (1)
Figure 4: Illustration of using cuts to maintain planarity in Theorem 1.

Case 2: 𝑷𝒊 is a singleton of degree more than 2.

Suppose that Pi={vg} is a singleton of degree greater than 2 in Gi. Let v,w1,,wq,vr, with q1, be the neighbors of vg in Γi1 as they appear from left to right along Ci1. We will place vg above wq, such that the edge connecting them is vertical; see Figure 3(b). Equivalently, this corresponds to setting the x-coordinate of vg to the one of wq. The y-coordinates of vg will be determined by the constraints arising from the way that (v,vg),(vg,w1),,(vg,wq),(vg,vr) must be drawn (see Invariants I.5b., I.5c. and I.5d.). More precisely, each edge (wj,vg),1jq will be drawn with a vertical segment incident to wj, which is unoccupied by Invariant I.3, and, if jq, with a second segment of slope sj=jΔ4Sf. Clearly, if qΔ3, then Invariant I.5c. is satisfied. This condition always holds when im, or when i=m and the degree of vn is strictly less than Δ. We will discuss the remaining case later. Furthermore, the edges (v,vg) and (vg,vr) will be drawn afterwards as in Case 1, thereby satisfying Invariants I.2, I.3, I.5b., and I.5d..

To ensure that the bend point of each edge (wj,vg),1j<q lies on a grid point, we first ensure that the horizontal distance between wj and vg is a multiple of Δ3. To this end, let (wj,wj) be the first edge of Ci1 that is encountered when traversing Ci1 from wj to v2 (possibly wj=wj+1). We leverage Invariant I.2 to stretch (wj,wj) by at most Δ4 units so as to guarantee the required distance between wj and vg. Overall, this increases the width by at most (q1)(Δ4) units. To satisfy Invariant I.4, we set the y-coordinate of vg to H(Γi1)+αk, where α is a parameter that is chosen such that, for every neighbor wj of vg, the bend point of the edge (wj,vg) lies above Γi1; see Figure 3(b). Since the height of the flat segment of the edge (wj,vg) is sj(x(vg)x(wj)), where x(vg)x(wj) is its width, the y-coordinate of vg must be at least H(Γi1)+sj(x(vg)x(wj)). We choose y(vg) as the smallest multiple of k that fulfills all these bounds. Thus, we have

y(vg)H(Γi1)+maxj{1,,q1}{sj(x(vg)x(wj))}+kH(Γi1)+W(Γi1)+k. (2)

Having determined the x- and y-coordinates of vg, the drawing Γi is completed by drawing each edge incident to vg in Gi as described above, thereby guaranteeing Invariants I.2-I.5. By an argument analogous to that of Case 1, the edges (v,vg) and (vg,vr) are crossing-free in Γi. We still have to argue that the edges (wj,vg) are also crossing free in Γi. The flat slopes of the edges (wj,vg), with j<q, have been assigned in counterclockwise order around vg. Also, the left-to-right order of the bend points of these edges matches the left-to-right order of w1,,wq1 along the contour Ci1; see Figure 3(b). Therefore, no two edges (wj,vg) and (wj,vg) with 0j<jq can cross each other. Furthermore, the horizontal segments of the edges (v,vg) and (vr,vg) lie above the flat segments of the edges (wj,vg), while the stretching performed along the edge (v,v) and (vr,vr) ensures that the steep segments of (v,vg) and (vr,vg) lie completely to the left and to the right of these flat segments; see Figure 4. Since the flat segments of the edges (wi,vg) are drawn completely above Γi1, they cannot cross any edge of Gi1, thereby implying that Γi is planar, as desired. Having ensured this property, the fact that the contour Ci of Γi is x-monotone is implied by the fact that the slopes of the two segments of the edge (v,vg) are in SrsSh, while the ones of (vg,vr) in ShSls (i.e., symmetrically to Case 1). Hence, Γi also satisfies Invariant I.1.

We now establish an upper bound on how much the drawing Γi1 must be stretched horizontally to accommodate vg in Γi. As in Case 1, the edges (v,v) and (vr,vr) have been stretched by at most y(vg)s and y(vg)|sr| units, respectively. Furthermore, the edges (wj,wj) have been stretched by at most (q1)(Δ4) unit in total. Thus, the total stretch applied is at most

y(vg)s+y(vg)|sr|+(q1)(Δ4)
(2)H(Γi1)+W(Γi1)+ks+H(Γi1)+W(Γi1)+k|sr|+(deg(vg)1)(Δ4)
2H(Γi1)+W(Γi1)+kkΔ3+deg(vg)Δ
2ΔH(Γi1)+W(Γi1)+kk+Δn. (3)

To complete the description of our drawing algorithm, it remains to consider the case in which vn is of degree exactly Δ. Let w1,,wΔ be the neighbors of vn as they appear along Cm1 from v1 to v2. Before applying our drawing algorithm as described so far, we remove the edge (wΔ,vn) from the graph and recolor the edge (wΔ1,vn) green. After the last step of the drawing algorithm, we reinsert the edge (wΔ,vn). Since wΔ lies on Cm and its degree is strictly less than Δ (in the absence of (wΔ1,vn)), the vertical top port of wΔ is unoccupied by Invariant I.3. By Invariant I.1, we can draw the edge (wΔ1,vn) with a vertical segment at wΔ and a segment of slope 1Δ3 at vn (see Figure 2(b)). This completes the drawing of the input graph G.

It remains to analyze the width and the height of the drawing. For ease of notation, we denote by Wi and Hi, 0im the width and height of the drawing Γi, that is, Wi=W(Γi) and Hi=H(Γi). In the base of our recursive algorithm, it holds that W0=1 and H0=0. By Equation 2, we obtain HiHi1+Wi1+k. So,

Hmi=0m1(Wi+k)m(Wm+k)nWm+kn. (4)

By Section 3 and Section 3, we obtain

Wi Wi1+2ΔHi1+Wi1+kk+|Pi|+Δn
=2ΔkHi1+(1+2Δk)Wi1+(n+2)Δ+|Pi|.

By series expansion, we obtain

Wm i=0m1(1+2Δk)mi(2ΔkHi+(n+2)Δ+|Pi|)
(1+2Δk)mi=0m1(2ΔkHi+(n+2)Δ+|Pi|)
(1+2Δk)m(m2ΔkHm+(n+2)Δm+n) mn,n6
(1+2Δk)n(n2ΔkHm+2Δn2).

If we choose k=4Δn2, then we have (1+2Δk)n=(1+12n2)n. Since ln(1+x)x for 0<x<1, we obtain (1+12n2)ne1/(2n)e1/6<1.19, so

Wm1.19(n2ΔkHm+2Δn2). (5)

Plugging Equation 5 into Equation 4, we obtain

Hm 1.19(n22ΔkHm+2Δn3)+kn21.19kΔn3+k2nk21.19Δn2
=21.194Δ2n5+16Δ2n54Δn221.19Δn2=25.52Δn31.6215.76Δn3O(Δn3).

Plugging this back into Equation 5, we can bound the width by

Wm 1.19(n2Δ4Δn2Hm+2Δn2)1.192nHm+2.38Δn218.76Δn32n+2.38Δn2
11.76Δn2O(Δn2).

Reinserting (v1,v2) and (wΔ,vn) at the end increases the height by at most 2Wm/(Δ3)11.76Δn21.96Δn3, since Δ5 and n6. Thus, our drawing has area O(Δ2n5). Using the algorithms in [20, 22] (see Section 2), we can augment any planar graph with maximum degree Δ5 to a triconnected planar graph of maximum degree at most 3Δ/2+3.

Corollary 2.

Every planar n-vertex graph with maximum degree Δ5 admits a 1-bend planar grid drawing with at most 92Δ+1 slopes on a O(Δn2)×O(Δn3) grid.

For the special case of planar graphs of maximum degree 5, we can slightly improve the number of slopes while increasing the required area by a factor of O(n2).

Theorem 3.

Every 3-connected planar graph G with maximum degree Δ=5 admits a 1-bend planar grid drawing Γ using a fixed set of 5 slopes. Such a drawing can be constructed on a grid of size O(n3)×O(n4).

Sketch.

To reduce the number of slopes, we relax the requirement that the contour of the drawing is x-monotone. Instead, at vertices which do not have remaining outgoing edges non-monotone parts are allowed. This allows to construct a drawing using only five slopes, namely, {0,,1,k,k}, where k=5n2. The horizontal stretch needed at each step increases to O(k)+O(W/k)+O(H/k), while the height to O(k)+O(W)+O(H/k). Solving the resulting recurrences yields width O(n3) and height O(n4).

4 2-bend planar drawings of degree-𝚫 graphs

In this section, we extend a result of Keszegh, Pach, and Pálvölgyi [24, 25] by showing that every planar graph G with maximum degree Δ3 admits a 2-bend planar drawing on a grid of polynomial size using at most Δ/2 slopes, if G is biconnected and at most Δ/2+1 slopes otherwise. We first address the former case.

Theorem 4.

Every biconnected planar graph G with maximum degree Δ3 admits a 2-bend planar drawing with at most Δ/2 distinct slopes on a grid of size O(n)×O(n2Δ). The only exception is the octahedron graph, which requires 3 slopes.

Proof.

Without loss of generality, we may assume that Δ is even. Since planar graphs with Δ=4 always admit an orthogonal drawing with at most two bends per edge on a grid of size O(n)×O(n) [5, 37], we may further assume Δ6. We choose a vertex vn of G with degree at most 5 (which exists in every planar graph) and consider a planar embedding of G with vn on its outer face. The fact that G is biconnected implies that it admits an st-ordering v1,,vn, such that (v1,v2) is an edge of the outer face of . We will use this st-ordering to construct incrementally a 2-bend planar drawing Γ of G on the following set of Δ2 slopes: S={Δ4+1,,0,,Δ41,}; see Figure 5(a). In particular, each edge (vi,vj) with i<j will be drawn with a first non-vertical segment incident to vi (of possibly zero length), followed by a vertical segment (of non-zero length) and a last non-vertical segment incident to vj (of possibly zero length); see Figure 5(b).

(a)
(b)
(c)
Figure 5: (a) The set of Δ/2 slopes used in Theorem 4. (b) Example construction of a 2-bend edge e=(vi,vj). (c) A sketch of our drawing.

We first compute a sketch drawing Γ of G using the algorithm of [24, 25] and taking v1,,vn as the input st-ordering. In the resulting drawing Γ, each edge is drawn with at most two bends and contains a vertical segment. These vertical segments lie in consecutive columns of Γ that also contain the vertices of G. Given a vertex v of G, we denote by x(v) the index of the column of Γ that contains v in the left-to-right ordering of the columns of Γ. Accordingly, given an edge e, with slight abuse of notation, we denote by x(e) the index of the column of Γ that contains the vertical segment of e in the left-to-right ordering of the columns of Γ; see Figure 5(a). Let S={sΔ/4+1,,s0,,sΔ/41,s} be the slopes used in Γ such that s is the vertical slope and si<sj if i<j. We produce a drawing Γ of G on a grid of size O(n)×O(n2Δ) such that every edge segment that is drawn with slope si in Γ is drawn with slope i in Γ. Hence, Γ and Γ share the same planar embedding. Furthermore, the x-coordinate of each vertex v of G will be x(v) in Γ, while the x-coordinate of the vertical segment of each edge e of G will be x(e). Hence, the width of Γ will be O(n).

Let Gi with 1in be the subgraph of G induced by {v1,,vi}, and let i be the restriction of to Gi. We say that an edge (vj,vk) of G is a pending edge of Gi if and only if ji<k. For 2in, we denote by Γi a drawing of Gi which additionally contains the first non-vertical segment (if any) of each pending edge of Gi. In the following, we will first describe how to compute drawing Γ2. Then, assuming that we have recursively computed a drawing Γi1 with 2i<n, we describe how to compute drawing Γi.

To obtain drawing Γ2, we begin by placing v1 at (0,0) and v2 at (x(v2),0), as in the original algorithm. We connect v1 to v2 with a 2-bend edge drawn below both vertices. This edge consists of two vertical segments, each of length Δ4(2mn)+1, incident to v1 and v2, and a horizontal segment connecting their lower endpoints; see Figure 5(c). To complete drawing Γ2, we next draw the first non-vertical segment of each pending edge that is incident to v1 and v2 preserving 2 as follows. For j{1,2}, consider a pending edge e=(vj,vk) with k>2 and suppose that this edge has a non-vertical segment incident to vj in Γ. Let s be the slope of this segment in Γ. We draw a segment starting at vj with slope until its x-coordinate equals x(e). This point serves as the first bend of e and is a grid point, since S consists of integer slopes. Furthermore, the vertical extent of this segment is at most Δ/4|x(e)x(vj)|. This guarantees that this segment does not cross (v1,v2), since the width of the drawing is bounded by 2mn, as we will shortly show, and thus, |x(e)x(vj)|2mn.

We now describe how to compute drawing Γi, assuming that we have recursively constructed drawing Γi1. We place vi at x-coordinate x(vi) and y-coordinate (i1)(Δ/2(2mn)+1), such that vi lies above one of its median predecessors in Gi, as in the original algorithm. Then, we complete the drawing of the edges connecting vi to its neighbors in Gi1 while preserving i. Consider such an edge e=(vj,vi) with i>j and assume that s is the slope of its last non-vertical segment in Γ. In drawing Γi, we draw a segment starting at vi with slope until its x-coordinate equals x(e) followed by a vertical segment that connects it to the endpoint of the first non-vertical segment of the edge e (which has already been drawn, when Γj was computed). To complete the drawing of Γi, we draw the first non-vertical segments of the pending edges incident to vi in the same way as described for Γ2. It follows that the vertical extent of any non-vertical segment incident to vi belonging to edge e is bounded by Δ/4|x(e)x(vi)|.

Since each vertex vi and its incident edges occupy at most deg(vi)1 columns, the total width of the resulting drawing Γ of G is bounded by i=1n(deg(vi)1)=2mnO(n). To estimate the height of Γ, let Hi be the maximum y-coordinate in Γi. For each i>2, Hi is determined by the y-coordinate of vi plus the vertical extent of the first non-vertical segment of each of the pending edges of vi plus the vertical extent of edge (v1,v2). Thus,

Hi1 y(vi1)+Δ4Wi2+Δ4(2mn)+1
(i2)(Δ2(2mn)+1)+12Δ2(2mn)+Δ4(2mn)+1
<(Δ2(2mn)+1)(i32)+Δ4(2mn)+1.

The lowest point of any segment of a pending edge of vi in Γi is at least

y(vi)Δ4Wi1+Δ4(2mn)+1>(Δ2(2mn)+1)(i32)+Δ4(2mn)+1.

This ensures that all segments of the pending edge of vi lie above drawing Γi1. Hence Γi is planar. The total height of the drawing is O(nΔn)=O(Δn2).

Since any simply connected planar graph can be augmented to a biconnected planar graph by adding auxiliary edges such that every vertex receives at most two augmenting incident edges [20, 22], we obtain the following corollary.

Corollary 5.

Every planar graph G with maximum degree Δ admits a 2-bend planar drawing with at most Δ/2+1 distinct slopes on a grid of size O(n)×O(Δn2).

5 4-bend planar drawings of degree-𝚫 graphs

In this section, we seek to prove that every planar graph of maximum degree Δ admits a 4-bend planar grid drawing with at most Δ slopes on an O(n)×O(n) grid. Our approach is based on an algorithm by Kaufmann and Wiese [23], which given a planar graph G=(V,E) and a set of points P in the plane such that no two points have the same x-coordinate, it computes a 2-bend planar drawing of G that maps each vertex in V to a point in P. Let the spine be the x-monotone polyline whose bend-points are exactly the points in P. In the produced drawing, every edge is one of the following (see Figure 6(a)): (i) a top edge: it is drawn completely above the spine with one bend; (ii) a bottom edge: it is drawn completely below the spine with one bend; or (iii) a spine-crossing edge: it crosses the spine exactly once and has two bend points: one below and one above the spine. Note that the drawings produced by their algorithm require a linear number of slopes and, as stated in [23, Lemma 3.2], exponential area (in the number of vertices).

Theorem 6.

Every planar graph of maximum degree Δ admits a 4-bend planar drawing with Δ slopes on a grid of size O(n)×O(n).

Proof.

We will create a drawing that is conceptually similar to the one by Kaufmann and Wiese. We first apply their algorithm on a set of points that lie on the diagonal y=x to obtain a drawing Γ of G. Let Γ be the drawing of the graph G=(V,E) obtained from Γ by subdividing every spine-crossing edge e by a dummy vertex placed on the crossing between e and the spine. We will show how to obtain a 3-bend planar drawing with Δ slopes for G on a grid of size O(n)×O(n), in which the two edges incident to each dummy vertex use at most two bends and are drawn such that they use opposite (horizontal or vertical) ports at the incident dummy vertex. Thus, smoothing the dummy vertices yields a 4-bend drawing of G with Δ slopes on a grid of size O(n)×O(n).

Let v1,,vn be the vertices of V in the order that they appear along the spine in Γ and assume that every edge (vi,vj) with i<j is oriented from vi to vj. Let ti and bi be the number of top and bottom edges of vi, respectively. We place v1 at point (0,0) and every other vertex vi with 1<in at point pvi=pvi1+(di1,di1), where di1=max{1,ti1,bi}. Furthermore, the j-th top (bottom, respective) edge incident to vi in clockwise order around vi starting from the spine will have a bend at point at pvi+𝐯j (pvi𝐯j, respectively), where 𝐯j=(j2,j1). This ensures that Δ distinct slopes are used by the edge segments incident to each vertex; all the edge segments not directly incident to a vertex are drawn either horizontally or vertically.

To achieve the above properties, we process the vertices in the order v1,,vn. Assume that we have already processed the vertices v1,,vi1, and consider the next vertex vi. We call an edge (vk,v) with k< open if we have already processed vk but not yet v, that is, k<i. As an invariant of our algorithm, each open top edge is assigned to a grid column that will contain its vertical segment, and each open bottom edge is assigned to a grid row that will contain its horizontal segment; see Figure 6(c).

Let e1t,,etit denote the top edges of vi in clockwise order around vi, starting from the spine. As already mentioned, for each such edge ejt, we place a bend at point pvi+𝐯j. If ejt is open, we assign it to the grid column x(vi)+j2. Otherwise, we draw a horizontal segment to the left until reaching the grid column previously assigned to ejt, and then a vertical segment downward to the bend point located in the neighborhood of the other endpoint of ejt. In this way, each edge ejt is drawn using at most three bends. Symmetrically, let e1b,,ebib be the bottom edges of vi in clockwise order around vi, starting from the spine. For each such edge ejb, we place a bend at the point pvi𝐯j. If ejb is open, we assign it to the grid row y(vi)j+1. Otherwise, we draw a vertical segment to the bottom and then a horizontal segment leftward to the bend point located in the neighborhood of the other endpoint of ejb. Hence, each edge ejb is also drawn using at most three bends and the invariant of our algorithm is satisfied.

Once all vertices have been processed, he have obtained a 3-bend drawing of G; see Figure 6(d) for an illustration. The obtained drawing is planar because (i) no two edge segments are assigned to the same horizontal or vertical grid column, and (ii) throughout the incremental drawing construction, the planar embedding of the algorithm by Kaufmann and Wiese is maintained due to the choice of the bend points around each vertex.

(a)
(b)
(c)
(d)
Figure 6: Illustration for our algorithm in Theorem 6 for the graph in Figure 6. (a) A 2-bend planar drawing obtained by the algorithm of Kaufmann and Wiese [23]. Top edges are drawn blue, bottom edges red, and spine-crossing edges green. (b) The vectors used around each vertex in Theorem 6. (c) The drawing after processing v3 and (d) the final drawing.

We now argue that after smoothing the dummy vertices, we obtain a 4-bend drawing of G. If vi is a dummy vertex of G, then it has exactly two edges: one incoming edge (vh,vi) and one outgoing edge (vi,vj) with h<i<j, one of which is a top edge, while the other one is a bottom edge. If (vh,vi) is a top edge, then both edges use a horizontal segment around vi. Hence, after smoothing vi, the spine-crossing edge (vh,vj) will be drawn with a short segment at vh, followed by a long vertical segment, a horizontal segment that crosses the spine at the old position of vi, a long vertical segment, and a short segment at vj, so it has four bends in total. The case that (vh,vi) is a bottom edge is symmetric.

For the drawing area, recall that the difference in x-coordinates (and y-coordinates) between two consecutive vertices vi and vi+1 is di=max{1,ti,bi+1}1+ti+bi+1, so we have x(vn)=y(vn)n+i=1n1ti+i=2nbi=n+2mtnb1. Some edges can extend to the bottom-left of v1 and to the top-right of vn. Namely, one top edge might occupy one column to the left of v1, b12 bottom edges might occupy one column to the left of v1 each, and b11 bottom edges might occupy one row to the bottom of v1 each. Furthermore, to the right of vn, one column might be occupied by a bottom edge, and tn2 columns might be occupied by a top edge; above vn, tn1 rows might be occupied by top edges. Thus, the total width and height of the drawing is at most
x(vn)x(v1)+b1+1+tn+1 n+2mtnb10+b1+tn+2 =n+2m+2(n+m)+2m+210n16O(n).

Since every subhamiltonian graph (i.e., a subgraph of a planar Hamiltonian graph) admits an embedding consisting exclusively of top and bottom edges, the following is a direct consequence of Theorem 6.

Corollary 7.

Every subhamiltonian graph of maximum degree Δ admits a 3-bend planar drawing with Δ slopes on a grid of size O(n)×O(n).

6 Conclusions and Open Problems

In this work, we studied trade-offs between the number of slopes, the number of bends per edge, and the area requirements in planar graph drawing. Our results show that allowing only a small number of bends per edge suffices to obtain polynomial-area drawings while maintaining a relatively small slope set. Our results narrow a gap between previous approaches that achieved few slopes at the expense of super-polynomial area and those that focused primarily on low-degree graphs. However, several questions remain open. Besides tightening the trade-offs between slopes and bends and extending the study to non-planar graph classes, we identify the following open problems.

  • The algorithm presented in Section 3 yields drawings in which almost all edges have a bend. The only exception are the black edges and a red incoming edge per vertex. Following an argument of [27], we can choose a canonical order such that there are at most (2n+1)/3 vertices without an incoming red edge. This gives us an upper bound of (8n17)/3 on the total number of bends for the constructed drawing. Adjusting the drawing algorithms, so as to reduce the total number of bends in the resulting 1-bend drawing is an interesting open problem for future consideration.

  • We were unable to derive an extension of the algorithm presented in Section 3 to handle biconnected (and simply connected) planar graphs without increasing the number of slopes. Such an extension appears to be non-trivial and may require additional properties on the produced drawings in order to handle rigid 3-connected components of the graph.

  • The drawings produced by our algorithms have low angular resolution, that is, the minimum angle between any two edge segments incident to the same vertex is small. Developing techniques that also account for angular resolution is an interesting direction for future work.

  • It is known that the straight-line slope number of outerplanar graphs and partial 2-trees is Δ1 and 2Δ, respectively [31, 33]. However, the existing algorithms for these results require superpolynomial area. A natural question is whether we can achieve polynomial area drawings for these graph classes by allowing a slight increase in the number of slopes.

References

  • [1] Patrizio Angelini, Michael A. Bekos, Giuseppe Liotta, and Fabrizio Montecchiani. Universal slope sets for 1-bend planar drawings. Algorithmica, 81(6):2527–2556, 2019. doi:10.1007/S00453-018-00542-9.
  • [2] Giuseppe Di Battista, Peter Eades, Roberto Tamassia, and Ioannis G. Tollis. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice-Hall, 1999.
  • [3] Michael Bekos, Martin Gronemann, Michael Kaufmann, and Robert Krug. Planar octilinear drawings with one bend per edge. J. Graph Algorithms Appl., 19(2):657–680, 2015. doi:10.7155/jgaa.00369.
  • [4] Michael A. Bekos, Emilio Di Giacomo, Walter Didimo, Giuseppe Liotta, and Fabrizio Montecchiani. Universal slope sets for upward planar drawings. Algorithmica, 84(9):2556–2580, 2022. doi:10.1007/S00453-022-00975-3.
  • [5] Therese Biedl and Goos Kant. A better heuristic for orthogonal graph drawings. Comput. Geom., 9(3):159–180, 1998. doi:10.1016/S0925-7721(97)00026-6.
  • [6] Guido Brückner, Nadine Davina Krisam, and Tamara Mchedlidze. Level-planar drawings with few slopes. Algorithmica, 84(1):176–196, 2022. doi:10.1007/S00453-021-00884-X.
  • [7] Steven Chaplick, Giordano Da Lozzo, Emilio Di Giacomo, Giuseppe Liotta, and Fabrizio Montecchiani. Planar drawings with few slopes of Halin graphs and nested pseudotrees. Algorithmica, 86(8):2413–2447, 2024. doi:10.1007/S00453-024-01230-7.
  • [8] Sabine Cornelsen and Andreas Karrenbauer. Accelerated bend minimization. J. Graph Algorithms Appl., 16(3):635–650, 2012. doi:10.7155/JGAA.00265.
  • [9] Hubert de Fraysseix, János Pach, and Richard Pollack. How to draw a planar graph on a grid. Comb., 10(1):41–51, 1990. doi:10.1007/BF02122694.
  • [10] Emilio Di Giacomo, Giuseppe Liotta, and Fabrizio Montecchiani. The planar slope number of subcubic graphs. In Alberto Pardo and Alfredo Viola, editors, Theoretical Informatics (LATIN 2014), pages 132–143. Springer, 2014. doi:10.1007/978-3-642-54423-1_12.
  • [11] Emilio Di Giacomo, Giuseppe Liotta, and Fabrizio Montecchiani. Drawing outer 1-planar graphs with few slopes. J. Graph Algorithms Appl., 19(2):707–741, 2015. doi:10.7155/JGAA.00376.
  • [12] Emilio Di Giacomo, Giuseppe Liotta, and Fabrizio Montecchiani. Drawing subcubic planar graphs with four slopes and optimal angular resolution. Theor. Comput. Sci., 714:51–73, 2018. doi:10.1016/J.TCS.2017.12.004.
  • [13] Emilio Di Giacomo, Giuseppe Liotta, and Fabrizio Montecchiani. 1-bend upward planar slope number of SP-digraphs. Comput. Geom., 90:101628, 2020. doi:10.1016/J.COMGEO.2020.101628.
  • [14] Vida Dujmovic, David Eppstein, Matthew Suderman, and David R. Wood. Drawings of planar graphs with few slopes and segments. Comput. Geom., 38(3):194–212, 2007. doi:10.1016/J.COMGEO.2006.09.002.
  • [15] Vida Dujmovic, Matthew Suderman, and David R. Wood. Graph drawings with few slopes. Comput. Geom., 38(3):181–193, 2007. doi:10.1016/J.COMGEO.2006.08.002.
  • [16] Stefan Felsner. Geometric Graphs and Arrangements. Advanced Lectures in Mathematics. Vieweg, 2004. doi:10.1007/978-3-322-80303-0.
  • [17] Ashim Garg and Roberto Tamassia. On the computational complexity of upward and rectilinear planarity testing. SIAM J. Comput., 31(2):601–625, 2001. doi:10.1137/S0097539794277123.
  • [18] Vít Jelínek, Eva Jelínková, Jan Kratochvíl, Bernard Lidický, Marek Tesar, and Tomás Vyskocil. The planar slope number of planar partial 3-trees of bounded degree. Graphs Comb., 29(4):981–1005, 2013. doi:10.1007/S00373-012-1157-Z.
  • [19] Michael Jünger and Petra Mutzel, editors. Graph Drawing Software. Springer, 2004. doi:10.1007/978-3-642-18638-7.
  • [20] Goos Kant. Algorithms for Drawing Planar Graphs. PhD thesis, Utrecht University, Utrecht, Netherlands, 1993. URL: https://dspace.library.uu.nl/bitstream/handle/1874/842/full.pdf.
  • [21] Goos Kant. Drawing planar graphs using the canonical ordering. Algorithmica, 16(1):4–32, 1996. doi:10.1007/BF02086606.
  • [22] Goos Kant and Hans L. Bodlaender. Triangulating planar graphs while minimizing the maximum degree. In Otto Nurmi and Esko Ukkonen, editors, Algorithm Theory (SWAT 1992), volume 621 of LNCS, pages 258–271. Springer, 1992. doi:10.1007/3-540-55706-7_22.
  • [23] Michael Kaufmann and Roland Wiese. Embedding vertices at points: Few bends suffice for planar graphs. J. Graph Algorithms Appl., 6(1):115–129, 2002. doi:10.7155/jgaa.00046.
  • [24] Balázs Keszegh, János Pach, and Dömötör Pálvölgyi. Drawing planar graphs of bounded degree with few slopes. In Ulrik Brandes and Sabine Cornelsen, editors, Graph Drawing (GD 2011), LNCS, pages 293–304. Springer, 2011. doi:10.1007/978-3-642-18469-7_27.
  • [25] Balázs Keszegh, János Pach, and Dömötör Pálvölgyi. Drawing planar graphs of bounded degree with few slopes. SIAM J. Discr. Math., 27(2):1171–1183, 2013. doi:10.1137/100815001.
  • [26] Balázs Keszegh, János Pach, Dömötör Pálvölgyi, and Géza Tóth. Drawing cubic graphs with at most five slopes. Comput. Geom., 40(2):138–147, 2008. doi:10.1016/J.COMGEO.2007.05.003.
  • [27] Philipp Kindermann, Tamara Mchedlidze, Thomas Schneck, and Antonios Symvonis. Drawing planar graphs with few segments on a polynomial grid. In Daniel Archambault and Csaba D. Tóth, editors, Graph Drawing (GD 2019), volume 11904 of LNCS, pages 416–429. Springer, 2019. doi:10.1007/978-3-030-35802-0_32.
  • [28] Philipp Kindermann, Fabrizio Montecchiani, Lena Schlipf, and André Schulz. Drawing subcubic 1-planar graphs with few bends, few slopes, and large angles. J. Graph Algorithms Appl., 25(1):1–28, 2021. doi:10.7155/JGAA.00547.
  • [29] Jonathan Klawitter and Tamara Mchedlidze. Upward planar drawings with two slopes. J. Graph Algorithms Appl., 26(1):171–198, 2022. doi:10.7155/JGAA.00587.
  • [30] Jonathan Klawitter and Johannes Zink. Upward planar drawings with three and more slopes. J. Graph Algorithms Appl., 27(2):49–70, 2023. doi:10.7155/JGAA.00617.
  • [31] Kolja B. Knauer, Piotr Micek, and Bartosz Walczak. Outerplanar graph drawings with few slopes. Comput. Geom., 47(5):614–624, 2014. doi:10.1016/J.COMGEO.2014.01.003.
  • [32] Kolja B. Knauer and Bartosz Walczak. Graph drawings with one bend and few slopes. In Evangelos Kranakis, Gonzalo Navarro, and Edgar Chávez, editors, Theoretical Informatics (LATIN 2016), volume 9644 of LNCS, pages 549–561. Springer, 2016. doi:10.1007/978-3-662-49529-2_41.
  • [33] William J. Lenhart, Giuseppe Liotta, Debajyoti Mondal, and Rahnuma Islam Nishat. Drawing partial 2-trees with few slopes. Algorithmica, 85(5):1156–1175, 2023. doi:10.1007/S00453-022-01065-0.
  • [34] Padmini Mukkamala and Dömötör Pálvölgyi. Drawing cubic graphs with the four basic slopes. In Marc J. van Kreveld and Bettina Speckmann, editors, Graph Drawing and Network Visualization (GD 2011), volume 7034 of LNCS, pages 254–265. Springer, 2011. doi:10.1007/978-3-642-25878-7_25.
  • [35] Padmini Mukkamala and Mario Szegedy. Geometric representation of cubic graphs with four directions. Comput. Geom., 42(9):842–851, 2009. doi:10.1016/J.COMGEO.2009.01.005.
  • [36] János Pach and Dömötör Pálvölgyi. Bounded-degree graphs can have arbitrarily large slope numbers. Electron. J. Comb., 13(1), 2006. doi:10.37236/1139.
  • [37] Achilleas Papakostas and Ioannis G. Tollis. A pairing technique for area-efficient orthogonal drawings. In Stephen C. North, editor, Graph Drawing (GD 1996), volume 1190 of LNCS, pages 355–370. Springer, 1996. doi:10.1007/3-540-62495-3_60.
  • [38] Pierre Rosenstiehl and Robert Endre Tarjan. Rectilinear planar layouts and bipolar orientations of planar graphs. Discret. Comput. Geom., 1:343–353, 1986. doi:10.1007/BF02187706.
  • [39] Walter Schnyder. Embedding planar graphs on the grid. In ACM-SIAM Symposium on Discrete Algorithms (SODA 1990), pages 138–148. SIAM, 1990. URL: http://dl.acm.org/citation.cfm?id=320176.320191.
  • [40] Roberto Tamassia. On embedding a graph in the grid with the minimum number of bends. SIAM J. Comput., 16(3):421–444, 1987. doi:10.1137/0216030.
  • [41] Roberto Tamassia, editor. Handbook on Graph Drawing and Visualization. Chapman and Hall/CRC, 2013. URL: https://www.crcpress.com/Handbook-of-Graph-Drawing-and-Visualization/Tamassia/9781584884125.
  • [42] Greg A. Wade and Jiang-Hsing Chu. Drawability of complete graphs using a minimal slope set. The Computer Journal, 37(2):139–142, 1994. doi:10.1093/COMJNL/37.2.139.