Proseminar Computergraphik. 3D - Modellierung

Ähnliche Dokumente
Darstellungsarten für 3D-Körper. Boundary Representation (BRep):

Beleuchtung. in Computerspielen

Modellierungsmethoden

Modellierung. Oliver Hartmann

Christina Nell. 3D-Computergrafik

Geometrische Modellierung mittels Oktalbäumen und Visualisierung von Simulationsdaten aus der Strömungsmechanik. Klaus Daubner

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

Marching Cubes - Erstellung von Polygonmodellen aus Voxelgittern

Adaptives Displacement Mapping unter Verwendung von Geometrieshadern

Grundlagen der Spieleprogrammierung

Programmierpraktikum 3D Computer Grafik

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

Newtek Lightwave Grundlagen der 3D-Vektorgrafik

Photonik Technische Nutzung von Licht

Lokale Beleuchtungsmodelle

Volumenverarbeitung und Optimierung II

Computergrafik 1 Beleuchtung

Die Welt der Shader. Fortgeschrittene Techniken III

Kapitel 4: Schattenberechnung

Rendering: Lighting and Shading

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

Featurebasierte 3D Modellierung

1.6 Objekte Anordnung der Projektionsgeräte. ˆ Einzelsystem ˆ Rundumprojektion ˆ Kaskadierte Projektion Art der Projektion

Wima-Praktikum 2: Bildsynthese-Phong

8. Modelle für feste Körper

A K K O M M O D A T I O N

Visualisierung mit TurboCAD

Übungsstunde 8 zu Computergrafik 1

Computergraphik Grundlagen

Seminar Game Development Game Computer Graphics. Einleitung

Dynamisches Huffman-Verfahren

Projektionen:

Professur Konstruktionslehre

3D Visualisierung & 3D Animation Einführung, Shading, Raytracing, Materialien, 3dsmax. Dipl. Ing. Dr. Alexander Berzler

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Multimedia für Referate und Präsentationen

BlendaX Grundlagen der Computergrafik

Kennen, können, beherrschen lernen was gebraucht wird

Landesabitur 2007 Beispielaufgaben 2005_M-LK_A 7. Eine quadratische Pyramide (Grundkante 4 und Höhe 6) steht neben einer Stufe. 1.

Die untere Abbildung zeigt eine Szene aus einer 3D-Computeranimation.

12. Modelle für 3D-Objekte und -Szenen

Einführung. Ablesen von einander zugeordneten Werten

Teil 7: Beleuchtung Beleuchtungsmodelle, Schattierungsmodelle

ANIMATION - GRUNDLAGEN

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

Lokale Beleuchtungsmodelle

3.6 Schattenberechnung

große Vielfalt von Daten für die Visualisierung möglich

Nichtrealistische Darstellung von Gebirgen mit OpenGL

Vektorprodukt. Satz: Für a, b, c V 3 und λ IR gilt: = a b + a c (Linearität) (Linearität) b = λ

Einerseits: Zentralperspektive

Kollisionserkennung

Rendering. (illumination/shading) Beleuchtungsmodelle. Schattierung von Polygonen. Lokale Beleuchtungsmodelle

Übung zur Abgaben Didaktik der Geometrie. Gruppe 5 Alt, Regine u. Gampfer,Stefanie

Strategien zur Erzeugung von 3D Modellen

Rendering: Lighting & Shading

Überblick Echtzeit-Rendering. Uwe Domaratius

4.7 Globale Beleuchtungsmodelle

D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen

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

Graphische Datenverarbeitung Visualisierungstechniken. Prof. Dr. Elke Hergenröther

Wie druckt man eine Mannigfaltigkeit? Über die Topologie des 3D-Drucks

Kennen, können, beherrschen lernen was gebraucht wird

Algorithmische Geometrie 3. Schnitte von Liniensegmenten

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Die 3D-Parameter des Adjust-Fensters im Programm Apophysis 2.08 Beta 3D Hack

Non-Photorealistic Rendering

Georg Molzer 1HDD 3D-Grafikkarten GDV-Hardware

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar

