Rotazione di un cubo (usando opengl - Iphone)
Domanda
Sto scrivendo un'applicazione per iPhone in cui ho bisogno di ruotare il cubo. La rotazione sull'asse verticale e orizzontale funziona bene. Inoltre, il cubo rotante da in basso a destra in alto a sinistra e da in alto a sinistra in basso a destra funziona bene (sto usando glrotateef (angolo, 1.0, 1.0, 0.0) per ruotare dall'alto in basso a destra in basso).
Il problema qui è, voglio ruotare da in basso a sinistra in alto a destra e da in alto a destra in basso a sinistra. E non sono riuscito a ottenere la soluzione. Ho provato diversi approcci come
glRotateef (angolo, -1,0, -1,0, 0,0) glRotateef (angolo, -1,0, -1,0, 0,0) eccetera.. Tutti loro non funzionano. Per favore guidami su questo (qual è la rotazione esatta che devo usare). Grazie in anticipo.
Soluzione
Hai provato glRotatef (angolo, -1,0, 1,0, 0,0) o glRotatef (angolo, 1,0, -1,0, 0,0)?
Altri suggerimenti
la rotazione attorno al singolo asse può essere eseguita come segue:
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
Cerca di fare più di 1 rotazione contemporaneamente. (quindi nient'altro che il 3 sopra, o combinandoli). L'ordine delle rotazioni è davvero importante. Se eseguiti in modo errato, possono produrre 'gimbal lock'