Rotazione piano

luigifonti
Quale trasformazione usare per ruotare i punti di un piano prima attorno all'asse Z, poi attorno all'asse X ?

Risposte
luigifonti
Il mio problema è che ho un insieme di punti che sono vertici di un poligono nello spazio, e stanno su un piano.
Per un problema di ray tracing dovrei ruotarli in un sistema che abbia l'asse Z allineato con la retta normale al piano, in modo che i punti trasformati abbiano tutti la stessa Z. A quel punto posso fare alcune operazioni sul piano XY.

dissonance
La prima cosa da fare, come dice arnett, è traslare in modo che uno dei punti vada a finire nell'origine. Poi, presi due altri punti, puoi vederli come vettori e farne il prodotto vettoriale. Questo ti darà la direzione di un vettore normale. Infine, applicando Gram-Schmidt trovi un sistema di assi ortonormali in cui tale vettore normale sia il terzo asse.

E ora si tratta semplicemente di riscrivere le coordinate di tutti i punti rispetto a questo nuovo sistema ortonormale. Siccome tutti i punti giacciono nel piano, tutte queste coordinate avranno \(0\) nella terza entrata.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.