如何在此曲线中计算y
? t
是变量。原点当然是(0|0)
。
t=0
,t=0,5
和t=1
的切线必须完全水平(倾斜= 0)
我必须在Actionscript 3中每帧计算几百次。因此计算需要良好的性能。现在我实际上无法正确计算(我不是数学家)。
答案 0 :(得分:4)
不确定性能,但
-0.5 * cos(x * 2pi) + 0.5
AS3:
y = -0.5 * Math.cos(x * 2 * Math.PI) + 0.5;
似乎是您正在寻找的曲线。
您可以在此处查看或编辑曲线: 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