我正在學習緩衝函數在XNA中的應用。但我無法理解它的數學方程式。我無法理解緩動函數的數學方程
例如,用於BackEase公式:
f(t) = t^3 - a * t * sin (t * pi)
SinEase:
f(t) = 1 - [Sin (1 - t) * (pi/2)]
和BounceEase,ElasticEase(我找不到它的配方)......他們爲什麼要應用它?
我正在學習緩衝函數在XNA中的應用。但我無法理解它的數學方程式。我無法理解緩動函數的數學方程
例如,用於BackEase公式:
f(t) = t^3 - a * t * sin (t * pi)
SinEase:
f(t) = 1 - [Sin (1 - t) * (pi/2)]
和BounceEase,ElasticEase(我找不到它的配方)......他們爲什麼要應用它?
我不是這方面的專家,但都是關於平滑過渡效果。
E.g.從黃色到藍色,線性寬鬆讓你從黃色到綠色的突然開始,然後是從黃綠色到藍綠色的完美平滑漸變,然後是藍色的突然變化。
對於反彈緩解,它會從黃色變爲略帶綠色並且變回黃色,然後變爲稍帶綠色的背部,然後變爲藍綠色和後背,然後變爲完全藍色。
http://hosted.zeh.com.br/tweener/docs/en-us/misc/transitions.html中的圖表給出了可以進行哪些其他轉換的概述。
這些轉換中的每一個都是作爲一個數學函數或一組函數來實現的,它們給出了時間t函數中的百分比轉換。
對於BackEase,使用例如A = 1/3,給出了:http://www.wolframalpha.com/share/clip?f=d41d8cd98f00b204e9800998ecf8427elqqoohmvph
在僞代碼,這是一個過渡過程中發生了什麼:
int yellow = ...
int blue = ...
float a = ...
for(int i = 1 to 100)
{
float t = i/100
float f = t^3 - a * t * sin (t * pi) //--> BackEase function
set color = yellow + f * (blue - yellow)
sleep
}
+1中以指示樣例轉換,則這些方程式應產生這些方程式。爲什麼有人會使用easeInOutBounce(右下角)?看起來像一個「試了一下,嘗試,更加努力,ooooph我做到了,現在放鬆」過渡;-) – 2013-05-08 09:01:36
@JanDoggen Becoz你可以:-) – greyfairer 2013-05-08 09:20:44
請幫助我的例子!非常感謝 :) – user2360585 2013-05-08 15:47:03
什麼叫 「無法理解」 是什麼意思?緩動函數的要點是提供從0到1的平滑過渡,如果將這些方程式放入任何交互式圖形應用程序(例如wolfram alpha) – Alnitak 2013-05-08 08:50:06