103
Marching Cubes von Arnfried Weber

Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Embed Size (px)

Citation preview

Page 1: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes

vonArnfried Weber

Page 2: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Überblick

• Motivation• Marching Cubes Algorithmus• Topologisch korrekter MC• Extended MC

Page 3: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Motivation

• Marching Cubes (Wofür?)

Page 4: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Motivation

• Marching Cubes (Wofür?)– Visualisierungstechniken (1987) waren

entweder ineffizient oder zu ungenau

Page 5: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Motivation

• Marching Cubes (Wofür?)– Visualisierungstechniken (1987) waren

entweder ineffizient oder zu ungenau– Technik zum extrahieren einer Oberfläche aus

medizinischen 3D-Daten musste gefunden werden

Page 6: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Ni x Nj Dichteraster

- Objekt liegt im Raster

Page 7: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Ni x Nj Dichteraster

- Objekt liegt im Raster

- jeder Punkt besitzt einen gemessenen Dichtewert F(i,j) = [0,0…1,0]

Page 8: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Ni x Nj Dichteraster

- Objekt liegt im Raster

- jeder Punkt besitzt einen gemessenen Dichtewert F(i,j) = [0,0…1,0]

- Approximation des Linienzuges mit Dichtewert 0,5 := Isowert α

Page 9: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- Punkte mit größerer Dichte als Isowert werden markiert F(i,j) >= Isowert

Page 10: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- Punkte mit größerer Dichte als Isowert werden markiert F(i,j) >= Isowert

Page 11: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- Punkte mit größerer Dichte als Isowert werden markiert F(i,j) >= Isowert

Page 12: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- Punkte mit größerer Dichte als Isowert werden markiert F(i,j) >= Isowert

Page 13: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- Punkte mit größerer Dichte als Isowert werden markiert F(i,j) >= Isowert

Page 14: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- Punkte mit größerer Dichte als Isowert werden markiert F(i,j) >= Isowert

Page 15: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- Punkte mit größerer Dichte als Isowert werden markiert F(i,j) >= Isowert

Page 16: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- Punkte mit größerer Dichte als Isowert werden markiert F(i,j) >= Isowert

Page 17: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- Punkte mit größerer Dichte als Isowert werden markiert F(i,j) >= Isowert

Page 18: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

Page 19: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

Page 20: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

- Reduktion der Konfigurationen auf 8 durch Komplementbildung

Page 21: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

- Reduktion der Konfigurationen auf 8 durch Komplementbildung

Page 22: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

- Reduktion der Konfigurationen auf 8 durch Komplementbildung

Page 23: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

- Reduktion der Konfigurationen auf 8 durch Komplementbildung

Page 24: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

- Reduktion der Konfigurationen auf 8 durch Komplementbildung

- Reduktion der Konfigurationen auf 4 durch Rotationssymmetrie

Page 25: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

- Reduktion der Konfigurationen auf 8 durch Komplementbildung

- Reduktion der Konfigurationen auf 4 durch Rotationssymmetrie

Page 26: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

- Reduktion der Konfigurationen auf 8 durch Komplementbildung

- Reduktion der Konfigurationen auf 4 durch Rotationssymmetrie

Page 27: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

- Reduktion der Konfigurationen auf 8 durch Komplementbildung

- Reduktion der Konfigurationen auf 4 durch Rotationssymmetrie

Page 28: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Quadrates?

- 2^4 = 16 , denn es gibt 4 Punkte mit je 2 Zuständen

- Reduktion der Konfigurationen auf 8 durch Komplementbildung

- Reduktion der Konfigurationen auf 4 durch Rotationssymmetrie

Page 29: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Tabelle erstellen in der alle möglichen Konfigurationen gespeichert sind

Page 30: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Tabelle erstellen in der alle möglichen Konfigurationen gespeichert sind

- Nun erstellt man sich für ein Quadrat einen 4-Bit Vektor [v3,v2,v1,v0] mit v0,v1,v2,v3 € [0,1], der als Binärzahl aufgefasst einen Index zwischen 0 und 15 liefert, wobei markierte Punkte gleich 1, unmarkierte gleich 0 gesetzt werden

Page 31: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)- Tabelle erstellen in der alle möglichen Konfigurationen gespeichert sind

