Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

0.1 Überblick Bereiche der Visualisierung - Flow-Vis - Software-Vis

Ähnliche Präsentationen


Präsentation zum Thema: "0.1 Überblick Bereiche der Visualisierung - Flow-Vis - Software-Vis"—  Präsentation transkript:

1 0.1 Überblick Bereiche der Visualisierung - Flow-Vis - Software-Vis
- Tensorfield-Vis - Bio-Medical-Vis - Mobile Vis - Geospatial-Vis - Architectural Vis - Vol-Vis - InfoVis - Comparative Vis

2 0.1 Überblick Visualisierungs-Pipeline Simulationsdaten
Startwerte, Randbedingungen (mathematisches) Modell numerische Simulation Messdaten Bilddaten Diskretisierung Sichtdefinition Transformation Projektion Rasterisierung Visualisierungsdaten Visualisierungsdaten Datenfilterung / -reduktion Mapping: mathematisches Modell  Visualisierungsmodell Simulationsdaten Simulation Visualization Rendering Durch ständig wachsende Rechenleistungen moderner Computer und gleichzeitig fallende Preisen erhält die Computertechnologie Einzug in immer mehr Bereiche der Wissenschaft. Viele Vorgänge, die früher an kosten- und zeitintensiven Prototypen durchgeführt wurden, lassen sich heute mittels rechnergestützter Simulationen schneller und günstiger durchführen. Durch die Vielzahl neuer Anwendungsfelder und die aufgrund hoher Rechenleistungen immer größer werdenden Datenmengen steigen jedoch gleichzeitig auch die Anforderungen an die Algorithmen zur computergrafischen Darstellung der Daten. Neben neuen oder verbesserten Methoden und Techniken zum Filtern und Clustern der eigentlichen Daten stellen sich hier vor allem stark erhöhte Anforderungen an die Interaktionsmöglichkeiten bei der Visualisierung. Der eigentliche Visualisierungsprozess lässt sich in sechs Schritte unterteilen: Erzeugung der Daten, z. B. durch numerische Simulation Bestimmung der Art der Visualisierung basierend auf Art und Größe der Daten sowie den Anforderungen der Betrachter Filterung der Daten, z. B. durch Reduzierung der Datenmenge Konvertierung der Simulationsdaten in Geometriedaten Rendern der Geometrie Überprüfung des Ergebnisses der Visualisierung, z. B. in Bezug auf Anspruch und Exaktheit Die Visualization Pipeline gibt eine mehr anwendungsorientierte Sicht auf diesen Prozess. Die Simulationsstufe erzeugt aus gegebenen Messwerten die Simulationsdaten, die in der Visualization-Stufe in Visualisierungsdaten transformiert werden. Die Rendering-Stufe erzeugt schließlich die zugehörigen Bilddaten. Es ist anzumerken, dass die aus den Stufen (II) und (III) gebildete Subpipeline auch unter dem Namen Rendering-Pipeline bekannt ist. Im Folgenden werden die einzelnen Stufen näher betrachtet. In die Stufe (I) gehen vor allem natur- oder ingenieurwissenschaftliche Grundlagen ein. Basierend auf Messdaten oder Erfahrungen wird hier ein (mathematisches) Modell der gegebenen Problemstellung aufgestellt. Ausgabe der ersten Pipelinestufe sind die von der numerischen Simulation hieraus generierten Simulationsdaten, die ihrerseits wieder die Eingabe der Stufe (II) sind. Da die Simulationsdaten aufgrund ihrer Größe und Multidimensionalität in der Regel nicht zur direkten Visualisierung geeignet sind, werden hier zunächst in einem Filter-Prozess die relevanten Informationen extrahiert und – falls nötig – die Menge der Daten durch geeignete Reduktionsverfahren verkleinert. Im anschließenden Mapping-Prozess wird nun ein auf den Daten und der Problemstellung basierendes Visualisierungsmodell berechnet. Die aus diesem Modell hervorgehenden Visualisierungsdaten sind lediglich Geometriebeschreibungen wie zum Beispiel geometrische Primitive, die dann in der Pipelinestufe (III) zunächst diskretisiert werden. Die diskretisierten Daten, zum Beispiel in Form von Dreiecken, werden dann basierend auf der Sichtdefinition transformiert. Im nächsten Schritt, der Projektion, entsteht dann durch Rasterisierung das eigentliche (Pixel-)Bild, d. h. die Bilddaten. Es ist offensichtlich, dass jede Stufe vom Ergebnis der vorhergehenden abhängig ist. Die für den Visualisierungsprozess benötigte Zeit ergibt sich damit aus der Summe der Ausführungszeiten der einzelnen Stufen. Prinzipiell kann der Benutzer bei jeder Stufe der Pipeline interaktiv eingreifen. In der Regel findet die eigentliche Interaktion jedoch hauptsächlich in Stufe (III) statt; die Schritte Sichtdefinition, Transformation, Projektion und Rasterisierung werden entsprechend in einer Schleife ausgeführt.