Reconstruction and simplification of surfaces from contoures

Aus Zahlen werden Bilder. Jan Tobias Mühlberg

Beleuchtung. Matthias Nieuwenhuisen

7.1 Polygon Offset. Anwendung - Darstellung von Polygonen als Teil von Oberflächen - Beispiel: Gradlinien auf der Erde - Schwierigkeit:

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

How to make a PIXAR movie

Bildverarbeitung Herbstsemester

Lernmodul 2 Modelle des Raumes

Farbtiefe. Gängige Farbtiefen

Volumen Visualisierung

Geometrische Körper. Hinweise. zu diesem. Freiarbeitsmaterial. Kurzinformation

Bachelor- und Masterarbeiten im Sommersemester Numerische Simulation ausgewählter Testfälle mit OpenFOAM

Messtechnik Neth GmbH

Computergrafik 2016 Oliver Vornberger. Kapitel 16: 3D-Repräsentation

Die Zauberwürfel-Werkstatt Baustein: Cuboids (Rubiks Floppy 3x3x1)

Prozedurale Texturen >>Was nicht passt wird passend gemacht...<<

Leseprobe. Dieter R. Ziethen, Werner Koehldorfer. CATIA V5 - Konstruktionsmethodik zur Modellierung von Volumenkörpern ISBN:

Texture Based Direct Volume Rendering

Glossar. zum Projekt. Dynamische Geometrie-Software. Version 1 vom Gruppe geo09, Projektleiter: Andy Stock

Farbtechnik und Raumgestaltung/EDV

Kurs zur Ergänzungsprüfung Darstellende Geometrie CAD. Ebenes Zeichnen (2D-CAD) und die ersten Befehle

Blender Tutorial Dresden in 3D

Geoinformation I Datenmodellierung

HS Heilbronn - Prof. Dr. P. Fleischmann CAD-K2 10/2010 2/1. Definitionen

Strahlensätze anwenden. ähnliche Figuren erkennen und konstruieren. ähnliche Figuren mit Hilfe zentrischer Streckung konstruieren.

Übung zur Vorlesung Algorithmische Geometrie

Bildbearbeitung und Texturierung

Transkript:

TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT INFORMATIK INSTITUT FÜR SOFTWARE- UND MULTIMEDIATECHNIK PROFESSUR FÜR COMPUTERGRAPHIK UND VISUALISIERUNG PROF. DR. STEFAN GUMHOLD Proseminar Computergraphik 3D - Modellierung Arne Theß (Mat.-Nr.: 3296187) Betreuer: Dr.-Ing. W. Mascolus Dresden, 18. Juli 2008

Aufgabenstellung In diesem Proseminar ging es darum, zu einem selbstgewählten Thema einen Vortrag von 30 Minuten Länge zu halten. Dieser Vortrag sollte selbstverständlich durch Anschauungsmaterial ergänzt und eine Diskussion abgeschlossen werden. Die folgende Ausarbeitung zu dem gehaltenen Vortrag schließt die Aufgabenstellung ab. Als Thema für meinen Beitrag zum Proseminar habe ich die 3D-Modellierung gewählt, da ich mich durchaus für dieses Gebiet interessiere und meinen Kommilitonen ebenfalls einen Überblick darüber geben wollte. Mehr als ein Überblick über einige Teile dieses Themenbereichs ist allerdings aufgrund der Zeitbeschränkung und des Umfangs des Themengebiets nicht möglich. Aus diesem Grund erläutere ich einige Darstellungsschemata und Texturierungsmethoden näher. Abbildung 1: 3D Watch by Olivier Amrein

1 Inhaltsverzeichnis 1 Darstellungsschemata 2 1.1 Direkte Darstellungsschemata............................... 3 1.1.1 Constructive Solid Geometry (CSG)........................ 3 1.1.2 Generative Modelling............................... 5 1.1.3 Voxelgitter..................................... 6 1.2 indirekte Darstellungsschemata............................... 10 1.2.1 Drahtgittermodell.................................. 10 1.2.2 Boundary Representation.............................. 11 2 Texturen 12 2.1 Texture Mapping...................................... 12 2.2 Bump Mapping....................................... 13 2.2.1 Normal Mapping.................................. 14 2.3 Displacement Mapping................................... 15 3 Zusammenfassung 16 4 Quellen 17 Abbildungsverzeichnis 17

