1 Introduction
The crossing angle of a straightline drawing is defined to be the minimum over all angles created by two crossing edges in . The 24th edition of the annual Graph Drawing Challenge, held during the Graph Drawing Symposium, posed the following problem: Given a graph , compute a straightline drawing on an integer grid that has a large crossing angle. In this paper we present a greedy heuristic that starts with a carefully chosen initial drawing and repeatedly moves a vertex to a random point if this increases the crossing angle of . This heuristic was the winning algorithm of the GD Challenge ’17 [6].
1.0.1 Related Works
A drawing of a graph is called RAC if its minimum crossing angle is . Deciding whether a graph has a straightline RAC drawing is an hard problem [1]. Giacomo et al.[13] proved that every straightline drawing of a complete graph with at least 12 vertices has a crossing angle of . Didimo et al. [7] have shown that every vertex graph that admits a straightline RAC drawing has at most edges. This bound is tight, since there is an infinite family of graphs with edges that have straightline RAC drawings. Moreover they proved that every graph has a RAC drawing with three bends per edge. Arikishu et al. [3] showed that any vertex graph that admits a RAC drawing with one bend or two bends per edge has at most and edges, respectively. For an overview over further results on RAC drawings we refer to [8]. Dujmović et al.[9] introduced the concept of AC graphs. A graph is AC if it admits a drawing with crossing angle of at least . For , AC graphs are quasiplanar graphs, i.e., graphs that admit a drawing without three mutually crossing edges, and thus have at most edges. Moreover, every vertex AC graph with has at most edges. Besides the theoretical work on this topic, there are a few forcedirected approaches that optimize the crossing angle in drawings of arbitrary graphs [14, 2], see Sec. 2.1.
1.0.2 Contribution
We introduce a heuristic to increase the crossing angle in a given straightline drawing (Sec. 3). The heuristic is accompanied by a speedup technique to compute the pair of crossing edges in that create the smallest crossing angle. In Sec. 4 we give an extensive evaluation of our heuristic. The evaluation is driven by three main research questions: i) What is a good parametrization of our heuristic? ii) Does our heuristic improve the crossing angle of a given initial drawing? iii) What is a good choice for an initial drawing?
2 Preliminaries
Let be a straightline drawing of a graph . Denote by and the number of vertices and edges of , respectively. Let and be two distinct edges of . If and have an interior intersection in , the function denotes the smallest angle formed by and in . In case that and do not intersect, we define to be . The local crossing angle of a vertex is defined as the minimum angle of the edges incident to , i.e., . The crossing angle of a drawing is defined as . Let and be the difference of the xcoordinates and the ycoordinates of the endpoints of in a drawing . The slope of is the angle between and the axis, i.e. if and otherwise.
2.1 Forcedirected Approaches
In general, forcedirected algorithms [11, 10] compute for each vertex of a graph a force . A new drawing is obtained from a drawing by displacing every vertex according to the force . Classically, the force is a linear combination of repelling and attracting forces, i.e., all pairs of vertices repel each other, and incident vertices attract each other. It is easy to integrate new forces into this generic system, e.g., in order to increase the crossing angle. For this purpose, Huang et al. [14] introduced the cosine force . The forcedirected approach considered by Argyriou et al. [2] uses two forces, and , to increase the crossing angle. In the following we will describe each force.
Let
denote the unit length vector from
to . Let be two crossing edges in and let be the angle as depicted in Fig. 1(a) and let denote the intersection point of and , see Fig 1. The cosine force for is defined as , where is a positive constant.The force is a compound of two forces and . Let denote the distance between two points and . Let be the length of the edge in a triangle with side length and , and a right angle at the point . Then, , where is positive constant. The force is defined symmetrically.
Again the force is a compound of the forces and . Consider the unit vector that is perpendicular to the bisector of and , refer Fig. 1c. Further, let be the angle between the and . Then the force is defined as where is a positive constant. The force is defined correspondingly.
3 Multilevel Random Sampling
Our algorithm starts with a drawing of a graph and iteratively improves the crossing angle of by moving a vertex to a better position, i.e., we locally optimize the crossing angle of the drawing; for pseudocode refer to Alg. 1. For this purpose we greedily select a vertex with a minimal crossing angle . More precisely, let and be two edges with a minimal crossing angle in . We set randomly to be an endpoint of and . We iteratively improve the crossing angle of by sampling a set of points within a square and by moving to the position that induces a maximal local crossing angle. We repeat this process times and decrease the size of in each iteration.
More formally, denote by the drawing obtained from by moving to the point . Let be a square centered at the point with a scaling factor and initial side length . Let be the position of in and let be a set of points in chosen uniformly at random. Let be a point in that maximizes . We obtain a new sample by randomly selecting points within the square . Since , the function can be evaluated in time.
3.1 Fast Minimum Angle Computation
The running time of the random sampling approach relies on computing in each iteration a pair of edges creating the minimum crossing angle . More formally, we are looking for a pair of distinct edges that have a minimal crossing angle in a straightline drawing , i.e., . The well known sweepline algorithm [4] requires time to report all intersecting edges in . In general the number of intersecting edges can be , but we are only interested in a single pair that forms the minimal crossing angle. Therefore, we propose an algorithm, which uses the slopes of the edges in to rule out pairs of edges, which cannot form the minimum angle.
Assume that we already found two intersecting edges forming a small angle of size . We set and distribute the edges into buckets such that bucket contains exactly the edges with . Then each bucket covers an interval of size . Thus, if there exist edges with , they belong to the same or to the adjacent buckets (modulo ). Overall, we consider all pairs of edges in , , and find the pair forming the smallest crossing angle. To find this pair we could apply a sweepline algorithm to the set . In general this set can contain edges. Thus, in worst case we would not gain a speed up in comparison to a sweepline algorithm applied to . On the other hand, in practice we expect the number of edges in a bucket to be small. If we assume this number to be a constant, the overall running time of the exhaustive check is linear in and does not depend on the number of crossings.
Implementation Details In the case that the slopes in
are uniformly distributed, we expect the number of edges in a bucket to decrease with an decreasing estimate
. We set the value to be the minimal crossing angle of the longest edges in . In our implementation we set to be if the graph contains at most edges, otherwise it is .4 Experimental Evaluation
The Random Sampling heuristic has several parameters which allow for many different configurations. In Sec. 4.4, we investigate the influence of the configuration on the crossing angle of the drawing computed by the random sampling approach. We investigate the question of whether the Random Sampling approach improves the crossing angle of a given drawing. Our evaluation in Sec. 4.5 answers the question affirmatively. Moreover, we expect that the crossing angle of the drawing computed by the random sampling approach depends on the choice of the initial drawing. We show that this is indeed the case (Sec. 4.6). We close the evaluation with a short running time analysis in Sec. 4.7. Our evaluation is based on a selection of artificial and real world graphs (Sec. 4.1), several choices of the initial drawing, see Sec. 4.2, and a specific way to compare two drawing algorithms (Sec 4.3).
Setup All experiments were conducted on a single core of an AMD Opteron Processor 6172 clocked at 2.1 GHz. The server is equipped with 256GB RAM. All algorithms were compiled with g++4.8.5 with optimization mode O3.
4.1 Benchmark Graphs
We evaluate the heuristic on the following graph classes, either purely synthetic or with a structure resembling realworld data. Fig. 7 shows the size distribution of these graphs. The color of each class is used consistently throughout the paper.
Real World The classes Rome and North (AT&T)^{1}^{1}1http://graphdrawing.org/data.html are the nonplanar subsets of the corresponding well known benchmark sets, respectively. From each graph class we picked 100 graphs uniformly at random. The Community graphs are generated with the LFRGenerator [17] implemented in NetworKit [19]. These graphs resemble social networks with a community structure.
Artificial For each artificial graph we picked the number of vertices uniformly at random between 100 and 1000. The Triangulation+X class contains randomly generated vertex triangulations with an additional set of edges. The number is picked uniformly at random between and . The endpoints of the additional edge are picked uniformly at random, as well.
The class 1Planar consists of graphs that admit drawings where every edge has at most one crossing. We used a geometric and topological procedure to generate these graphs. For the former consider a random point set of points. Let be a random permutation of all pairs of points in . Let . If the drawing induced by is simple and planar, we define to be this graph, otherwise we set . We construct the topological 1Planar graphs based on a random planar triangulation generated with OGDF [5]. Let be a random vertex of and let be an arbitrary cycle. We add to if is 1planar. The process is repeated times, for a random number . In contrast to the experimental work on crossing minimization in book embeddings [16], we did not observe that our heuristic performs differently on the topological and geometric 1Planar graphs, see Appendix 0.A . Hence, we merge the two classes into a single class. Thus, in total the 1Planar graphs contain 200 graphs compared to 100 in the other graph classes.
4.2 Initial Drawings
In our evaluation we consider four initial drawings of each benchmark graph; refer to Tab. (a)a. A random point set of size induces a Random drawing of an vertex graph. The Fr+Cos drawings are generated by applying our implementation of the forcedirected method of Fruchtermann and Reingold [11] to the Random drawings with the additional force (Sec. 2.1). We applied the stress majorization [5, 12] implementation of the Open Graph Drawing Framework (OGDF) to Random in order to obtain the Stress drawings. The Crsmall drawings are computed with the heuristic introduced by Radermacher et al. [18] in order to decrease the number of crossings in straightline drawings. They showed that the heuristic computes drawings with significantly less crossings than drawings computed by stress majorization. Unfortunately, within a feasible amount of time we were not able to compute Crsmall drawing for the classes 1Planar and Triangulation+X.
A point in Fig. 8 corresponds to the crossing angle of an initial drawing. The plot is categorized by graph class. The Random drawings have the smallest crossing angles. The Stress drawings have a larger crossing angle than Crsmall and overall, Fr+Cos drawings tend to have the largest crossing angle.
We point out that in contrast to the evaluation of Argyriou et al. [2], our implementation of the forcedirected method with and produces drawings with smaller crossing angles than with . Thus, we do not consider these drawings in our evaluation. For the further details refer to Appendix 0.B.

