2009-07-31 11 views
1

Ich schreibe Iphone-Anwendung, wo ich Würfel drehen muss. Die Drehung auf der vertikalen und horizontalen Achse funktioniert einwandfrei. Auch der rotierende Würfel von unten rechts nach oben links und von oben links nach unten rechts funktioniert einwandfrei (ich verwende glrotateef (angle, 1.0, 1.0, 0.0), um von oben links nach unten rechts zu rotieren).Drehen eines Würfels (mit OpenGL - Iphone)

Das Problem hier ist, ich möchte von unten links nach oben rechts und von oben rechts nach unten links drehen. Und ich konnte die Lösung nicht finden. Ich habe versucht, verschiedene Ansätze wie

glRotateef (Winkel, -1,0, -1,0, 0,0) glRotateef (Winkel, -1,0, -1,0, 0,0) etc .. Alle von ihnen sind nicht funktioniert. Bitte führen Sie mich auf diese (was ist die genaue Rotation, die ich verwenden muss). Vielen Dank im Voraus.

Antwort

3

Haben Sie glRotatef (angle, -1.0, 1.0, 0.0) oder glRotatef (angle, 1.0, -1.0, 0.0) getestet?

+0

Vielen Dank :) es hat funktioniert. Ich habe in den letzten 3 Tagen damit gekämpft. Jetzt kann ich weitergehen :) danke nochmal. –

1

um die einzelne Achse drehen kann wie folgt erfolgen:

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 

Achten Sie mit mehr als 1 Umdrehung in der gleichen Zeit zu tun. (also alles andere als die 3 oben, oder sie zu kombinieren). Die Reihenfolge der Rotationen ist sehr wichtig. Wenn sie falsch gemacht werden, können sie produzieren 'gimbal lock'