Download as pdf or txt
Download as pdf or txt
You are on page 1of 50

Computer Animation

Contents
o Introduction
o Key points and intermediate points
o Classic animation
o Current animation
o Automate animation - fragmentation
o Linear interpolation
o Speed control and linear interpolation
o Curve interpolation - Spline
o Movement control on the curve trajectory
o Orientation interpolation
o Camera movement
o Complex objects animation
o Articulated structures kinematics
o Other animations: morphism, movement caption, particle system,
groups

Elements of Computer Assisted Graphics 2


Introduction
o Pixar, 1978, Graphics Group, Ed Catmul – cofounder
o 1986 – acquired by Apple, 2006 – acquired de Walt
Disney Company.

Toy Story (1995) Ratatouille (2007)


A Bug's Life (1998) WALL-E (2008)
Toy Story 2 (1999) Up (2009)
Monsters, Inc. (2001) Toy Story (2010)
Finding Nemo (2003) Cars 2 (2011)
The Incredibles (2004) Brave (2012),
Cars (2006) Monsters University (2013)

Elements of Computer Assisted Graphics 3


Introducere
o DreamWorks, 1994
o Movies:
Antz (1998),
Shrek (2001), Shrek 2 (2004), Shrek 3 (2007), Shrek Forever After
(2010),
Spirit: Stallion of the Cimarron (2002),
Madagascar (2005), Madagascar: Escape 2 Africa (2008), Over the
Hedge (2006), Flushed Away (2006), Bee Movie (2007),
Kung Fu Panda (2008), Kung Fu Panda 2 (2011),
Monsters Vs. Aliens (2009), How to Train Your Dragon (2010),
Megamind (2010), Puss in Boots (2011),
Madagascar 3 (2012), Rise of the Guardians (2012), The Croods (2013),
Turbo (2013), How to Train Your Dragon 2 (2014),
Penguins of Madagascar (2014), Home (2015)
Bridge of Spies (2015)

Elements of Computer Assisted Graphics 4


Introducere
o Walt Disney Company
o Cartoons:
The Little Mermaid (1989)
Beauty and the Beast (1991)
Aladdin (1992)
The Lion King (1994)
Hercules (1997)
Mulan (1998)
Tarzan (1999)
Monsters, Inc. (2001)
The Lost Empire (2001)
WALL-E (2007)
The Princess and the Frog (2009)
Winnie the Pooh (2011)
Frozen (2013)
Big Hero 6 (2014)
Cinderella (2015)
Zootopia (2016)
Jungle Book (2016)

Elements of Computer Assisted Graphics 5


Introducere
o Animation – movement illusion by rapid display of different image
sequence
o Classic approach:
1. Define a sequence of keyframes
2. Render the intermediate frames computed by the first and the
last keyframes

Elements of Computer Assisted Graphics 6


Introducere
o Calcularea cadrelor intermediare creaza senzatia de animatie,
modificand:
o Atributele obiectelor (pozitie, forma, culoare etc)
o Atributele camerei de luat vederi (pozitia, orientarea etc)
o Atributele surselor de lumina (intensitate luminoasa, pozitie,
culoare etc).
o Calcularea valorilor intermediare intre doua valori limita (ex. pozitie,
culoare, orientare, intensitate, etc) se realizeaza prin interpolare: liniara,
curbilinie etc.

v2 v1, v2
v
v1 u1, u2
v
Interpolator

u
u1 u u2

Elements of Computer Assisted Graphics 7


Calcularea pozitiilor cheie
o Cinematica directa
o Cinematica inversa
o Modelarea sistemelor fizice
o Modelarea bazata pe constringeri
o Modelarea procedurala
o Modelarea bazata pe comportament
o Captarea pozitiilor cheie prin senzori montati pe obiectele reale

Elements of Computer Assisted Graphics 8


Calcularea pozitiilor intermediare
Modificarea unor caracteristici ale sistemului de vizualizare.
1. Pentru obiectele din scena:
Pozitia
Orientarea
Dimensiunea
Forma
Culoarea
Transparenta

2. Pentru camera de luat vederi:


Punctul de vedere
Punctul de interes
Unghiul de vedere

3. Pentru sursa de lumina:


Pozitia
Intensitatea luminii

Elements of Computer Assisted Graphics 9