4.3 Differences between Paired Drawings
In order to compare the performance of two algorithms on multiple graphs and to investigate by how much one of the algorithms outperforms the other, we employ the following machinery. We denote by the set of all drawings of . Let be a family of (nonplanar) graphs. We refer to a set as a family of drawings of where . Let and be two families of drawings of . Let be a subset of . We say outperforms on if and only if for all the inequality holds. If outperforms on then has an advantage of on if for all the inequality holds. For a finite set , we say has relative size at least if .
In order to compare two families of drawings we plot the advantage as a function of ; refer to Fig. 12. For each value the plot contains 5 five bars, each corresponding to a graph class. The height of the bars correspond to advantages for a set of relative size . A caption of a figure in the form of A vs B indicates that if is positive, has advantage over A. Correspondingly, if is negative, has an advantage of over . Thus, Fig. 12 shows that for , for each graph class there is a subset of relative size , i.e., contains at least 10 graphs, such that the set Sloppy has an advantage of over Precise on . In greater detail, Sloppy has an advantage of over Precise on the North graphs, on the Rome graphs, on the Community graphs, on the 1Planar graphs and on the Triangulation+X graphs. On the other side, Precise has an advantage of over Sloppy on at least 10 North graphs, on the Rome graphs, on the Community graphs, on the 1Planar graphs and on the Triangulation+X graphs. Note that only for there can be two disjoint subsets of a graph class of relative size such that Precise has an advantage over Sloppy on and Sloppy has an advantage over Precise on .
4.4 Parametrization of the Random Sampling Approach
The Random Sampling approach introduced in Section 3 has four different parameters, the number of levels , the size of the sample , the initial side length and the scaling factor , that allows for many different configurations. With an increasing number of samples, we expect to obtain a larger crossing angle in each iteration to the cost of an increasing running time. If we allow each configuration the same running time, it is unclear whether it is beneficial to increase the number of iterations or to increase the number of samples () and levels () per iteration. This motivates the following question: does the crossing angle of a drawing of an vertex graph computed by the random sampling approach within a given time limit increase with an increasing number of samples and levels?
We choose to set the time limit to seconds. This allows for at least iterations on our benchmark instances. For further details see Appendix 0.D. Since the parametrization space is infeasibly large, we evaluate three exemplary configurations, Sloppy, Medium and Precise; see Tab. (b)b.
The plot in Fig. 9 does not indicate that the distributions of the crossing angle differ across different configurations significantly ; further characteristics are listed in Tab. 4 in the appendix . With the plot in Fig. 12 we can confirm this observation. For each configuration there is only a small subset of each class such that the configuration has an advantage over the other configurations. For example, for the Rome graphs there exist at least 10 graphs such that Sloppy has an advantage of over Precise. On the other hand, there are at least 10 different graphs such Precise has also an advantage of over Sloppy. For no configuration has an advantage over the other, or it negligibly small. Thus, we conclude that given a common time limit, increasing the levels and the sample size does not necessarily increase the crossing angle.
4.5 Improvement of the Crossing Angles
In this section we investigate whether the Random Sampling approach is able to improve the crossing angle of a given drawing within iterations. Given the same number of iterations, it is mostlikely that we obtain a larger crossing angle of a drawing if we increase the number of samples. Thus, we use the Precise configuration for the evaluation of the above question. We refer to the drawings after the application of the Random Sampling approach as Random, Fr+Cos, Stress and Crsmall, respectively. For characteristics of the crossing angles refer to Tab. 5 in the appendix.
The plots in Fig. 8 and Fig. 13 indicate that the Random Sampling approach indeed improves the crossing angle of the initial drawings. Fig. 18 shows the relationship between the crossing angle of the initial drawing and the final drawing. For the purpose of clarity, the plot only shows drawings of the classes North, Community and 1Planar ; for the remaining classes refer to Appendix 0.E . The plots shows that the Random Sampling approach considerably improves the crossing angle of the initial drawing. In case of the North graphs there are a few graphs that have an improvement of at least . There are at least 10 drawings in Random whose crossing angle is improved by at least ; refer to Fig. 44 in Appendix 0.E. For all real world graph classes and all initial layouts there are graphs in each class, such that the final drawing has an advantage of over .
For Triangulation+X, Fr+Cos has an advantage of at least over Fr+Cos on at least 90 Triangulation+X. For the remaining initial layouts the corresponding advantage is at most . Considering the 1Planar graphs the corresponding advantages are and . This indicates that within iterations a large initial crossing angle helps to further improve the crossing angle of 1Planar and Triangulation+X graphs. Overall we observe that the 1Planar and Triangulation+X classes are rather difficult to optimize. This can either be a limitation of our heuristic or the crossing angle of these graphs are indeed small. Unfortunately, we are not aware of meaningful upper and lower bounds on the crossing angle of straightline drawing of these graphs. Nevertheless, we can conclude that our heuristic indeed improves the initial crossing angle. To which extend our heuristic is able to increase crossing angle of a drawing depends on the graph class and on the initial drawing itself.
4.6 Effect of the Initial Drawing
The Random Sampling approach iteratively improves the crossing angle of a given drawing. Given a different drawing of the same graph the heuristic might be able to compute a drawing with a larger crossing angle. Hence, we investigate whether the choice of the initial drawing influences the crossing angle of a drawing obtained by the Random Sampling approach with iterations.
For all graph classes, except from North, it is apparent from Fig. 13 that the drawings in the set Random have noticeably smaller crossing angles compared to the remaining drawings. This meets our expectations, since the initial Random drawings presumably has many crossings [15] and thus is likely to have many small crossing angles; compare the initial crossing angles plotted in Fig. 8.
The plot in Fig. 13 and the characteristics in Tab. 5 in the Appendix suggest that the set Fr+Cos contains drawings with the largest crossing angles. In order to corroborate this claim, Fig. 22 shows crossing angles obtained by different algorithms. It shows that except for one graph, each drawing in Fr+Cos has a larger crossing angle than the corresponding drawing in Random. Fig (b)b and Fig. (c)c suggest that Fr+Cos overall contains more drawings with a larger crossing angle compared to Stress and Crsmall.
With the help of Fig. 27 we are able to quantify the number of graphs above the diagonal and the difference of the crossing angles. Fig. (a)a shows that for the graph classes 1Planar and Triangulation+X, there are each at least 90 of 100 graphs whose drawings in Fr+Cos have a crossing angle larger then the corresponding drawing in Stress, i.e., Fr+Cos has an advantage of degrees over Stress.
There are at least 50 1Planar graphs such that the Fr+Cos has an advantage of over Stress. At least 50 Community graphs have drawings in Fr+Cos with an advantage of over the corresponding drawings in Stress. There are 10 North graphs such that Fr+Cos has an advantage of at least over Stress. Vice versa there are 10 different North graph such that Stress has an advantage of at least degrees over Fr+Cos. Considering subsets of size , Fr+Cos has an advantage of over Stress.
Recall that Crsmall does neither contain drawings of the class 1Planar nor of the class Triangulation+X. The drawings of Fr+Cos has an advantage of over over Crsmall on over 70 Community graphs. For a subset with at least 10 Community graphs, the advantage rises to almost . The comparison on Stress and Crsmall shows that drawings with a few crossings do not necessarily yield larger crossing angles. Overall, we conclude that the Random Sampling approach computes the largest crossing angle when applied to the Fr+Cos drawings. This is plausible, since the crossing angles of the initial crossing angles are already good. As shown in the previous section, depending on the graph class, there is a large improvement in the crossing angle, if we start with such an initial drawing. In Appendix 0.F we show that the advantages of Fr+Cos decreases comparably to Stress with iterations. However, doubling the iterations does not entirely cover the gap between the crossing angles of the initial drawings.
4.7 Note on the Running Time
In this section we shortly evaluate the running time of our algorithm on all our graphs. For this purpose, we applied two implementations of the Random Sampling heuristic to the Random drawings. The Sweep implementation uses a sweepline algorithm to compute the pair of crossing edges that create the smallest crossing. Bucket uses the algorithm described in Sec. 3.1. We employ the speedup technique only for graphs with at least 1000 edges, we refer to these graphs as large. Fig 28 plots the running time per iteration for
vertex graphs. The median and the second 3quantile of the running time on the large graphs are highlighted.
Bucket has an average running time of 391ms per iteration on the large graphs and Sweep has an average running time of 500ms. On all graph Bucket requires on average 328ms per iteration. In Appendix 0.G, we compare the number of crossings with the number of tested edgepairs.5 Conclusion
We designed and evaluated a simple heuristic to increase the crossing angle in a straightline drawing of a graph. On real world networks our heuristic is able to compute larger crossing angles than on artificial networks. This can either be a limitation of our heuristic or the crossing angle of our artificial graph classes are small. We are not aware of lower and upper bounds of the crossing angle of these graphs. Thus, investigating such bounds of the 1Planar and Triangulation+X graphs is an interesting theoretical question.
Fig. 31 shows that our heuristic does not necessarily compute readable drawings. Nevertheless, parts of the Random Sampling heuristic are easily exchangeable. For example, the objective function can be replaced by a linear combination of number of crossing and the crossing angle. Thus, future work can be concerned with adapting the Random Sampling approach with the aim to compute readable drawings.
References
 [1] Argyriou, E.N., Bekos, M.A., Symvonis, A.: The StraightLine RAC Drawing Problem is NPHard. Journal of Graph Algorithms and Applications 16(2), 569–597 (2012). https://doi.org/10.7155/jgaa.00274
 [2] Argyriou, E.N., Bekos, M.A., Symvonis, A.: Maximizing the Total Resolution of Graphs. The Computer Journal 56(7), 887–900 (2013). https://doi.org/10.1093/comjnl/bxs088
 [3] Arikushi, K., Fulek, R., Keszegh, B., Morić, F., Tóth, C.D.: Graphs that admit Right Angle Crossing Drawings. Computational Geometry: Theory and Applications 45(4), 169 – 177 (2012). https://doi.org/10.1016/j.comgeo.2011.11.008
 [4] Bentley, J.L., Ottmann, T.A.: Algorithms for Reporting and Counting Geometric Intersections. IEEE Transactions on Computers C28(9), 643–647 (1979)
 [5] Chimani, M., Gutwenger, C., Jünger, M., Klau, G.W., Klein, K., Mutzel, P.: Handbook of Graph Drawing and Visualization, chap. The Open Graph Drawing Framework (OGDF), pp. 543–569. Chapman and Hall/CRC (2013)
 [6] Devanny, W., Kindermann, P., Löffler, M., Rutter, I.: Graph Drawing Contest Report. In: Frati, F., Ma, K.L. (eds.) Proceedings of the 25 International Symposium on Graph Drawing and Network Visualization (GD’17). pp. 575–582. SpringerVerlag Springer International Publishing (2018)
 [7] Didimo, W., Eades, P., Liotta, G.: Drawing Graphs with Right Angle Crossings. Theoretical Computer Science 412(39), 5156–5166 (2011). https://doi.org/10.1016/j.tcs.2011.05.025
 [8] Didimo, W., Liotta, G.: The CrossingAngle Resolution in Graph Drawing, pp. 167–184. Springer New York (2013). https://doi.org/10.1007/9781461401100_10
 [9] Dujmović, V., Gudmundsson, J., Morin, P., Wolle, T.: Notes on Large Angle Crossing Graphs. In: Viglas, T., Potanin, A. (eds.) Proceedings of the 16th Symposium on Computing: The Australasian Theory (CATS’10). pp. 19–24. Australian Computer Society (2010)
 [10] Eades, P.: A heuristic for graph drawing. Congressus Numerantium 42, 149–160 (1984)
 [11] Fruchterman, T.M.J., Reingold, E.M.: Graph Drawing by ForceDirected Placement. Software: Practice and Experience 21(11), 1129–1164 (1991). https://doi.org/10.1002/spe.4380211102
 [12] Gansner, E.R., Koren, Y., North, S.: Graph Drawing by Stress Majorization. In: Pach, J. (ed.) Proceedings of the 12th International Symposium on Graph Drawing and Network Visualization (GD’04). pp. 239–250. SpringerVerlag (2005). https://doi.org/10.1007/9783540318439_25
 [13] Giacomo, E.D., Didimo, W., Eades, P., Hong, S.H., Liotta, G.: Bounds on the Crossing Resolution of Complete Geometric Graphs. Discrete Applied Mathematics 160(1), 132 – 139 (2012). https://doi.org/10.1016/j.dam.2011.09.016
 [14] Huang, W., Eades, P., Hong, S.H., Lin, C.C.: Improving ForceDirected Graph Drawings by Making Compromises Between Aesthetics. In: Hundhausen, C.D., Pietriga, E., Díaz, P., Rosson, M.B. (eds.) Proceedings of the IEEE Symposium on Visual Languages and HumanCentric Computing (VL/HCC2010). pp. 176–183. IEEE Computer Society (2010). https://doi.org/10.1109/VLHCC.2010.32
 [15] Huang, W., Huang, M.: Exploring the Relative Importance of Crossing Number and Crossing Angle. In: Proceedings of the 3rd International Symposium on Visual Information Communication (VINCI ’10). pp. 10:1–10:8. ACM (2010). https://doi.org/10.1145/1865841.1865854
 [16] Jonathan Klawitter and Tamara Mchedlidze and Martin Nöllenburg: Experimental Evaluation of Book Drawing Algorithms. In: Proceedings of the 25 International Symposium on Graph Drawing and Network Visualization (GD’16). pp. 224–238 (2017). https://doi.org/10.1007/9783319739151_19
 [17] Lancichinetti, A., Fortunato, S., Radicchi, F.: Benchmark graphs for testing community detection algorithms. Physical Review E 78, 046110 (2008). https://doi.org/10.1103/PhysRevE.78.046110
 [18] Radermacher, M., Reichard, K., Rutter, I., Wagner, D.: A Geometric Heuristic for Rectilinear Crossing Minimization. In: Proceedings of the 20th Workshop on Algorithm Engineering and Experiments (ALENEX’18). pp. 129–138 (2018). https://doi.org/10.1137/1.9781611975055.12
 [19] Staudt, C.L., Sazonovs, A., Meyerhenke, H.: NetworKit: A tool suite for largescale complex network analysis. Network Science 4(4), 508–530 (2016). https://doi.org/10.1017/nws.2016.20
