Les matrices : la théorie, la pratique…

 

I – La théorie

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 :

decomp

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 images  de X,Y et Z par cette application ? La réponse est oui !

Si on a :        ,          et            alors, c’est magique (non en fait ca vient directement de la définition d’une application linéaire) :       

Naît alors la « matrice » de :   

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 dans  cette 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.










Matrices : Quesako ?
Matrices : Quesako ?2










© Copyright icareo, Tous droits reserves.
Free web templates