2009-07-31 5 views
1

J'écris l'application iphone où j'ai besoin de faire pivoter le cube. La rotation sur l'axe vertical et horizontal fonctionne bien. De plus, la rotation du cube de bas en haut à gauche et de haut en bas à gauche fonctionne très bien (j'utilise glrotateef (angle, 1.0, 1.0, 0.0) pour tourner de haut en bas à gauche).Rotation d'un cube (en utilisant opengl - Iphone)

Le problème ici est, je veux faire pivoter de gauche à droite en haut à droite et de haut en bas à gauche. Et je ne pouvais pas obtenir la solution. J'ai essayé différentes approches comme

glRotateef (angle, -1,0, -1,0, 0,0) glRotateef (angle, -1,0, -1,0, 0,0) etc .. Tous ne fonctionnent pas. S'il vous plaît me guider sur ce (quelle est la rotation exacte dont j'ai besoin d'utiliser). Merci d'avance.

Répondre

3

Avez-vous essayé glRotatef (angle, -1,0, 1,0, 0,0) ou glRotatef (angle, 1,0, -1,0, 0,0)?

+0

Merci beaucoup :) cela a fonctionné. Je luttais avec lui pour les 3 derniers jours. Maintenant, je peux aller de l'avant :) merci encore. –

1

rotation autour de l'axe individuel peut se faire comme suit:

glRotatef(angle, 1.0, 0.0, 0.0) //rotate around x axis 
glRotatef(angle, 0.0, 1.0, 0.0) //rotate around y axis 
glRotatef(angle, 0.0, 0.0, 1.0) //rotate around z axis 

Regardez avec faire plus de 1 rotation en même temps. (donc rien d'autre que les 3 ci-dessus, ou les combiner). L'ordre des rotations est vraiment important. Si fait incorrectement, ils peuvent produire 'gimbal lock'

Questions connexes