Arne Theß 3D - Modellierung 2 1 Darstellungsschemata Der wichtigste Bestandteil der 3D-Modellierung ist wohl die Darstellung der Objekte. Dies kann, je nach Anforderungen, auf unterschiedliche Weise passieren. So unterscheidet man beispielsweise direkte und indirekte Darstellungsschemata. Diese Unterscheidung ist insofern sinnvoll, dass bei direkten Darstellungsschemata das Volumen des zu beschreibenden Körpers beschrieben wird, während diese Beschreibung bei indirekten Darstellungsschemata nur über seine Oberfläche, also seine Flächen und Kanten, erfolgt. Abbildung 2: Erstellung eines 3D-Objekts mit Blender

Arne Theß 3D - Modellierung 3 1.1 Direkte Darstellungsschemata 1.1.1 Constructive Solid Geometry (CSG) Bei der Constructive Solid Geometry,werden die Körper mittels durch boolesche Operatoren Verknüpfter Basisobjekte dargestellt. Diese so genannten Primitive sind Körper, deren Oberfläche durch relativ einfache mathematische Formeln beschrieben werden kann. Üblicherweise werden hierzu Würfel, Zylinder, Kugeln und ähnliches verwendet. Diese Objekte werden durch Bilden von Vereinigung, Schnitt oder Differenz miteinander kombiniert, so dass neue, kompliziertere Körper entstehen. Aufgrund der Tatsache, dass diese Kombinationen wegen der fehlenden Kommutativität der CSG-Operationen streng hierarchisch geordnet sind, lassen sich eben diese Operationen in einem CSG-Baum darstellen. Abbildung 3: CSG-Baum Die Blätter dieses Baumes bestehen, wie im Bild gut zu erkennen ist, aus den jeweils verwendeten Kindern, während die Wurzeln die verwendeten CSG-Operationen bzw. deren Produkt darstellen.

Arne Theß 3D - Modellierung 4 Die Vorteile dieses Darstellungsschemas liegen zum einen in der Tatsache, dass man Körper vergleichsweise einfach erzeugen kann, indem man Grundobjekte miteinander kombiniert. Außerdem ist die CSG bei CAD-Anwendungen sehr beliebt, das vor allem im technischen Entwurf Objekte immer wieder auf den gleichen Formen basieren. Da viele Rendermethoden allerdings nicht direkt mit CSG umgehen können, müssen die erstellten Körper erst in Oberflächendarstellungen umgewandelt werden, was verhältnismäßig rechenintensiv ist. Auch kann es vorkommen, dass sich aufgrund mangelnder Primitive einige Formen nicht oder nur mithilfe sehr vieler Kombinationen über CSG darstellen lassen.

Arne Theß 3D - Modellierung 5 1.1.2 Generative Modelling Bei diesem Darstellungsschema wird das Modell nicht über eine Ansammlung geometrischer Primitive beschrieben, sondern durch Funktionen. Aus diesem Grund ist es möglich, auf der Basis bereits erstellter Objekte durch Änderung einiger Parameter neue Körper zu erstellen. Abbildung 4: Aufgrund der strukturellen Ähnlichkeit dieser Objekte können sie aus einem Ausgangsobjekt durch Änderung einiger Variablen erzeugt werden. Die Programmiersprache, die für die generative Modellierung genutzt wird, ist die stack-basierte, interpretierte Generative Modelling Language (GML).

