Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws1415:projekte_im_wintersemester_2014_15:marching-cube [2015/03/15 20:34] maxiw angelegt |
ws1415:projekte_im_wintersemester_2014_15:marching-cube [2016/05/10 14:46] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Der Marching Cubes Algorithmus ====== | + | ====== Der "Marching Cubes" Algorithmus ====== |
Bei Marching Cubes handelt es sich um einen Algorithmus der versucht dreidimensionale Voxeldaten | Bei Marching Cubes handelt es sich um einen Algorithmus der versucht dreidimensionale Voxeldaten | ||
Zeile 11: | Zeile 11: | ||
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. | 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. | + | {{:ws1415:projekte_im_wintersemester_2014_15:mcubes_tris.png?600|}} |
+ | |||
+ | 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 abhängig von den Werten der Voxel verschoben. | ||
+ | |||
+ | {{:ws1415:projekte_im_wintersemester_2014_15:march_stetig.png?300|Marching Cubes mit stetigen Werten}} | ||
+ | {{:ws1415:projekte_im_wintersemester_2014_15:march_bin.png?300|Marching Cubes mit binären Werten }} | ||
+ | |||
+ | Linkes Bild: Marching Cubes mit stetigen Werten|Rechtes Bild: Marching Cubes mit binären Werten | ||
Nun müssen die Dreiecke nur noch ausgegeben werden. | Nun müssen die Dreiecke nur noch ausgegeben werden. |