Appendix 0.A 1Planar Graphs
Fig. 32
shows the crossing angle for the geometric and topological 1planar graphs computed with the random sampling approach. The plot already suggest that the distributions do not differ to much. Indeed, a ttest confirms that there is no significant difference between the median of the two distributions.
Appendix 0.B Cage and Angular Force
In this section, we evaluate the crossing angle of drawings computed by forcedirected methods applied to a random initial drawing. Stress and FMMM are implementations provided by the OGDF library. The cage drawings are obtained by the forcedirected method of Fruchtermann and Reingold [11] with the additional forces and . The drawings in Fr+Cos use the force instead of and . We use our own implementation of the of the forcedirected method of Fruchtermann and Reingold.
The plot in Fig. 33 shows the final crossing angles. It indicates that the cage force produces drawings with the smallest crossing angles. This is not in accord with the claim of Argyriou et al. [2] that they obtained drawings with the largest crossing angle using their implementation of the forces and . Our results are not necessarily comparable, since we may have used different constants to scale the forces. Moreover, we start from different initial drawings. We always start with a random drawing where Argyriou et al. use an organic layout (SmartOrganic) provided by yEd (www.yworks.com).
Appendix 0.C Characteristics
Tab. 4 shows several characteristics of crossing angles computed with the Sloppy, Medium and Precise configuration of the random sampling approach. Tab. 5 shows characteristics of the crossing angle after the application of the Precise configuration to different initial drawings.
graph class  algorithm  crossing resolution  

