Volumenrendering. Modellierung der visuellen Erscheinung von semitransparenten, beleuchteten Objekten. Marcel Petrick

Ähnliche Dokumente
Computer Graphik II Tesselierung impliziter Kurven und Flächen

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Volumen Visualisierung

Die Übereckperspektive mit zwei Fluchtpunkten

Lichtbrechung an Linsen

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Festigkeit von FDM-3D-Druckteilen

Heute. Motivation. Diskretisierung. Medizinische Bildverarbeitung. Volumenrepräsentationen. Volumenrepräsentationen. Thomas Jung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

computer graphics & visualization

Konzepte der Informatik

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Zeichen bei Zahlen entschlüsseln

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

1 topologisches Sortieren

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

WS 2009/10. Diskrete Strukturen

Grundlagen der Theoretischen Informatik, SoSe 2008

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

Was meinen die Leute eigentlich mit: Grexit?

Linienland, Flächenland und der Hyperraum Ein Ausflug durch die Dimensionen


Anwendungshinweise zur Anwendung der Soziometrie

Primzahlen und RSA-Verschlüsselung

Abituraufgabe zur analytischen Geometrie, Hessen 2013, B2, Grundkurs (TR)

Terrain-Rendering mit Geometry Clipmaps

Quadratische Gleichungen

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

Darstellende Geometrie Übungen. Tutorial. Übungsblatt: Perspektive - Rekonstruktion

3.2 Spiegelungen an zwei Spiegeln


1 Mathematische Grundlagen

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Im Original veränderbare Word-Dateien

Eine Logikschaltung zur Addition zweier Zahlen

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

3. GLIEDERUNG. Aufgabe:

How to do? Projekte - Zeiterfassung

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Kapitel 0. Einführung. 0.1 Was ist Computergrafik? 0.2 Anwendungsgebiete

6.2 Scan-Konvertierung (Scan Conversion)

Erstellen von x-y-diagrammen in OpenOffice.calc

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Lineare Gleichungssysteme

Bedingungen. Bedingungen. Bedingungen

Volumenverarbeitung und Optimierung II

Statuten in leichter Sprache

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

EINFACHES HAUSHALT- KASSABUCH

Download. Mathematik üben Klasse 8 Funktionen. Differenzierte Materialien für das ganze Schuljahr. Jens Conrad, Hardy Seifert

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Post hat eine Umfrage gemacht

Wie löst man Mathematikaufgaben?

MATHEMATIK 3 STUNDEN. DATUM: 8. Juni 2009

1 Möglichkeiten zur Darstellung von Daten

Lösung. Prüfungsteil 1: Aufgabe 1

Durch diese Anleitung soll eine einheitliche Vorgehensweise bei der Vermessung und Bewertung von Golfplätzen sichergestellt werden.

Professionelle Seminare im Bereich MS-Office

Berechnung der Erhöhung der Durchschnittsprämien

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Algorithmische Geometrie

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral!

Studieren- Erklärungen und Tipps

Einführungskurs MOODLE Themen:

Divergenz 1-E1. Ma 2 Lubov Vassilevskaya

Informationen zum Aufnahmetest Mathematik

Professionelle Seminare im Bereich MS-Office

Modellbildungssysteme: Pädagogische und didaktische Ziele

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Auswerten mit Excel. Viele Video-Tutorials auf Youtube z.b.

Die Online-Meetings bei den Anonymen Alkoholikern. zum Thema. Online - Meetings. Eine neue Form der Selbsthilfe?

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Info zum Zusammenhang von Auflösung und Genauigkeit

Lehrer: Einschreibemethoden

Anleitung über den Umgang mit Schildern

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Waggonbeleuchtung. Stützkondensatoren

SUDOKU - Strategien zur Lösung

Elektrischer Widerstand

Anmerkungen zur Übergangsprüfung

Die Größe von Flächen vergleichen

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich.

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Informationsblatt Induktionsbeweis

Mathematischer Vorbereitungskurs für Ökonomen

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Inkrementelles Backup

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Theoretische Grundlagen der Informatik

