gpt4 book ai didi

javascript - D3.js力布局中LinkDistance和LinkStrength的关系

转载 作者:数据小太阳 更新时间:2023-10-29 03:51:22 26 4
gpt4 key购买 nike

在 D3.js 的力导向布局中,LinkDistance 和 LinkStrength 是如何相关的?我假设他们是,如果我错了请纠正我。

我知道 linkDistance 定义了任何一对节点之间的长度,并且本质上用作力布局中的约束。但是 linkStrength 起什么作用呢? D3.js 的 API 文档将其定义为“链接到 [0,1] 范围内指定值的强度(刚性)”,这里的“刚性”到底是什么意思?

最佳答案

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


如果您查看 source code of the force directed layout ,您会发现以下行:

l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;

此算法是一种优化算法,因此,在每次迭代中您都修改 l。现在的问题是你必须指定你修改了多少。

在基本算法上,您将具有以下内容以优化距离:

l = ((l = Math.sqrt(l)) - distances[i]) / l;  

但是您可能希望对每个链接以及每个单独的链接有更多的控制。因此,您可以将 alpha 属性视为固定参数,将 strength 属性视为随每个链接而变化的参数。

如果你想了解更多关于使用的优化方法,我建议你看看Gauss-Seidel wikipedia page .

关于javascript - D3.js力布局中LinkDistance和LinkStrength的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17355128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com