J'essaye de construire le rendu des données brutes à partir d'un fichier Quake 3 .map avec Java. Le format .map stocke les informations de forme (brush) sous la forme d'une série de plans, mais je voudrais les convertir en points du formulaire (x, y, z). Les maths impliqués sont un peu au-delà de moi à ce stade, donc quelqu'un a des conseils sur la façon dont je peux faire cela? Je suis d'accord avec l'utilisation de bibliothèques externes si nécessaire, mais je préfère utiliser mon propre code si possible.Comment puis-je trouver le point d'intersection de trois plans?
Quelques données pour jouer avec:
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:
Ces données sont montrant un cube, qui a 6 côtés. Chacun de ces six côtés peut être stocké comme un plan, avec trois coordonnées pour montrer la position et l'orientation. Chaque rangée des données ci-dessus montre un plan, et toutes les 6 rangées font les 6 plans qui composent un cube.
Cette image permet d'illustrer mon point: Three Points Defining a Plane
Points p1, et p2 p3 sont ce que je donne par ligne, dans les données ci-dessus.
Le moteur Quake 3 doit trier les parties des plans à conserver au moment de la compilation, mais cela ne m'intéresse pas pour le moment. Si vous souhaitez plus d'informations, n'hésitez pas à demander!
Pouvez-vous expliquer comment vos données représentent trois plans, et non 18 vecteurs? –
Bien sûr. J'ai édité ma question. – Fiarr