有一系列已经成熟的算法/库被开发用于图形绘制应用程序,您可以在这里了解一些背景知识。 对于绘制无向图,常见的选择是基于力的布局算法,其中图边被视为弹簧(具有吸引力),而顶点则被视为带电粒子(施加排斥力)。该算法通过根据这些力更新顶点位置,直到达到稳态来工作。您可以在这里了解更多关于基于力的方法的信息。由于这些算法寻求平衡解决方案,因此它们通常会产生伪最优布局,而没有太多的边缠结。 您可能会对使用其中一个可用的图形绘制库感兴趣。 Graphviz软件包通常相当不错,并支持多种不同的算法以用于不同的图形绘制应用程序。