Quelques mots sur l’animation Marc Neveu. Les rôles de la simulation graphique et de...

Preview:

Citation preview

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

Recommended