0
给出增量值从0到无穷 我想找回那种增加值,然后下降,然后上升,然后下降...就像正弦数学与JS:正弦动画
我基本上是试图根据仅线性增加的输入值(通过将页面滚动到例如从0px到TBD + 1给出)来获得上下移动的球的动画
什么数学函数应该我用?
感谢
给出增量值从0到无穷 我想找回那种增加值,然后下降,然后上升,然后下降...就像正弦数学与JS:正弦动画
我基本上是试图根据仅线性增加的输入值(通过将页面滚动到例如从0px到TBD + 1给出)来获得上下移动的球的动画
什么数学函数应该我用?
感谢
好,JavaScript has a sine function:
var y = Math.sin(Math.PI); // returns 0
Math.sin()
取其弧度的说法。
如果你想“减慢”振荡,你需要做的就是扩展输入参数:只需将你传入正弦函数的东西除以某个常量即可。例如,如果x
是你的输入参数,并且希望动画去一半的速度,这样做:
var y = Math.sin(x/2);
而且记住,正弦变负;其范围是[-1,1]。所以,如果你想避免负值,你就必须加1,函数的输出:
var speed = 0.5; // 2=2x speed, 0.5=half speed, etc.
var y = (Math.sin(x * speed) + 1)/2;
// y will range from [0,1]
看到这个的jsfiddle一个示范:http://jsfiddle.net/r8yRN/
谢谢!我实际上试过了var ballY = Math.sin(x)* 100;其中x是+1增量,但由于某种原因,球振荡上下,但太快...我忘了所有关于罪和几何我不记得如何延长频率... – Francesco
我会更新我的答案并具体说明如何做到这一点。 –