chapitre 2 contexte technique et outils...

88
CONTEXTE TECHNIQUE ET OUTILS MATHÉMATIQUES Chapitre 2 Olivier Vaillancourt, Olivier Godin Université de Sherbrooke 1

Upload: others

Post on 24-May-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

CONTEXTE TECHNIQUE ET OUTILS MATHÉMATIQUES

Chapitre 2

Olivier Vaillancourt, Olivier Godin Université de Sherbrooke

1

Page 2: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

CONTEXTE TECHNIQUE

2

Page 3: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1 - ESPACES ET TRANSFORMATION Ò  Les transformations géométriques sont

partout É  Changement de repère É  Déplacement dans le temps É  Projection

Ò  Représentation la plus utilisée : matrice 4x4 É  Rotation É  Translation É  Redimensionnement

Ò  Conventions de transformation É  Système main droite É  Axe des y = up-vector

3

Page 4: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1 – ESPACES ET TRANSFORMATIONS

Ò Espace objet É Espace du modèle 3D lui-même.

Ò Espace monde É Positionnement des lumières É Positionnement de la caméra É Vecteur de vision, centre d’intérêt

4

Page 5: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1 – ESPACES ET TRANSFORMATIONS

Ò  Espace caméra ou Espace oeil É Espace du point de vue de l’observateur

Ò  Espace image É Contient les points projetés É Habituellement c’est un espace normalisé (de -1 à 1)

Ò  Espace écran ou Espace fenêtre É  Image finale en pixels

5

Page 6: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1 – ESPACES ET TRANSFORMATIONS

Ò En résumé 1.  Espace objet 2.  Espace monde 3.  Espace oeil 4.  Espace image 5.  Espace fenêtre

Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition, Morgan Kaufmann, 2002, p.37 6

Page 7: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

TRANSFORMATIONS GÉOMÉTRIQUES

7

Page 8: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.2 – COORDONNÉES HOMOGÈNES

Ò Un point en 3 dimensions est représenté par un vecteur de 4 éléments

É Le 4e élément est utilisé pour le calcul d’une coordonnée en espace projectif (calcul de projection).

É La coordonnée du point est obtenue en divisant les 3 premiers éléments par le 4e.

8

Page 9: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.3 – COMPOSITION DE TRANSFORMATIONS

Ò  La composition de transformations peut s’effectuer en multipliant les matrices de transformations entre elles.

Ò  Associatif

Ò  Non-commutatif (l’ordre de multiplication est important)

9

Page 10: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.3 – COMPOSITION DE TRANSFORMATIONS

Ò Note: L’ordre des transformations se fait : É De droite à gauche si les matrices sont multipliées

par colonne É De gauche à droite si les matrices sont multipliées

par ligne

Ò Pour toute la session, on utilisera la multiplication par colonne.

10

Page 11: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.4 – TRANSFORMATION DE BASE

Ò  Types de transformation

É  Transformation rigide Ð  Préserve la forme et la taille de l’objet Ð  La translation et la rotation sont des transformations rigides.

É  Transformation qui préserve la similarité Ð  Préserve la forme de l’objet Ð  La translation, la rotation et le changement d’échelle uniforme sont des

transformations préservant la similarité

É  Transformation quelconque Ð  Les caractéristiques de l’objet ne sont pas préservées Ð  Translation, rotation, changement d’échelle quelconque

11

Page 12: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.4 – TRANSFORMATIONS DE BASE

Ò Translation

Ò Rotation autour de l’axe X

12

Page 13: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.4 – TRANSFORMATIONS DE BASE

Ò Rotation autour de l’axe Y

Ò Rotation autour de l’axe Z

13

Page 14: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.4 – TRANSFORMATIONS DE BASE

Ò Changement d’échelle non-uniforme

Ò Changement d’échelle uniforme

14

Page 15: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.4 – TRANSFORMATIONS DE BASE

Ò Changement de base É (Ici de la base universelle xyz à la base uvw)

15

Page 16: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.5 – REPRÉSENTATION D’UNE ORIENTATION ARBITRAIRE

Ò Matrice à partir d’une position

Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition, Morgan Kaufmann, 2002, p.42

16

Page 17: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.6 – EXTRACTION DE TRANSFORMATION

Ò  Il est possible d’extraire certaines transformations d’une matrice dans certaines conditions.

É La translation Ð 3 premiers éléments de la dernière colonne de la matrice