- Nun erstellt man sich für ein Quadrat einen 4-Bit Vektor [v3,v2,v1,v0] mit v0,v1,v2,v3 € [0,1], der als Binärzahl aufgefasst einen Index zwischen 0 und 15 liefert, wobei markierte Punkte gleich 1, unmarkierte gleich 0 gesetzt werden

- anhand dieses Index kann nun aus der Tabelle ermittelt werden welche Kanten e0,e1,e2,e3 geschnitten werden

Page 32: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- nehme erstes Quadrat- errechne Index für dieses- siehe in der Tabelle nach welche Schnitte auftreten- interpoliere entlang der Schnittkanten um die genauen Schnittpunkte zu errechnen- verbinde die Schnittpunkte

Page 33: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- nehme erstes Quadrat- errechne Index für dieses- siehe in der Tabelle nach welche Schnitte auftreten- interpoliere entlang der Schnittkanten um die genauen Schnittpunkte zu errechnen- verbinde die Schnittpunkte

- fahre mit nächstem Quadrat fort (marschiere)

Page 34: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Squares(2D)Vorgehen

- nehme erstes Quadrat- errechne Index für dieses- siehe in der Tabelle nach welche Schnitte auftreten- interpoliere entlang der Schnittkanten um die genauen Schnittpunkte zu errechnen- verbinde die Schnittpunkte

- fahre mit nächstem Quadrat fort (marschiere)

- usw.

Page 35: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- 3-Dimensionales Raster Ni x Nj x Nk mit gemessenem Dichtewert an jedem Punkt F(i,j,k) = [0,0…1,0]

Page 36: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- 3-Dimensionales Raster Ni x Nj x Nk mit gemessenem Dichtewert an jedem Punkt F(i,j,k) = [0,0…1,0]

- Statt Quadraten werden Würfel(Cubes) benutzt

Page 37: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)-Tabelle der verschiedenen Würfelkonfigurationen muss erstellt werden

Page 38: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)-Tabelle der verschiedenen Würfelkonfigurationen muss erstellt werden

- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Würfels ?

Page 39: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)-Tabelle der verschiedenen Würfelkonfigurationen muss erstellt werden

- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Würfels ?

- 2^8 = 256 , da es 8 Punkte mit je 2 Zuständen gibt

Page 40: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)-Tabelle der verschiedenen Würfelkonfigurationen muss erstellt werden

- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Würfels ?

- 2^8 = 256 , da es 8 Punkte mit je 2 Zuständen gibt

- durch Komplementbildung noch 128 verschiedene Konfigurationen

Page 41: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)-Tabelle der verschiedenen Würfelkonfigurationen muss erstellt werden

- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Würfels ?

- 2^8 = 256 , da es 8 Punkte mit je 2 Zuständen gibt

- durch Komplementbildung noch 128 verschiedene Konfigurationen

- durch Rotationssymmetrie kann man die Zahl der Konfigurationen auf 15 reduzieren

Page 42: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

-Tabelle der verschiedenen Würfelkonfigurationen muss erstellt werden

- Wie viele verschiedene Möglichkeiten gibt es für die Markierungen eines Würfels ?

- 2^8 = 256 , da es 8 Punkte mit je 2 Zuständen gibt

- durch Komplementbildung noch 128 verschiedene Konfigurationen

- durch Rotationssymmetrie kann man die Zahl der Konfigurationen auf 15 reduzieren

Page 43: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- auch hier wird der Tabellen-Index über die Markierungen des Würfels als Binärzahl aufgefasst dargestellt

Page 44: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- auch hier wird der Tabellen-Index über die Markierungen des Würfels als Binärzahl aufgefasst dargestellt

- die Tabelle liefert daraufhin die Kanten e1,…,e12 die geschnitten werden

Page 45: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- auch hier wird der Tabellen-Index über die Markierungen des Würfels als Binärzahl aufgefasst dargestellt

- die Tabelle liefert daraufhin die Kanten e1,…,e12 die geschnitten werden- nun interpoliert man entlang der gelieferten Strecken die Schnittpunkte und verbindet diese zu Dreiecken wie in der Tabelle beschrieben

Page 46: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- auch hier wird der Tabellen-Index über die Markierungen des Würfels als Binärzahl aufgefasst dargestellt

