2013-05-08 5 views
0

XNA에서 Easingfunction의 응용 프로그램을 배우고 있습니다. 그러나 나는 그것의 수학 방정식을 이해할 수 없다.이징 함수의 수학 방정식을 이해할 수 없습니다.

예를 들어, 수식 BackEase에 사용 :

f(t) = t^3 - a * t * sin (t * pi) 

SinEase :

f(t) = 1 - [Sin (1 - t) * (pi/2)] 

및 BounceEase, ElasticEase (나는 그것의 공식을 찾을 수 없습니다) ... 그들은 왜 적용 않았다 ?

+2

당신이 "이해할 수 없다"무엇을 의미합니까? 이징 함수의 포인트는 0에서 1 로의 부드러운 전환을 제공하는 것입니다. 이러한 수식은 샘플 전환을 가리키는 대화 형 그래프 응용 프로그램 (예 : 울프 람 알파) – Alnitak

답변

2

저는 전문가는 아니지만 원활한 전환 효과에 관한 것입니다.

예. 노란색에서 파란색으로 갈 때, 선형 이완은 황색에서 녹색으로 갑작스럽게 시작한 다음 노란색 녹색에서 파란색 녹색으로 완벽하게 부드러운 그라디언트를 제공 한 다음 파란색에서 급격한 변화를줍니다.

바운스 완화의 경우 황색에서 약간 녹색을 띠고 황색으로 되돌아 간다. 그리고 나서 조금 더 녹색과 등쪽으로, 파란색과 녹색으로 뒤에서 파란색으로 바뀝니다.

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 
} 
+0

+1에 넣으면 생성해야합니다. 왜 누군가가 easeInOutBounce (오른쪽 하단)를 사용합니까? "조금 시도해보십시오, 더 열심히 노력하십시오, 나중에 만들었습니다."전환 –

+0

@JanDoggen Becoz :-) – greyfairer

+0

예를 들어 도와주세요! 정말 고마워 :) – user2360585

관련 문제