Calcularea pozitiilor intermediare
ui = u0 + i ∆u
vi = v0 + i ∆v vn
vi
unde
v0
∆u = (un – u0)/n
∆v = (vn – v0)/n

Intr-o forma iterativa: u0 ui un

ui+1 = ui + ∆u
vi+1 = vi + ∆v

Elements of Computer Assisted Graphics 10


Calcularea pozitiilor intermediare
Generalizand in spatiul valorilor Pn
Pi
P0

Fie P0, Pn valorile parametrului sau atributului P in cadrele 0 si n.


Pi = P0 + i ∆P, unde ∆P = (Pn – P0)/n
Pi = P0 + i ∆P = P0 + i/n (Pn – P0)
daca notam u = i/n, u є [0, 1]
Pi = P0 + u (Pn – P0), ecuatia parametrica a variatiei liniare
Intr-o forma iterativa:
Pi+1 = Pi + ∆P
Exemple: P poate fi unghi de orientare, viteza, acceleratie, pozitie,
dimensiune, intensitatea luminii, nivelul de transparenta etc.

Elements of Computer Assisted Graphics 11


Morfism
o Transformarea unei forme in alta

Pi Pn
P0

Elements of Computer Assisted Graphics 12


Animatia clasica
Tehnica traditionala de animatie este foarte laborioasa:
1. Definirea unui scenariu
2. Desenarea cadrele cheie care definesc actiunea (desenator principal)
3. Desenarea cadrele intermediare pentru a completa animatia (echipa de
desenare)

Elements of Computer Assisted Graphics 13


Animatia actuala
1. Lansarea unei idei de poveste de animatie.
2. Elaborarea unui document care descrie principala idee a povestii
animate.
3. Benzi desenate care schiteaza principalele secvente de actiuni si
dialoguri. Se evidentiaza principalele trairi emotionale ale personajelor.
4. Se inregistreaza vocile initiale (ex. ale membrilor echipei de desenatori si
scenaristi). Acestea vor fi inlocuite ulterior de vocile unor actori.
5. Realizarea primei videobenzi care contine deja materialele din care se va
edita filmul de animatie.
6. Departamentul de arta creaza aspectul grafic (ex. Look and feel) al
mediului si al presonajelor.
7. Modelarea 3D a personajelor.

Referinta: Metodologia Pixar, http://www.pixar.com/howwedoit/index.html

Elements of Computer Assisted Graphics 14


Animatia actuala (2)
8. Se creaza instante 3D ale scenelor semnificative ale pozitiilor si starilor
emotionale ale personajelor. Aceste instantieri sunt fotografiate.
9. Instantele sunt animate. Animatorii nu deseneaza sau coloreaza
personajele. Ei sunt ca niste actori sau papusari. Folosind unelte
software specializate animatorii creaza coregrafia miscarilor si
expresiilor faciale ale personajelor, in fiecare scena. Acestea sunt cadre
cheie. Cadrele intermediare sunt realizate de catre calculator.
10. Se creaza umbrele si texturile pe suprafetele obiectelor. Forma
obiectelor a fost data de catre model (pasul 7).
11. Sunt introduse surse de lumina si se creaza efectele speciale de lumini.
12. Calcularea animatiei de catre sistemul de calcul, folosind toate
informatiile specificate pana acum. Sunt create cel putin 24 de cadre
pentru o secunda de film. Calcularea unui cadru dureaza cateva ore
(ex. De la cateva la zeci de ore).
13. Sunt adaugate efectele speciale de sunet si animatie.

Elements of Computer Assisted Graphics 15


Animatia automata - fragmentarea
o Calcularea cadrelor intermediere prin algoritmi de interpolare
o Cadrele cheie corespund valorilor parametrilor in anumite momente de
timp
o Calitatea fragmentarii este mai slaba decit cea obtinuta manual
o Solutii: (a) mai multe cadre intermediare, (b) “netezirea” trecerilor de
la un cadru la altul

Elements of Computer Assisted Graphics 16


Interpolarea liniara
o Cea mai folosita tehnica de calculare a valorilor intermediare pentru un
interval dat
o Fie doua valori p0 si p1 ale parametrului p la momentele t0 si t1, o
valoare intermediara este:
p1
p
t 1- t t - t0 p0
p(t) = p0 + p1 (1)
t 1- t 0 t 1- t 0

