|
LU Visualisierung |
Dokumentation |
Katharina Krösl |
Iliyana
Zagralova |
WS 10/11 |
Im Rahmen des 2. Beispiels der LU Visualisierung wurde ein Programm zur Visualisierung von Strömungsdaten entwickelt. |
Das Programm wurde mit XNA 3.1 / C# in Visual Studio 2008 implementiert.
Das Programm setzt Visualisierungsalgorithmen für zweidimensionale, (rectilineare) Gitter um.
Es werden Datensätze in .gri/.dat - Datenformat unterstützt.
Implementierte Visualisierungstechniken sind Arrow Plotting mit Skalierung und Farbkodierung der Arrows, Farbcodierung von Velocity und zusätzlichen Channels im Datensatz, sowie Streamlines mit Euler- und Runge-Kutta-Integration und Tapering.
Es wurde großen Wert auf die Preformance gelegt, sodass Update- und Draw – Aufrufe nur beim Ändern von bestimmten Parametern im GUI erfolgen. Dabei wird auch zwischen den einzelnen implementierten Methoden unterschieden, und nur die aktuell relevanten Algorithmen neu ausgeführt/berechnet. Bei den Streamlines beispielsweise werden Updates nur ausgeführt wenn eine erneute Berechnung erforderlich ist. Nach jeder Berechnung werden die Streamlines in einer Textur gespeichert die schnelles umschalten zwischen Euler- und Runge-Kutta-Integration erlaubt ohne eine erneute Berechnung durchführen zu müssen. Nur wenn tatsächlich Parameter, welche die Darstellung der Streamlines bestimmen verändert werden, wird neu berechnet und die Textur für die betroffene Integration (Euler oder Runge-Kutta) neu erstellt.
Das Programm verfügt über ein Interface, über das man die Strömungsdatensätze laden und durch die verfügbaren Methoden wie Arrow Plot, Farbcodierung und Streamlines visualisieren kann.
Das Laden von Datensätzen, sowie das Laden und Speichern der Transferfunktion erfolgt über das Main Menu.
Im rechten Tab Panel findet man den Arrow Plot Tab, den Channel s Tab und den Streamline Tab, wo man die entsprechenden Visualisierungstechniken einschalten und interaktiv einstellen kann. Unter anderem kann man folgende Parameter einstellen:
Im Arrow Plot Tab kann man die Stärke des Strömungsfeldes durch Skalierung und Farbkodierung der Pfeile darstellen, die Dichte und die Transparenz der Pfeile variieren.
Im Channels Tab kann man zwischen den einzelnen Channels(Velocity und die zusätzlichen Skalarfelder, die im Datensatz gespeichert werden) wechseln, und für den einzelnen eigene Transferfunktion einstellen, speichern, laden.
Im Streamline Tab kann man zwischen dem Euler- und Runge-Kutta-Integrationsvarianten wechseln, und die für den Algorithmus wichtigsten Parameter dt(Stepsize), dsep(Start Distance bzw Seperating Distance) und dtest(Test Distance) einstellen. Zusätzlich kann man Breite und Länge der Streamlines einstellen, und als Visualisierungstill Tapering einschalten.
Mit der Mause kann man den Datensatz noch zoomen und bewegen:
Linke Maustaste + Scroll -> Zoom in/out
Linke Maustaste + Maus bewegen -> Datensatz positionieren.
Programm downloaden
Source Code downloaden