緩動函式與動畫

2022-02-24 08:28:19 字數 888 閱讀 6230

搬運

緩動函式, 主要用在控制動畫上, 它是乙個區間函式

用它來做動畫, 實際上就是將這個函式離散化

比如在x軸上取100個點, 計算得到f(x)值 就是得到了這個動畫在這100步的變化過程

緩動函式需要四個引數

b 函式開始值

c 函式結束值

d 結束時間(實際上這裡並不是真正意義上的時間, 而是離散時的取樣)

t 一般為0 也就是從開始值開始變化

例如我將d值設定為100 就是講這個連續的函式離散為100個點 根據t值(x軸位置)的不同得到不同的結果( f(x)的值 )

兩個簡單的例子

function timeoutmove() 

}run();

}

再來乙個raf的例子

function raqmove()  else 

}run();

}

如何將緩動函式真正的用在動畫中呢

來看個緩動函式大集合

接下來和動畫集合一下

util = else

}var d = math.ceil(time / (1000/60)), //計算次數

t = 0;

var b = 1, c = 0.1

function run() else

}t++;

if (t <= d) else

}run();

}}

這樣呼叫就可以

util.animate(cube, , 1000, 'easeinout');

常見動畫的緩動函式

大多時候,我們的動畫都是線性變化的。例如,乙個點從0運動到1,假如中間有8個點,那就應該是0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8。但有的時候,我們需要一種非線性的變化。例如我們做一架飛機起飛,它的變化應該是從慢到快的。又比如乙個小球落地,它的軌跡應該是拋物線,而且還會彈起。要...

用緩動函式模擬物理動畫

1 緩動函式簡介 1 緩動函式的動畫效果是建立在calayer層級的關鍵幀動畫基礎之上 也就是說用普通的uiview的animation是無法直接實現緩動函式 2 緩動函式是一系列模擬物理效果 如拋物線 方程式的統稱,用以計算給定兩點之間的插值 3 兩點之間插的值越多,效果越好,但是會耗費更多的效能...

用緩動函式模擬物理動畫

用緩動函式模擬物理動畫 1 緩動函式簡介 1 緩動函式的動畫效果是建立在calayer層級的關鍵幀動畫基礎之上 也就是說用普通的uiview的animation是無法直接實現緩動函式 2 緩動函式是一系列模擬物理效果 如拋物線 方程式的統稱,用以計算給定兩點之間的插值 3 兩點之間插的值越多,效果越...