sau alte forme ale aceleiasi expresii:


t - t0 t0 t t1
p(t) =p0 + (p1 - p0) (2)
t 1- t 0

p 0 t1 - p 1 t0 p1 - p0
p(t) = +t (3)
t 1- t 0 t 1- t 0

p1 - p0
p(t + ∆t) = p(t)+ ∆t (4)
t 1- t 0

Elements of Computer Assisted Graphics 17


Interpolarea liniara
o Avantaje:
n Modificarea valorii uni parametru de-a lungul unui segment este
liniara (3).
n Rata schimbarii de-a lungul unui segment este constanta si poate
fi controlata (4).
n Calcularea valorii la momentul t+∆t se face simplu prin adunarea
unei constante la valoarea precedenta la momentul t.
o Dezavantaje:
n Exista discontinuitati in toate pozitiile de conectare a segmentelor
(ex. Cadre/ pozitii cheie Po, P1, P2).

P0(x0, y0, t0) P2(x2, y2, t2)


P0(x0, y0, t0) P2(x2, y2, t2)

P1(x1, y1, t1) P1(x1, y1, t1)

Elements of Computer Assisted Graphics 18


Controlul vitezei
o Fiind data o functie de modificare a unui parametru (1-4) se doreste
controlul acestei modificari (animatii) in functie de variabila timp.
o In functie de timp se poate controla o viteza variabila de modificare a
parametrului (animatie).

o Fie aceasta functie τ = f(t). Se trece la variabila τ in expresia de


interpolare liniara:

f(t1) – f(t) f(t) – f(t0)


p(τ) = p(f(t)) = p0 + p1
f(t1) – f(t0) f(t1) – f(t0)

Elements of Computer Assisted Graphics 19


Interpolarea Spline
o Alaturi de interpolarea liniara se foloseste intepolarea curbilinie pe baza
curbelor Spline (curbe parametrice).
o Avantaje:
n Permite un control continuu al modificarii
n Numarul de cadre intermediare poate fi determinat in functie de calitatea
ceruta pentru animatie

o Dezavantaje:
n Calculul punctelor de control al curbelor spline se face pe baza unor
constringeri de interpolare definite pentru punctele de control
n Sunt necesare informatii suplimentare (Ex. vectorii tangenta la capete)

n Calcularea curbelor spline dureaza mai mult


n Implementare mai dificila

Elements of Computer Assisted Graphics 20


Interpolarea Spline

Elements of Computer Assisted Graphics 21


Curbe Spline
B-splines: permit control automat al continuitatii, insa doar aproximeaza
punctele de control, fara a trece prin ele. Permit control local.
Modificarea unui punct de control afecteaza numai partea din
vecinatatea acelui punct de control.
Non-uniform B-spines: necesare pentru a intrerupe continuitatea.
Non-uniform rational B-splines (NURBS): permit controlul local
suplimentar al formei curbei.
Bézier: necesita informatii suplimentare pentru fiecare segment si nu mentin
automat continuitatea. Interpoleaza insa, capetele segmentelor.
Ajustarea cuplarii netede se face prin punctele de control de la capete.
Hermite: necesita definirea vectorilor tangenta pentru fiecare cadru cheie.
Ajustarea cuplarii netede se face prin reglarea tangentelor de la capete.
Catmull-Rom: asigura continuitatea primei derivate (traiectorie neteda).
Catmull-Rom permit controlul local.
Beta-splines: permit continuitatea automata, controlul asupra tangentei si
aproximeaza lungimea arcului fiecarui segment.

Elements of Computer Assisted Graphics 22


Controlul pe traiectorie
o Pentru deplasarea pe traiectorie sunt necesare doua facilitati de baza:
1. Controlul independent al vitezei de-a lungul traiectoriei
2. Controlul continuitatii
o Curbele spline permit controlul continuitatii, insa controlul vitezei este
mai dificil.
o Interpolarea pozitiei pe curba spline permite controlul continuitatii
pozitiilor, insa:
n Un increment egal al parametrului spline nu corespunde
intotdeauna unui increment egal in distanta de-a lungul curbei.
n Segmente diferite ale curbei spline, corespunzatoare aceleiasi
lungimi parametrice, pot avea lungimi fizice diferite.
n Daca curba spline este parametrizata direct in functie de variabila
timp, animatia va fi cu viteza ne-uniforma.

