Ho bisogno di alcuni suggerimenti sull'approccio migliore per un'attività di rotazione in OpenGL. So come ruotare gli oggetti nello spazio 3D usando i quaternioni, posso tradurli, tutto bene e bene.Come raggruppare più oggetti allo scopo di ruotarli come un'unità?
Ma voglio sapere il modo migliore per trattare una raccolta di oggetti diversi come una singola entità ai fini della rotazione. Ad esempio, supponiamo di avere una scrivania con degli oggetti. Ognuno ha la sua traduzione e rotazione, ma ora voglio ruotare l'intera scrivania e tutto su di essa, mantenendo gli altri oggetti nella stanza in posizione. Ciò significa che gli oggetti sul bordo esterno della scrivania ruotano e si traducono anche attorno al centro della scrivania, mentre gli oggetti al centro potrebbero semplicemente ruotare ma altrimenti rimanere in posizione, o semplicemente non tradursi tanto, a seconda della loro distanza dal asse di rotazione.
Sembra che un modo piuttosto inelegante per farlo è quello di ruotare e tradurre individualmente ogni oggetto sulla scrivania, così come la scrivania stessa, sapendo dove si trova l'asse di rotazione. Forse questo è l'unico buon modo per farlo, ma esiste una tecnica per "raggruppare" oggetti disparati per questo scopo?
Se stai chiedendo di OpenGL ES, * non usare * il tag OpenGL. –
Le tecniche di rotazione e matrice in questo esempio si applicano a OpenGL e OpenGL ES. Che dire di questa domanda è specifica per OpenGL ES? – johnbakers
Con quella logica, non si tratta di * qualsiasi * forma di OpenGL, dal momento che qualsiasi API grafica 3D utilizza le stesse tecniche. Pertanto, non dovrebbe avere * qualsiasi * tag OpenGL. –