- die Tabelle liefert daraufhin die Kanten e1,…,e12 die geschnitten werden- nun interpoliert man entlang der gelieferten Strecken die Schnittpunkte und verbindet diese zu Dreiecken wie in der Tabelle beschrieben- nun „marschiert“ man zum nächsten Würfel und wiederholt den Vorgang

Page 47: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- Nachdem man alle Würfel des Rasters bearbeitet hat erhält man ein Drahtgittermodell, das die Isofläche mit Isowert α approximiert

Page 48: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- Nachdem man alle Würfel des Rasters bearbeitet hat erhält man ein Drahtgittermodell, das die Isofläche mit Isowert α approximiert

- als letztes werden nun noch die Normalen für jeden Dreiecks-Eckpunkt zur besseren Darstellung des Modells berechnet

Page 49: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- Nachdem man alle Würfel des Rasters bearbeitet hat erhält man ein Drahtgittermodell, das die Isofläche mit Isowert α approximiert

- als letztes werden nun noch die Normalen für jeden Dreiecks-Eckpunkt zur besseren Darstellung des Modells berechnet

- hierfür wird an allen Ecken des Würfels, der gerade betrachtet wird, der Gradient über die Differenz von zwei Dichtewerten entlang der drei Koordinatenachsen x,y,z, die den aktuell betrachteten Punkt F(i,j,k) einschließen, berechnet

Page 50: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- Nachdem man alle Würfel des Rasters bearbeitet hat erhält man ein Drahtgittermodell das die Isofläche mit Isowert α approximiert

- als letztes werden nun noch die Normalen für jeden Dreiecks-Eckpunkt zur besseren Darstellung des Modells berechnet

- hierfür wird an allen Ecken des Würfels, der gerade betrachtet wird, der Gradient über die Differenz von zwei Dichtewerten entlang der drei Koordinatenachsen x,y,z, die den aktuell betrachteten Punkt F(i,j,k) einschließen, berechnet

G:x(i,j,k) = (F(i+1,j,k) - F(i-1,j,k)) / ∆x wobei F(i,j,k) den Dichtewert des G:y(i,j,k) = (F(i,j+1,k) - F(i,j-1,k)) / ∆y Punktes mit Koordinaten i,j,k G:z(i,j,k) = (F(i,j,k+1) - F(i,j,k-1)) / ∆z repräsentiert und ∆x, ∆y, ∆z die Länge

der Würfelkante entlang der jeweiligen Achse

Page 51: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Marching Cubes(3D)- Nachdem man alle Würfel des Rasters bearbeitet hat erhält man ein Drahtgittermodell das die Isofläche mit Isowert α approximiert

- als letztes werden nun noch die Normalen für jeden Dreiecks-Eckpunkt zur besseren Darstellung des Modells berechnet

- hierfür wird an allen Ecken des Würfels, der gerade betrachtet wird, der Gradient über die Differenz von zwei Dichtewerten entlang der drei Koordinatenachsen x,y,z, die den aktuell betrachteten Punkt F(i,j,k) einschließen, berechnet

G:x(i,j,k) = (F(i+1,j,k) - F(i-1,j,k)) / ∆x wobei F(i,j,k) den Dichtewert des G:y(i,j,k) = (F(i,j+1,k) - F(i,j-1,k)) / ∆y Punktes mit Koordinaten i,j,k G:z(i,j,k) = (F(i,j,k+1) - F(i,j,k-1)) / ∆z repräsentiert und ∆x, ∆y, ∆z die Länge

der Würfelkante entlang der jeweiligen Achse

- nun muss nur noch dIe Normale an jedem Schnittpunkt interpoliert und normalisiert werden

Page 52: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- da bei der Bearbeitung eines Cubes seine Nachbarn nicht mit einbezogen werden, können topologische Inkonsistenzen (Löcher) im approximierten Drahtgittermodell des MC Algorithmuses auftreten

Page 53: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- da bei der Bearbeitung eines Cubes seine Nachbarn nicht mit einbezogen werden, können topologische Inkonsistenzen (Löcher) im approximierten Drahtgittermodell des MC Algorithmuses auftreten

- bei diesem Beispiel entsteht ein Loch durch die Kombination des Würfels mit Konfiguration 6 und dem Würfel mit Komplement und 90° gedrehter Konfiguration 3

Page 54: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- für dieses Beispiel gibt es zwei Möglichkeiten wie die Würfel aussehen müssten um zusammenzupassen

