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
我會更新我的答案並具體說明如何做到這一點。 –