Arne Theß 3D - Modellierung 6 Hier ein Beispiel dazu: Abbildung 5: Schritte zur Erzeugung eines Körpers mittels GML 1: (0,0,-2) (1,1,0) 2 quad 2: /cyan setcurrentmaterial 5 poly2doubleface 3: (0,1,1) extrude 4: (0,0,1) (1,0,1) normalize 0 project_ringplane 5: (2,0,0) (0,1,-1) 2 quad 6: /yellow setcurrentmaterial 5 poly2doubleface 7: 0 bridgerings 1.1.3 Voxelgitter Ein Voxelgitter ist ein räumlicher, gitterförmig angeordneter Datensatz, dessen Werte ( Voxel ) die Dichte eines Objekts beschreiben. Abbildung 6: Voxelgitter

Arne Theß 3D - Modellierung 7 Dadurch ergibt sich die Möglichkeit, Teile eines Objekts gewissermaßen wegzuschneiden, um ins Innere des Körpers zu sehen. Auch sind, da ja das komplette Volumen beschrieben wird, CSG-Operationen problemlos möglich. Des weiteren eignen sich Voxelgitter besonders zur Darstellung teilweise durchsichtiger Objekte wie Wolken oder Flüssigkeiten. Allerdings muss aufgrund der zu großen Komplexität meist auf die Streuung an den Voxeln verzichtet werden. Besonders ist bei diesem Darstellungsschema, dass 4 Schritte zum Rendern benötigt werden. Klassifikation: In dieser Phase des Renderns werden den Voxeln Materialeigenschaften zugewiesen. Beim Erzeugen der Voxel wird üblicherweise nur ein Wert eingelesen (z. B. Knochendichte beim CT). Da dieser Wert aber kaum Informationen über Materialeigenschaften liefert, wie zum Beispiel Farbe, Reflexion, etc., werden hier den Voxeln Werte nach Benutzervorgaben zugewiesen. Abbildung 7: Klassifikation

Arne Theß 3D - Modellierung 8 Shading: Hier wird üblicherweise Phong-Shading genutzt. Dazu benötigt man normalerweise die Normale des entsprechenden Objektes. Da es sich bei den Voxeln aber um Punkte im Raum handelt und Punkte keine Normalen haben, wird der Gradient des Voxels statt der Normalen genutzt. Dieser Gradient zeigt in die Richtung der stärksten Materialänderung. Dem liegt der Gedanke zugrunde, dass das Licht in der Natur auch nur am Übergang zwischen verschiedenen Materialschichten gebrochen oder reflektiert wird. Abbildung 8: Shading Interpolation: Da Voxel Punkte sind, ist es, besonders bei geringer Dichte des Objekts, eher unwahrscheinlich, dass ein das Volumen durchlaufender Sichtstrahl ein Voxel direkt trifft. Deshalb werden in dieser Phase des Renderns die Materialeigenschaften der Punkte zwischen den Voxeln den umgebenden Voxeln angenähert. Die Festlegung der Eigenschaften dieser Punkte erfolgt meist durch lineare Interpolation. Abbildung 9: Interpolation

Arne Theß 3D - Modellierung 9 Compositing: In dieser abschließenden Phase werden die Lichtbeiträge von in einer Reihe liegenden Voxeln miteinander verrechnet. Das funktioniert so, dass der entsprechende Sichtstrahl ein Voxel trifft und dabei, abhängig von den Materialeigenschaften des Voxels, Intensität und Farbe ändert. Dann trifft der Sichtstrahl auf das nächste Voxel und ändert wieder Intensität und Farbe. Das setzt sich solange fort, bis der Sichtstrahl auf die Bildebene trifft und dort ein Pixel einfärbt. Abbildung 10: Compositing Letztendlich entsteht daraus ein Bild, welches, je nach Eigenschaften, auch teilweise durchsichtig und mehrschichtig sein kann. Aufgrund der Tatsache, dass man Teile des Objekts entfernen und so ind Innere schauen kann, ist dieses Modell besonders auch für den medizinischen Bereich interessant. Abbildung 11: Durch Voxelgitter beschriebenes Bild eines Teils eines Unterarms

