Funkcje łagodzące

11

Zacząłem angażować się w funkcje łagodzące (Flash AS3), próbując zrozumieć stronę TweenLite i Roberta Pennera: http://www.robertpenner.com/easing/

Pytanie, jakie mam, to jaka jest podstawa matematyczna tych funkcji. Widziałem, jak inne witryny modyfikują funkcje, aby utworzyć niestandardową funkcję łagodzenia.

Tetrad
źródło
1
Myślę, że jest to dość dobrze i obszernie wyjaśnione w pliku PDF na stronie Roberta Pennersa: robertpenner.com/easing/penner_chapter7_tweening.pdf
bummzack

Odpowiedzi:

6

Dobrze tweening w ogólnym przypadku jest tylko ruchem parametrycznym (konkretnie, zdefiniowaniem funkcji f (x), gdzie x może wynosić 0..1 dla pozycji / obrotu / skali / cokolwiek) z modyfikatorem wartości parametrycznej, którą przekazujesz. Modyfikator ma również zakres 0..1.

Jeśli narysujesz algorytm na wykresie, otrzymasz coś, co zaczyna się od 0, kończy na 1, a nachylenie krzywej określa prędkość w tym momencie.

Jeśli chcesz matematyki dla samych funkcji łagodzenia, sprawdź to: http://iphonedevelopment.blogspot.com/2010/12/more-animation-curves-than-you-can.html

Tetrad
źródło
4

Napisałem podkład na interpolację, który może się przydać - http://iki.fi/sol/interpolation/

Innym doskonałym źródłem informacji jest to interaktywne narzędzie: http://www.gizma.com/easing/

Jari Komppa
źródło
Ten pierwszy link jest bardzo pouczający. Dobry artykuł.
bummzack
@JariKomppa Muszę zapytać, skąd pochodzi (3-2 (x))? I dlaczego x ma nawiasy? Czy nie zawsze powoduje to 3- (2 * x)?
Sidar
@ Sidar Nie pamiętam od razu, skąd pochodzi formuła, ale w zasadzie jest to spline specjalnego przypadku (co prowadzi do prostej formuły). (X) wynika z formy makra - „x” może być dowolnym, na przykład „3 + 7”, co prowadziłoby do (3-2 * (3 + 7)), a nie (3-2 * 3 + 7).
Jari Komppa