Statistische Thermodynamik I Lösungen zur Serie 1

Vorstellung Microsoft Mathematics 4.0

10.1 Auflösung, Drucken und Scannen

Leichte-Sprache-Bilder

Transkript:

Volumenrendering Modellierung der visuellen Erscheinung von semitransparenten, beleuchteten Objekten Marcel Petrick

Einleitung Anwendung zur Visualisierung von Skalarfunktionen dreidimensionaler Variablen Datenquellen: mathematisches Modell (Volumenfunktion, Finite-Element-Berechnungen) oder Messwerte aus realer Welt (von CT/MRI, Wetterstationen, ) beide Typen werden gleich behandelt Hauptunterschied besteht in Form des Volumenelementes: dem Voxel http://de.wikipedia.org/wiki/bild:voxelgitter.png 2

Was ist ein Voxel? steht für volumetric pixel (oder volume element ) in der Medizin: meist würfel- oder kugelförmige Zelle im Raum; Auflösung begrenzt ansonsten: räumlicher Datensatz in kartesischen Koordinaten, bei dem ein Voxel den diskreten Wert an einer XYZ-Koordinate bezeichnet -> ohne Volumen dargestellter Wert: Dichte, Wassergehalt, Temperatur, Druck, 3

Datenaufbereitung in medizinischer Bildgestaltung werden die 3D-Daten aus Stapeln paralleler CTs/MRIs gewonnen Auflösung innerhalb einer Ebene (512*512) höher als dazwischen (0,5 cm -> ~200) begrenzt bei lebendem Gewebe exaktere Daten beim Visible Human Project (geplant als allgemeine Referenz der menschlichen Anatomie) Zwischenwerte kann man entweder anhand der gegebenen Volumenfunktion oder durch (lineare) Interpolation schaffen 4

Volumenrendering Grundlegende Optionen für die Anzeige 1) Aufschneiden der Datenmenge in einer Querschnittsebene; trivial und wenig anspruchsvoll; hier nicht behandelt 2) Direkte Darstellung: den Voxeln Transparenz und Farbe zuweisen und die Volumendaten aus einem beliebigen Blickwinkel betrachten -> Raycasting / Splatting 3) Objektextraktion und herkömmliches Rendering -> marching cubes 5

Gliederung 1. Direkte Darstellung a. Raycasting - Schattierungsverfahren b. Projected Tetrahedra c. Splatting 2. Indirektes Rendering a. Konturverbinden b. Marching Cubes - Grid Snapping 6

1.a. Raycasting [ Graphische Datenverarbeitung 2 ], Seite 335, Bild 7.2 7

1.a. Raycasting bildraumorientiertes Verfahren analog zum Raytracing Ablauf: die Voxel klassifizieren und Farb-/ Opazitätswerte (R, G, B, α) zuordnen Volumendaten in Blickrichtung transformieren (oder: Schnittpunkte bestimmen und Strahl transformieren) für jedes Pixel des Bildraumes einen Strahl aussenden und dessen Farbe durch Summation entlang des Strahls feststellen (Richtung: von hinten nach vorn): c out = c * α + (1 - α) * c in für die abgetasteten Schnittpunkte Zwischenwerte mit Interpolation berechnen Nachteil: keine Berücksichtigung der Beleuchtung, da die Lichtquelle an Beobachterstandpunkt angenommen wurde 8

1.a. Raycasting: Schattierungsproblem http://graphics.cs.uni-sb.de/volumert/img/wonormal.png 9

1.a. Raycasting: Schattierungsproblem Annahme: alle Gitterzellen sind Würfel -> maximal drei Seitenflächen sichtbar -> max. drei Oberflächenprojektionen Tiefenpuffer-Gradientenschattierung (bildraumorientiert): Oberflächenpunkt mithilfe Z- Buffers ermitteln, lokale Nachbarschaft in x- und y- Richtung differenzieren, darauf Kreuzprodukt -> Normalenvektor; leichte Implementierung, schnell, geringe Auflösung, Probleme bei kleinen Winkeln Grauwert-Gradientenschattierung: GW-Gradient mithilfe eines Differenzoperators berechnen, daraus analog den Normalenvektor bestimmen 10

