D3.js D3力基础?

D3.js D3力基础?,d3.js,force-layout,D3.js,Force Layout,我正在努力理解alphaDecay和velocityDecay的影响,我不愿意在D3的背景下解释alpha和强度的概念。从我的经验水平来看,这是太短和甜蜜,我还没有找到一个D3.force的假人,使我的速度 从我的测试中,我从未将任何显著的图形行为变化与不同的alphaDecay值相关联,我只看到在接近0或1的极端设置下velocityDecay的影响。力量也是一个谜 我也从来没有真正确定什么时候或者为什么我应该调用simulation.restart 这一切都导致我无法制定出一个令人满意的图表

我正在努力理解alphaDecay和velocityDecay的影响,我不愿意在D3的背景下解释alpha和强度的概念。从我的经验水平来看,这是太短和甜蜜,我还没有找到一个D3.force的假人,使我的速度

从我的测试中,我从未将任何显著的图形行为变化与不同的alphaDecay值相关联,我只看到在接近0或1的极端设置下velocityDecay的影响。力量也是一个谜

我也从来没有真正确定什么时候或者为什么我应该调用simulation.restart

这一切都导致我无法制定出一个令人满意的图表。我觉得我总是处在一个爆炸性的或者只是惰性的图形的边缘

我已经玩弄并阅读了大部分内容,但它并没有真正围绕alpha、link.strength和我提到的其他内容


您如何理解这些值以及如何配置它们?

因此,文档中详细说明了它们的作用。上面说:

将当前alpha增加alphaTarget-alpha×alphaDecay;然后调用每个注册的力,传递新的alpha;然后用velocity×velocityDecay递减每个节点的速度;最后,通过速度增加每个节点的位置

我会这样描述他们:

阿尔法 阿尔法我认为是系统的温度,它在一段时间内衰减,我将用它来解释。当温度达到0时,它会自动停止一切移动,因为它假设没有能量了。因此,模拟停止

系统有能量的持续时间取决于三个因素,当前α,我们应该停止的α目标,以及我们从系统中损失热量的速度α衰减。这个值越大,力停止的速度就越快

速度 速度是力中单个项目的速度。因此,在每一次滴答声之后,我们都会得到一个更新,速度会随着速度的衰减而降低。所以我将velocityDecay视为摩擦力。摩擦力越大,单个节点停止的速度越快

重新启动
通常,您将simulation.restart称为simulation.restart,在某些用户操作的后面删除节点、添加链接等。因此,具体地说,它们所做的操作将记录在文档中。上面说:

将当前alpha增加alphaTarget-alpha×alphaDecay;然后调用每个注册的力,传递新的alpha;然后用velocity×velocityDecay递减每个节点的速度;最后,通过速度增加每个节点的位置

我会这样描述他们:

阿尔法 阿尔法我认为是系统的温度,它在一段时间内衰减,我将用它来解释。当温度达到0时,它会自动停止一切移动,因为它假设没有能量了。因此,模拟停止

系统有能量的持续时间取决于三个因素,当前α,我们应该停止的α目标,以及我们从系统中损失热量的速度α衰减。这个值越大,力停止的速度就越快

速度 速度是力中单个项目的速度。因此,在每一次滴答声之后,我们都会得到一个更新,速度会随着速度的衰减而降低。所以我将velocityDecay视为摩擦力。摩擦力越大,单个节点停止的速度越快

重新启动
通常情况下,您可以调用simulation.restart(模拟)。在某些用户操作的后面,删除节点、添加链接等操作。

非常有趣!你会如何描述link.strength?这是一个在相互方向上加在绑定节点上的力吗?@VincentDM I将链接强度描述为弹性。假设每个节点都与一些弹性线连接,链接的强度表示弹性有多强,从而将节点拉近。另一方面,如果连接强度为负,我想象它就像带电粒子相互排斥,负的越多,排斥力就越大——想想把两个排斥磁铁放在一起。真的很有趣!你会如何描述link.strength?这是一个在相互方向上加在绑定节点上的力吗?@VincentDM I将链接强度描述为弹性。假设每个节点都与一些弹性线连接,链接的强度表示弹性有多强,从而将节点拉近。另一方面,如果连接强度为负,我认为它就像带电粒子相互排斥,负的越多,排斥力就越大,就像把两个排斥磁铁放在一起一样。