3 0.1 Überblick Anwendungs-Beispiel: „Kontext-sensitive Visualisierung“
(Jun. Prof. Dr. Achim Ebert) State-of-the-Art bei Visualisierungssystemen: - Systemdesign - Große monolithische Systeme - Für spezielle Verwendungszwecke entwickelt - Softwareentwicklung - Anwendung und Visualisierungssystem eng gekoppelt - Programmierung sehr aufwendig - Flexibilität - Plattformabhängigkeit - Manuelle Einstellung der Systemparameter - Keine dynamische Anpassung

4 0.1 Überblick Anwendungs-Beispiel: „Kontext-sensitive Visualisierung“
- Definition: kontextsensitiv - kontextbezogen, kontextadaptiv - „auf den aktuellen Zusammenhang – den Kontext – bezogen” - Definition: kontextsensitive Visualisierung - Eine Visualisierung bzw. eine Visualisierungsapplikation ist genau dann kontextsensitiv, wenn - sie vorgegebene Kontexte berücksichtigt und - flexibel auf sich dynamisch ändernde Situationen proaktiv reagiert.

5 0.1 Überblick Kontext-sensitive Visualisierung - Szenarien
- Benutzerkontext - Individualität und Personalisierung - Benutzermodell: individuelle Benutzereigenschaften

6 0.1 Überblick Kontext-sensitive Visualisierung - Szenarien
- Benutzerkontext - Situationskontext - Aktuelle Situation des Benutzers - Orts- und Umgebungsmerkmale - Visualisierungsanwendungen: - Location-based services - Mobile Visualisierung

7 0.1 Überblick Kontext-sensitive Visualisierung - Szenarien
- Benutzerkontext - Situationskontext - System- und Interaktionskontext - Systemkontext: Möglichkeiten der Rechnerumgebung - Plattformunabhängigkeit - Interaktionkontext: sich dynamisch ändernde Werte - Flexibilität des Visualisierungsprozesses - Parameterwahl: Framerate vs. Qualität

8 0.1 Überblick Kontext-sensitive Visualisierung - Szenarien
- Benutzerkontext - Situationskontext - System- und Interaktionskontext - Darstellungskontext - Ausgabemedium (Art, Größe, Auflösung) - Thematik: Wie stelle ich etwas dar?

9 0.1 Überblick Kontext-sensitive Visualisierung - Szenarien
- Benutzerkontext - Situationskontext - System- und Interaktionskontext - Darstellungskontext - Datenkontext - Wünsche und Vorgaben des Benutzers - Parameter i.d.R. nicht im Voraus bekannt - Thematik: Was stelle ich dar?

10 0.1 Überblick Kontext-sensitive Visualisierung – Agentengesteuerte Visualisierungspipeline

11 0.1 Überblick Anwendungsbeispiel MacVis: Multi Agent- and Component-based Visualization PERFORMANCE AGENT READER MARCHING CUBE LEVEL OF DETAIL TEXTURE COORDS RENDERER USER DEMANDS ENVIRONMENT LEGEND REACTIVE AGENT PROACTIVE AGENT DATA GENERATION DATA CONVERSION DATA VISUALIZATION CONTROL LOOP REACTIVE AGENT KNOWLEDGE BASE ENVIRONMENT KNOWLEDGE BASE

12 0.1 Überblick Anwendungsbeispiel MacVis: CT-Datensatz eines menschlichen Kopfes - 94 Schichtaufnahmen - Abstand: 1.5 mm - Auflösung: 2562 Pixel - Pixelabstand: 0.8 mm - Farbtiefe: 12 Bit - Marching-Cubes-Algorithmus - Berechnung von Konturflächen - Approximation durch Dreiecksnetze - Im Beispiel: ca Dreiecke (beste Qualitätsstufe) - Level of Detail

13 0.1 Überblick Einschub: Marching-Cubes Algorithmus
- Berechnung von Konturflächen - Erweitert Marching-Squares auf 3D - Marching Squares: - Wähle Zelle - Bestimme Zustand der Zelle -> Bitvektor - Lookup-Table -> Verlauf der Konturlinie - Berechne Schnittpunkte mit Kanten der Zelle: - Weiter mit benachbarter Zelle mit

14 0.1 Überblick Anwendungsbeispiel MacVis: Visual Prototyping