1.a. Raycasting: Schattierungsproblem [ Graphische Datenverarbeitung 2 ], Seite 337, Bild 7.4 links: rechts: Tiefenpuffer-Gradientenschattierung Grauwert-Gradientenschattierung 11

1.a. Raycasting: Schattierungsproblem Tiefenschattierung: Strahlverfolgung (Aufsummierung) bei Schwellwert abbrechen, Entfernung in hell-dunkel kodieren Maximumsprojektion: größter auf dem Strahl gefundener Wert wird zurückgegeben (Blutgefäße zum Beispiel gut sichtbar) 12

1.a. Raycasting: Schattierungsproblem http://www5a.biglobe.ne.jp/~pc-3d/gallery/gallery.html oben: unten: Tiefenschattierung Maximumsprojektion 13

1.b. Projected Tetrahedra forward mapping -Algorithmus, der ganze Bereiche des Volumens auf den Bildraum projiziert Algorithmus: 1) Zerlegung des Volumens in Tetraeder (fünf oder sechs) 2) Klassifikation der Tetraeder entsprechend des Bildes ihrer momentanen Projektion (nur sechs Äquivalenzklassen) 3) Zerlegung der Projektion in Dreiecke 4) Farb-/Opazitätsbestimmung für Eckpunkte (eigtl. nur einer!) dabei eine back to front -Sortierung verwenden 5) Füllen, Goraud-Shading und Scan-Konvertierung für jedes Dreieck 14

1.b. Projected Tetrahedra http://www.gris.uni-tuebingen.de/people/staff/rsonders/ 15

1.c. Splatting Westover beschrieb 1990 als Erster dieses Verfahren zur Voxelprojektion: Abbildung des Kernes zwei mögliche Wege: ein Datum in einem Voxel wird auf ein einziges Pixel projiziert: dessen Wert durch Filter über 3D-Region des Voxels bestimmen ein Voxelwert wird über eine Anzahl von Pixeln in der Bildebene verteilt bei 3D-Gauß-Verteilung als Filter erfolgt eine Projektion als Kreisfunktion auf Bildebene -> Vorverarbeitung des footprints (Basisfläche des V.) und Abspeicherung in Tabelle möglich kartesisches Gitter -> rotationssymetrische Kerne quaderförmige Zellen -> elliptische Kerne danach nur noch Skalierung des footprints in der Ebene entsprechend der affinen Transformation des Volumens nötig 16

1.c. Splatting [ 3D-Computergrafik ], Seite 432, Bild 13.16 17

2. Indirekte Volumendarstellung die Extraktion und Darstellung von Isokonturen und Isoflächen einer kontinuierlichen Volumenfunktion verbessert deren Interpretation es gibt zwei Ansätze: konturverbindende Verfahren (hauptsächlich bei Daten aus der Computertomographie): Finden von Isolinien in den 2D-Schnitten, danach Verbinden zu Oberflächen Marching cubes/tetrahedras : Berechnung einer Approximation der Isoflächen in den Zellen 18

2.a. Konturverbinden Topologische Rekonstruktion durch Lösen des Korrespondenz-Problems bei kleinen Abständen (oftmals): reicht es benachbarte Schichten in gemeinsame Ebene zu projizieren, wenn Schnitt, dann verbunden Darstellung durch Verbindungsgraph [ Graphische Datenverarbeitung 2 ], Seite 353, Bild 7.16 19

2.a. Konturverbinden Geometrische Rekonstruktion: Konturen der Schichten liegen bereits als geschlossene Polygone vor diese Isolinien müssen in geeigneter Weise mit Dreiecken verbunden werden (3D-Delaunay- Triangulierung), deshalb vorher Punktdatenreduktion Algorithmus von Barequet und Sharir: 1) korrespondierende Punkte in überlappenden Konturen durch Matching bei gleicher Orientierung finden 2) verbliebene Konturen zu geschlossenem Polygon zusammenfassen 3) fast immer richtige Annahme: kein Schnitt bei Projektion -> Restpolygone einfach triangulieren 20