Page 55: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- für dieses Beispiel gibt es zwei Möglichkeiten wie die Würfel aussehen müssten um zusammenzupassen

- im oberen Beispiel wurden die Schnittpunktverbindungen der Konfiguration 6 verändert

- im unteren Beispiel die von der Konfiguration 3

Page 56: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- für dieses Beispiel gibt es zwei Möglichkeiten wie die Würfel aussehen müssten um zusammenzupassen

- im oberen Beispiel wurden die Schnittpunktverbindungen der Konfiguration 6 verändert

- im unteren Beispiel die von der Konfiguration 3

Page 57: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese gemeinsame Fläche besteht aus zwei diagonal gegenüberliegenden markierten Punkten und ist mehrdeutig, was die Verbindung der Schnittpunkte der Kanten angeht

Page 58: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese gemeinsame Fläche besteht aus zwei diagonal gegenüberliegenden markierten Punkten und ist mehrdeutig, was die Verbindung der Schnittpunkte der Kanten angeht

- die zwei möglichen Begebenheiten für diese Fläche könnten wie folgt aussehen

Page 59: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese gemeinsame Fläche besteht aus zwei diagonal gegenüberliegenden markierten Punkten und ist mehrdeutig, was die Verbindung der Schnittpunkte der Kanten angeht

- die zwei möglichen Begebenheiten für diese Fläche könnten wie folgt aussehen

Page 60: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese gemeinsame Fläche besteht aus zwei diagonal gegenüberliegenden markierten Punkten und ist mehrdeutig, was die Verbindung der Schnittpunkte der Kanten angeht

- die zwei möglichen Begebenheiten für diese Fläche könnten wie folgt aussehen

Page 61: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese gemeinsame Fläche besteht aus zwei diagonal gegenüberliegenden markierten Punkten und ist mehrdeutig, was die Verbindung der Schnittpunkte der Kanten angeht

- die zwei möglichen Begebenheiten für diese Fläche könnten wie folgt aussehen

- durch bilineare Interpolation entlang der Fläche ist es nun möglich den Dichtewert am Schnittpunkt der Asymptoten der Hyperbelähnlichen Funktion mit dem Isowert zu vergleichen

Page 62: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese gemeinsame Fläche besteht aus zwei diagonal gegenüberliegenden markierten Punkten und ist mehrdeutig, was die Verbindung der Schnittpunkte der Kanten angeht

- die zwei möglichen Begebenheiten für diese Fläche könnten wie folgt aussehen

- durch bilineare Interpolation entlang der Fläche ist es nun möglich den Dichtewert am Schnittpunkt der Asymptoten der Hyperbelähnlichen Funktion mit dem Isowert zu vergleichen

- wenn F(s,t) < α, dann liegt der linke Fall vor

- wenn F(s,t) >= α, dann liegt der rechte Fall vor

Page 63: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese gemeinsame Fläche besteht aus zwei diagonal gegenüberliegenden markierten Punkten und ist mehrdeutig, was die Verbindung der Schnittpunkte der Kanten angeht

- die zwei möglichen Begebenheiten für diese Fläche könnten wie folgt aussehen

- durch bilineare Interpolation entlang der Fläche ist es nun möglich den Dichtewert am Schnittpunkt der Asymptoten der Hyperbelähnlichen Funktion mit dem Isowert zu vergleichen

- im linken Fall sind die markierten Punkte auf der Fläche getrennt

- im rechten Fall sind die markierten Punkte auf der Fläche verbunden

Page 64: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- nach dieser Feststellung muss nun die Tabelle der Konfigurationen angepasst werden

- es sind zwar alle Konfigurationen an Markierungen in der Tabelle enthalten, jedoch gibt es Konfigurationen die mehrdeutige Flächen aufweisen

Page 65: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- nach dieser Feststellung muss nun die Tabelle der Konfigurationen angepasst werden

- es sind zwar alle Konfigurationen an Markierungen in der Tabelle enthalten, jedoch gibt es Konfigurationen die mehrdeutige Flächen aufweisen

- aus diesem Grund müssen diese Konfigurationen in mehrere Unterfälle gegliedert werden um die 2 Möglichkeiten pro mehrdeutiger Fläche abzudecken

Page 66: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- nach dieser Feststellung muss nun die Tabelle der Konfigurationen angepasst werden