É L’orientation (s’il n’y a pas eu de changement d’échelle) Ð Matrice 3x3 supérieure gauche

É Le changement d’échelle (s’il n’y a pas eut de rotation) Ð 3 premiers éléments de la diagonale

17

Page 18: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

ERREUR D’ARRONDI ACCUMULÉE

18

Page 19: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ERREUR D’ARRONDI ACCUMULÉE

Ò  Une transformation peut être appliquée plusieurs dizaines de fois par seconde dans le cadre d’une animation.

Ò  La façon d’appliquer ces transformations va affecter l’accumulation d’erreur au cours de l’animation.

Ò  On cherche à réduire l’erreur apparente en l’isolant dans une variable n’affectant pas perceptiblement l’animation lorsqu’elle est erronnée.

19

Page 20: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ERREUR D’ARRONDI ACCUMULÉE

Ò Exemple utilisé pour l’explication: É Rotation Ry d’une sphère en orbite autour d’une

autre de S degrés par image.

20

Page 21: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ERREUR D’ARRONDI ACCUMULÉE

Ò  Méthode É Appliquer Ry,so à chaque point de

la sphère image après image.

Ò  Problème É Déformation de la sphère progressive au fur et à

mesure que l’animation évolue. É La sphère devient non-coplanaire (elle s’étire)

Ò  L’erreur s’accumule dans les points (vertex)

21

Page 22: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ERREUR D’ARRONDI ACCUMULÉE

Ò  Méthode É  Appliquer Ry,so à une matrice R

image après image puis multiplier cette matrice avec chaque point non-transformé.

Ò  Problème É  Cisaillement de la sphère progressif au fur et à mesure que

l’animation évolue. É  Erreur au niveau de la rotation/échelle de la sphère.

Ò  L’erreur s’accumule dans la matrice de transformation, au niveau de la matrice 3x3 supérieure gauche (partie changement d’échelle et orientation).

22

Page 23: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ERREUR D’ARRONDI ACCUMULÉE

Ò  Méthode É  Incrémenter une variable d’angle S

image après image, générer une matrice à partir de cette variable pour la rotation puis appliquer la matrice à chacun des points non-transformés.

Ò  Résultat É  Légère perte de précision au niveau de la rotation après un

très long intervale de temps.

Ò  L’objet ne se déforme pas et l’erreur progresse lentement, elle n’est donc pas perceptible.

23

Page 24: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ERREUR D’ARRONDI ACCUMULÉE

Ò  En règle générale, la meilleure application de transformation :

É Affecte le moins d’éléments différents possibles.

É N’affecte pas directement les éléments visibles (points)

É Évite d’incrémenter successivement un nombre élevé de variables/valeurs différentes. (Points, matrice, etc.)

24

Page 25: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

ORTHONORMALISATION DE MATRICES

25

Page 26: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ORTHONORMALISATION DE MATRICE

Ò Orthonormalisation de matrice É Permet d’éliminer le cisaillement dans une matrice

de transformation n’ayant pas subi de changement d’échelle.

É Permet de pallier aux problèmes observés dans le 2e cas d’application de transformation étudié lorsqu’une méthode plus robuste n’est pas disponible.

26

Page 27: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ORTHONORMALISATION DE MATRICE

Ò Orthonormalisation de matrice É On rectifie et on normalise la matrice 3x3

supérieure gauche de la matrice de transformation. (Transformation rigide uniquement.)

27

Page 28: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ORTHONORMALISATION DE MATRICE

1.  On commence par normaliser le premier vecteur.

2.  On rectifie le vecteur v3 avec un produit vectoriel entre le vecteur v2 et le vecteur v1 et on normalise le v3 rectifié.

28

Page 29: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.1.8 – ORTHONORMALISATION DE MATRICE

Ò On rectifie le vecteur v2 avec un produit vectoriel entre les vecteurs v3 et v1 et on normalise le v2 rectifié.

29

Page 30: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

Manuel, p.61

REPRÉSENTATION DE L’ORIENTATION

30

Page 31: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2 – REPRÉSENTATION DE L’ORIENTATION

Ò  Représentations d’orientation

É Matrices de transformation (rotation) É Représentation à angle fixe É Représentation par angle d’Euler É Représentation par angle et axe É Quaternions

Ò  Certaines représentations sont plus efficaces pour interpoler une orientation.

31

Page 32: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2 – REPRÉSENTATION DE L’ORIENTATION

Ò  Matrices de transformation