2.b. Marching Cubes es ist möglich Oberflächen aus den Volumendaten zu extrahieren, wenn diese stetige Iso-Oberflächen enthalten dazu Volumenfunktion mit einem strukturierten Gitter abtasten danach in Polygon-Netze umwandeln -> konventionelle Rendering-Techniken können zum Einsatz kommen 1987 von Lorenson/Cline eingeführt Polygone in Voxel einpassen, wo man eine Oberfläche vermutet Voxel: acht Ecken -> 256 Möglichkeiten eine Fläche aufzuspannen durch Symetriebetrachtungen auf 14 Fälle reduzierbar Nachteile: es wird ausdrücklich eine Oberfläche extrahiert, auch wenn das vielleicht nur zwei benachbarte Oberflächenfragmente sind Menge der Grundkörper zu groß viele projizieren später auf das selbe Pixel (Lösung: Dividing cubes nachschalten) 21

2.b. Marching Cubes [ 3D-Computergrafik ], Seite 426, Bild 13.9 22

2.b. Marching Cubes Algorithmus: 1) vier Schichten des Gitters laden (Optimierung) 2) eine Zelle betrachten, die je vier Ecken in den mittleren beiden Schichten enthält 3) Eckpunkte anhand der Volumenfunktion als innen oder außen klassifizieren 4) anhand dessen dann die notwendigen Dreiecke bestimmen 5) genaue Position der Dreieckspunkte auf den Kanten durch lineare Interpolation feststellen 6) Normalenvektoren der Dreiecksecken in den Originaldaten bestimmen, danach gesamten Normalenvektor durch lineare Interpolation berechnen 7) mit 2) fortfahren, bis man das gesamte Volumen betrachtet hat (danach natürlich zu 1) gehen ) 23

2.b. Marching Cubes Probleme bei der Triangulierung: markierte und unmarkierte Punkte liegen manchmal auf einer Würfelseite -> nicht klar, ob man die markierten Ecken trennt oder miteinander verbinden soll falls angrenzende Würfel unterschiedlich trianguliert werden, führt das zu Löchern in der Oberfläche Lösungsmöglichkeiten: Marching tetrahedra : stets eindeutige Triangulierung, aber auch fast doppelt so viele Dreiecke zweideutige Seiten zwischen benachbarten Würfeln gleich behandeln 24

2.b. Grid Snapping [ Graphische Datenverarbeitung 2 ], Seite 373, Bild 7.40 links: rechts: reiner Marching Cubes -Algorithmus mit Grid Snapping 25

2.b. Grid Snapping Probleme bei Marching Cubes : falls eine Oberfläche einen Würfel nahe seinem Eckpunkt schneidet, entsteht ein sehr kleines Dreieck liegt der Schnitt nahe der Kante, wird das Dreieck spitz Folge: Güte der Triangulierung der Oberfläche sinkt und Anzahl der Polygone steigt deshalb werden die Abstände zwischen Schnittpunkten und Würfeleckpunkte berechnet -> falls kleiner als ein Schwellwert, dann Schnittpunkt in Ecke ziehen nach Ende des Marching Cubes -Algorithmus alle degenerierten Dreiecke streichen schnell, aber leider nur geringe Reduktionsraten möglich (außer bei großen Schwellwerten) 26

Quellen [ 3D-Computergrafik ]: Alan Watt, 3D- Computergrafik, Pearson Studium (15. Dez. 2001), Seiten 413 434, ISBN 3827370140 [ Graphische Datenverarbeitung 2 ]: Jose L. Encarnacao, Wolfgang Straßer, Reinhard Klein, Graphische Datenverarbeitung 2, Oldenbourg (1997), Encarnacao et al, Seiten 329 374, ISBN 3486234692 http://graphics.cs.uni-sb.de/volumert/index_de.html http://de.wikipedia.org/ http://www.gris.unituebingen.de/projects/grdev/applets/marchingcube/ge rmanapplet.html 27

Ende Herzlichen Dank für Ihre Aufmerksamkeit. 28