Arne Theß 3D - Modellierung 10 1.2 indirekte Darstellungsschemata 1.2.1 Drahtgittermodell Durch dieses Darstellungsschema wird ein Objekt lediglich durch seine Kanten beschrieben. Das bietet natürlich hinsichtlich der Geschwindigkeit Vorteile. Allerdings kann es zu Mehrdeutigkeiten kommen. Abbildung 12: Potenzielle Mehrdeutigkeit des Drahtgittermodells Aufgrund der potentiellen Mehrdeutigkeit wird dieses Schema heute nur noch zur Darstellung verwendet, meist als Vorschauansicht in CAD und 3D-Modellierungssoftware. In diesem Bereich ist das Drahtgittermodell jedoch weit verbreitet. Abbildung 13: Darstellung im Drahtgittermodell

Arne Theß 3D - Modellierung 11 1.2.2 Boundary Representation Dieses Darstellungsschema beschreibt ein Objekt über seine Oberfläche. Da, im Gegensatz zum Drahtgittermodell. außer den Ecken und Kanten auch die Flächen definiert werden, kann es zu keinen Mehrdeutigkeiten mehr kommen. Generell wird das entsprechende Objekt, wie auch beim Drahtgittermodell, über Polygonnetze dargestellt. Die Vorteile dieses Modells sind seine Schnelligkeit und die Tatsache, dass Änderungen am Objekt durch Verschieben von Vertices des Polygonnetzes schnell und einfach durchgeführt werden können. Abbildung 14: Tetraeder mit Boundary Representaion

Arne Theß 3D - Modellierung 12 2 Texturen Texturen sind Bilder, die auf der Oberfläche von Objekten dargestellt werden. Durch diese Texturen werden im allgemeinen die optischen Eigenschaften des entsprechenden Objekts geändert, nicht aber seine Geometrie. Neben der farblichen Gestaltung können auch Schatten und Reflexionen simuliert werden. 2.1 Texture Mapping Texture Mapping ist ein Verfahren, um zweidimensionale Bilder auf Objekte zu projizieren. Hierzu wird jedem Vertex des Objekts zusätzlich zu seinen xyz-koordinaten (der Position im Raum) noch uvw-koordinaten (Position des Pixels auf der Textur) zugeordnet. Abbildung 15: Texture Mapping [?, Quelle:] Da meist Bitmaps verwendet werden, die ja zweidimensional sind, ist w in der Regel 0. Die Zuordnung der Pixel zu den Vertices erfolgt normalerweise durch Interpolation. Bei einer ungünstigen Perspektive kann es allerdings zur optischen Verzerrung der Textur kommen. Aus diesem Grund werden statt u und v meist u/z und v/z interpoliert, wobei z für die Entfernung des Vertices von der Kamera steht. Abbildung 16: Perspektivenkorrektur

Arne Theß 3D - Modellierung 13 2.2 Bump Mapping Dieses Verfahren wird genutzt, um den Detailreichtum von Objekten zu erhöhen, ohne die Geometrie des Objekts zu verändern. Durch eine Textur werden hier Schatten auf die Oberfläche eines Objekts gezeichnet. Das geschieht, indem zu jedem Pixel eine Änderung des Normalenvektors in einer Height Map nachgeschlagen wird. Eine Height Map ist eine Textur, die aus Graustufen besteht und über diese Graustufen Höhenunterschiede definiert. Da nun beim Phong Shading beispielsweise die Schatten und damit die Farbe der Pixel vom Normalenvektor abhängig sind, entsteht der Eindruck von Schatten. Das bewirkt eine starke Verbesserung der Bildqualität und des Realismusgrades in der Frontalansicht bei gleich bleibender Performance. Allerdings bleibt die Oberfläche flach, wodurch in der Reliefansicht trotzdem nur die glatte Kante des Objekts sichtbar ist. Abbildung 17: links: Originalobjekt; Mitte: Height Map; rechts: Objekt nach Bump Mapping

