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.

È stato utile?

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'

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top