min  mean  median  max  
Comm.  Medium  29.13  51.14  52.23  81.27 
Comm.  Precise  32.63  52.01  52.07  78.70 
Comm.  Sloppy  28.90  51.12  51.66  75.61 
North  Medium  20.63  67.12  63.87  90.00 
North  Precise  22.06  67.82  68.69  90.00 
North  Sloppy  22.49  65.84  60.00  90.00 
Rome  Medium  36.58  67.85  60.00  90.00 
Rome  Precise  37.97  66.43  60.00  90.00 
Rome  Sloppy  32.52  64.86  59.98  90.00 
1planar  Medium  4.33  9.02  7.36  25.79 
1planar  Precise  3.92  8.60  6.97  26.84 
1planar  Sloppy  4.58  8.71  7.23  22.50 
Tri.  Medium  5.27  8.94  7.66  22.03 
Tri.  Precise  4.90  8.55  7.58  20.88 
Tri.  Sloppy  5.13  8.90  7.55  23.71 
graph class  layout  crossing resolution  

min  mean  median  max  
Comm.  Fr+Cos  49.16  70.63  71.10  88.25 
Comm.  Random  27.18  37.09  37.24  45.68 
Comm.  Crsmall  44.09  58.54  58.03  84.61 
Comm.  Stress  42.89  65.91  63.75  89.09 
North  Fr+Cos  23.82  71.29  78.83  90.00 
North  Random  17.81  55.87  54.51  90.00 
North  Crsmall  18.77  70.55  87.87  90.00 
North  Stress  24.46  70.84  84.68  90.00 
Rome  Fr+Cos  44.52  77.16  81.28  90.00 
Rome  Random  28.14  49.94  47.25  88.43 
Rome  Crsmall  44.19  76.32  84.28  90.00 
Rome  Stress  44.55  77.09  82.70  90.00 
1planar  Fr+Cos  13.76  26.55  25.25  53.26 
1planar  Random  4.55  6.91  6.02  16.67 
1planar  Stress  9.38  15.81  13.85  35.50 
Tri.  Fr+Cos  7.43  18.77  17.24  36.13 
Tri.  Random  4.92  6.79  6.20  15.94 
Tri.  Stress  6.14  11.95  10.41  26.89 
Appendix 0.D Number of Iterations
Fig. 34 compares the number of vertices of a graph with the number of iterations done in the given time limit. The color indicate the configuration; green is Sloppy, orange is Medium, purple is Precise. It shows that independent of the configuration, on each vertex graph at least iterations have been performed. The actual number of iterations depend on the configuration. Especially, the Sloppy configuration is able to do at least iterations on most graphs. On the other hand, Precise moves considerably less vertices.
Appendix 0.E Improvement of the Crossing Angle
Fig. 39 shows the missing data of the plot in Fig. 18, i.e., the crossing angles of the graph classes Rome and Triangulation+X. Fig. 44 shows the corresponding advantages. The plots confirm that our approach significantly increases the crossing angles of the in the initial drawings.
Appendix 0.F Increasing the Number of Iterations
In this section we compare the following two drawings. We start with Stress drawings and apply iterations with the Random Sampling approach with the Precise configuration (Stress). Second, we apply iterations to the Fr+Cos drawings. The plots in Fig. 48 show that drawings of graphs in North and Rome have indeed a slightly larger crossing angle when they are obtained from Stress. For the remaining graph classes the drawings obtained Fr+Cos still have an advantage over Stress.
Appendix 0.G Number of Crossings vs Number of Operations
In this section, we further evaluate our speedup heuristic introduced in Section 3.1. We compare the number of crossings in a drawing with the number of edgepairs that the speedup heuristics tests for intersections. Ideally, is significantly smaller than .
One data point in Fig. 49 corresponds to a single graph. We applied the Sloppy heuristic to the random drawings of all our benchmark graphs. We counted in each iteration the number of crossings of the current drawing and the number of tested pairs. The values in the figure correspond to the average of these values over iterations. Note that the plot uses a double logscale.
We observe that for small instances, the heuristics tests more edgepairs than the drawing has crossings. With an increasing number of crossings, the heuristic indeed tests less edgepairs than crossings.
Comments
There are no comments yet.