quelques mots sur l’animation marc neveu. les rôles de la simulation graphique et de...
TRANSCRIPT
Quelques mots sur l’animation
Marc Neveu
Les rôles de la simulation graphique et del'animation par ordinateur
Importance du temps dans l'évolution des phénomènes:~ mouvement de systèmes électromécaniques (robots)~ réactions chimiques~mouvements de fluides, de gaz (nuages)~ conduction de la chaleurExpérimentation souvent coûteuse, voire impossible (collisionde véhicules, explosions)simulations graphiques des phénomènesrepose sur les techniques d'animation.
animation = modification de scène au cours du tempsScène tridimensionnelle composée de 3 types d'entités évoluant aucours du temps:~ Objets~ caméras~ lumières
Les précurseursLe phénaskistiscope Joseph Plateau, 1833
zootrope W. G. Horner, 1834 praxinoscope Émile Reynaud 1877
Le numérique- les débuts
Le secret de la pyramide - Barry Levinson (1985)
La Faim - Peter Foldes (1974)
Luxo. Pixar.(1986)
Le numérique
The adventures of André and Wally B.- John Lasseter (1984)
Jurassic Park –Steven Spielberg (1993)
Geri's game - Jan Pinkava (1997) Shrek - Dreamworks (2001)
Capture de Mouvement
Optique : capteurs réflectifs (marqueurs) attachés au corps de la vraiepersonne.positions des marqueurs positions correspondantes pour le modèle animé.Ex : petits capteurs aux articulations d’une personne et on enregistre la position de ces capteurs selon plusieurs directions.d’où la reconstruction des positions 3D de chaque point-clé à chaque instant.
Avantages : liberté de mouvement, pas de câblage.Inconvénients : occlusions, difficulté de distinguer 2 marqueurs proches
Solutions : plus de caméras, mais le coût devient prohibitif.La plupart des systèmes opèrent avec 4-6 caméras.Exemple de systèmes optiques: Elite, MultiTrax.
Magnétique : une personne porte un ensemble de capteurs magnétiques (capables de mesurer leur relation spatiale par rapport à un transmetteur magnétique centralisé).La position et l’orientation de chaque capteur sont utilisées ensuite pour faire mouvoir l’acteur digital. => synchronisation des récepteurs.
Ex : pour le mouvement du corps humain, 11 capteurs sont nécessaires:· un sur la tête· un sur chaque bras· un sur chaque main· un autre au centre de la poitrine· un sur le bas du dos· un à chaque cheville· un sur chaque pied
On utilise la cinématique inverse pour calculer le reste de l’information nécessaire.
Les systèmes les plus populaires sont: Polhemus Fastrack et Ascension Flock of Birds
Capture de Mouvement
exemples
Caméra 1 Caméra 2 Caméra C
Point 1
Point 2
Point N
Mise en correspondance
N points Pj repérés dans C repères 2D Ri (xji,yj
i) N points 3D (xj,yj,zj) i=1..C, j=1..N
Animation par images-clésPrincipeEn entrée :une série d'images à des temps donnésEn sortie : les images intermédiaires par interpolation.
Ex : transformer une forme géométrique en une autre lors d'une animation.
A1/2 B1/2 D1/2
C1/2
A1 D1
C1 B1
A0 B0
C0 D0
T = 0 ¼ ½ ¾ 1
Animation par images-clésSoient N1 et N2 les nombres de sommets des 2 lignes polygonales.Si N1 > N2 alors
RT:=(N1-1) div (N2-1) RS:=(N1-1) mod (N2-1)on ajoute RT points aux RS premiers segments et RT-1 aux autres.
N1 = 15
N2 = 7 N’2 = 15RT=2,RS=2
T=0 ½ 1
Animation par images-clés
-La méthode de prétraitement vue pour les segments peut être étendue aux facettes d’objets 3D -mais plus complexe car il faut assurer une correspondance entre facettes et sommets. Il faut donc ajouter des facettes et des sommets pour que les 2 images clés en aient le même nombre (= morphing 3D).
morphing 2D : extension de la méthode des images-clés à une interpolation selon les pixels plutôt que les sommets de figures.
Animation par images-clés
Problème : si on interpole des positions
=>Interpolation paramètrique (paramètres de position et de forme, lumière, caméra, etc…)
Animation procédurale
• Algorithme décrivant le mouvement
créer OBJET (...);TEMPS = 0;tantque Y > 0
Y = INITIALE – ½*G*TEMPS^2deplacer (OBJET, X,Y,Z);dessiner OBJET;enregistrer l'imageeffacer OBJETTEMPS:=TEMPS+1/25;
Ex : chute libre d’un objet
créer HORLOGE (...);pour IMAGE:=1 a NB_IMAGES
TEMPS:=TEMPS+1/25;ANGLE:=A*SIN (OMEGA*TEMPS+PHI);MODIFIER (HORLOGE, ANGLE);dessiner HORLOGE;enregistrer l'imageeffacer HORLOGE
Ex : pendule
simulation
Squelette + habillage
Cinématique : directe/inverse
A
B
directe
inverse
InterpolationsLinéaire : (1-t) A +t B
Exemples :
A et B sont 2 points 3D dans les clés successives
(points de l’objet, positions de caméra)
A et B sont 2 angles (articulation d’un squelette)
A et B sont deux intensités (variation de lumière)
Interpolations : linéaire
discontinuités au niveau de la dérivée, donc de la vitesse => animation saccadée.
t 0 2 5 8
10 20 45 100
exemple: articulation d'un bras de robot caractérisée par un angle (t) .supposons :
t’ (2-1/25)/2=49/50 2 (2+1/25-2)/3=1/75 …
1*10/50+49*20/50=19.8 20 74*20/75+1*45/75=20.33 …
’≈a/t 0.2*25=5 0.33*25≈8.25
ii i+1
i+1 i
t-t(t') = (1-t') + t' avec t'= t' 0,1
t -t
Interpolations : splines
Pi
Pi-1
Pi+1 Pi+2TiI
TiO
( , , , )I Oi i i it P T T 1 1 1 1( , , , )I O
i i i it P T T
2 3
1 1
( )
, ,
i i ii i i i i
i i i i
t t t t t tX t A B C D
i i i
avec i t t t t t
Interpolations : splines
1
1 1
1 1 1
3( ) (2 )
2 3 2( ) ( )
i i i iO
i i i i i i iO O I
i i i i i i iI O I
i i i i i i i i i
A P A P
A B C D P B iT
B iT C P P i T T
B C D iT D P P i T T
it ten posant s on peut écrire
i
1 1 2 3 1
3 2
3 21
3 22
3 23
( ) ( ) ( ) ( ) ( )
( ) 2 3
( ) 2 3
( ) 2
( )
O Ii o i i i i
o
X t H s P H s P H s iT H s iT
avec
H s s s
H s s s
H s s s s
H s s s
3 2
1
2 2 1 1
13 3 2 1' ( ) 1
0 0 1 0
1 0 0 0
i OiIi
Pi
Pic est à dire X t s s s
iT
iT
Splines de Hermite
Continuité
Pi
Pi-1
Pi+1 Pi+2TiI
TiO
PiPi-1
Pi+1 Pi+2TiI
TiO
Pi
Pi-1
Pi+1 Pi+2TiI
TiO
G0 ou C0 continuité
G1 continuité
C1 continuité
=
= k
≠
Choix des vecteurs tangents
1) On choisit ti = ii i+1, i=i, et [t ,t ]=[0,1]i
On a la C1 continuité : splines de Catmull Rom
I Oi i
1 (Pi+1-Pi-1)2) On choisit T =T = (Pi+1-Pi)+(Pi-Pi-1) =
2 2
Choix des vecteurs tangents
I O ii i i+1 i i i-1 i
3) Tension
(1- )On choisit T =T = (P -P )+(P -P ) 1,1
2
=1 =-1
contrôle « comment » la courbe se tend au point Pi. (courbe tendue, lâche).
Choix des vecteurs tangents
I i ii i+1 i i i-1
O i ii i+1 i i i-1 i
4) Continuité
(1+ ) (1- )On choisit T = (P -P )+ (P -P )
2 2(1- ) (1+ )
T = (P -P )+ (P -P ) 1,12 2
=-1 Ni C1, ni G1
contrôle la continuité au point Pi en direction et vitesse. Ex : balle rebondissant sur un mur => discontinuité du mouvement au point d’impact, la balle ne freine pas avant de rencontrer le mur.
Choix des vecteurs tangents
I O i ii i i+1 i i i-1 i
5) Biais
(1- ) (1+ )On choisit T =T = (P -P )+ (P -P ) 1,1
2 2
=1 =-1
contrôle la direction de la trajectoire au point Pi. Ceci permet à l’animateur d’anticiper ou de retarder une position ou un événement
Combinaison des 3
I i i i i i ii i+1 i i i-1
O i i i i i ii i+1 i i i-1
i i
(1- )(1+ )(1- ) (1- )(1- )(1+ )T = (P -P )+ (P -P )
2 2(1- )(1- )(1- ) (1- )(1+ )(1+ )
T = (P -P )+ (P -P )2 2
, , 1,1i
= Splines de Kochanek-Bartels
Abscisse curviligne
b b b 2 2
a a a
ds dfL= ds = .dt = .dt = x'(t) +y'(t) .dt
dt dt
Soit un arc paramétré C1 donné par f(t)=(x(t),y(t)) pour t dans [a,b].
déplacement infinitésimaldf
df=f(t+dt)-f(t)= .dtdt
Notons sa norme ds = longueur infinitésimale parcourue pendant l'intervalle de temps dt. Alors la longueur de l'arc est obtenue en sommant ces longueurs élémentaires
On résume cette formule en exprimant la longueur infinitésimale sous la forme ds2 = dx2 + dy2
ii i+1
i+1 i
t-t(t') = (1-t') + t' avec t'= t' 0,1
t -t
Lissage de la progression : accélération (ease-in) et décélération (ease-out)
Contrôle de la vitesse