Dacht ich mir schon, dass du .map Dateien einlesen willst. Ich hab das damals iirc so gemacht, dass ich alle möglichen Kombinationen aus jeweils 3 Ebenen durchgegangen bin und mir den Schnittpunkt dieser drei Ebenen berechnet hab (sofern vorhanden). Du suchst also einen Punkt
§\mathrm{\mathbf{p}}§ der alle drei Ebenengleichungen erfüllt:
§p_x a_1 + p_y b_1 + p_z c_1 + d_1 = 0§
§p_x a_2 + p_y b_2 + p_z c_2 + d_2 = 0§
§p_x a_3 + p_y b_3 + p_z c_3 + d_3 = 0§
Drei Gleichungen, drei Unbekannte, einfach
auflösen und du hast deinen Punkt. Dann wirfst du alle Punkte weg, die nicht vor oder auf allen Ebenen liegen. Übrig bleiben die Vertices des, durch die Ebenen definierten, konvexen Polyeders, wobei jeder Vertex zu den drei Faces gehört, die eben den jeweils beteiligten Ebenen entsprechen. Dann musst du nur noch die konvexen Polygone triangularisieren, was relativ einfach ist (Winding Order beachten).
Leider ist mir der Code von meinem .map Loader mal durch einen Stromausfall verloren gegangen...