Funzioni di allentamento


11

Ho iniziato a impegnarmi con le funzioni di allentamento (Flash AS3), nato nel tentativo di comprendere il sito Web di TweenLite e Robert Penner: http://www.robertpenner.com/easing/

La domanda che ho è qual è la base matematica per queste funzioni. Ho visto altri siti modificare le funzioni per creare funzioni di allentamento personalizzate.


1
Penso che sia spiegato piuttosto bene e ampiamente nel pdf collegato sul sito di Robert Penners: robertpenner.com/easing/penner_chapter7_tweening.pdf
bummzack,

Risposte:


6

Bene l'interpolazione nel caso generale è solo il movimento parametrico (in particolare, la definizione di una funzione f (x) dove x può essere 0..1 per posizione / rotazione / scala / qualunque cosa) con un modificatore sul valore parametrico che si passa. Il modificatore ha anche l'intervallo 0..1.

Se tracciamo l'algoritmo su un grafico, otterrai qualcosa che inizia da 0, termina da 1 e la pendenza della curva definisce la velocità in quel punto nel tempo.

Se vuoi la matematica per le stesse funzioni di andamento, dai un'occhiata a: http://iphonedevelopment.blogspot.com/2010/12/more-animation-curves-than-you-can.html


4

Ho scritto un primer sull'interpolazione, che potrebbe essere di qualche utilità - http://iki.fi/sol/interpolation/

Un'altra grande risorsa è questo strumento interattivo: http://www.gizma.com/easing/


Quel primo collegamento è molto informativo. Buon articolo
Bummzack,

@JariKomppa Devo chiederti, da dove viene il (3-2 (x))? E perché x ha le parentesi? Non risulta sempre in 3- (2 * x)?
Sidar,

@Sidar Non riesco a ricordare con disinvoltura da dove provenga la formula, ma fondamentalmente si tratta di una spline caso speciale (che porta a una formula semplice). La (x) è dovuta alla forma macro - 'x' può essere qualsiasi cosa, ad esempio '3 + 7', che porterebbe a (3-2 * (3 + 7)) e non (3-2 * 3 + 7).
Jari Komppa,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.