É  Permet d’interpoler l’orientation en interpolant les éléments qui composent la matrice de début et la matrice de fin.

É  Sujet à des erreurs/cas particuliers très couramment.

É  Pas du tout suggéré comme média d’interpolation.

Ò  Ex: Observons la valeur au milieu de l’interpolation entre ces 2 orientations.

ß Matrice singulière, ne conserve pas l’orthonormalité

32

Page 33: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.1 – ANGLES FIXES

Ò  Représentation à angle fixe É  On effectue la rotation de façon séquentielle par rapport à

chaque axe.

É  Par exemple, en ordre autour de l’axe X, Y puis Z.

É  Différentes conventions sont possibles Ð  Z,Y,X Ð  X,Y,X Ð  Etc.

Ð  X,X,Y ß Invalide car équivalent de X,Y (manque un degré de liberté.)

33

Page 34: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.1 – ANGLES FIXES

Ò Notation : (Pour une rotation sur les axes X,Y et Z de 10, 45 et 90 degrés respectivement)

(La représentation de droite se lit de droite à gauche à cause de la multiplication de matrice par colonne.)

34

Page 35: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.1 – LE GIMBAL LOCK

Ò Qu’est-ce qu’un gimbal?

Ò Utilisé pour: É Gyroscopes É Rotation de nacelles

d’armement É Mouvement de Simulateurs É Support de coupole satellite

35

Page 36: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.1 – LE GIMBAL LOCK

Ò  Lien avec l’infographie: É  Dans la représentation à angle

fixe, les rotations de la fin d’une séquence affectent celles du début.

É  Lorsqu’un anneau extérieur d’un gimbal tourne, il affecte la rotation des anneaux intérieurs.

É  Un gimbal reproduit mécaniquement la rotation à angle fixe.

HowStuffsWork, 2008

36

Page 37: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.1 – LE GIMBAL LOCK

Ò  Si les parties du gimbal sont alignées d’une certaine façon, le gimbal perd un degré de liberté.

Ò  Originalement l’anneau du milieu peut être tourné sur l’axe des X

Ò  Si le gimbal se place selon la configuration en bas à droite, il n’y a plus aucune façon de modifier la rotation en X d’un anneau sans préalablement devoir changer la rotation en Z ou en Y d’un autre anneau. C’est le gimbal lock.

HowStuffsWork, 2008

HowStuffsWork, 2008

37

Page 38: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.1 – LE GIMBAL LOCK

Ò D’un point de vu d’angle fixe, le tout revient à dire qu’on perd un degré de liberté dans la rotation si cette dernière est effectuée de façon à créer un gimbal lock.

Ò Si on tente d’interpoler une orientation ayant un gimbal lock avec une autre orientation nécessitant le degré de liberté manquant, on a un problème.

38

Page 39: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.1 – LE GIMBAL LOCK

Ò Concrètement, il en résulte que: É Différentes valeurs d’angle fixe donne la même

orientation finale, à cause de l’interdépendance des axes.

É Problème: Ð Impossible de prévoir l’interpolation entre 2 orientations

puisque plusieurs valeurs d’angle différentes permettent d’arriver au même résultat advenant un gimbal lock.

39

Page 40: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.1 – LE GIMBAL LOCK

Ò Par exemple:

Deux séquences d’interpolation possibles pour arriver au même résultat:

(180,90,0)

(90,90,90)

40

Page 41: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.2 – REPRÉSENTATION PAR ANGLE D’EULER

Ò  Identique à la représentation à angle fixe à une différence:

É  Le référentiel pour la rotation est l’espace objet (espace local) plutôt que l’espace monde.

É  On parle donc de roulis (roll), lacet (yaw) et tangage (pitch), puisqu’on est au référentiel de l’objet.

41

Page 42: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.2 – REPRÉSENTATION PAR ANGLE D’EULER

Ò Comme pour les angles fixes, la représentation utilise des séquences de 3 axes. (Soumises aux mêmes conditions.)

Ò La différence principale est au niveau de la façon d’appliquer la rotation. É Cette dernière est appliquée dans un repère qui lui-

même bouge.

42

Page 43: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.2 – REPRÉSENTATION PAR ANGLE D’EULER

Ò  Si en angle d’Euler on a la rotation Rx(a) suivie de la rotation Ry(b), Ry(b) est affectée par Rx(a), on le note donc R’y(b).

Ò  On a donc :

