Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ws1415:projekte_im_wintersemester_2014_15:marching-cube

Dies ist eine alte Version des Dokuments!


Der Marching Cubes Algorithmus

Bei Marching Cubes handelt es sich um einen Algorithmus der versucht dreidimensionale Voxeldaten in eine polygonale Darstellung umzuwandeln.

Funktionsweise

Zuerst wird das gesamte Voxelgitter in Würfel aus jeweils acht Voxeln, welche die Eckpunkte bilden, aufgeteilt. Nun wird von Würfel zu Würfel „marschiert“ und bestimmt welche Dreiecke die Voxeldaten am besten Darstellen. Dafür wird ein Schwellwert festgelegt. Werte unter dem Schwellwert befinden sich auf der einen Seite der von den Voxeln dargestellten Oberfläche, Werte über dem Schwellwert auf der anderen. Damit gibt es also $2^8 = 256$ (Unter bzw. über dem Schwellwert für jeden Eckpunkt) Dreiecksaufteilungen für jeden Würfel. Ein großteil hiervon ist allerdings symmetrisch und lässt man rotationen und symmetrie außer Acht gibt es nur 15 verschiedene Fälle.

Wäre dies alles, würden allerdings große Probleme auftreten. Da es nur 15 verschiedene Aufteilungen gibt, würde man immer wieder die selben eckigen Formen und aufteilungen sehen. Es wäre also keines Falls realistisch. Um dies zu verhindern arbeitet der Algorithmus am besten mit stetigen Werten. Die grundsätzliche Dreiecksaufteilung bleibt hierbei gleich. Die Kanten und Eckpunkte der Dreiecke werden allerdings verschoben je nachdem was für Werte die Knoten haben.

Nun müssen die Dreiecke nur noch ausgegeben werden.

ws1415/projekte_im_wintersemester_2014_15/marching-cube.1426448070.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)