Elements of Computer Assisted Graphics 23


Parametrizarea distantei pe curba
Se parcurg urmatorii pasi de transformare:
1. Fiind dat un pas spline P(u) = | x(u), y(u), z(u)|, se calculeaza
lungimea arcului spline ca o functie de u: s = A(u).
2. Se determina functia inversa A(u): u = A-1(s).
3. Se substituie u = A-1(s) din P(u) pentru a afla parametrizarea caii de
miscare prin lungimea arcului, s: P(s) = P(A-1(s)).
Observatie: parametrul u (si astfel s) trebuie sa fie parametru global pentru
toate segmentele curbei spline initiale.

Elements of Computer Assisted Graphics 24


Controlul vitezei pe curba
Controlul vitezei de-a lungul traiectoriei spline:
o Fie s = f(t) definitia distantei pe curba spline, ca o functie de timpul t.
o Functia f(t), ca o valoare scalara, poate fi prelucrata printr-o tehnica de
animatie functionala (ex. o alta curba spline).
o Functia f(t) poate fi exprmata ca o integrala a functiei viteza, v(t) =
df(t)/dt.
Observatie: integrala unei functii spline poate fi calculata analitic, prin
intermediul punctelor de control.
o Pasul de miscare ca o functie de timp este data de:
P(s) = P(f(t)) = P(A-1(f(t)))

Elements of Computer Assisted Graphics 25


Interpolarea orientarii
o Interpolarea orientarii se calculeaza indirect prin interpolarea
unghiurilor si nu prin matrici de transformare:
n In 2D orientarea e definita de un singur unghi, iar animarea este
relativ simpla
n In 3D se utilizeaza trei unghiuri, iar topologia este a unei sfere in
patru dimensiuni. Interpolarea este mai greu de vizualizat.

o Metode pentru interpolarea orientarii obiectelor


n Unghiuri Euler
n Quaterni
n Interpolarea sferica si liniara

Elements of Computer Assisted Graphics 26


Unghiuri Euler
o Se folosesc trei unghiuri: rotatie dupa x, apoi rotatie dupa y si apoi
rotatie dupa z.
o Dezavantaje: dificil de rezolvat problema inversa – fiind data
orientarea, care sunt unghiurile?
o Avantaje: Larg folosita in practica, usor de implementat, metoda
necostisitoare.

Elements of Computer Assisted Graphics 27


Quaterni
o Patru elemente analoage numerelor complexe. Calculele se bazeaza pe
operatii cu vectori si numere complexe.
o Dezavantaje: necesita matematica mai multa, interpolare costisitoare.
o Avantaje: rezolvare simpla a problemei inverse, interfata utilizator
simpla.

Elements of Computer Assisted Graphics 28


Miscarea camerei de luat vederi
o Animatia camerei poate fi realizata prin combinarea interpolarii
pozitiilor si a orientarii. Exista totusi citeva cerinte specifice cum ar fi:
n Camera trebuie sa fie intotdeauna orizontala, daca nu se specifica
alta directie.
n Imaginile obiectelor de interes trebuie sa fie stabile in planul
filmului.
n Specificarea miscarii camerei trebuie sa respecte anumite conditii
cinematice.

Elements of Computer Assisted Graphics 29


Animatia obiectelor cu forme complexe
o Fiind dat un model cu un foarte mare numar de virfuri, acestea pot fi
grupate si prelucrate ca o unitate. Exemplu, punctele care descriu
antebratul se misca mai mult sau mai putin ca un corp rigid.
o Conectivitatea intre grupuri poate fi reprezentata prin legarea fiecarui
grup la un „os” care face parte dintr-un „schelet” articulat.
o Oasele si virfurile asociate sunt tratate ca un singur obiect rigid in
operatiile de transformare.
o Miscarea oaselor este constrinsa de legaturile din schelet. Scheletul
este o structura articulta.
o Diferitele forme de conexiune (rotatie, unghi, sfera) permit diferite
forme de miscare.
o Animatia poate fi vizualizata rapid folosind trasarea doar a scheletului.
In final modelul este vizualizat fara oase.

Elements of Computer Assisted Graphics 30


Animatia obiectelor cu forme complexe

Ref: Automatic Splicing for Hand and Body Animations Majkowska, A., Zordan, V. B., Faloutsos, P.
ACM SIGGRAPH/Eugorgraphics Symposium on Computer Animation (SCA) 2006

