• Aucun résultat trouvé

Quelques mots sur l’animation

N/A
N/A
Protected

Academic year: 2022

Partager "Quelques mots sur l’animation"

Copied!
36
0
0

Texte intégral

(1)

Quelques mots sur l’animation

Marc Neveu

(2)

Les rôles de la simulation graphique et de l'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 chaleur

Expérimentation souvent coûteuse, voire impossible (collision de véhicules, explosions)

simulations graphiques des phénomènes

repose sur les techniques d'animation.

animation = modification de scène au cours du temps

Scène tridimensionnelle composée de 3 types d'entités évoluant au cours du temps:

~ Objets

~ caméras

~ lumières

(3)

Les précurseurs

Le phénaskistiscope Joseph Plateau, 1833

zootrope W. G. Horner, 1834 praxinoscope Émile Reynaud 1877

(4)

Le numérique- les débuts

Le secret de la pyramide - Barry Levinson (1985) La Faim - Peter Foldes (1974)

Luxo. Pixar.(1986)

(5)

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)

(6)

Capture de Mouvement

Optique :

capteurs réflectifs (marqueurs) attachés au corps de la vraie personne.

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.

(7)

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

(8)

exemples

(9)

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,yji) N points 3D (xj,yj,zj) i=1..C, j=1..N

(10)

Animation par images-clés

Principe

En entrée :une série d'images à des temps donnés En 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

(11)

Animation par images-clés

Soient 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 RT=2,RS=2 N’2 = 15

T=0 ½ 1

(12)

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.

(13)

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…)

(14)

Animation procédurale

• Algorithme décrivant le mouvement

créer OBJET (...);

TEMPS = 0;

tantque Y > 0

Y = INITIALE – ½*G*TEMPS^2 deplacer (OBJET, X,Y,Z);

dessiner OBJET;

enregistrer l'image effacer OBJET

TEMPS:=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'image effacer HORLOGE Ex : pendule

simulation

(15)

Squelette + habillage

(16)

Cinématique : directe/inverse

A

B directe

inverse

(17)

Interpolations

Liné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)

(18)

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

 

i

i i+1

i+1 i

(t') = (1-t') + t' avec t'= t-t t' 0,1

t -t

(19)

Interpolations : splines

Pi

Pi-1

Pi+1 Pi+2 TiI

TiO

( , , t P T T

i i iI

,

iO

) ( t

i1

, P T T

i1

,

iI1

,

iO1

)

 

2 3

1 1

( )

, ,

i i i

i i i i i

i i i i

t t t t t t

X t A B C D

i i i

avec i t

t t t t

  

     

                  

   

(20)

Interpolations : splines

1

1 1

1 1 1

3( ) (2 )

2 3 2( ) ( )

i i i i

O

i i i i i i i

O O I

i i i i i i i

I 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

 

 

       

  

        

 

           

 

t ti

en posant s on peut écrire i

 

1 1 2 3 1

3 2

3 2

1

3 2

2

3 2

3

( ) ( ) ( ) ( ) ( )

( ) 2 3

( ) 2 3

( ) 2

( )

O I

i 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

1

3 3 2 1

' ( ) 1

0 0 1 0

1 0 0 0

i O

i I i

Pi c est à dire X t s s s Pi

iT iT

 

   

 

 

Splines de Hermite

(21)

Continuité

Pi Pi-1

Pi+1 Pi+2 TiI

TiO

Pi

Pi-1 TiI Pi+1 Pi+2

TiO

Pi Pi-1

Pi+1 Pi+2 TiI

TiO

G0 ou C0 continuité

G1 continuité

C1 continuité

=

= k

(22)

Choix des vecteurs tangents

1) On choisit t

i

= i

i i+1

, i=i, et [t ,t ]=[0,1]

  i

On a la C1 continuité : splines de Catmull Rom

 

I O

i i

1 (Pi+1-Pi-1)

2) On choisit T =T = (Pi+1-Pi)+(Pi-Pi-1) =

2 2

(23)

Choix des vecteurs tangents

   

I O i

i 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).

(24)

Choix des vecteurs tangents

 

I i i

i i+1 i i i-1

O i i

i 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,1

2 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.

(25)

Choix des vecteurs tangents

 

I O i i

i 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

(26)

Combinaison des 3

 

I i i i i i i

i i+1 i i i-1

O i i i i i i

i 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,1

i

     

     

    

= Splines de Kochanek-Bartels

(27)

Abscisse curviligne

b b b 2 2

a a a

ds df

L= 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ésimal

df

df=f(t+dt)-f(t)= .dt dt

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

(28)
(29)
(30)
(31)

 

i i+1 i

i+1 i

(t') = (1-t') + t' avec t'= t-t t' 0,1

  

t -t 

(32)
(33)
(34)

Lissage de la progression : accélération (ease-in) et décélération (ease-out)

Contrôle de la vitesse

(35)
(36)

Références

Documents relatifs

permet de déclarer un objet r de la classe Rectangle, de construire le rectangle r de longueur 10 et de largeur 4. (on réserve l'espace de mémoire pour mémoriser les champs

 Je peux aussi le conjuguer si c’est un verbe, changer le genre et le nombre (quand cela est possible), écrire ses homophones en faisant des phrases, écrire des mots de la

Public : personne adulte en situation de handicap, reconnue par l’AViQ ou susceptible de l’être, désireuse d’un accompagnement individuel dans l’emploi ou un projet

Quelques techniques utilisées en génie génétique. Techniques faisant intervenir des enzymes de

Pour attirer plus la clientèle, il décide d’adopter des boîtes spéciales en forme de tronc de pyramide, obtenus en coupant une pyramide de h

quelques trames, Subset fait aller clock avec des fait aller clock avec des valeurs proportionnelles valeurs proportionnelles. aux trames 1 à 100, mais en aux trames 1 à 100,

après avoir lancé un dé .... (définir sa

Nous avons travaillé pendant neufs séances de 2h sur le projet de liaison routière entre Fos et Salon avec nos professeur-e-s et les animateurs-trices de