Rotations consécutives openGL
Salut,
j'essaye de faire tourner un objet suivant les axes y (vert) et z (bleu) mais ça ne fonctionne pas comme prévu :
la première rotation suivant y est bonne :
mais pas suivant z :
l'objet tourne sur lui-même comme si l'axe z avait tourner lui aussi lors de la première rotation.
J'aimerais savoir comment m'y prendre :D.
Mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| void GLWidget::cylindre(QVector3D & trans, QVector3D & rot, [...]) {
glPushMatrix();
glTranslated(trans.x(), trans.y(), trans.z()); // Translation
glRotated(rot.x(), 1.0, 0.0, 0.0); // Rotation suivant l'axe x
glRotated(rot.y(), 0.0, 1.0, 0.0); // Rotation suivant l'axe y
glRotated(rot.z(), 0.0, 0.0, 1.0); // Rotation suivant l'axe z
// On dessine le cylindre.
[...]
glPopMatrix();
} |
Merci.