Funciones de flexibilización

11

Comencé a involucrarme con las funciones de aceleración (Flash AS3), surgió al tratar de entender el sitio web de TweenLite y Robert Penner: http://www.robertpenner.com/easing/

La pregunta que tengo es cuál es la base matemática para estas funciones. He visto otros sitios modificar las funciones para crear una función de aceleración personalizada.

Tétrada
fuente
1
Creo que está bastante bien explicado en el pdf vinculado en el sitio de Robert Penners: robertpenner.com/easing/penner_chapter7_tweening.pdf
bummzack

Respuestas:

6

La interpolación bien en el caso general es solo movimiento paramétrico (específicamente, definir una función f (x) donde x puede ser 0..1 para posición / rotación / escala / lo que sea) con un modificador en el valor paramétrico que ingresa. El modificador también tiene el rango 0..1.

Si traza el algoritmo en un gráfico, obtendrá algo que comienza en 0, termina en 1 y la pendiente de la curva define la velocidad en ese punto en el tiempo.

Si desea los cálculos matemáticos para las funciones de facilitación, consulte esto: http://iphonedevelopment.blogspot.com/2010/12/more-animation-curves-than-you-can.html

Tétrada
fuente
4

He escrito un manual sobre interpolación, que puede ser útil: http://iki.fi/sol/interpolation/

Otro gran recurso es esta herramienta interactiva: http://www.gizma.com/easing/

Jari Komppa
fuente
Ese primer enlace es muy informativo. Buen artículo.
bummzack
@JariKomppa Tengo que preguntar, ¿de dónde viene el (3-2 (x))? ¿Y por qué x tiene paréntesis? ¿No siempre resulta en 3- (2 * x)?
Sidar
@Sidar No puedo recordar de antemano de dónde viene la fórmula, pero básicamente es una spline de caso especial (que conduce a una fórmula simple). La (x) se debe a la forma macro: 'x' puede ser cualquier cosa, por ejemplo, '3 + 7', lo que llevaría a (3-2 * (3 + 7)) y no (3-2 * 3 + 7)
Jari Komppa