Ò  Pour pouvoir effectuer la rotation R’y(b), on remmène R’y(b) dans l’espace monde pour qu’il redevienne Ry(b). On fait ceci en annulant Rx(a) avant d’appliquer Ry(b) puis on remet Rx(a) tout de suite après:

43

Page 44: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.2 – REPRÉSENTATION PAR ANGLE D’EULER

Ò On applique le même processus pour la troisième rotation R’’z(c), qui cette fois est affectée par R’y(b) et Rx(a).

44

Page 45: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.2 – REPRÉSENTATION PAR ANGLE D’EULER

Ò  À la vue de ce résultat:

On observe qu’une rotation par angle d’Euler est en fait une rotation par angle fixe dans l’ordre inverse.

Ò  Les rotations par angle d’Euler sont donc en réalité une

autre façon de représenter les rotations par angle fixe.

É  Elles sont ainsi soumises aux mêmes problèmes (Gimbal Lock)

45

Page 46: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.1 ET 2.2.2 - RÉCAPITULATIF

Ò  Avantages de la représentation par angle fixe et la représentation par angle d’Euler : É Simple à utiliser É Simple à visualiser É Facile à implémenter É Facile d’alterner entre angle fixe et angle d’Euler

Ò  Désavantages: É Lourd en calcul (multiplication de matrices) É Gimbal Lock (non-prédictibilité de l’interpolation)

46

Page 47: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.3 – REPRÉSENTATION PAR ANGLE ET AXE

Ò Une orientation peut être représentée par un axe et un angle.

É L’axe peut être représenté grâce à une coordonnée polaire (latitude/longitude) ou avec un vecteur tri-dimensionnel.

47

Page 48: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.3 - REPRÉSENTATION PAR ANGLE ET AXE

Ò Pour interpoler entre deux orientations axe et angle:

É On trouve un axe de rotation (B) autour duquel sera pivoté A1 jusqu’à ce qu’il soit aligné sur A2.

É On trouve l’angle qui sépare A1 et A2.

48

Page 49: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.3 – REPRÉSENTATION PAR ANGLE ET AXE

É On interpole l’axe, image par image, en faisant pivoter l’axe A1 autour de B de kΦ (k = 0..1) en incrémentant graduellement k.

É Puis on interpole l’angle directement. (De façon linéaire par exemple.)

49

Page 50: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.3 – REPRÉSENTATION PAR ANGLE ET AXE

Ò Schématiquement on a :

50

Page 51: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.3 – REPRÉSENTATION PAR ANGLE ET AXE

Ò  Avantages É Très léger à représenter É Demande peu de calcul É Règle les problèmes d’interpolation des méthodes

précédentes.

Ò  Désavantages É Moins intuitif É Légèrement plus complexe à implémenter É Difficile de concaténer plusieurs rotations avec cette

représentation.

51

Page 52: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.4 - QUATERNIONS

Ò  Méthode la plus populaire pour représenter une orientation dans le domaine de l’animation par ordinateur.

Ò  Est composé de 4 nombres, soient 1 angle et 3 nombres qui composent un vecteur.

Ò  Se note:

V étant le vecteur (x,y,z)

ou

52

Page 53: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.4 - QUATERNIONS

Ò Opérations de base (manuel p.510)

É Addition :

É Multiplication :

É Produit scalaire:

53

Page 54: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.4 - QUATERNIONS

É La multiplication des quaternions est associative :

É La multiplication des quaternions est non-commutative :

É Norme :

54

Page 55: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.4 - QUATERNIONS

É  Identité :

É  Inversion d’un quaternion :

É Normalisation :

55

Page 56: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.4 - QUATERNIONS

Ò Représentation d’orientation avec un quaternion.

É Se représente à partir de la représentation par axe et angle

É Ex: Rotation de l’angle θ autour de l’axe (x,y,z)

56

Page 57: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.4 - QUATERNIONS

Ò  Propriété des quaternions :

Un quaternion est égal à son opposé (négatif).

57

Page 58: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.4 - QUATERNIONS

Ò Rotation d’un vecteur avec un quaternion :

Ò Concaténation de rotations : (rotation p suivie d’une rotation q sur un vecteur v)

58

Page 59: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.4 - QUATERNIONS

Ò Rotation directe: (ce qu’on vient de voir)

Ò Rotation inverse correspondante:

59

Page 60: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

2.2.4 - QUATERNIONS