- es sind zwar alle Konfigurationen an Markierungen in der Tabelle enthalten, jedoch gibt es Konfigurationen die mehrdeutige Flächen aufweisen

- aus diesem Grund müssen diese Konfigurationen in mehrere Unterfälle gegliedert werden um die 2 Möglichkeiten pro mehrdeutiger Fläche abzudecken

- am Algorithmus selbst ändert sich nicht viel, man muss lediglich bei jeder Konfiguration die mehrdeutige Flächen aufweist, genau diese Flächen wie gezeigt testen und daran den Unterfall der Konfiguration bestimmen

Page 67: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- nach dieser Feststellung muss nun die Tabelle der Konfigurationen angepasst werden

- es sind zwar alle Konfigurationen an Markierungen in der Tabelle enthalten, jedoch gibt es Konfigurationen die mehrdeutige Flächen aufweisen

- aus diesem Grund müssen diese Konfigurationen in mehrere Unterfälle gegliedert werden um die 2 Möglichkeiten pro mehrdeutiger Fläche abzudecken

- am Algorithmus selbst ändert sich nicht viel, man muss lediglich bei jeder Konfiguration die mehrdeutige Flächen aufweist, genau diese Flächen wie gezeigt testen und daran den Unterfall der Konfiguration bestimmen

- die Konfigurationen, die mehrdeutige Flächen aufweisen, sind 3,6,7,10,12 und 13

Page 68: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese müssen nun wie folgt erweitert werden

- Konfiguration 3 hat eine mehrdeutige Fläche und daher 2 verschiedene Möglichkeiten der Schnittpunktverbindungen

Page 69: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese müssen nun wie folgt erweitert werden

- Konfiguration 3 hat eine mehrdeutige Fläche und daher 2 verschiedene Möglichkeiten der Schnittpunktverbindungen

- Konfiguration 6 hat ebenfalls eine mehrdeutige Fläche und daher auch 2 Möglichkeiten

Page 70: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- diese müssen nun wie folgt erweitert werden

- Konfiguration 3 hat eine mehrdeutige Fläche und daher 2 verschiedene Möglichkeiten der Schnittpunktverbindungen

- Konfiguration 6 hat ebenfalls eine mehrdeutige Fläche und daher auch 2 Möglichkeiten

- Konfiguration 7 hat 3 mehrdeutige Flächen und daher eigentlich 2^3 = 8 verschiedene Möglichkeiten, jedoch können auch hier durch Rotationssymmetrie einige Fälle weggelassen werden

Page 71: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC-Konfiguration 10 hat 2 mehrdeutige Flächen und daher 4 verschiedene Möglichkeiten der Schnittpunktverbindungen

Page 72: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC-Konfiguration 10 hat 2 mehrdeutige Flächen und daher 4 verschiedene Möglichkeiten der Schnittpunktverbindungen

- Konfiguration 12 hat ebenfalls 2 mehrdeutige Flächen und daher auch 4 Möglichkeiten

Page 73: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- bei Konfiguration 13 sind alle Flächen mehrdeutig und daher gibt es theoretisch 2^6 = 64 verschiedene Möglichkeiten, jedoch können auch hier durch Rotationssymmetrie einige Fälle weggelassen werden, so dass nur noch 9 übrigbleiben

Page 74: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- Cubes können nicht nur mehrdeutig auf einer Fläche sein, sondern auch mehrdeutig im Würfel selbst sein

Page 75: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- Cubes können nicht nur mehrdeutig auf einer Fläche sein, sondern auch mehrdeutig im Würfel selbst sein

- dieser Fall kann auftreten, wenn zwei markierte Punkte sich im Cube diagonal gegenüberliegen, wie es zum Beispiel bei Konfiguration 4 der Fall ist

Page 76: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- Cubes können nicht nur mehrdeutig auf einer Fläche sein, sondern auch mehrdeutig im Würfel selbst sein

- dieser Fall kann auftreten, wenn zwei markierte Punkte sich im Cube diagonal gegenüberliegen, wie es zum Beispiel bei Konfiguration 4 der Fall ist

- auch in diesem Fall kann man nicht direkt sehen ob die markierten Punkte im Cube verbunden oder getrennt sind

- um diese Tatsache zu entscheiden gibt es zwei verschieden Möglichkeiten

