Javascript alphaTarget和alphaMin之间有什么区别?

Javascript alphaTarget和alphaMin之间有什么区别?,javascript,d3.js,force-layout,Javascript,D3.js,Force Layout,API中的描述令人困惑。我希望target是模拟停止滴答作响的值,但是target没有在API中定义。此外,alpha本身未在API中定义,但我在另一个网站上发现: 模拟的一个重要方面是alpha。alpha是一个介于0和1之间的数字,它定义了模拟的进度。模拟开始时,alpha设置为1,该值根据alpha衰减率缓慢衰减,直到达到模拟的alpha目标。一旦alpha值小于alpha目标,模拟将停止。默认情况下,alphaTarget设置为0.1 现在看官方API: 如果指定了min,则将最小al

API中的描述令人困惑。我希望
target
是模拟停止滴答作响的值,但是
target
没有在API中定义。此外,
alpha
本身未在API中定义,但我在另一个网站上发现:

模拟的一个重要方面是alpha。alpha是一个介于0和1之间的数字,它定义了模拟的进度。模拟开始时,alpha设置为1,该值根据alpha衰减率缓慢衰减,直到达到模拟的alpha目标。一旦alpha值小于alpha目标,模拟将停止。默认情况下,alphaTarget设置为0.1

现在看官方API:

如果指定了min,则将最小alpha设置为[0,1]范围内的指定数字,并返回此模拟。如果未指定min,则返回当前的最小alpha值,默认值为0.001。当当前alpha小于最小alpha时,模拟的内部计时器停止。默认α衰减率~0.0228对应300次迭代

如果指定了target,则将当前目标alpha设置为[0,1]范围内的指定数字,并返回此模拟。如果未指定target,则返回当前目标alpha值,默认值为0


alphaMin
alphaTarget
这样的概念确实很难理解,而且在文档中也没有很好的解释

您在您的:


好的,我通过将alpha记录到控制台来解决大部分问题:alphaMin设置模拟将停止运行的alpha级别(勾选事件停止发生),alphaTarget重新定义alpha最终将结束的位置(渐近线),因此,它不会慢慢变为0,而是慢慢变为0.2上帝只知道alphaTarget的目的是什么。(强调矿山)

因此,理解这些概念缺少的部分是理解“alphaTarget的目的是什么”。这很简单:

如您所知,
alphaMin
设置最小alpha,当当前alpha低于它时,它将负责停止模拟。因此,如果我们将
alphaTarget
设置为高于
alphaMin
的值,模拟将永远不会停止

例如,看看这个分叉的bl.ocks,其中我将
alphaTarget
设置为0.8:

正如你所看到的,模拟将永远运行


当然,即使具有较高的
alphaTarget
值,如果
alphaMin
较高,模拟也会停止,但会以一种非常不愉快和突然的方式停止。例如,
alphaMin=0.991
alphaTarget=0.99

好的,我通过将alpha记录到控制台就解决了大部分问题:alphaMin设置模拟停止运行的alpha级别(勾号事件停止发生),alphaTarget重新定义alpha最终结束的位置(渐近线),因此,不是慢慢地变为0,而是慢慢地变为0.2。上帝只知道alphaTarget的用途是什么。
alphaTarget
有一些很酷的用途,例如,如果您拖动,您可以设置
alphaTarget
,使模拟以特定的变化率连续运行,以获得平滑的运动。