Ò Une fois qu’on a terminé d’appliquer les rotations, il faut convertir les quaternions unitaires en matrices pour qu’ils puissent être utilisé dans un api graphique (DirectX, OpenGL, etc.)

(Mq est la partie “rotation” de la matrice de transformation) 60

Page 61: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

3.3.1 - INTERPOLATION DE QUATERNIONS

Ò Nommé “Interpolation linéaire sphérique” ou “Spherical linear interpolation” (slerp).

1.  On trouve l’angle séparant nos 2 quaternions à interpoler

2.  On effectue l’interpolation

61

Page 62: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

INTERPOLATION

62

Page 63: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

POURQUOI L’INTERPOLATION?

Ò  Les artistes travaillent avec des keyframes.

Ò  L’ordinateur s’occupe de combler le mouvement entre ces keyframes, avec la supervision de l’artiste.

Ò  Comment l’artiste supervise-t-il le mouvement généré par l’ordinateur?

É  En modifiant la courbe d’interpolation qui relie lesdits keyframes.

Respectivement : Maya, 3DSMax, Cinema4D 63

Page 64: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.2 – INTERPOLATION LINÉAIRE SIMPLE

Ò  Lors de l’interpolation entre 2 points, la progression d’un point à l’autre dans l’interpolation est dénotée par la variable u.

Ò  La progression étant normalisée, la variable u prend les valeurs [0..1].

Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition, Morgan Kaufmann, 2002, p.455 64

Page 65: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.2 – INTERPOLATION LINÉAIRE SIMPLE

Ò  Une interpolation linéaire entre 2 points s’exprime de multiples façons.

Ò  Forme explicite:

Ò  Si le poids associé à chaque point n’est pas directement (1-u) ou (u), il peut être contrôlé par une fonction:

F est appellée une fonction de mélange

65

Page 66: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.2 – INTERPOLATION LINÉAIRE SIMPLE

Ò Forme algébrique :

Ò Les formes précédentes peuvent être exprimées sous la forme matricielle:

66

Page 67: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.2 – INTERPOLATION LINÉAIRE SIMPLE

Ò On peut poser :

Ò On se retrouve donc avec la forme :

Ò Exemple:

Où U est la matrice des variables, M est la matrice des coefficients et B la matrice des informations géométriques.

67

Page 68: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

CONTINUITÉ ET INTERPOLATION

Ò  Il existe différents “ordres” de continuitié.

Ò La continuité d’une fonction d’interpolation dépend du nombre de dérivées qu’elle peut supporter avant que ladite dérivée soit discontinue.

Ò Plus l’ordre est élevé, plus la courbe sera perçue comme “douce” par rapport à ses points de contrôle.

68

Page 69: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

CONTINUITÉ ET INTERPOLATION

Ò Courbe discontinue É Discontinuité dans les points

directement

Ò Courbe de continuité C0 É La courbe est continue mais

la tangeante est discontinue

69

Page 70: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

CONTINUITÉ ET INTERPOLATION

Ò Courbe de continuité C1 É Continuité positionnelle

(points) É Continuité tangeantielle

(1ere dérivée) É Discontinuité de la

courbure (2e dérivée)

70

Page 71: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

CONTINUITÉ ET INTERPOLATION

Ò Courbe de continuité C2 É Continuité positionnelle É Continuité tangeantielle É Continuité de la courbure

71

Page 72: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

CONTINUITÉ ET INTERPOLATION

Ò  Attention! Déterminer la continuité ou la discontinuité à l’oeil de la courbure peut être trompeur :

Ò  Laquelle ou lesquelles de ces courbes a ou ont une courbure continue?

72

Page 73: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

CONTINUITÉ ET INTERPOLATION

Ò Attention! Déterminer la continuité ou la discontinuité à l’oeil de la courbure peut être trompeur :

73

Page 74: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

INTERPOLATION CUBIQUE

Ò  On souhaite une animation fluide, donc des courbes où la courbure est continue.

Ò  Courbure continue à 2e dérivée continue.

Ò  Fonction de degré 1 à 2e dérivée constante (nulle) à courbure constante à droiteà ennuyant!

Ò  Fonction de degré 2 à 2e dérivée constante à courbure constante à cercle à Pas intéressant sauf si vous trippez sur les cercles.

Ò  Pour avoir une fonction dont la courbure change sans être discontinue, on a besoin d’une fonction de degré 3, donc une fonction cubique.

74

Page 75: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

INTERPOLATION CUBIQUE

