Funções de atenuação

11

Comecei a me envolver com funções de atenuação (Flash AS3), tentando entender o site de TweenLite e Robert Penner: http://www.robertpenner.com/easing/

A questão que tenho é qual é a base matemática para essas funções. Já vi outros sites modificarem as funções para criar uma função de atenuação personalizada.

Tetrad
fonte
1
Eu acho que é muito bem e amplamente explicado no pdf ligada no local Robert Penners: robertpenner.com/easing/penner_chapter7_tweening.pdf
bummzack

Respostas:

6

Interpolação bem no caso geral é apenas movimento paramétrico (especificamente, definindo uma função f (x) em que x pode ser 0..1 para posição / rotação / escala / qualquer que seja) com um modificador no valor paramétrico que você passa. também tem o intervalo 0..1.

Se você plotar o algoritmo em um gráfico, obterá algo que começa em 0, termina em 1, e a inclinação da curva define a velocidade nesse ponto no tempo.

Se você quiser a matemática para as próprias funções de atenuação, verifique isso: http://iphonedevelopment.blogspot.com/2010/12/more-animation-curves-than-you-can.html

Tetrad
fonte
4

Eu escrevi uma cartilha sobre interpolação, que pode ser de alguma utilidade - http://iki.fi/sol/interpolation/

Outro ótimo recurso é essa ferramenta interativa: http://www.gizma.com/easing/

Jari Komppa
fonte
Esse primeiro link é muito informativo. Bom artigo.
bummzack
@JariKomppa Eu tenho que perguntar, de onde vem o (3-2 (x))? E por que x tem parênteses? Nem sempre resulta em 3 (2 * x)?
Sidar
@Sidar Não me lembro de onde vem a fórmula, mas basicamente é um spline de caso especial (que leva a uma fórmula simples). O (x) é devido à forma macro - 'x' pode ser qualquer coisa, por exemplo '3 + 7', que levaria a (3-2 * (3 + 7)) e não (3-2 * 3 + 7)
Jari Komppa