Javascript D3.js力布局中连接距离与连接强度的关系

Javascript D3.js力布局中连接距离与连接强度的关系,javascript,d3.js,graph-layout,force-layout,Javascript,D3.js,Graph Layout,Force Layout,在D3.js中的力导向布局中,链接距离和链接强度是如何关联的?我假设他们是,如果我错了,请纠正我 据我所知,linkDistance定义了任意一对节点之间的长度,基本上在力布局中用作约束。但是linkStrength扮演什么角色呢?D3.js的API文档将其定义为“链接到[0,1]范围内指定值的强度(刚度)”“刚度”在这里的确切含义是什么?您可以将链接距离视为预期距离,将强度视为每次迭代达到此目标距离的速度 如果查看,您将发现以下行: l = alpha * strengths[i] * ((

在D3.js中的力导向布局中,链接距离和链接强度是如何关联的?我假设他们是,如果我错了,请纠正我


据我所知,linkDistance定义了任意一对节点之间的长度,基本上在力布局中用作约束。但是linkStrength扮演什么角色呢?D3.js的API文档将其定义为“链接到[0,1]范围内指定值的强度(刚度)”“刚度”在这里的确切含义是什么?

您可以将链接距离视为预期距离,将强度视为每次迭代达到此目标距离的速度


如果查看,您将发现以下行:

l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;
该算法是一种优化算法,因此,在每次迭代中都要修改
l
。现在的问题是,你必须指定你修改了多少

在基本算法上,为了优化距离,您将具有以下条件:

l = ((l = Math.sqrt(l)) - distances[i]) / l;  
但是,您可能希望对每个链接以及每个单独的链接拥有更多的控制。因此,可以将<代码> Alpha < /代码>属性作为固定参数,并将<代码>强度属性作为每个链接变化的参数。
如果您想了解更多关于所使用的优化方法,我建议您看看

谢谢你的回答!这个alpha是否可能是force布局的API D3.js中提供的冷却参数?完全正确!我真的建议您看看源代码,以了解它的实际工作原理。