Ca code beaucoup en ce moment, mais pas pour moi ... :( Entre deux batailles avec mes composants, j'ai commencé à créer une bibliothèque sur les matrices, accompagnée d'une refonte de ma classe Array2 (tableau à deux dimensions), qui se nomme maintenant Grid.

La classe Matrix est une classe qui hérite de Grid, mais les paramètres du constructeur et des accesseurs sont différents, car on utilise en géneral les matrices sous la forme (ligne, colonne), alors que les tableaux à deux dimensions sont en général utilisés comme un système de coordonnées, soit (x,y), avec x comme colonne et y comme ligne ... :roll: J'ai aussi implémenté le cas particulier de la matrice carrée dans la classe SquareMatrix

La classe Matrix contient les méthodes permettant de multiplier ou d'aditionner entre elles des matrices. Je compte étoffer ensuite cette bibliothèque avec une classe Vector, qui pourrait contenir un nombre n de dimensions (avec pourquoi pas un cas particulier pour les vecteurs à 2 ou 3 dimensions), car un vecteur aprés tout n'est qu'une matrice avec une seule colonne. :P

Cela me permettra ensuite d'utiliser cette classe avec mon moteur 3D, et d'utiliser une matrice de transformation qui contient translation, homotétie et rotation en même temps ... On vera bien si ca le ralentit ou pas ... :)

::Télécharger Matrix.zip::