curvas

31 funciones de easing puras (sin estado) para animar valores de forma más natural que una interpolación lineal. Ver docs/curvas.md.

importar
usar std/mate/curvas

Funciones

curvas.lineal(progreso decimal) decimal

Progreso sin transformar: lineal(t) = t. Útil como referencia para comparar con las demás curvas.

curvas.cuadratica_entrada(progreso decimal) decimal

Arranca lento y acelera hacia el final (ease-in cuadrático).

curvas.cuadratica_salida(progreso decimal) decimal

Arranca rápido y frena hacia el final (ease-out cuadrático).

curvas.cuadratica_entrada_salida(progreso decimal) decimal

Arranca y termina lento, acelera en el medio (ease-in-out cuadrático).

curvas.cubica_entrada(progreso decimal) decimal

Como cuadratica_entrada pero con una aceleración más marcada (ease-in cúbico).

curvas.cubica_salida(progreso decimal) decimal

Como cuadratica_salida pero con un frenado más marcado (ease-out cúbico).

curvas.cubica_entrada_salida(progreso decimal) decimal

Ease-in-out cúbico: transición más pronunciada que la cuadrática en ambos extremos.

curvas.cuartica_entrada(progreso decimal) decimal

Ease-in de cuarto grado: arranque aún más lento que el cúbico.

curvas.cuartica_salida(progreso decimal) decimal

Ease-out de cuarto grado: frenado aún más marcado que el cúbico.

curvas.cuartica_entrada_salida(progreso decimal) decimal

Ease-in-out de cuarto grado.

curvas.quintica_entrada(progreso decimal) decimal

Ease-in de quinto grado: el arranque más suave de la familia polinómica.

curvas.quintica_salida(progreso decimal) decimal

Ease-out de quinto grado: el frenado más suave de la familia polinómica.

curvas.quintica_entrada_salida(progreso decimal) decimal

Ease-in-out de quinto grado.

curvas.senoidal_entrada(progreso decimal) decimal

Arranque suave basado en una onda seno (más suave que el cuadrático, menos marcado que el cúbico).

curvas.senoidal_salida(progreso decimal) decimal

Frenado suave basado en una onda seno.

curvas.senoidal_entrada_salida(progreso decimal) decimal

Ease-in-out basado en una onda seno.

curvas.circular_entrada(progreso decimal) decimal

Arranque basado en un cuarto de círculo: se siente distinto a las curvas polinómicas o senoidales.

curvas.circular_salida(progreso decimal) decimal

Frenado basado en un cuarto de círculo.

curvas.circular_entrada_salida(progreso decimal) decimal

Ease-in-out circular.

curvas.exponencial_entrada(progreso decimal) decimal

Arranque casi plano que se dispara al final (crecimiento exponencial).

curvas.exponencial_salida(progreso decimal) decimal

Salida disparada al principio que se aplana al final.

curvas.exponencial_entrada_salida(progreso decimal) decimal

Ease-in-out exponencial: muy plano en los extremos, muy rápido en el medio.

curvas.elastica_entrada(progreso decimal) decimal

Arranque con rebote tipo resorte antes de asentarse (efecto "elástico"). El resultado puede sobrepasar [0, 1].

curvas.elastica_salida(progreso decimal) decimal

Como elastica_entrada pero el rebote ocurre al llegar al final.

curvas.elastica_entrada_salida(progreso decimal) decimal

Rebote elástico tanto al empezar como al terminar.

curvas.retroceso_entrada(progreso decimal) decimal

Retrocede un poco antes de avanzar (como tomar impulso). El resultado puede sobrepasar [0, 1].

curvas.retroceso_salida(progreso decimal) decimal

Se pasa un poco del destino antes de asentarse.

curvas.retroceso_entrada_salida(progreso decimal) decimal

Retroceso al empezar y sobrepaso al terminar.

curvas.rebote_entrada(progreso decimal) decimal

Simula una pelota que rebota antes de llegar al valor inicial, en reversa.

curvas.rebote_salida(progreso decimal) decimal

Simula una pelota rebotando varias veces hasta quedarse quieta en el destino.

curvas.rebote_entrada_salida(progreso decimal) decimal

Rebote tanto al empezar como al terminar.