chapitre 2 contexte technique et outils...

Post on 24-May-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CONTEXTE TECHNIQUE ET OUTILS MATHÉMATIQUES

Chapitre 2

Olivier Vaillancourt, Olivier Godin Université de Sherbrooke

1

CONTEXTE TECHNIQUE

2

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

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

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

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

TRANSFORMATIONS GÉOMÉTRIQUES

7

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

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

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

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

2.1.4 – TRANSFORMATIONS DE BASE

Ò Translation

Ò Rotation autour de l’axe X

12

2.1.4 – TRANSFORMATIONS DE BASE

Ò Rotation autour de l’axe Y

Ò Rotation autour de l’axe Z

13

2.1.4 – TRANSFORMATIONS DE BASE

Ò Changement d’échelle non-uniforme

Ò Changement d’échelle uniforme

14

2.1.4 – TRANSFORMATIONS DE BASE

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

15

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

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

ERREUR D’ARRONDI ACCUMULÉE

18

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

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

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

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

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

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

ORTHONORMALISATION DE MATRICES

25

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

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

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

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

Manuel, p.61

REPRÉSENTATION DE L’ORIENTATION

30

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.2.3 – REPRÉSENTATION PAR ANGLE ET AXE

Ò Schématiquement on a :

50

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

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

2.2.4 - QUATERNIONS

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

É Addition :

É Multiplication :

É Produit scalaire:

53

2.2.4 - QUATERNIONS

É La multiplication des quaternions est associative :

É La multiplication des quaternions est non-commutative :

É Norme :

54

2.2.4 - QUATERNIONS

É  Identité :

É  Inversion d’un quaternion :

É Normalisation :

55

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

2.2.4 - QUATERNIONS

Ò  Propriété des quaternions :

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

57

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

2.2.4 - QUATERNIONS

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

Ò Rotation inverse correspondante:

59

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

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

INTERPOLATION

62

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

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

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

B.5.2 – INTERPOLATION LINÉAIRE SIMPLE

Ò Forme algébrique :

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

66

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

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

CONTINUITÉ ET INTERPOLATION

Ò Courbe discontinue É Discontinuité dans les points

directement

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

la tangeante est discontinue

69

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

CONTINUITÉ ET INTERPOLATION

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

71

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

CONTINUITÉ ET INTERPOLATION

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

73

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

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

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

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

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

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

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

B.5.6 – SPLINE DE CATMULL-ROM

Ò  Matrices:

81

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

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

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

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

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

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

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

top related