Notes on large angle crossing graphs

A graph G is an a-angle crossing (aAC) graph if every pair of crossing edges in G intersect at an angle of at least a. The concept of right angle crossing (RAC) graphs (a=Pi/2) was recently introduced by Didimo et. al. It was shown that any RAC graph with n vertices has at most 4n-10 edges and that there are infinitely many values of n for which there exists a RAC graph with n vertices and 4n-10 edges. In this paper, we give upper and lower bounds for the number of edges in aAC graphs for all 0


Introduction
The problem of producing visually appealing graph drawings of relational data sets is a fundamental problem and has been studied extensively, see the books [9,18,19,21]. One measure of a graph drawing algorithm's quality is the number of edge crossings it draws [12,17,19,20]. While some graphs cannot be drawn without edge crossings, some graphs can. These are called planar graphs. According to this metric, "good" algorithms draw graphs with as few edge crossings as possible. This intuition has some scientific validity: experiments by Purchase et al. [22,23,26] have shown that the performance of humans in path tracing tasks is negatively correlated to the number of edge crossings and to the number of bends in the drawing.
However, recently Huang et al. [14,15,16] showed, through eye-tracking experiments, that crossings that occur at angles of greater than 70 • have little effect on a human's ability to interpret graphs. Therefore, graph drawings with crossing are not bad, as long as the crossings occur with large angles between them. This motivated Didimo et al. [10] to introduce so-called right angle crossing (RAC) graphs. A geometric graph [5] is a graph G = (V, E) such that the vertices are distinct points in R 2 and edges are straight-line segments. A geometric graph G is a RAC graph if any two crossing segments are orthogonal with each other.
In this paper we generalize the concept to α angle crossing (αAC) graphs. A geometric graph G is an αAC graph if every pair of crossing edges in G cross at an angle of at least α. Clearly, αAC graphs are more general than planar graphs and RAC graphs, but how much more so? One measure of generality is the maximum number of edges such a graph can represent. Euler's Formula implies that a planar graph with n vertices has at most 3n − 6 edges. How many edges can an αAC graph have?

Previous Work
Didimo et al. [10] studied π/2-angle crossing graphs, called right angle crossing (RAC) graphs, and showed that any RAC graph with n vertices has at most 4n − 10 edges and that there exist infinitely many values of n for which there exists a RAC graph with n vertices and 4n − 10 edges. Recently, Angelini et al. [6] considered some special cases for drawing RAC graphs, for example, acyclic planar RAC digraphs and upward RAC digraphs. They showed that there exist acyclic planar digraphs not admitting any straight-line upward RAC drawing and that the corresponding decision problem is NP-hard. They also gave a construction of digraphs whose straight-line upward RAC drawings require exponential area.
For α > π/3, an αAC graph has no three edges that mutually cross since, otherwise, one of the pairs of edges must cross at an angle that is at most π/3. Geometric graphs with no three pairwise crossing edges are known as quasiplanar graphs [4]. Ackerman and Tardos [3,Theorem 5] have shown that any quasiplanar graph on n vertices has at most 6.5n − 20 edges.
For α > π/4, an αAC graph has no four pairwise crossing edges. Ackerman [1] has shown that any such graph has at most 36n − 72 edges. It remains an open problem whether, for any k ≥ 5, a graph with no k pairwise crossing edges has a linear number of edges. The best known upper bound of O(n log n) on the number of edges in such a graph is due to Valtr [24,Theorem 3].
A recent paper of Arikushi et al. [8] considers a similar question. They consider a drawing of a graph G on n vertices in the plane where each edge is represented by a polygonal arc joining its two respective vertices. They consider the class of graphs in which each edge has at most one bend or two bends, respectively, and any two edges can cross only at right angle. It is shown that the number of edges of such graphs is at most 6.5n and 74.2n, respectively.

New Results
The current paper gives upper and lower bounds on the number of edges in αAC graphs. In Section 2 we show that, for any 0 < α < π/2, the maximum number of edges in an αAC graph is at most (π/α)(3n−6). In Section 3, we give constructions that essentially match this upper bound when α = π/t − ε, for any integer t ≥ 2 and any ε > 0. Finally, in Section 4 we use a charging argument similar to the one used by Ackerman and Tardos [3] to prove that, for 2π/5 < α < π/2, the number of edges in an αAC graph is bounded by 6n − 12. An overview of previous and new results is illustrated in Figure 1. Ackerman [1] 15n Figure 1: A plot of previous and new upper and lower bounds. Lower order terms are disregarded.

