Si j'ai une matrice actuelle en OpenGL de C, et je demande le code suivant:multiplication matricielle opengl
glMultMatrixf(M);
glMultMatrixf(M2);
Qu'est-ce que la matrice de transformation actuelle ressemble? Dans le livre rouge, il indique que l'utilisation de glMultMatrix * (M) fait ceci: CM. Mais aussi que faire ce qui précède fait que cela se produise: M (M2v) où M2 est appliqué avant M. Dans ce cas M serait l'opérande de gauche, mais dans l'ancien M est l'opérande de droite.
L'OP affichant la question semble avoir une certaine confusion entre la convention mathématique et le calcul matriciel en informatique. – ksming
Donc je suppose que M3 * v arrive avant que M2 ne soit multiplié. Je ne comprends pas pourquoi le livre rouge indique que MultMatrix * f (M) multiplie la matrice courante C par M (CM) quand dans votre explication chaque fois qu'une multiplication de matrice est appliquée, elle est appliquée comme l'opérande gauche, pas la droite , comme dans (CM) –
@SamAdams: Il est * appliqué * à droite. Il est appliqué à droite de toutes les matrices * précédentes *. La matrice actuelle, construite par toutes les commandes matricielles précédentes, est multipliée avec la matrice donnée, et la matrice donnée est sur la droite. –