Sto provando a creare il rendering dei dati grezzi da un file .map di Quake 3 con Java. Il formato .map memorizza le informazioni del pennello (forma) come una serie di piani, ma mi piacerebbe convertirli in punti del modulo (x, y, z). La matematica coinvolta è un po 'oltre me a questo punto, quindi qualcuno ha qualche consiglio su come posso farlo? Sto bene con l'uso di librerie esterne, se necessario, ma preferisco usare il mio codice, se possibile.Come posso trovare il punto di intersezione di tre piani?
alcuni dati con cui giocare:
Dimensions: 64*64*64
Position: All sides are equidistant from the origin (0,0,0)
Shape: Cube
(64 64 64) (64 -64 64) (-64 64 64)
(64 64 64) (-64 64 64) (64 64 -64)
(64 64 64) (64 64 -64) (64 -64 64)
(-64 -64 -64) (64 -64 -64) (-64 64 -64)
(-64 -64 -64) (-64 -64 64) (64 -64 -64)
(-64 -64 -64) (-64 64 -64) (-64 -64 64)
Edit:
Questi dati sta mostrando un cubo, che ha 6 lati. Ciascuno di questi sei lati può essere memorizzato come un piano, con tre coordinate per mostrare la posizione e l'orientamento. Ogni riga dei dati di cui sopra mostra un piano, e tutte e 6 le righe fanno i 6 piani che compongono un cubo.
Questa immagine aiuta ad illustrare il mio punto: Three Points Defining a Plane
punti P1, P2 e P3 sono quello che sto dando per riga, i dati di cui sopra.
Il motore di Quake 3 deve risolvere le parti degli aerei da conservare in fase di compilazione, ma al momento non mi interessa. Se desideri maggiori informazioni, non esitare a chiedere!
Puoi spiegare come i tuoi dati rappresentano tre piani e non 18 vettori? –
Naturalmente. Ho modificato la mia domanda. – Fiarr