堆栈溢出
为了简化问题,我有一个包含2D平面上的节点和边的图。
我想要做的是点击一个按钮,它会自动布局图形看起来干净。 我的意思是最小的边交叉,节点之间的漂亮空间,甚至可能代表图形比例(加权边)。
我知道这完全是干净看图的主观,但是有谁知道一个算法,而不是重新发明轮子?
谢谢。
我建议你看看graphviz。 dot
程序可以对图表进行规范,并为您“稍微干净”地生成网络图像。 如果您对理论背景感兴趣,那么该页面上的“理论”链接将为您提供一些可能相关的链接。
你会发现http:// graphdrawing.org/ , 本教程由布朗大学教授罗伯托·塔马西亚 ( Roberto Tamassia)提供 ,相当有帮助。
我喜欢Spring Embedder中的很多Force-Directed Techniques(教程中的第66-72页)。
你假设任何两个相邻节点之间存在弹簧或其他力,并让自然(模拟)完成工作:)
另外JGraph,如果你想在Java中的布局(我在项目上工作)。
链接地址: http://www.djcxy.com/p/29213.html上一篇: Stack Overflow