15 0.1 Überblick Anwendungsbeispiel MacVis: Volumen-Rekonstruktion aus CT-Datensätzen

16 0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - Vision - Interaktiver Bekleidungskatalog mit Kunden als 3D-Modell - Konfektionsware und Maßkonfektion - Visuelle Passformkontrolle

17 0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - VITUS 3D Body-Scanner - 360°-Scanner; Scanvolumen: 1.2m x 0.8m x 2.1m - Laserklasse: 1 (augensicher) - Scandauer: Sekunden - Auflösung: mm - Optional: hochauflösende Farbtexturen - Automatische Bestimmung individueller Körpermaße - Virtueller Kunde - Scan-Objekt + Maße + Featurepunkte

18 0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - Kleidungssimulation - extrem zeitaufwendig - Eingabe: 3D-Scan des Kleidungsstücks - Morphing-Agent - Regelsystem - Basis: bekleidungstechnische Größentabellen - Exakte Maßvorgaben - Lokalität: Änderung von Einzelmaßen (z.B. Ärmellänge) - Kopplung von Maßänderungen (-> Konfektionsgrößen) - Shape-Deformation, Morphing zwischen Größen

19 0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - Morphing-Technik - Segmentierung des Kleidungsstückes - Bestimmung einer geeigneten Parametrisierung für jedes Segment - Deformation - Änderung der lokalen Eckpunkt-Koordinaten bzgl. zugehöriger Parametrisierung - Gesamt-Morph - Additive lokale Deformationen

20 0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog - Virtuelle Anprobe - Positionierung - Vorpositionierung: Featurepunkte aus Scanprozess - „Haltungskorrektur” zur genauen Positionierung

21 0.1 Überblick Anwendungsbeispiel: VirtualTryOn – Virtueller Bekleidungskatalog Ergebnisse

22 0.1 Überblick Anwendungsbeispiel: Mobile Visualisierung - Inhalte
- Framework für ein flexibles, mobiles Informationsvisualisierungssystem - Optimale visuelle Aufbereitung der Information - Objekt- und/oder aufgabenorientierte Visualisierung - Integration von 3D-Visualisierung auf allen Plattformen - Einsatz modernster mobiler Geräte und Übertragungstechnologien - Demonstrator - Effiziente Informationsvermittlung und betriebliche Leistungssteigerung im Bereich von Abwasseranlagen - Resultat: Transparentere sowie ökonomisch und ökologisch optimierte Prozesse in der Siedlungswasserwirtschaft

23 0.1 Überblick Anwendungsbeispiel: Mobile Visualisierung - Technik

24 0.1 Überblick Anwendungsbeispiel: Mobile Visualisierung - Anwendungen
- Prozessüberwachung und -visualisierung - Controlling und Benchmarking - Reparatur und Wartung - Aus- und Weiterbildung - Notfall/Unfall

25 0.2 Einführung in OpenGL OpenGL: Einführung/Standard
- OpenGL (Open Graphics Library) ist ein Standard für 3D Rendering und 3D Hardware-Beschleunigung - OpenGL läuft unter Windows, MacOS, Linux, Unix, … - Website: - Das OpenGL Architectural Review Board – ARB – bestimmt den Standard

26 0.2 Einführung in OpenGL OpenGL: Eigenschaften
- Hohe Qualität und leistungsfähig - Anwendungen in – CAD/CAM/CAE – Spiele – Medizin – VR – Film / Fernsehen

27 0.2 Einführung in OpenGL OpenGL: Vorteile für Entwickler
- Industriestandard, gratis - Neutral und plattformübergreifend - Stabil, kompatibel zu früheren Versionen - Zuverlässig und portierbar, unabhängig von Betriebs- und Window-System - Entwickelt sich weiter, (aktuell: Vers. 2.1) - Skalierbar: Home PC bis Supercomputer - Ausgereiftes API, das low-level Details kapselt - Ausführliche Dokumentation erhältlich

28 0.2 Einführung in OpenGL OpenGL: Software Entwicklung
- OpenGL ist reich an Primitiven für – Geometrie und Bild, Display-Listen, Transformationen, Beleuchtung, Texturen, Anti-aliasing, Blending, … - Anbindung an C, C++, Fortran, Ada, Java, (Lisp) ausgehend von einheitlicher Spezifikation. - Läuft unter den Betriebssystemen UNIX, Linux, MacOs, Windows 95/98/2000/NT/XP, Linux, Python, BeOS - Läuft unter X-Windows (X11), Win32 - Unterstützt 2D und 3D