A Uniform Upper Bound
In this section, we give an upper bound of (π/α)(3n − 6) on the number of edges in an αAC graph. This upper bound captures the intuition that an αAC graph can be viewed as the union of π/α planar graphs. The only trouble with this intuition is that π/α is not necessarily an integer.
Proof. Define the direction of an edge xy whose lower endpoint is x (in the case of a horizontal edge, take x as the left endpoint) as the angle ∠wxy where w = x + (1, 0). The direction of an edge xy is therefore a real number in the interval [0, π). Let r = ⌈π/α⌉. Now, take a random rotation G ′ of G and partition the edge set of G ′ into spanning subgraphs G 1 , . . . , G r , and Note that no two edges of G i cross each other, so each G i is a planar graph that, by Euler's Formula, has at most 3n − 6 edges. Furthermore, since G ′ is a random rotation, the expected number of edges in G r is (π mod α)/π · |E(G)|. In particular, there must exist some rotation G ′ of G such that |E(G r )| ≤ (π mod α)/π · |E(G)|. Therefore, E(G) ≤ ⌊π/α⌋(3n − 6) + (π mod α)/π · |E(G)| . (2.1) as required.

Lower Bounds
In this section we give constructions that essentially match Theorem 2.1 for any α of the form α = π/t −ε, where t ≥ 2 is an integer. All our lower-bounds are based on a general technique of defining a 3dimensional geometric graph and taking a 2-dimensional projection of this graph to obtain an αAC graph. Before presenting the technique in all its generality, we first present an ad hoc construction for α = π/2 that still illustrates the main ingredients of the technique. Proof. Consider the infinite planar graph whose vertices are the integer lattice Z 2 and in which each vertex (i, j) is adjacent to (i + 1, j + 1), (i + 1, j + 2) and (i, j + 1) (see Figure 2.a). This graph is 6-regular, and if we consider the subgraph of this graph induced by an x × y grid, then this graph has 3xy − O(x + y) edges. We call this graph G x×y . We will draw 2r copies of G r×r in Z 3 as follows. For each i ∈ {0, . . . , r − 1}, we draw one copy on the "vertical" grid {(i, j, k) : j, k ∈ {0, . . . , r − 1}} and one copy on the "horizontal" grid {( j, i, k) : j, k ∈ {0, . . . , r − 1}} (see Figure 2.b). Note that there are 4 possible ways of drawing G r×r on these r × r grids. We choose one of the two ways that have the property that no edge of G r×r is drawn parallel to the z-axis. The resulting 3-d geometric graph has n = r 3 vertices and 6r 3 − O(r 2 ) = 6n − O(n 2/3 ) edges. All that remains is to show how to project this 3-d geometric graph to the plane without introducing small crossing angles.
Consider the orthogonal projection of the above graph onto a plane whose normal is only slightly skewed from the z-axis (Figure 2.b shows such a projection). For example, we could choose a plane orthogonal to the vector (γ, γ, 1) for some arbitrarily small γ > 0. Since our projection is not parallel to the z-axis, each individual copy of G r×r projects to a planar drawing of G r×r . Since our projection is only slightly skewed, no edge of any horizontal (respectively, vertical) graph intersects any edge of any other horizontal (respectively, vertical) graph. Finally, the projection of each edge in each horizontal graph is a segment whose direction lies in the interval [−δ , δ ] and the direction of each edge in each vertical graph is a segment whose direction lies in the interval [π/2 − δ , π/2 + δ ], where δ > 0 can be made arbitrarily close to 0 by choosing a sufficiently small value of γ. Thus, any pair of crossing edges cross at an angle of at least π/2 − 2δ ≥ π/2 − ε for δ = ε/2.
The construction in the proof of Theorem 3.1 can be viewed as first starting with an arrangement of lines (in this case, r horizontal and r vertical lines), extending each line into a plane in R 3 and drawing a copy of G a×b on this plane so that the vertices lie on the intersections of several planes. The following lemma shows that this can be done with any set of lines: For example, applying Lemma 3.2 to a set of r horizontal lines and r vertical lines with k = r gives a (π/2 − ε)AC graph with n = r 3 vertices and 6n − O(n 2/3 ) edges, yielding the result of Theorem 3.1. Figure 3 for an example. As before, we create a 3-d geometric graph. Let X be the set of points in R 2 where t or more lines of S intersect. For each point (x, y) ∈ X, our graph contains the vertices {(x, y, i) : i ∈ {0, . . . , k − 1}}. Notice that each line of S that contains p points in X corresponds to a plane in R 3 that contains pk points. On each such plane, we draw a copy of G p×k , creating 3pk − O(k + p) edges. Again, we orient this drawing so that no edge of G p×k is parallel to the z-axis. All r of these graphs are drawn on the same set of kx vertices and the total number of edges in all r of these graphs is 3kxt − O(kr + x). Projecting the resulting 3-d geometric graph in the same manner as the proof of Theorem 3.1 yields the desired 2-d geometric graph.
Proof. Refer to Figure 4. As we have already seen, for α = π/2 we use a set of r horizontal and vertical lines and apply Lemma 3.2. For α = π/3 we use lines that support the triangular lattice. For α = π/4 we use horizontal and vertical lines as well as lines of slope 1 and −1. For α = π/6, we use a further refinement of the triangular lattice.  Finally, we prove a lower bound for any α of the form π/t − ε: Theorem 3.4. For any ε > 0, any integer t ≥ 2, and all sufficiently large integers n, there exist (π/t −ε)AC graphs that have n vertices and 3tn − O(tn 2/3 /ε) edges.
We prove the existence of this set of lines as follows: We select a set of t lines whose slopes are rational, but very close to the directions {iπ/t : i ∈ {0, . . . ,t − 1}}. We then use O(r/ε) translates of these t lines to cover each of the vertices of an r × r grid by lines with each of the t slopes.
The set of lines that we use will be such that all r 2 vertices of the r × r grid P = {(i, j) : i, j ∈ {0, . . . , r − 1}} will have t lines passing through them. We do this by first constructing a t-frame F consisting of t lines through the origin so that any two lines of the t-frame meet at angles of at least π/t − δ . This t-frame also has the property that each line passes through a grid point (a, b) = (0, 0) such that |a|, |b| ≤ q for some integer q ∈ O(1/δ ). (See Figure 5.a.) Next, we make O(r/ε) translated copies of the frame F by translating F to each of the points in the set (These are the points that are within distance q of the boundary of the grid P; see Figure 5.b.) Denote the resulting set of O(tr/ε) lines by S. Notice that, for every point (i, j) in P, there are t lines of S that contain (i, j). This follows from the fact that each line in the frame F intersects all lattice points {λ (a, b) : λ ∈ Z} for some a, b ∈ Z with |a|, |b| ≤ k (see Figure 5.c). Thus, the set S of lines, combined with Lemma 3.2 proves the theorem. To complete the proof, all that remains is to describe the frame F used to construct S. The frame F consists of t lines L 0 , . . . , L t−1 , all passing through the origin, and such that the direction of L i is in [iπ/t − δ /2, iπ/t + δ /2]. Consider the ideal line L ′ i that contains the origin and that has direction exactly iπ/t. Take a point p on L ′ i whose distance from the origin is 1/( √ 2 sin(δ /2)) (see Figure 6). There is a point p ′ = (a, b) ∈ Z 2 whose distance from p is at most 1/ √ 2. The angle ∠pOp ′ is at most δ /2. The distance from p ′ to the origin is at most Therefore |a|, |b| ∈ O(1/δ ). For our frame F, we take the line L i that contains the origin and (a, b). This yields a set F of lines such that the angle between any two lines is at most δ , and completes the proof.

