曲线是否以编程方式计算?

时间:2013-07-09 12:53:54

标签: performance actionscript-3 math curve

如何在此曲线中计算yt是变量。原点当然是(0|0)

  • t=0t=0,5t=1的切线必须完全水平(倾斜= 0)
  • 只有基本的数学运算符可用(Java / Actionscript 3)

enter image description here

我必须在Actionscript 3中每帧计算几百次。因此计算需要良好的性能。现在我实际上无法正确计算(我不是数学家)。

4 个答案:

答案 0 :(得分:4)

不确定性能,但

-0.5 * cos(x * 2pi) + 0.5

AS3:

y = -0.5 * Math.cos(x * 2 * Math.PI) + 0.5;

似乎是您正在寻找的曲线。

enter image description here

您可以在此处查看或编辑曲线: wolfram alfa curve

答案 1 :(得分:4)

bjornson(-0.5*cos(x) + 0.5)建议的功能看起来不错。

提高性能的一个想法是,在应用程序开始时,您可以在不同时间创建该函数值的表。

如果您使用修复时间步,则表格就是您所需要的。如果你有可变的时间步长,那么你可以在两个最接近的时间到你计算的时间之间进行线性插值。

答案 2 :(得分:2)

y(t) = 16 * t * t * (t - 1) * (t - 1)

我认为一个人满足了你的要求

答案 3 :(得分:0)

我尝试了自己的方式,然后想出了polynomial

y = 16 * (t - 0.5)^4 - 8 * (t - 0.5)^2 + 1
y = 16 * Math.pow((t - 0.5), 4) - 8 * Math.pow((t - 0.5), 2) + 1;
// forgot to shift the curve 0.5 to the right, corrected