我创建了一个程序,该程序使用 java awt 在 JFrame 中构建和绘制嵌套循环图(具有无向边)。
问题是,如果节点的位置没有明确指定,或者是随机创建的,那么图形会变得非常混乱,边会交叉,顶点会发生碰撞。
我想实现一种重新定位算法,以更均匀和更干净的方式更好地分布节点。
有人能帮我吗?
我创建了一个程序,该程序使用 java awt 在 JFrame 中构建和绘制嵌套循环图(具有无向边)。
问题是,如果节点的位置没有明确指定,或者是随机创建的,那么图形会变得非常混乱,边会交叉,顶点会发生碰撞。
我想实现一种重新定位算法,以更均匀和更干净的方式更好地分布节点。
有人能帮我吗?
您可能想查看GraphViz,这是一个执行此操作(渲染图形)的程序。它有一个 Java API,所以你可以将它集成到你的程序中,而且它是开源的,所以如果你想自己实现一个解决方案,也许他们的代码可以提供一些灵感(记得检查许可证!)
此外,他们的网站上有一个与绘图理论相关的资源列表,听起来完全符合您的需要。
JGraphX是原生 Java 并且包括自动布局选项。免责声明-我确实为该项目做出了贡献。