Arne Theß 3D - Modellierung 14 2.2.1 Normal Mapping Normal Mapping ist die am häufigsten genutzte Technik des Bump Mapping. Hierbei werden zwei Versionen eines Objekts erstellt: eine hochauflösende und eine undetaillierte Variante. Ein Programm berechnet nun den Unterschied zwischen beiden Versionen und erstellt aus den gewonnenen Daten eine Textur. Diese Textur wird dann auf das undetaillierte Objekt gespannt, welches später in der Anwendung verwendet wird. Dadurch entsteht der Eindruck, dass das hochauflösende Objekt verwendet wird. Man erreicht also eine starke Erhöhung des Detailreichtums, ohne die Anzahl der Polygone zu erhöhen und somit ohne größere Auswirkungen auf die Performance. Die Schwachstelle ist auch hier die Silhouette, an der man unter Umständen immer noch erkennen kann, dass das undetaillierte Objekt verwendet wurde. Abbildung 18: Normal Mapping

Arne Theß 3D - Modellierung 15 2.3 Displacement Mapping Das Displacement Mapping dient ebenfalls zur Erhöhung des Detailgrades durch Strukturierung der Oberfläche eines Objektes. Bei diesem Verfahren wird aber, im Gegensatz zu anderen Texturierungsmethoden, die Geometrie des ursprünglichen Objekts verändert. Zuerst wird dazu eine Height Map erstellt. Meist wird zum Erzeugen dieser Height Map die Farbtextur, die auf das Objekt gespannt werden soll, genutzt. Nun werden die Pixel des Objekts anhand der in der Height Map in Form von Graustufen gespeicherten Höheninformationen entlang ihrer Normalen verschoben. Das Ergebnis ist ein, durch die Änderung der Geometrie, erheblich größerer Realismusgrad als bei Bump Mapping Verfahren. Vor allem hinsichtlich Relief und Schatten ist Displacement Mapping anderen Verfahren überlegen. Leider wird, aufgrund eben dieser Geometrieänderungen, erheblich mehr Rechenleistung benötigt, worunter natürlich die Performance der jeweiligen Anwendung leidet. Abbildung 19: Displacement Mapping

Arne Theß 3D - Modellierung 16 3 Zusammenfassung Die allgemein 3D-Modellierung bietet vielfältige Einsatzmöglichkeiten, für jede Anforderung gibt es entsprechende Möglichkeiten zur Realisierung. Natürlich ist dies nur ein grober Überblick, und auch dieser ist keinesfalls vollständig, aber über einzelne Darstellungs- und Texturierungsmöglichkeiten erfährt man am meisten, wenn man sie selbst ausprobiert.

Arne Theß 3D - Modellierung 17 4 Quellen http://de.wikipedia.org/ http://en.wikipedia.org/ http://www-dept.cs.ucl.ac.uk/staff/a.steed/book_tmp/cgve/chapter_18. htm http://www.digibib.tu-bs.de/?docid=00000008 VorlesungsscriptComputergraphikIWS07/08 SkriptTechnischeVisualisierungUniHanover http://www.blender.org/ Abbildungsverzeichnis 1 3D Watch by Olivier Amrein................................ 2 2 Erstellung eines 3D-Objekts mit Blender.......................... 2 3 CSG-Baum......................................... 3 4 Aufgrund der strukturellen Ähnlichkeit dieser Objekte können sie aus einem Ausgangsobjekt durch Änderung einiger Variablen erzeugt werden.................. 5 5 Schritte zur Erzeugung eines Körpers mittels GML.................... 6 6 Voxelgitter.......................................... 6 7 Klassifikation........................................ 7 8 Shading........................................... 8 9 Interpolation......................................... 8 10 Compositing......................................... 9 11 Durch Voxelgitter beschriebenes Bild eines Teils eines Unterarms............ 9 12 Potenzielle Mehrdeutigkeit des Drahtgittermodells.................... 10 13 Darstellung im Drahtgittermodell.............................. 10 14 Tetraeder mit Boundary Representaion........................... 11 15 Texture Mapping...................................... 12 16 Perspektivenkorrektur.................................... 12 17 links: Originalobjekt; Mitte: Height Map; rechts: Objekt nach Bump Mapping...... 13 18 Normal Mapping...................................... 14 19 Displacement Mapping................................... 15