Elements of Computer Assisted Graphics 31


Cinematica structurilor articulate
o Cinematica: studiul miscarii independenta de fortele care determina
miscarea. Considera pozitia, viteza si acceleratia.
1. Cinematica directa (φ, β, ω -> P(x,y,z))
2. Cinematica inversa (P(x,y,z) -> φ, β, ω )

P(x,y,z)

Elements of Computer Assisted Graphics 32


Cinematica directa
o Forward Kinematics
o Se calculeaza pentru toate legaturile dintr-un model articulat:
o Pozitiile
o Vitezele
o Acceleratiile
o Se dau:
o Pentru nodul radacina:
n Pozitia
n Viteza
n Acceleratia
o Toate transformarile dintre legaturi.
o Cinematica directa este importanta in animatia bazata pe cadre
scheletizate. Este o metoda relativ usor de implementat.

Elements of Computer Assisted Graphics 33


Cinematica inversa
o Inverse Kinematics
o Determinarea miscarii legaturilor intermediare dintr-un corp articulat
fiind data miscarea unor legaturi cheie.
o Caracteristici ale metodei bazate pe cinematica inversa:
n Neliniara, nedeterminata.
n Complexitatea determinarii solutiei este proportionala cu numarul
legaturilor libere.
n Imbinare libera dintre doua legaturi fixe poate fi rezolvata eficient
numai prin sacrificarea unui grad de libertate.
n Sunt necesare constringeri suplimentare pentru a obtine o solutie
unica si stabila. Exemplu, considerarea fortei gravitationale,
constringerile impuse de unele tipuri de articulatii (rotatie vs
sferica, genunchi vs umar).
n Obiective suplimentare de optimizare. Rezulta problema de
optimizare rezolvata iterativ ca un proces de animatie.
Exemplu: minimizarea energiei cinetice a structurii.
Elements of Computer Assisted Graphics 34
Tehnici alternative de animatie
o Transformare morfologica (Morfing)
o Captarea miscarii
o Sisteme de particule
o Grup (Flocking)

Elements of Computer Assisted Graphics 35


Transformarea morfologica

Elements of Computer Assisted Graphics 36


Transformarea morfologica
o Este transformarea de interpolare intre imagini (anii ‘70).
o Efecte bune la un cost redus.
o Pasii principali:
1. Partitionarea imaginilor in piese corespunzatoare. Exemplu, ochi
cu ochi, etc.
2. Interpolarea pieselor (geometria)
3. Interpolarea atributelor (pixeli, culori)
4. Filtrare

Elements of Computer Assisted Graphics 37


Captarea miscarii

Elements of Computer Assisted Graphics 38


Captarea miscarii

Elements of Computer Assisted Graphics 39


Captarea miscarii
o Animatiile complexe necesita o multime de cadre cheie (exemplu,
mersul unei persoane).
o Captarea pozitiilor cheie de la obiecte reale. Sunt inregistrate in model
pozitiile unor puncte cheie de pe obiectul real (ex. un actor).
o Tehnologii de urmarire a pozitiei:
n Senzori electromagnetici pentru pozitie si orientare. Necesita cabluri la
fiecare senzor. Citirea poate fi perturbata de cimpuri magnetice. Spatiul de
miscare este limitat.

n Triangulatie prin ultrasunete. Simplu dar mai putin precis decit senzorii
magnetici.
n Triangulatie optica. Sunt atasati emitatori pe obiectul urmarit. Doua camere
determina pozitia. Poate urmari mai multe puncte, fara a folosi cabluri.
n Costume de corp. Senzori care determina unghiurile din incheieturi sunt
inserati in tesatura hainelor.

Elements of Computer Assisted Graphics 40