Page 77: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zwei Möglichkeiten wie die Isofläche den Cube schneidet, können wie folgt aussehen

Page 78: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zwei Möglichkeiten wie die Isofläche den Cube schneidet, können wie folgt aussehen

- bei der ersten Methode zum Entscheiden der internen Mehrdeutigkeit betrachtet man sich den Cube von oben und sieht sozusagen die Projektion der Isofläche

Page 79: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zwei Möglichkeiten wie die Isofläche den Cube schneiden können wie folgt aussehen

-bei der ersten Methode zum Entscheiden der internen Mehrdeutigkeit betrachtet man sich den Cube von oben und sieht sozusagen die Projektion der Isofläche

- im ersten Fall erkennt man, dass keine Verbindung zwischen den markierten Punkten besteht

- im zweiten Fall sieht man, dass ein Schnitt der beiden Hyperbelähnlichen Funktionen vorliegt, und deshalb die Punkte im Cube verbunden sind

Page 80: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zweite Methode die interne Mehrdeutigkeit zu lösen geht über die trilineare Interpolation über den Cube

Page 81: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zweite Methode die interne Mehrdeutigkeit zu lösen geht über die trilineare Interpolation über den Cube

- man nehme den Cube und unterteile ihn in verschiedene Ebenen

Page 82: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zweite Methode die interne Mehrdeutigkeit zu lösen geht über die trilineare Interpolation über den Cube

- man nehme den Cube und unterteile ihn in verschiedene Ebenen

Page 83: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zweite Methode die interne Mehrdeutigkeit zu lösen geht über die trilineare Interpolation über den Cube

- man nehme den Cube und unterteile ihn in verschiedene Ebenen

Page 84: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zweite Methode die interne Mehrdeutigkeit zu lösen geht über die trilineare Interpolation über den Cube

- man nehme den Cube und unterteile ihn in verschiedene Ebenen

- Annahme: die Punkte A0 und C1 sind im Cube verbunden

Page 85: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zweite Methode die interne Mehrdeutigkeit zu lösen geht über die trilineare Interpolation über den Cube

- man nehme den Cube und unterteile ihn in verschiedene Ebenen

- Annahme: die Punkte A0 und C1 sind im Cube verbunden

also muss eine Ebene im Cube existieren auf der die beiden Punkte verbunden sind

Page 86: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- die zweite Methode die interne Mehrdeutigkeit zu lösen geht über die trilineare Interpolation über den Cube

- man nehme den Cube und unterteile ihn in verschiedene Ebenen

- Annahme: die Punkte A0 und C1 sind im Cube verbunden

also muss eine Ebene im Cube existieren auf den die beiden Punkte verbunden sind

- auf dieser Ebene kann nun wie schon bei den mehrdeutigen Flächen durch bilineare Interpolation der Dichtewerte geprüft werden, ob die Punkte im Cube verbunden oder getrennt sind

Page 87: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC- auch in diesem Fall der Mehrdeutigkeit müssen die Konfigurationen in der Tabelle, die solch eine interne Mehrdeutigkeit aufweisen in mehrere Unterfälle gegliedert werden, dabei entstehen insgesamt 33 verschiedene Konfigurationen, daher auch der Name „Marching Cubes 33“ der genau diesen Algorithmus mit den beiden Lösungen für die interne Mehrdeutigkeit beschreibt.

Page 88: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Topologisch korrekter MC

Page 89: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- ein weiteres Problem des MC Algorithmus ist, dass er keine Kanten und Ecken erkennt und diese abschneidet

Page 90: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- ein weiteres Problem des MC Algorithmus ist, dass er keine Kanten und Ecken erkennt und diese abschneidet

- das liegt daran, dass der Algorithmus die Schnittpunkte auf den Würfelkanten mit Strecken verbindet

Page 91: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- ein weiteres Problem des MC Algorithmus ist, dass er keine Kanten und Ecken erkennt und diese abschneidet

- das liegt daran, dass der Algorithmus die Schnittpunkte auf den Würfelkanten mit Strecken verbindet

Page 92: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- ein weiteres Problem des MC Algorithmus ist, dass er keine Kanten und Ecken erkennt und diese abschneidet

- das liegt daran, dass der Algorithmus die Schnittpunkte auf den Würfelkanten mit Strecken verbindet