Charging Arguments
In this section we derive upper bounds using charging arguments similar to those used by Ackerman and Tardos [3] and Ackerman [1]. Let G be an αAC graph. We denote by G ′ the planar graph obtained by introducing a vertex at each point where two or more edges in G cross (thereby subdividing) edges of G.
For a face f of G ′ , we denote by | f | the length of the facial walk around f so that, if we walk along an edge twice during the traversal, then it contributes twice to | f |.
Let v( f ) denote the number of steps of this traversal during which a vertex of G (as opposed to a vertex introduced in G ′ ) is encountered. For each face f of G ′ define the initial charge of f as Ackerman and Tardos show, using two applications of Euler's formula, that We call a face f of G ′ a k-shape if v( f ) = k and f is a shape. For example, a 2-pentagon is a face of G ′ with | f | = 5 and v( f ) = 2.
As a warm-up, and introduction to charging arguments, we offer an alternate proof to the upper bound presented by Didimo et al. in [10]. Proof. Let G be a maximal RAC graph on n vertices, and define G ′ and ch as above. We claim that, for every face f of G ′ , ch( f ) ≥ v( f )/2. To see this, observe that the claim is certainly true if | f | ≥ 4. On the other hand, if | f | = 3 then, by the RAC property, v( f ) ≥ 2, so it is also true in this case. Therefore, To improve the above bound, observe that, since G is maximal all vertices on the outer face, f , of G ′ are vertices of G. If | f | ≥ 4 then ch( f ) ≥ v( f )/2 + 2, so in this case, proceeding as above, we have 4n − 8 − 2 ≥ |E(G)| and we are done. Otherwise, the outer face of G ′ is a 3-triangle and ch( f ) = v( f )/2 + 1/2. Consider the internal faces of G ′ incident to the three edges of f . Because G is maximal, and n ≥ 4, there must be three such faces and each of these three faces, f ′ , has v( f ′ ) ≥ 2. Furthermore, at most one of these faces is a 2-triangle. 1 Consider each of the other two faces, since v( f ′ ) ≥ 2. Therefore, we have which, implies that |E(G)| ≤ 4n − 10 since |E(G)| is an integer.
Next, we prove an upper bound for α > 2π/5 that improves on the 6.5n − 20 upper bound that follows from Ackerman and Tardos' bound on quasiplanar graphs. Theorem 4.2. Let G be an αAC graph with n vertices, for α > 2π/5. Then G has at most 6n − 12 edges.
Proof. We will redistribute the charge in the geometric graph G ′ to obtain a new charge ch ′ such that ch ′ ( f ) ≥ v( f )/3 for every face f of G. In this way, we get The charge ch ′ ( f ) is obtained as follows. Let f be any 1-triangle of G ′ . (Note that ch( f ) = 0.) That is, f is a triangle formed by two edges e 1 and e 2 that meet at a vertex x of G and an edge e that crosses e 1 and e 2 . Imagine walking along the bisector of e 1 and e 2 (starting in the interior of f ) until reaching a face f ′ such that f ′ is not a 0-quadrilateral. To see why such an f ′ exists, observe that if we encounter nothing but 0-quadrilaterals we will eventually reach a face that contains an endpoint of e 1 or e 2 and is therefore not a 0-quadrilateral.
Adjust the charges at f and f ′ by subtracting 1/3 from ch( f ′ ) and adding 1/3 to ch( f ). It is helpful to think of the charge as leaving f ′ through the last edge e ′ traversed in the walk. Note that neither endpoint of e ′ is a vertex of G. This implies that for a face f ′ , the amount of charge that leaves f ′ is at most Let ch ′ be the charge obtained after performing this redistribution of charge for every 1-triangle f . We claim that ch ′ ( f ) ≥ v( f )/3 for every face f of G ′ . To see this, we need only run through a few cases that can be verified using (4.1) and the following observations: then v( f ) ≥ 1 since, otherwise, f has two edges on its boundary that cross at an angle of less than or equal to 2π/5.
5. If | f | = 3 then v( f ) ≥ 1 since, otherwise, f has two edges on its boundary that cross at an angle less of at most π/3 < 2π/5.
This completes the proof.

Notes
Theorem 4.2 appears to be true even for α > π/3, but we have not been able to prove it. The problem occurs because 0-pentagons can finish with a charge of −2/3 or −1/3. We also tried to follow the Ackerman-Tardos proof more closely. Namely, we distribute the charge so that ch ′ ( f ) ≥ v( f )/5 and then prove that there is leftover charge at the faces around each vertex. For this to give a bound of 6n we would need the extra charge at each vertex to be 8/5. Unfortunately, the limiting case in Ackerman-Tardos is 7/5 and this is realizable even with crossing angles arbitrarily close to π/2. (See Figure 9.) Finally, we can take a more global approach. Discharging rules define a directed graph among the faces (and possibly vertices) of G ′ . An edge ab indicates that a charge of x travels from a to b, for some number x (x = 1/3 in our argument). The graph has to respect some flow rules. For example, in Figure 9: The Ackerman-Tardos proof cannot even prove a bound of 6n for crossing angles of π/2 − ε. where indeg and outdeg denote the in and out degree. The goal would be to define discharging paths recursively and then show that the recursion terminates (i.e. that the resulting graph is acyclic) and that the flow rule is satisfied.