29 0.2 Einführung in OpenGL OpenGL: Hardwarebeschleunigung
- Je nach Grafik-Karte werden gewisse Befehle – von reiner Software – von der Hardware – oder von Soft- und Hardware gemischt ausgeführt - Flexible Implementierung für low-cost PC bis hin zu Grosscomputern - Kartenspezifische Erweiterungen sind ebenfalls möglich

30 0.2 Einführung in OpenGL OpenGL: Grundlage für viele Anwendungen
- Viele high-level APIs bauen auf OpenGL auf: – Open Inventor, IRIS Performer, OpenGL Optimizer, OpenSceneGraph - Applikationen die auf OpenGL basieren: – Maya – 3D Studio Max – WorldToolKit, WorldUp – CosmoWorld – Games like Unreal, Quake2, … – …

31 0.2 Einführung in OpenGL OpenGL: ARB
- Das OpenGL Architecture Review Board (ARB), wacht über den Standard - Dem Konsortium das 1992 gegründet wurde, gehören Firmen wie IBM, Intel, HP, Microsoft, Silicon Graphics, Evans & Sutherlands, …, an - OpenGL wird laufend weiterentwickelt - Endverbraucher, Softwareverkäufer, und OpenGL API Programmierer zahlen keine Lizenzgebühren, (nur Hardware Hersteller)

32 0.2 Einführung in OpenGL OpenGL: Grundlagen
- API für Rendering in den Bildschirmspeicher, unterstüzt keine Peripherie wie Window, Maus, Tastatur, … – Wir verwenden hierzu GLUT - Primitive (Punkt, Linie, Polygone, Pixel Rechteck) unterliegen den jeweils aktiven Modi, die über Prozeduraufrufe gesetzt werden können. - OpenGL ist ein low-level API für 3D und 2D Grafik, das das Rendering und weniger das Modellieren von komplexen Objekten unterstüzt.

33 0.2 Einführung in OpenGL OpenGL: Grundlagen
- GL verwendet ein Client-Server Modell: Client: Programm, das das API verwendet. Server: Übernimmt das Rendering. - OpenGL als Status-Maschine: Client state Server state

34 0.2 Einführung in OpenGL OpenGL: Syntax
- void glVertex3f(GLfloat x, GLfloat y, GLfloat z) - void glNormal3dv(GLdouble arg[3]) - Rtype glName{e 1234}{e bsifd ub us ui} – ([args,] T arg1, …, T argN [, args])

35 0.2 Einführung in OpenGL OpenGL: Hello World
#include <GL/glut.h> int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (250, 250); glutInitWindowPosition (100, 100); glutCreateWindow ("hello"); init (); glutDisplayFunc(display); glutMainLoop(); return 0; /* ANSI C requires main to return int. */ }

36 0.2 Einführung in OpenGL OpenGL: Hello World void init (void) {
/* select clearing color */ glClearColor (0.0, 0.0, 0.0, 0.0); /* initialize viewing values */ glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); }

37 0.2 Einführung in OpenGL OpenGL: Hello World void display(void) {
glClear (GL_COLOR_BUFFER_BIT); /* clear all pixels */ /* draw polygon with corners at (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glColor3f (1.0, 1.0, 1.0); glBegin(GL_POLYGON); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); /* don't wait! start processing buffered OpenGL routines */ glFlush (); }

38 0.2 Einführung in OpenGL Aufgabe:
- Übersetzen Sie das oben gegebene Beispielprogramm und führen Sie es aus. - Fügen Sie der Szene ein gelbes Dreieck mit den Ecken (0.25, 0.75, 0.0) (0.75, 0.75, 0.0) und (0.75, 0.75, 0.3) hinzu. - Statt einer orthogonalen Parallelprojektion können Sie auch eine perspektivische Projektion benutzen. Ersetzen Sie dazu im Code die „glOrtho“-Anweisung durch folgende Anweisungen: gluPerspective(fieldOfView, aspect, near, far); gluLookAt(eyeX, exeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ); Experimentieren Sie mit verschiedenen Sichten auf die Szene.

39 0.2 Einführung in OpenGL Literatur:
Computer Graphics with OpenGL (3. Auflage), D. Hearn, M.P. Baker. Prentice Hall, ISBN: OpenGL: A Primer (3. Auflage), Edward Angel, Addison-Wesley, 2007 OpenGL Programming Guide (5. Auflage), OpenGL ARB, Addison- Wesley, 2005, The OpenGL Utility Toolkit (GLUT) Programming Interface API Version 3, Mark J. Kilgard, Silicon Graphics, Inc. November 13, 1996


Herunterladen ppt "0.1 Überblick Bereiche der Visualisierung - Flow-Vis - Software-Vis"

Ähnliche Präsentationen


Google-Anzeigen