Ò  Important : É Une interpolation cubique n’a pas obligatoirement

une courbure continue.

É On utilise néanmoins les courbres cubiques car elles sont la condition minimale advenant qu’on souhaite avoir une courbure variable, mais continue.

75

Page 76: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.7 – FORME À 4 POINTS

Ò  Pour générer une interpolation linéaire à 2 points sont nécessaires

Ò  Pour une interpolation quadratique à 3 points sont nécessaires

Ò  Ce qui nous intéresse sont les courbes cubiques, car elles possèdent une continuité C2

Ò  On a donc besoin de 4 points pour paramétriser une courbre cubiques.

76

Page 77: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.7 – FORME À 4 POINTS

Ò  À partir de la forme matricielle et de 4 points, on peut exprimer une multitude d’interpolations cubiques différentes .

Ò  2 points interpolés (les extrémités)

Ò  2 points servant à générer les tangeantes qui déterminent la courbure de l’interpolation.

Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition, Morgan Kaufmann, 2002, p.457

77

Page 78: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.7 – FORME À 4 POINTS

Ò  On exprime la forme à 4 points en 3 dimensions comme suit:

Ò  La valeur des points P et des éléments de la matrice m dépend tu type d’interpolation.

78

Page 79: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.5 – INTERPOLATION D’HERMITE

Ò Génère un polynôme cubique. Ò Les points de début/fin doivent être spécifiés

ainsi que les vecteurs tangeants de début/fin.

Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition, Morgan Kaufmann, 2002, p.457

79

Page 80: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.6 – SPLINE DE CATMULL-ROM

Ò  Comme une interpolation d’hermite mais les tangeantes sont générées automatiquement.

Ò  La tangeante à un point de contrôle est générée selon la règle : (note : la tangeante à un point arbitraire est donnée par la dérivée. Voir avant dernière slide.)

Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition, Morgan Kaufmann, 2002, p.458 80

Page 81: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.6 – SPLINE DE CATMULL-ROM

Ò  Matrices:

81

Page 82: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.6 – SPLINE DE CATMULL-ROM

Ò Génération des tangeantes aux extrémités:

Ò Première tangeante:

Ò Dernière tangeante : Vous allez me montrer ça dans le 2e TP!

82

Page 83: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

INTERPOLATION VS APPROXIMATION

Ò  Interpolation passe par tous les points de contrôle.

Ò  Approximation passe par le premier et le dernier point et est affectée par les autres points.

Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition, Morgan Kaufmann, 2002, p.64 83

Page 84: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.9 – INTERPOLATION DE BÉZIER CUBIQUE

Ò  Construite avec 4 points. Les 2 points intérieurs définissent la forme de la courbe.

Ò  On parle de méthode d’interpolation/approximation car la moitié des points sont interpolés dans une courbe composée de plusieurs segments de Bézier

Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition, Morgan Kaufmann, 2002, p.464

84

Page 85: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.10 – MÉTHODE DE CASTLEJAU

Ò  Méthode géométrique utilisée pour la construction de courbes.

Ò  Permet de construire une courbe de bézier uniquement avec des interpolations linéaire. (Très efficace sur un ordinateur)

(Haut Gauche) Linéaire, (Bas Gauche) Quadratique, (Haut droite) Cubique, (Bas Droite) Quartique 85

Page 86: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.12 – B-SPLINES

Ò Autre méthode d’interpolation/approximation. Ò Très populaire car très flexible. Ò Utilise les points de contrôle pour en générer

d’autres et ainsi augmenter la complexité de la courbe.

86

Page 87: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

B.5.4 – DÉRIVÉES DE L’INTERPOLATION

Ò Les dérivées d’une courbe d’interpolation sous la forme des 4 points peuvent être trouvées relativement facilement.

87

Page 88: Chapitre 2 CONTEXTE TECHNIQUE ET OUTILS ...info.usherbrooke.ca/ogodin/enseignement/imn538/chapitres/...Parent, R. : “Computer Animation : Algorithms and techniques”, 1st edition,

RÉFÉRENCES

Ò  Parent,Rick : ”Computer Animation, Algorithms and techniques“, 2nd edition, Morgan Kaufmann, 2007 (pp. ,39-71, 519-530)

Ò  Wikipedia : “Bezier Spline”, www.wikipedia.org, consulté le 9 jan 2009

Ò  Howstuffswork : “Gimbal”, www.howstuffswork, consulté le 9 jan 2009

88