Fonctions d'assouplissement


11

J'ai commencé à m'impliquer dans les fonctions d'assouplissement (Flash AS3), je suis venu en essayant de comprendre le site Web de TweenLite et Robert Penner: http://www.robertpenner.com/easing/

La question que je me pose est quelle est la base mathématique de ces fonctions. J'ai vu d'autres sites modifier les fonctions pour créer une fonction d'accélération personnalisée.


1
Je pense que c'est plutôt bien et largement expliqué dans le pdf lié sur le site de Robert Penners: robertpenner.com/easing/penner_chapter7_tweening.pdf
bummzack

Réponses:


6

L'interpolation dans le cas général n'est qu'un mouvement paramétrique (en particulier, définir une fonction f (x)x peut être 0..1 pour la position / rotation / échelle / autre) avec un modificateur sur la valeur paramétrique que vous transmettez. Le modificateur a également la plage 0..1.

Si vous tracez l'algorithme sur un graphique, vous obtiendrez quelque chose qui commence à 0, se termine à 1, et la pente de la courbe définit la vitesse à ce moment.

Si vous voulez les mathématiques pour les fonctions d'accélération elles-mêmes, vérifiez ceci: http://iphonedevelopment.blogspot.com/2010/12/more-animation-curves-than-you-can.html


4

J'ai écrit une introduction à l'interpolation, qui peut être utile - http://iki.fi/sol/interpolation/

Une autre excellente ressource est cet outil interactif: http://www.gizma.com/easing/


Ce premier lien est très informatif. Bon article.
bummzack

@JariKomppa Je dois demander, d'où vient le (3-2 (x))? Et pourquoi x a-t-il des parenthèses? Cela ne se traduit-il pas toujours par 3- (2 * x)?
Sidar

@Sidar Je ne me souviens pas spontanément d'où vient la formule, mais il s'agit essentiellement d'une spline de cas spécial (qui conduit à une formule simple). Le (x) est dû à la forme macro - 'x' peut être n'importe quoi, par exemple '3 + 7', ce qui conduirait à (3-2 * (3 + 7)) et non à (3-2 * 3 + sept).
Jari Komppa
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.