by Martin Ilcik
Intro
Ich habe dieses Software f�r die Labor�bung �Visualisierung� Programmiert. Flow visualisation war das zweite Beispiel zur Abgabe. Im Vergleich zum ersten Beispiel habe ich die ben�tigte Zeit zur Programmierung besser abgesch�tzt. Deshalb hoffe ich, das dieses St�ck Software keine Bugs enth�lt. Auch meine �ToDo� Liste blieb am Ende fast Leer. Also bin ich ziehmlich zufrieden mit mir selbst :-) [edit] Bei der Pr�sentation habe ich festgestellt, dass bei der Visualisierung des Hurricanes mit 50 Zeitschritten mein Programm die grenzen des Graphikspeichers weit �berschritten hat. Deshalb habe ich nach zwei Tagen eine neue, �berarbeitete Version gebastelt. Jetzt l�uft alles fl�ssig, der Bedarf von Festplattendpeicher stieg jedoch bei diesem zeitabh�ngigen Hurricane Dataset zu 1,3 Gb.
Wozu ist das gut?
Flow visualization dient als hilfe bei Untersuchungen von verschiedenen dynamischen Systemen. Als Eigabe dient ein *.gri File, in dem die geographische Information �ber das Vektorfeld gespeichert ist. Weiter ben�tigt das Programm Files mit Daten von einzelnen (mindestens einem) Zeitschritten. Die vorhandenen Daten sind meistens Geschwindigkeitsvektor und mehrere Zusatzdaten, wie z.B. Temperatur, Druck usw. Mein Programm arbeitet mit Daten maximaler Gr��e 600x600x1, es kann also nicht mit 3D Fl�ssen arbeiten. Zu den Feautures geh�ren interaktive Transferfunktionen, Arrowplots, Streamlines, Dynamic particles flow und Animationen von Daten mit mehreren Zeitschritten. Das Programm l�uft zum Teil auf der graphischen Hardware und verwendet texture shader und register combiners. Deshalb l�uft es nur an NVIDIA Graphikkarten aber das schon ab GeForce3 h�her.
Wie bediene ich das?
Open
Dataset rechts oben �ffnet neue Str�mungsdaten. Falls du keine hast, einige Beispieldaten befinden sich auf der LU Visualisierung und VRVis Webpage.
Einege
Daten (Box-dataset) brauchen die Byte Ordnung zu wechseln. Nach der Auswahl der
Str�mungsdatei wird man gefragt, ob die Bytes umgeordnet werden sollen.
Das
Erste Bild ist hier... Links befindet sich die Bedienfl�che, im
oberen Teil das Histogramm und die dazugeh�rige Transferfunktion (hier
des Attributs Richtung).
Mit dem Mauswheel wird die Sicht gezoomt, mit gedr�cktem rechten oder mimttleren
Knopf wird das Bild verschoben.
Auf der Bedienfl�che befinden sich Buttons und Eingabefelder zu allen 5 Hauptkategorien:
BACKGROUND:
Background: Die obere h�lfte dient zur Selektion des Angezeigten Attributs (Direktion, Geschwindigkeit, Zus�tzliches Attribut 1, Zus�tzliches Attribut 2)
Transferfunktionen:
In der unteren h�lfte befindet sich die Verwaltung der
Transferfunktionen. Sie lassen sich speichern, laden, verstecken...
Wenn der Histogramm versteck ist, l�sst sich die transferfunktion nicht �ndern.
TransferNodes:
Im oberen Bereich des Fensters wird der Histogramm angezeigt. Die
Fl�che unter ihm stellt die aktuelle Transferfunktion dar. Sie l�sst sich leicht mit einigen Clicks ver�ndern, um Aussagekr�fige Bilder zu erzeugen.
Erzeugung von neuen Knoten: Mit einem Doppelklick auf die Fl�che (nicht Histogramm) wird ein Farbedialog hervorgeufen. Ein neuer Transfernode mit der gew�hlten Farbe entsteht.
�nderungen an existierenden Knoten: Postion wird drag&drop mit der Maus ge�ndert. Das Farbedialog wird mit einem Doppelklick in den Knoten hervorgrufen.
L�schen von Knoten: Das selektierte Knoten hat blaues Innere. Zum l�schen einfach Delete dr�cken.
Zwei
Beispielbilder der Transferfunktionen (mit Hide histogram
gecheckt).
ARROWPLOTS:
In Arrows befinden sich die Einstellungen f�r die Pfeilartige Darstellung der Richtung und St�rke der Str�mung. Mit length coded wird die Gr��e der Pfeile
proportional zur Geschwindigkeit der Str�mung.
Das Erste Bild stellt einen einfachen Arrowplot dar. Es ist ein 2D Feld von Pfeilen in regul�ren Abst�nden, die die Richtung oder auch Geschwindigkeit der Str�mung darstellen.
Auf
diesen drei Bildern habe ich lineares und nicht lineares
length-coding verwendet, mit sekund�ren Pfeilen. Das
zweite und das dritte stellen den Unterschied zwischen Linearlength
Ein- und Abgeschaltet dar.
DYNAMIC PARTICLES:
Dynamic
flow bietet einen
einfachen Particle system zur Veranschaulichung der Str�mung.
Dabei wird eine gro�e Menge von Particles auf Zuf�lligen Positionen
erzeugt und ihre Bewegung in der Str�mung simuliert. Bei statischer Str�mung
ist diese Veranschauichung bestimmt nicht realit�tstreu. Bei
zeitabh�ngiger Str�mung entstehen aber bei h�heren Geschwindigkeiten der
Wiedergabe Verschiebungen, die noch zu gr��eren Fehlern f�hren.
Trotzdem k�nnen die Partikel bei richtigen Einstellung gute visuelle
Ergebnisse bringen. Dabei l�sst sich ihre L�nge, Anzahl, Helligkeit
(f�r additives blending), Lebenserwartung, Grad der RK-Integration
u.a. einstellen. Apply startet dann ein neues Particlesystem
mit eigegebenen Attributen.
Dieses
Bild entstand bei etwa 2 fps. Aber es lohnte sich, das Resultat ist
der Vorlage sehr treu.
STREAMLINES:
Streamlines werden im Gegenzug zu Partikeln auf Distanz zu bereits existierenden Linien gepr�ft. So wird verhindert, dass zu dichte Konzentrationen entstehen. Diese Abst�nde werden durch dsep und dtest definiert. Dsep wird bei der Erzeugung vin neuen Linien benutzt, dtest beim Verl�ngern der Linien.
In
Stramlines lassen sich mit Basiseinstellungen schnell ungenaue
Streamlines erzeugen. Hier zum Vergleich herk�mliche Streamlines mit
Einheitsl�nge der Segmente. Das dt wurde absichtlich niedrig gew�hlt.
Mit
dichteren Werten von dsep und dtest entstehen ganz genaue Bilder.
Hierf�r eignen sich h�here dt Werte und nicht einheitliche l�ngen der
Sengente am besten.
Das
Pulsieren der Streamlines erzeugt den Effekt der Bewegung,
besonders bei ganz dichten Streamlines.
Screenshots
Einige
der Bilder f�rs VisContest, die ich nicht so gut wie das abgesante
Bild waren.
Mehr Dynamic particles
Author: Martin Ilcik, 0225704, iso.sk at gmx punkt net