- in diesem Fall liegt ein skalares Distanzraster vor, dass die selben Ergebnisse erzielt wie ein Dichteraster

Page 93: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- zur ersten Verbesserung der Kantenerkennung wir ein gerichtetes skalares Distanzraster erstellt

Page 94: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- zur ersten Verbesserung der Kantenerkennung wir ein gerichtetes skalares Distanzraster erstellt

- mit diesem Raster als Grundlage kann man erkennen, dass nun entlang jeder der drei Koordinatenachsen der richtige Schnittpunkt errechnet wird

Page 95: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- zur ersten Verbesserung der Kantenerkennung wir ein gerichtetes skalares Distanzraster erstellt

- zum Vergleich: - links, der Originaldatensatz- in der Mitte, MC mit skalarem Distanzfeld- rechts, MC mit gerichtetem skalarem Distanzfeld

Page 96: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC

Page 97: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC

- zur weiteren Verbesserung ist ein neuer Punkt nötig, der nicht auf einer Kante liegt, sondern im Quadrat

Page 98: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC

- zur weiteren Verbesserung ist ein neuer Punkt nötig, der nicht auf einer Kante liegt, sondern im Quadrat

- hierfür werden die Tangentialgeraden der Fläche, gegeben durch die Normalen, die an den Schnittpunkten anliegen, geschnitten um die Ecke durch einen neuen Punkt zu approximieren

Page 99: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- um nun zu entscheiden, ob eine solche Ecke vorhanden ist, wird der Winkel betrachtet, den die an den Schnittpunkten anliegenden Normalen aufspannen

- es hat sich hier erwiesen, dass der Kosinus des Winkels kleiner sein sollte als 0.9, um die Ecke neu zu samplen

Page 100: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- um nun zu entscheiden, ob eine solche Ecke vorhanden ist, wird der Winkel betrachtet, den die an den Schnittpunkten anliegenden Normalen aufspannen

- es hat sich hier erwiesen, dass der Kosinus des Winkels kleiner sein sollte als 0.9, um die Ecke neu zu samplen

- um nun diese Anschauung ins 3-dimensionale zu übertragen, muss man berücksichtigen, dass nun Kanten und Ecken auftreten können

Page 101: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- um nun zu entscheiden, ob eine solche Ecke vorhanden ist, wird der Winkel betrachtet, den die an den Schnittpunkten anliegenden Normalen aufspannen

- es hat sich hier erwiesen, dass der Kosinus des Winkels kleiner sein sollte als 0.9, um die Ecke neu zu samplen

- um nun diese Anschauung ins 3-dimensionale zu übertragen, muss man berücksichtigen, dass nun Kanten und Ecken auftreten können

- um nun für einen Cube zu entscheiden, ob eine Ecke oder Kante vorliegt, ist analog zu dem 2-dimensinalen Beispiel.

- hier wird für alle Normalen der interpolierten Schnittpunkte das Minimum der Winkel, die je von 2 Normalen aufgespannt werden , berechnet

- ist der Kosinus des Winkels kleiner als 0.9 wird eine Ecke/Kante im Cube vermutet

Page 102: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- für die Erkennung, ob eine Kante oder Ecke vorliegt wird das Kreuzprodukt der Normalen gebildet die den größten Winkel aufspannen, und das Maximum aller Winkel zwischen den anderen Normalen der Schnittpunkte und dieser gebildet

- ist der Kosinus dieses Winkels größer als 0.7 wir eine Ecke im anderen Fall eine durchgängige Kante erwartet

Page 103: Marching Cubes von Arnfried Weber. Überblick Motivation Marching Cubes Algorithmus Topologisch korrekter MC Extended MC

Extended MC- für die Erkennung, ob eine Kante oder Ecke vorliegt wird das Kreuzprodukt der Normalen gebildet die den größten Winkel aufspannen, und das Maximum aller Winkel zwischen den anderen Normalen der Schnittpunkte und dieser gebildet

- ist der Kosinus dieses Winkels größer als 0.7 wird eine Ecke im anderen Fall eine durchgängige Kante angenommen

- jetzt ist es möglich mit Hilfe der Schnittgeraden der Tangentialebenen der Normalen eine Kante zu approximieren

- im anderen Fall ist es möglich unter weiterer zu Hilfenahme der Tangentialebene, der Normalen des zweiten Tests einen Eckpunkt zu approximieren