background image
(ein dynamisches Array, für jedes Dreieck die Vertices und Farben speichert) vorliegt, aber nicht
gezeichnet wird. Dieses zu finden, würde aber nur zu unnötigem Rechenaufwand führen, dem der
minimal zusätzliche Speicherplatz vorzuziehen ist.
Durch den Aufruf der Funktionen update_vSet(...) und check_vSet() kann auch die Integration der
neu hinzugefügten Dreiecke mit seinen Nachbarn weiter überprüft und gegebenenfalls korrigiert
werden, da diese immer am Ende des tri_set ­ Vektors hinzugefügt werden und somit die eventuelle
Verwendung von deren Split Points und Forbidden Points unmittelbar nach dem Hinzufügen der
neuen Dreiecke ebenfalls überprüft wird. Das funktioniert aus dem Grunde, da das Ende der
Schleife, die diese Operationen durchführt, durch die Größe des tri_set - Vektors angegeben wird.
Zudem lassen sich über diese beiden Funktionen und dem Vertex Set prinzipiell alle
Kontinuitätsprobleme innerhalb des Meshs noch während des Rekursionsprozesses lösen. Da durch
die update_neighbor(...)-Funktion aber schon der Großteil der Cracks eliminiert wird, werden
diese beiden Funktionen erst am Schluss aufgerufen, nachdem der Triangulierungprozess bereits
abgeschlossen ist.
4.4 Exportieren der Modelle im VRML-Format
Um das komplett vermaschte Modell auch außerhalb von PointMesh benutzen zu können, muss es
in einem geeigneten Format abgespeichert werden. Für den Export wurde an dieser Stelle das
VRML-Format gewählt. Dieses Format besitzt den Vorteil, dass es ein ASCII-Format, also
textbasiert ist und sich deshalb sehr leicht handhaben und erweitern lässt. Zudem lassen sich die
Modelle auch online über gängige Webbrowser darstellen, sofern ein Browser-Plugin installiert ist.
Der größte Nachteil liegt in dem vergleichsweise hohen Speicherplatzbedarf und der relativ
langsamen Ein- und Auslesegeschwindigkeit im Vergleich zu anderen (vor allem binären)
Formaten.
Über die GUI lässt sich sowohl das VRML-1.0-Format wie auch das VRML-2.0 Format auswählen.
Die Speicherung als VRML-1.0-Format wurde implementiert, da einige 3D-Modelling-Tools (wie
z.B. Blender) dieses ältere Format nutzen. Die meisten VRML-Viewer und Browser-Plugins
benutzen allerdings das VRML-2.0-Format. Deshalb bleibt es dem Anwender überlassen, in
welchem Format das Modell abgespeichert werden soll. PointMesh selbst kann zur Zeit nur 3D-
Modelle im VRML-2.0-Format einlesen. Für zukünftige Versionen ist auch ein eigenes binäres
Format geplant, welches die Daten kompakter speichert.
26