力指向制图(Force-directed graphing)

2019-08-17 01:07发布

我试图写一个图形应用程序我建立我自己的力定向或力图谱的代码库。 以下是我试图的例子: http://sawamuland.com/flash/graph.html

我设法找到一些伪代码来实现想要什么,我在维基强制图谱的文章。 因为它是一个Flash应用程序,我转换成ActionScript 3.0代码这一点。 下面是我的源:

var timestep:int = 0;
var damping:int  = 0;
var total_kinetic_engery:int = 0;

for (var node in list) {
 var net_force:int = 0;
 for (var other_node in list) {
  net_force += coulombRepulsion(node, other_node, nodeList);
 }
 for (var spring in list[node].relations) {
  net_force += hookeAttraction(node, spring, nodeList);
 }
 list[node].velocity += (timestep * net_force) * damping;
 list[node].position += timestep * list[node].velocity;
 total_kinetic_engery += list[node].mass * (list[node].velocity) ^ 2;
}

现在的问题是找到伪代码或执行库仑斥力和引力胡克代码的功能。 我不完全知道如何做到这一点。

有谁知道一个很好的参考我可以看看......理解和快速实现的?

最好。

Answer 1:

有链接到这些相同的文章。 胡克是一个链接的终端节点之间的弹簧力,而库仑力排斥邻近节点了。

现在的问题是不是真正的表情,但在其内部应用的常数。 我会“通过力指向布局软件Fruchterman,颞下颌关节,及莱因戈尔德,EM(1991)图形图像:实践与经验,21(11)。”阅读原创文章,谷歌 并通过PDF阅读,看看作者建议。

顺便说一句,你的增值经销商可能要浮动,而不是整数。



Answer 2:

你看着火炬 ? 有一个力向图的演示。



文章来源: Force-directed graphing