Aplicatia Facerig
o Permite urmarirea expresiilor faciale folosind camera web
(https://facerig.com/).
o Urmarirea se face fara utilizarea unor markere (markerless tracking).
Recunoaste si urmareste trasaturile fetei cum ar fi narile, colturile
buzelor si ale ochilor, sau ridurile.

Elements of Computer Assisted Graphics 41


Sisteme de particule

Elements of Computer Assisted Graphics 42


Sisteme de particule
o Se pot modela obiecte „fuzzy” (vagi) cum ar fi:
n Obiecte cu margini neclare

n Obiecte cu margini care se schimba

n Obiecte cu comportament haotic. Exemple: nori, foc, apa, iarba, blana, etc.

o Pricipiul: modeleaza obiectele fuzzy ca multimi de particule.


o Fiecare particula are proprietati cum ar fi:
n Geometrie (punct, sfera, segment de dreapta)
n Pozitie
n Vector viteza
n Dimensiune
n Culoare
n Transparenta
n Stare
n Durata de viata

Elements of Computer Assisted Graphics 43


Animatia sistemelor de particule
o Noi particule se nasc, cele vechi mor
o Informatia de stare descrie tipul particulei
o La fiecare moment:
n Actualizeaza atributele tuturor particulelor

n Sterge particulele vechi

n Creaza noi particule

n Afiseaza starea curentìr a tuturor particulelor

o Pentru antialiasing, deseneaza un segment de dreapta din vechea spre


noua pozitie
o Pentru a desena iarba sau blana, deseneaza intreaga traiectorie a
particulei

Elements of Computer Assisted Graphics 44


Animatia grupurilor de animale

Elements of Computer Assisted Graphics 45


Animatia grupurilor de animale
o Animatia grupurilor de animale: stoluri de pasari (flocks), pesti, turme
de animale etc.
o Sunt prea multi indivizi pentru a fi animat fiecare prin cadre cheie.
o Elemente mai putine decit in sistemele de particule, dar cu mai multe
interactiuni.
o Se impune evitarea ciocnirilor cu alte obiecte (ex. cladiri, copaci) sau
intre ele.
o Grupul are un centru: fiecare membru incearca sa ramina membru al
grupului, centrul grupului este unul global, nu permite divizarea
grupului pentru a trece un obstacol.

Elements of Computer Assisted Graphics 46


Boids
o Operatii ale grupului
1. Separare
Evitarea aglomerarii

2. Aliniere
Alinierea la orientarea medie a grupului
local

3. Coeziune
Deplasare spre pozitia medie a grupului
local
o Ref.: Craig Reynolds, Boids,
http://www.red3d.com/cwr/boids/ (1986).

Elements of Computer Assisted Graphics 47


Questions and proposed problems
1. Exemplify the animation by modifying the object’s attributes.
2. Exemplify the animation by modifying the camera’s attributes.
3. Exemplify the animation by modifying the light source’s attributes.
4. Exemplify the value space for temperature, and an animation by
modifying the temperature. What could be the reference variable and
the value for a linear interpolation within the value space?
5. What is the main advantage in linear interpolation if the step of the
variable is a constant? How are computed the intermediate values?
6. Explain a solution for animated morphism of a triangle into a pentagon.
How do you control the transformation to be achieved by the same: (a)
time; (b) speed.
7. Explain a solution for animated morphism of a cube into a sphere. How
do you control the transformation to be achieved by the same: (a)
time; (b) speed.

Elements of Computer Assisted Graphics 48


Questions and proposed problems
8. Describe and exemplify the steps of the actual cartoon video
development methodology to animate a talking person.
9. Why initially to register the voices is necessary, even finally they will
be replaced?
10. Explain what means to build up the 3D model of the characters in the
cartoon video development methodology?
11. Explain and exemplify how are created the key frames for a cartoon
movie?
12. Why to animate a faster movement you need to register more than 24
frames per second? Explain why the movie does not replay all the
details of the movement?
13. Explain why the 12th step of the cartoon video development
methodology requires so high performance computation resources?
14. Explain the linear interpolation of the movement if the reference
variable is the time. The animation is performed between the time t1
and t2.

Elements of Computer Assisted Graphics 49


Questions and proposed problems
15. Describe what are the main issues on connecting two intervals of linear
interpolation movement? How do you achieve constant speed on the
trajectory?
16. Explain why the user cannot control the animation by the abstract
parameter u, on the parametric definition of the linear movement?
What parameters support the user control of the animation?
17. Exchange the abstract variable u to time, in order to control the
animation along a spline trajectory by the time.
18. Why the animation on the spline trajectory is controlled by difficulty?
What are the main issues?
19. Give examples in real life for direct and inverse kinematics.
20. Exemplify and explain a morphism for animating the development of a
leaf, movement cloud, and jumping ball.

Elements of Computer Assisted Graphics 50

You might also like