Je vais aborder rapidement les principes de base qu’on doit
comprendre en algèbre linéaire pour la suite. (On restera en dimension 3)
Les vecteurs :
On peut s’imaginer un vecteur comme une flèche partant d’un
point origine, et pointant vers un point particulier de l’espace.
Tout d’abord, représentons nous l’espace 3 dimensions grâce
à 3 vecteurs sur lesquels on peut « décomposer » tout vecteur de
l’espace :
On peut voir ici le vecteur noir décomposé en pointillés sur les 3
vecteurs de base colorés
On appelle généralement ces trois vecteurs ,
,
et .
On peut donc représenter tout vecteur appelé (synonyme : toute « position »)
de l’espace grâce à trois coordonnées x,y,z :
On notera plutôt :
Les applications « linéaires » :
Elles peuvent être appréhendées comme des
« transformations » des vecteurs. Par exemple, si on diminue la
taille d’un vecteur, ça correspond à une application linéaire appelée
« homothétie ». Faire tourner un vecteur correspondra à une rotation.
Les symétries par rapport à des plans sont aussi des applications linéaires…
etc.Ce sont là des applications
linéaires facilement compréhensibles et très particulières mathématiquement, et
ce sont quasiment les seules dont nous aurons besoin.
Petite parenthèse : Mathématiquement, une
application« f » est dite linéaire si pour tout vecteur et ,
et pour tout nombre c, on a mais bon, c’est du blabla mathématique… (même
s’il est à l’origine de tout)
C’est dans l’étude de
ces applications qu’aparaissent les matrices :
Si un vecteur est décomposé suivant les vecteurs X, Y et Z …
alors est ce qu’un vecteur transformé par une application linéaire est
décomposé avec les mêmes coordonées sur les imagesde X,Y et Z par cette application ? La
réponse est oui !
Si on a :,etalors, c’est magique (non en fait
ca vient directement de la définition d’une application linéaire) :
Naît alors la « matrice » de f :
Regardez les colonnes de f(v) pour comprendre… On note
alors :
Encore plus fou : si vous voulez transformer un vecteur
V par deux applications différentes d’affilé, qui ont pour matrices M1 et M2,
il suffit de multiplier V par le « produit matriciel » M1*M2 !
(on appelle ca l’associativité…mais bref). Je n’expliquerai pas ici comment
multiplier deux matrices, car ca n’a pas beaucoup d’intérêt puisque l’ordi le
fait à vôtre place ! (et c’est compliqué à expliquer)
ATTENTION !
-On multiplie
TOUJOURS les vecteurs et les matrices en mettant les vecteurs à droite !
Ca ne marche pas comme les nombres, qui peuvent se multiplier dans n’importe
quel ordre (Et ca, on l’appelle la commutativité)
-Le produit de deux matrices M1*M2 ne donne pas la même
chose que M2*M1 … sauf dans des cas très particuliers : il se trouve que
les applications qu’on utilise le plus souvent en font partie (rotations,
homothéties etc)
II – La
pratique
C’est bien beau tout ca, mais c’est assez moche quand on a
peur des maths, et … ca sert à quoi ?
La réponse est : pour l’informatique 3D, à tout !
Les deux utilisations (très) communes sont les homothéties
et les rotations :
Prenons un cas simple de rotation (des rudiments de
trigonométrie sont nécessaires : la fonction sinus et cosinus) :
On voit ici le vecteur qui tourne dans la plan X,Y d’un angle β
En regardant un peu ce qui se passe danscette animation, on peut dire que : ,et
On obtient ainsi une matrice de rotation suivant Z
typique :
Ainsi, pour tourner tout vecteur de l’espace d’un angle
β, il suffira de le multiplier par cette matrice ! L’ordi se charge
de tout …
Pour faire tourner un vecteur suivant plusieurs vecteurs, il
suffira ainsi de prendre les matrices de chacune des rotations suivant ces
vecteurs, et de les multiplier entre elles !
Les matrices d’homotetie (redimensionement de vecteurs)
sont, elles, beaucoup plus simples : multipliera par 3 la taille du vecteur, sans
changer son orientation !
II – Conclusion
Grâce aux matrices, on peut ainsi orienter des objets et/ou
personnages dans un jeu en 3D, en définissant un vecteur « orientation de
l’objet », qui sera la direction vers laquelle l’objet
« regarde ». Pour changer cette direction, une simple multiplication
par une matrice fera l’affaire. Changer la taille d’un objet sera de même aussi
enfantin, grâce à une multiplication par une matrice d’homothétie.
Mathématiquement, tous ces principes sont assez complexes à
assimiler sans avoir fait d’étude, je vous l’accorde, mais une fois quelques
rudiments appris, ils sont extrêmement utiles, et simplifient la vie !
Pour l’info : l’algèbre linéaire ne se résume pas (mais
alors pas du tout) à ce qui est introduit dans cet article. C’est une partie
extrêmement vaste des maths, très utile malgré ce qu’on pourrait croire au
premier abord, et qui permet de manipuler des espaces non plus à 2 ou 3
dimensions (comme dans cet article) mais à dimension quelconque… chose qui est
peu aisée à s’imaginer concrètement.