我正在努力了解alphaDecay
和velocityDecay
的影响,并且我不愿意尝试在上下文中解释alpha
和strength
的概念D3。从我的经验水平来看,source of the force module太短了,太甜了,我还没有找到“ D3.For Dummies傻瓜”来帮助我加快步伐。
从我的测试中,我从未将任何显着的图形行为变化与不同的alphaDecay
值相关联,并且我只看到了velocityDecay
在极端设置(接近0或1)下的影响。 link.strength()
仍然是个谜。
我也从不真正确定何时或为何致电simulation.restart()
。
所有这些导致我无法制定出令人满意的图形的策略。我觉得我总是处于爆炸性或惰性的图形的边缘。
我玩过this interesting tool并阅读了this的大部分内容,但实际上并没有绕过alpha
,link.strength
和我提到的其他内容
您如何理解这些值以及如何配置它们?
答案 0 :(得分:1)
因此,tick文档中专门记录了它们的工作。它说:
将当前alpha增加(alphaTarget-alpha)×alphaDecay;然后调用每个注册的部队,并传递新的alpha;然后将每个节点的速度减速度×velocityDecay;最后通过速度增加每个节点的位置。
我会这样描述他们:
alpha
我认为是系统的温度,它会在一段时间内衰减,我将用它来解释。当温度达到0(alphaTarget
)时,它会自动停止一切移动,因为它假定没有能量了。这样模拟就停止了。
系统充满能量的持续时间取决于3件事:当前的alpha
,alphaTarget
(这是我们应该停止的时间)和alphaDecay
(这是我们失去热量的速度)从系统。越大,力量停止的速度就越快。
速度是指力内单个项目的速度。因此,每次滴答之后,我们都会进行更新,并且速度会降低velocityDecay
比。因此,我将velocityDecay
视为摩擦。摩擦力越大,单个节点停止运动的速度就越快。
通常,您在某些用户操作(删除节点,添加链接等)的后面调用simulation.restart()
。