Skullkid a écrit:Désolé, j'ai pas été clair, je voulais savoir ce que représentent les coefficients, lignes et colonnes de tes matrices. En gros, comment "lire" tes matrices ? Que représente la première ligne ? Que représente la première colonne (etc) ? Est-ce que toutes tes figures sont représentées par des matrices 4*4 ou est-ce que c'est juste le cas des cubes ? Sur les matrices que tu m'as données en exemple, la 4ème ligne et la 4ème colonne sont toujours 0 0 0 1, est-ce normal ? Puisque les coefficients de tes matrices ont l'air d'être les coordonnées de certains points (lesquels ?), dans quel repère sont prises ces coordonnées ?
Géométriquement, si tu as un repère fixe (donc pas le repère attaché à ton objet qui peut pivoter) dans lequel tu connais les coordonnées x, y et z de chacun des points de ta figure (pour les polyèdres il suffit de connaître les coordonnées des sommets), pour faire un changement d'échelle selon un de ces axes fixes (si j'ai bien compris, c'est ça que tu veux faire), il te suffit de multiplier chacune des coordonnées (toujours dans ce repère fixe) par un facteur adéquat. D'où mes insistantes questions pour connaître exactement les infos que tu as à disposition.
alors,
par defaut, lors de la creation d'un objet, on obtient toujours (pareil pour tous les objets) une matrice 4*4 comme ceci:
- Code: Tout sélectionner
| 1 0 0 0 |
| 0 1 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
chaque colonne représente un axe ( col 1: axe-X, col2 : axe-Y, col3: axe-Z)
Ces 3 colonnes constituent l'échelle et la rotation de l'objet. la colonne 4, que je n'ai pas encore citée, correspond à la position de l'objet, en gros si je veux placer mon objet à la position (50, 100, 75) , il aura la matrice :
- Code: Tout sélectionner
| 1 0 0 50 |
| 0 1 0 100 |
| 0 0 1 75 |
| 0 0 0 1 |
... il te suffit de multiplier chacune des coordonnées (toujours dans ce repère fixe) par un facteur adéquat ...
Edit:
oh Yes! Maintenant que j'y pense c'est tout bête, Skullkid 1000 Merci, grâce à toi je vais bien dormir ce soir

en fait, en utilisant la matrice, on obtient une matrice qui correspond au centre de l'objet, et c'est vrai qu'en multipliant les coordonnées de chaque point qui le constitue on tombe bien sur le forme recherchée (j'ai testé seulement avec 2 points, mais je pense que c'est bon)
Merci encore Skullkid ! :ptdr: