Estoy intentando construir renderizar los datos brutos de un archivo .map de Quake 3 con Java. El formato .map almacena información de pincel (forma) como una serie de planos, pero me gustaría convertirlos en puntos de la forma (x, y, z). Las matemáticas involucradas son un poco más allá de mí en este momento, así que ¿alguien tiene algún consejo sobre cómo puedo hacer esto? Estoy de acuerdo con el uso de bibliotecas externas si es necesario, pero prefiero usar mi propio código si es posible.¿Cómo puedo encontrar el punto de intersección de tres planos?
Algunos datos con los que jugar:
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)
Editar:
Estos datos se muestra un cubo, que tiene 6 lados. Cada uno de estos seis lados se puede almacenar como un plano, con tres coordenadas para mostrar la posición y la orientación. Cada fila de los datos anteriores muestra un plano, y las 6 filas forman los 6 planos que forman un cubo.
Esta imagen ayuda a ilustrar mi punto: Three Points Defining a Plane
puntos P1, P2 y P3 son lo que estoy dando por fila, en los datos anteriores.
El motor Quake 3 tiene que determinar qué partes de los planos se deben mantener en tiempo de compilación, pero no estoy interesado en eso en este momento. Si desea más información, ¡siéntase libre de preguntar!
¿Puede explicar cómo sus datos representan tres planos y no 18 vectores? –
Por supuesto. He editado mi pregunta. – Fiarr