Entdecken Sie eBooks
Kategorien
Entdecken Sie Hörbücher
Kategorien
Entdecken Sie Zeitschriften
Kategorien
Entdecken Sie Dokumente
Kategorien
Markus Haÿfurter
markus@hassfurter.net
Matrikelnummer 1729542
Betreuer
Prof. Dr.-Ing. Detlef Krömker
Professur für Graphische Datenverarbeitung
eingereicht am
16. Dezember 2007
Hiermit erkläre ich, dass die vorliegende Diplomarbeit ohne unzulässige Hilfe
und nur unter Verwendung der angegebenen Literatur angefertigt wurde.
Die Arbeit wurde bisher keiner anderen Prüfungsbehörde vorgelegt und auch
noch nicht veröentlicht.
Markus Haÿfurter
iii
iv
Danksagung
Ich möchte mich bei Prof. Dr.-Ing. Detlef Krömker für die Möglichkeit be-
danken, diese Arbeit unter seiner Betreuung schreiben zu können, und bei
Prof. Dr. Rüdiger Brause für die Zusage zur Zweitkorrektur. Ebenso möchte
ich mich bei Hans-Joachim Koppert und Dirk Heizenreder bedanken, die die-
se Arbeit beim Deutschen Wetterdienst ermöglichten. Besonderer Dank geht
auch an Gregor Schnee, der mich mit Rat und Tat unterstützt hat. Natürlich
bedanke ich mich auch bei meiner Familie, meinen Freunden und besonders
bei Isabel Anhäuser, die mich alle bei der Erstellung der Arbeit begleitet und
mir mit Anmerkungen sehr geholfen haben.
v
vi
Kurzfassung
Die hier vorliegende Arbeit handelt von dem automatischen Mapping zweidi-
mensionaler meteorologischer Visualisierungen auf einen dreidimensionalen
Kontext als Bestandteil der meteorologischen Workstation NinJo.
NinJo Die NinJo-Workstation ist ein gemeinsames Software-Projekt des
Deutschen Wetterdienstes, des geophysikalischen Beratungsdienstes der Bun-
deswehr, der MeteoSchweiz, des Dänischen Meteorologischen Instituts und
des Meterological Service of Canada. Mit ihr wird der Meteorologe, Wetter-
berater, Flugwetterberater und Forscher in einem Wetterdienst in die Lage
versetzt, die Wetterlagen zu beobachten, Vorhersagen und Wetterkarten zu
erstellen, Warnungen zu erzeugen und zu überwachen.
vii
viii
Abstract
ix
x
Inhaltsverzeichnis
1 Einleitung 1
1.1 Motivation und Ziel . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Grundlagen 3
2.1 Visualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Was ist der Sinn einer Visualisierung? . . . . . . . . . . 4
2.1.2 Was ist eine gute Visualisierung? . . . . . . . . . . . . 4
2.1.3 Grundlegende Visualisierungstechniken . . . . . . . . . 5
2.2 Volumenvisualisierung . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Volumendaten . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Visualisierungspipeline für Volumendaten . . . . . . . . 7
2.2.3 Methoden der Volumenvisualisierung . . . . . . . . . . 7
3 NinJo 15
3.1 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Graphical Object Factory . . . . . . . . . . . . . . . . . . . . 20
3.4 Java OpenGL in NinJo . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Visualization for Algorithm Development . . . . . . . . . . . . 21
3.6 Ur-Prototyp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4 Fachkonzept 23
4.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.1 Zielsetzung des Fachkonzeptes . . . . . . . . . . . . . . 23
4.1.2 Zielsetzung der Applikation . . . . . . . . . . . . . . . 23
4.1.3 Anforderungen . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Fachliche Grundlagen . . . . . . . . . . . . . . . . . . . . . . . 24
4.2.1 Vorhersagemodelle . . . . . . . . . . . . . . . . . . . . 24
4.2.2 Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.3 Metadaten . . . . . . . . . . . . . . . . . . . . . . . . . 27
xi
INHALTSVERZEICHNIS
4.2.4 Visualisierung . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 Instant 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.1 Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.2 Elemente . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Graphische Benutzungsschnittstelle . . . . . . . . . . . . . . . 33
4.4.1 Applikationsmenü . . . . . . . . . . . . . . . . . . . . . 33
4.4.2 Kontextmenü . . . . . . . . . . . . . . . . . . . . . . . 35
4.4.3 Legende . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.4.4 Werkzeugleisten . . . . . . . . . . . . . . . . . . . . . . 36
4.4.5 Favoriten . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4.6 Navigation in 3D . . . . . . . . . . . . . . . . . . . . . 38
4.5 Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.6 Anforderungen an andere Komponenten . . . . . . . . . . . . 42
5 Implementierung 43
5.1 Zusätzliches Hauptfenster . . . . . . . . . . . . . . . . . . . . 43
5.2 Zeichnen in 3D . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3 Navigation in 3D . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3.1 Translation und Rotation . . . . . . . . . . . . . . . . 46
5.3.2 Navigieren mit Tastenkombinationen . . . . . . . . . . 49
5.3.3 Zurücksetzen der Navigation . . . . . . . . . . . . . . . 49
5.4 Beleuchtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.5 Datenreduzierung . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.6 Unterscheidung von 2D- und 3D-Layern . . . . . . . . . . . . 53
5.7 Übergabe von 2D an 3D . . . . . . . . . . . . . . . . . . . . . 53
5.8 3D-Werkzeugleiste . . . . . . . . . . . . . . . . . . . . . . . . 54
5.9 3D-Isoächen . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.9.1 Neues Polygon mit neuer Appearance . . . . . . . . . . 56
5.9.2 Schwellenwerteingabe . . . . . . . . . . . . . . . . . . . 57
5.10 Tiny Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.10.1 Werte-Eingabe . . . . . . . . . . . . . . . . . . . . . . 58
5.11 Höhenprol für Georaster . . . . . . . . . . . . . . . . . . . . 60
5.12 Mapping der Visualisierung . . . . . . . . . . . . . . . . . . . 60
5.12.1 Mapping auf Isoächen . . . . . . . . . . . . . . . . . . 62
5.12.2 Mapping auf Tiny Cubes . . . . . . . . . . . . . . . . . 63
6 Nutzertests 65
6.1 Nutzergruppen . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.2 Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.2.1 Fragebogen . . . . . . . . . . . . . . . . . . . . . . . . 65
6.2.2 Experteninterview . . . . . . . . . . . . . . . . . . . . 66
xii
INHALTSVERZEICHNIS
6.3 Interview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.3.1 Planung und Durchführung . . . . . . . . . . . . . . . 66
6.3.2 Auswertung . . . . . . . . . . . . . . . . . . . . . . . . 67
6.3.3 Interpretation . . . . . . . . . . . . . . . . . . . . . . . 68
6.4 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.4.1 Testplan . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.4.2 Testbogen . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.4.3 Pilottest . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.5 Auswertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.5.1 Quantitative Auswertung . . . . . . . . . . . . . . . . . 71
6.5.2 Qualitative Auswertung . . . . . . . . . . . . . . . . . 71
6.6 Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7 Ausblick 75
7.1 Prioritäten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.2 Oene Punkte . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.2.1 Visualisierungen . . . . . . . . . . . . . . . . . . . . . . 76
7.2.2 Elemente . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.2.3 Konguration . . . . . . . . . . . . . . . . . . . . . . . 76
7.3 Optionale Punkte . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.3.1 GUI-Elemente . . . . . . . . . . . . . . . . . . . . . . . 77
7.4 Operationeller Betrieb . . . . . . . . . . . . . . . . . . . . . . 77
8 Zusammenfassung 79
Anhang 83
Abbildungsverzeichnis 86
Literaturverzeichnis 89
Fragebögen 91
A Test Nr. 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
B Test Nr. 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
C Test Nr. 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
D Test Nr. 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
E Test Nr. 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
F Test Nr. 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
G Test Nr. 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
H Test Nr. 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Inhaltsverzeichnis CD 109
xiii
INHALTSVERZEICHNIS
xiv
Kapitel 1
Einleitung
1
KAPITEL 1. EINLEITUNG
1.2 Aufbau
Die Arbeit unterteilt sich in die folgenden Abschnitte, die sich aus der Ent-
wicklung der 3D-Anwendung ergeben haben:
Fachkonzept In diesem Teil wird das Konzept der in dieser Arbeit entwi-
ckelten 3D-Applikation behandelt.
2
Kapitel 2
Grundlagen
2.1 Visualisierung
Denition Visualisierung ist die Bezeichnung für die bildliche Darstellung,
Aufbereitung oder Kommunikation von Informationen. Ebenso handelt es
sich dabei um den Ausdruck für visuelle Wahrnehmung und die bildliche
Vorstellung. Er umfasst alle Arten der bildlichen Repräsentation und der
Sichtbarmachung. Der Begri Visualisierung hat in den letzten Jahren einen
Bedeutungswandel erfahren, so dass damit auch die wissenschaftliche Mo-
dellbildung darunter fällt. Hier werden nicht nur zusätzliche Informationen
dargestellt oder illustriert, sondern komplexe Inhalte vermittelt. Visualisie-
rung spielt aber nicht nur in der Wissenschaft, der Kunst oder der Religion
eine groÿe Rolle, sondern auch im Zusammenhang von sozialer Orientierung
und Identität (zum Beispiel Image-Bildung) und der Repräsentation politi-
1
scher Macht . Verbildlichungen gehören zu einer elementaren Methode von
Darstellung und Verständigung. Dies geschieht in vielen Bereichen wie zum
Beispiel in der Dokumentation, der Sichtbarmachung von Ideen, der Herr-
schaftsausübung (zum Beispiel durch Insignien) oder auch in der Darstellung
von Magie (zum Beispiel durch das Tragen von Masken). Die Erndung der
Fotograe im 19. Jahrhundert ermöglichte es, optische Informationen einfach
zu speichern. Bildschriften wie Zeichen, Icons, Piktogramme oder Symbole
schaen die Voraussetzung, weltweit ohne Hindernisse verschiedener Spra-
chen zu kommunizieren. Nach der Entwicklung elektronischer Technologien
wie Fernsehen, Video- und Computertechnik, kamen im 20. Jahrhundert wei-
tere, bisher unbekannte Möglichkeiten hinzu. Vor allem durch die digitale
Bildbearbeitung wurde eine neue Phase der Visualisierung eingeleitet, da ao
viele neue Möglichkeiten geschaen werden konnten. Jedoch hatte dies eben-
3
KAPITEL 2. GRUNDLAGEN
so zur Folge, dass die Glaubwürdigkeit von Bildern in einem gewissen Maÿ
eingeschränkt wurde. (Meyers Lexikon Online [Lex07] )
Der folgende Teil baut auf die Vorlesung Visualisierung von Dr. Ralf Dör-
ner [Dör07] und den begleitenden Folien auf, sowie auf [Enc00], [Enc97] und
[War00].
Alle drei Bereiche sind für Meteorologen und damit auch für diese Arbeit
maÿgeblich.
expressiv Eine Visualisierung ist dann expressiv, wenn sie die Informatio-
nen der Daten darstellt, ohne zu Fehldeutungen zu verleiten.
4
2.1. VISUALISIERUNG
Auch wenn eine Visualisierung nach den Kriterien der Expressivität, der Ef-
fektivität und der Angemessenheit erstellt wurde, kann letztendlich die Güte
einer Visualisierung nur durch Nutzertests ermittelt werden. Dem wird die
vorliegende Arbeit in Kapitel 6 gerecht.
Helligkeit Bei dieser Methode werden die Daten einer Helligkeitsskala zu-
gewiesen. Dies ist eine sehr eektive Methode. Auch eine Farbfehlsichtigkeit
spielt hier keine Rolle.
Farbe Farbe ist ein sehr breites und komplexes Gebiet, das unter ande-
rem auch die Luminanz beinhaltet. Um auf Farbe zu mappen, wird eine
Farbskala eingesetzt. Da Luminanzunterschiede mit einer wesentlich höhe-
ren Ortsauösung wahrnehmbar sind, können diese Helligkeitsdierenzen für
Details, Kontur und Form eektiv eingesetzt werden. Farbe ist dagegen für
nominale, ordinale und quantitative Wertebereiche eektiv.
5
KAPITEL 2. GRUNDLAGEN
2
beachten, dass eine Textur nach Gabor drei Dimensionen hat: Orientierung,
Gröÿe und Kontrast. Daten, die mehr Dimensionen haben, können also nicht
alleine auf Textur gemappt werden. Ein Vorteil dieser Art des Mappings
ist, dass aktuelle Grakkarten die Textur unterstützen. Hier entsteht kein
Geschwindigkeitsverlust in der Darstellung.
Neben dem Mapping gehört die Darstellung durch Bilder und Worte zu
den grundlegenden Visualisierungstechniken.
Die Technik des Mappings auf Textur wird im Rahmen dieser Arbeit einge-
setzt, Mapping auf Geometrie, Farbe und Helligkeit wird in einer späteren
Version der Anwendung verwendet werden. Bilder und Worte werden nur für
die Legenden der Anwendung benutzt.
2.2 Volumenvisualisierung
2.2.1 Volumendaten
Grundlagen Begrisbestimmung Volumendaten werden oft genutzt,
um ein dreidimensionales Bezugssystem mit skalaren Daten zu beschreiben.
Oft haben die skalaren Daten einen Wirkungskreis und sind in einem regel-
mäÿigen Gitter angeordnet. Eine Gitterzelle des Gitters wird Voxel genannt.
Die Beobachtungspunkte eines Gitters können die Zellenmittelpunkte oder
die Gitterpunkte sein.
2 Dennis Gábor (eigentlich Dénes Gábor) (* 5. Juni 1900; † 8. Februar 1979), Nach ihm
ist die Gabor-Transformation benannt, eine örtlich eingeschränkte Variante der Fourier-
Transformation. [Wik07a]
3 Einschränkung: Dies gilt nicht für abstrakte Sachverhalte.
6
2.2. VOLUMENVISUALISIERUNG
1. Volumendaten
2. Filtering
3. Mapping
4. Rendering
5. Bild
Innerhalb des Mappings kann eine Klassikation oder eine Klassikation und
eine Flächenextraktion stattnden.
Dekompositionsmethoden
Bei diesen Methoden werden die Daten in Punkten, Volumenelementen oder
Schichten dargestellt. Die einfachste Variante der Methode ist die Darstellung
der Gitterpunkte als farbige Pixel, die für die vorliegende Arbeit besonde-
re Bedeutung hat und deshalb in Kapitel 5.10 nähere Betrachtung ndet.
Die Variante hat jedoch den Nachteil, dass durch die kleinen Primitive die
Deutung der Daten schwer fällt. Aus dem Grund werden bei den Dekompo-
sitionsmethoden normalerweise gröÿere Primitive, wie Kugeln, Quader oder
Tetraeder gewählt, wobei Tetraeder den Nachteil haben, dass sie eine Rich-
tung indizieren. Im Folgenden werden verschiedene Dekompositionsmetho-
den vorgestellt: die Quadermethode, die transparente Quadermethode und
die Dekomposition in Schichten.
7
KAPITEL 2. GRUNDLAGEN
maÿe (δx , δy , δz ) und die Position der unteren linken Ecke der Quader be-
stimmt sich wie folgt:
xmax − xmin
δx = ( )
nx (M + 1) − M
ymax − ymin
δy = ( )
ny (M + 1) − M
zmax − zmin
δz = ( )
nz (M + 1) − M
4 Gouraud-Schattierung ist eine Methode für eine lineare Interpolation einer Farbe oder
eines Schattens über ein Polygon
8
2.2. VOLUMENVISUALISIERUNG
9
KAPITEL 2. GRUNDLAGEN
Alle auf -Voxel repräsentieren eine grobe Approximation der Isoäche. Die
Ermittlung von nur zwei Klassen ist numerisch stabiler:
10
2.2. VOLUMENVISUALISIERUNG
innen auÿen
Seitenächen, die einen innen und einen auÿen Nachbarn haben, approxi-
mieren die Isoäche. Bei dieser Methode bleibt allerdings die Voxelstruktur
(Blockstruktur) deutlich sichtbar.
11
KAPITEL 2. GRUNDLAGEN
Marching Cube Ein Würfel wandert durch den Datenwürfel und un-
terteilt diesen in einzelne Zellen. Die Eckpunkte der Zellen werden anhand
eines Schwellenwertes innerhalb und auÿerhalb der Isoäche klassiziert. Die
Schnittpunkte der Isoäche mit den Zellen werden durch lineare Interpo-
lation ermittelt und dann zur Darstellung der Isoäche verbunden. Da die
Eckpunkte durch Bits repräsentiert werden, gibt es für einen Würfel 256
mögliche Belegungen. Die Belegungen werden durch 15 verschiedene Topo-
logien repräsentiert. Dies reicht allerdings nicht aus, um alle theoretischen
Möglichkeiten abzudecken. Deshalb sind die Fälle 3, 6, 7, 10, 12, 13 aus der
Abbildung 2.6 nicht eindeutig. Trotzdem reicht diese Methode für die meisten
Fälle von visuellen Auswertungen bei groÿen Datensätzen aus. In Fall 3 der
12
2.2. VOLUMENVISUALISIERUNG
Dividing Cube Die Idee von Dividing Cubes besteht darin, anstelle
von Dreiecken Oberächenpunkte zu erzeugen. Dafür sind drei Schritte not-
wendig.
13
KAPITEL 2. GRUNDLAGEN
14
Kapitel 3
NinJo
3.1 Übersicht
NinJo ist ein komplexes Client-Server-System zur Anzeige von meteorologi-
schen Daten, Modellen und meteorologischen Produkten. Hauptfenster und
mögliche Applikationen können natürlich auch über mehrere Bildschirme ver-
teilt oder aufgeteilt werden. In einem Hauptfenster gibt es standardmäÿig
eine Hauptszene und drei Nebenszenen, wie man in Abbildung 3.2 sieht. In
jeder Szene gibt es verschiedene Layer, die in den Nebenszenen inaktiv sind
und in der Hauptszene konguriert werden können. Die verschiedenen Layer
liegen als Schichten übereinander, wie man in Abbildung 3.3 sieht. Jeden
Layer kann man ein- oder ausblenden oder graduell die Transparenz ein-
stellen. Die Reihenfolge der Layer kann beliebig angeordnet werden, um den
individuellen Ansprüchen des Benutzers zu genügen. Es können beliebig viele
15
KAPITEL 3. NINJO
Animation Die Animation ist für alle Layer und alle Zoom-Level verfüg-
bar. Mit ihr können sowohl gemessene Daten als auch Vorhersagedaten über
einen gewissen Zeitraum angezeigt werden. Den Zeitraum, die Intervalle und
die Animationsgeschwindingkeit kann der Benutzer einstellen. Es wird sogar
16
3.1. ÜBERSICHT
Grascher Editor Unter NinJo ist es nicht nur möglich, sich Daten anzei-
gen zu lassen und Modelldaten zu berechnen, sondern man kann die Daten
auch editieren. So wird zum Beispiel bei der Wettervorhersage der Fron-
tenverlauf, der im Modell berechnet wurde, mit Hilfe des MetObjekt-Layers
angepasst.
17
KAPITEL 3. NINJO
Einsatz NinJo wird in der Version 1.2 operationelle beim Deutschen Wet-
terdienst in der Wettervorhersage eingesetzt. Zur Zeit wird an der Version
1.3 gearbeitet, in der umfangreiche Redesigns der Frameworks implementiert
werden. Die Applikation, die in dieser Arbeit entwickelt wird, setzt auf dieser
neuen Version auf.
3.2 Architektur
NinJo ist vollständig in Java geschrieben und somit plattformunabhängig.
Mit Hilfe einer Pilotstudie wurde sichergestellt, dass die Verwendung von
Java keine Geschwindigkeitseinbuÿen zur Folge hat. NinJo verfügt über eine
Client- und eine Serverschiene, wie man in Abbildung 3.5 sieht. Auÿerhalb
dieser zwei Schienen existieren noch externe Systeme, die die NinJo-Server
mit Daten beliefern. Die Server bekommen die Daten über einen Imports-
ervice und geben sie über die NinJo Datenserver an die Clients weiter. Aus
Performancegründen werden die NinJo Datenserver auf mehrere Maschinen
aufgeteilt. Die Kommunikation zwischen Server und Client erfolgt mit IIOP.
IIOP steht für Internet Inter ORB Protocol. Es handelt sich dabei um ein in
18
3.2. ARCHITEKTUR
Der Aufbau des Clients ist in Abbildung 3.6 gezeigt. Die verschiedenen
Layer bekommen ihre Daten über IIOP von den entsprechenden NinJo Da-
tenservern. Auÿerdem besteht die Möglichkeit, Daten von anderen externen
Systemen und vom Alt-System MAP (Meteorologische Anwendungs- und
Präsentationssystem) zu importieren. Alle Layer holen ihre Kongurationen,
auch die, die der Benutzer im laufenden Betrieb eingestellt hat, mit Hilfe
des Cong Frameworks von einem Cong Server. Über das Layer Framework
(PAC - Presentation Abstraction Control) erfolgt die Steuerung der Layer.
Die grasche Ausgabe erfolgt nun mit Hilfe der Graphical Object Factory
(GOF), die im Folgenden näher erläutert wird.
19
KAPITEL 3. NINJO
20
3.5. VISUALIZATION FOR ALGORITHM DEVELOPMENT
Vi-
Library mit dem Ziel, eine interaktive Visualisierung und Analyse für be-
21
KAPITEL 3. NINJO
3.6 Ur-Prototyp
Schon in NinJo 0.1 wurde eine Studie angefertigt, die mit Hilfe von Java 3D
und den VisAD-Algorithmen dreidimensionale Isoächen darstellen konnte.
In NinJo 0.8 entwickelte man dann einen ersten Prototypen, der dreidimen-
sionale Daten mit OpenGL renderte. In diesem Rahmen wurden die 3D-
Funktionalitäten in der GOF implementiert. Der Ur-Prototyp konnte schon
Isoächen und die Erdoberäche dreidimensional darstellen. Allerdings wur-
de er in einem eigenen Layercontainer gestartet, hatte keine Verbindung zu
den anderen NinJo-Komponenten und konnte auch die NinJo-GUI nicht nut-
zen. In der vorliegenden Arbeit konnte von den dreidimensionalen Funktionen
der GOF protiert werden, die durch die Entwicklung dieses Prototypen ent-
standen sind. Er war in der aktuellen NinJo-Version allerdings nicht lauähig.
Jedoch konnten einige Funktionalitäten wie die Isoächen- oder Georaster-
darstellung als Grundlagen für diese Arbeit verwendet und auf die aktuelle
NinJo-Umgebung, wie sie NinJo 1.3 bereitstellt, angepasst werden. [Sch04]
[Sch03]
22
Kapitel 4
Fachkonzept
4.1 Einleitung
4.1.1 Zielsetzung des Fachkonzeptes
Die Ziele des Fachkonzeptes sind:
23
KAPITEL 4. FACHKONZEPT
4.1.3 Anforderungen
Dieses Kapitel nennt Anforderungen an die Applikation. Es sind insbesondere
solche Anforderungen zu nennen, die für das Verständnis dieses Dokuments
erforderlich sind. Anforderungen, die in der ersten Stufe der Applikation nicht
oder nur teilweise realisiert werden, sind als solche kenntlich gemacht. Hier
sind folgende Anforderungen zu nennen:
24
4.2. FACHLICHE GRUNDLAGEN
Lokales Modell Europa - LME Das LME hat eine viel höhere Auösung
als das GME. Während ein durchschnittliches Gitterelement des GME eine
2 2
Fläche von 3100 km hat, sind die Grundächen des LME 49 km groÿ. In der
Höhe ist diese Auösung nicht notwendig. Hier werden 42 Schichten unter-
schieden, wobei von NinJo nur die unteren 36 ausgewertet werden. Insgesamt
besteht es aus 665 x 667 x 36 Punkten. [Wet07c]
4.2.2 Daten
Das Kapitel beschreibt Struktur, Ausprägungen und Formate der Daten
(Gitter-, Punkt-, Vektor-, Raster- und Radardaten) dieser Applikation.
25
KAPITEL 4. FACHKONZEPT
Gitterdaten Auf den Gitterdaten liegt der Fokus der 3D-Applikation. Sie
werden mit 3D-Isoächen, Volumendarstellung oder Cross-Sections visuali-
siert. Gitterdaten liegen als dreidimensionales Gitter über der Erdoberä-
che vor. Die Daten werden von Vorhersagemodelle berechnet. Für die 3D-
Anwendung sind die wichtigsten Modelle das GME, das LME und das LMK
wie zuvor beschrieben. Zu jedem Gitterpunkt sind Daten und Koordinaten
gespeichert. Man unterscheidet unterschiedliche Arten von Koordinaten, wie
Druckächen und Modellächen. Druckächen sind von der Topographie un-
abhängig, verändern sich aber zeitlich. Modellächen benden sich in einem
bestimmten Abstand zur Oberäche, folgen also der Topographie. Einige
Wetterelemente werden nur in gewissen Koordinaten angezeigt. Besondere
Modellächen sind Bodenwerte wie 0 m, 2 m oder 10 m über der Bodenober-
äche, die in dieser Arbeit von den Modellächen getrennt werden, da hier
zum Teil Wetterelemente betrachtet werden, die in den übrigen Modellächen
nicht vorhanden sind.
26
4.2. FACHLICHE GRUNDLAGEN
4.2.3 Metadaten
Metadaten beschreiben, klassizieren und charakterisieren die zuvor beschrie-
benen Datensätze. Sie umfassen zum Beispiel Informationen wie Modelllauf
oder Messzeit, Vorhersagezeitpunkt oder Wertebereich.
27
KAPITEL 4. FACHKONZEPT
4.2.4 Visualisierung
Dieses Kapitel beschreibt alle Formen der Visualisierung der Datenarten der
Applikation und geht dabei auch auf Details und Ausgestaltungsarten ein.
Für die dreidimensionale Darstellung der Daten werden folgende Visualisie-
rungen genutzt:
28
4.2. FACHLICHE GRUNDLAGEN
29
KAPITEL 4. FACHKONZEPT
30
4.2. FACHLICHE GRUNDLAGEN
31
KAPITEL 4. FACHKONZEPT
4.3 Instant 3D
Hier wird beschrieben, wie auf Knopfdruck automatisch aus einer zweidimen-
sionalen eine dreidimensionale Visualisierung erzeugt wird und bei welchen
Daten bestimmte Standardvorgaben benutzt werden.
4.3.1 Mapping
Das automatische Mapping erfolgt anhand der im 2D-Modus ausgewähl-
ten Wetterelemente. Es wird in einer Kongurationsdatei eine Zuordnung
von Wetterelementen auf 3D-Visualisierungen hinterlegt. Beim Start der 3D-
Applikation wird eine Abfrage der Kongurationsdatei durchgeführt und die
Wetterelemente werden in der entsprechenden dreidimensionalen Visualisie-
rung, mit einer für das Element und die Visualisierung passenden Voreinstel-
lung, angezeigt.
4.3.2 Elemente
Anhand der folgenden Abbildungsvorschrift werden nun den Wetterelemen-
ten passende Visualisierungen zugewiesen.
32
4.4. GRAPHISCHE BENUTZUNGSSCHNITTSTELLE
Daten Hier kann das angezeigte Element oder dessen Darstellung geän-
dert werden. Bei der Darstellung kann aus Druckächen oder Modellächen
ausgewählt werden. Die Modellächen teilen sich in den Leveltyp 109 (Ne-
benächen) und den Leveltyp 110 (Hauptächen) auf. Die Datenauswahl ist
in Abbildung 4.7 zu sehen.
33
KAPITEL 4. FACHKONZEPT
Einstellungen Hier lassen sich einige Einstellungen zur Legende, zur Popup-
Info und zu den Linienattributen vornehmen.
34
4.4. GRAPHISCHE BENUTZUNGSSCHNITTSTELLE
4.4.2 Kontextmenü
Dieser Abschnitt beschreibt das Kontextmenü des Layers, das heiÿt ein Menü,
das beim Klick mit der rechten Maustaste in der Szene erscheint. Als Kon-
text wird der Punkt der Oberäche genommen, auf dem sich der Mauszeiger
bendet. Ein Mausklick über die Erdoberäche in das Volumen ist nicht
vorgesehen, da es nur bedingten meteorologischen Nutzen hat. Zur besseren
Orientierung wird über dem Mauszeiger (Kreuz) auf der Oberäche noch eine
Säule angezeigt. Das Kontextmenü selbst hat keine 3D-spezischen Funktio-
nen.
4.4.3 Legende
Die Legende, die standardmäÿig vom Gridlayer gezeigt wird, gibt Informa-
tionen zum aktuellen Element, zum Modelllauf und anderen Daten aus der
Datenauswahl. Zusätzlich müssen nun die aktuellen Visualisierungseinstel-
lungen eingeblendet werden.
35
KAPITEL 4. FACHKONZEPT
4.4.4 Werkzeugleisten
Allgemeine Werkzeugleiste Da bei NinJo Navigationsicons, wie zum
Beispiel Zoom, in der allgemeinen Werkzeugleiste liegen, wird diese, wenn sich
NinJo im 3D-Modus bendet, um einige Navigationsfunktionen erweitert. In
Abbildung 4.10 werden einige dieser Funktionen vorgestellt.
36
4.4. GRAPHISCHE BENUTZUNGSSCHNITTSTELLE
Datenauswahl
Attribute ändern
Schatten an / aus
Modell ändern
Modelllauf ändern
4.4.5 Favoriten
Man kann die Einstellungen in der 3D-Applikation als einen Favoriten spei-
chern und beim nächsten Start auswählen, so dass NinJo direkt im 3D-Modus
mit den zuletzt ausgewählten Wetterelementen und den benutzerdenierten
Visualisierungen und Einstellungen startet. Für spezielle Ansichten, um zum
Beispiel die Wolkenvereisung darzustellen, ist es sinnvoll, solche Favoriten zu
erstellen.
37
KAPITEL 4. FACHKONZEPT
4.4.6 Navigation in 3D
Trackballfunktionen der Maus Die Navigation in der 3D-Szene erfolgt
durch die Maus. Mit der linken Maustaste kann die Szene gedreht werden,
mit der rechten Maustaste wird die Szene verschoben und mit dem Mausrad
ist ein Zoomen möglich. Durch zusätzliches Drücken von Tasten können fol-
gende zusätzliche Funktionen angesteuert werden:
Tastatur
Maus
Mausrad = Zoom
ALT+Mausrad = Objekte aufschneiden
rechte Maustaste = Kontextmenü
38
4.5. SZENARIEN
4.5 Szenarien
In diesem Abschnitt wird erläutert, wie sich die Applikation in charakteris-
tischen Szenarien verhält. Diese dienen der Veranschaulichung des dynami-
39
KAPITEL 4. FACHKONZEPT
schen Verhaltens der Applikation. Sie können auch als Grundlage von Test-
fällen dienen.
40
4.5. SZENARIEN
Szenario Nr. 5:
Auswirkungen auf das Hauptfenster
Änderungen des Geokontext und der Zeit wirken sich auf auf das Haupt-
fenster aus. Andere Änderungen, wie das Hinzufügen oder Löschen von
Layer, Änderungen der Visualisierung der Layer oder Einstellungen von
Visualisierungen, werden nicht in das Hauptfenster übernommen.
Screenshots Abbildung 4.15 zeigt, wie ein Screenshot von der fertigen
Anwendung aussehen könnte. Es wird eine vertikale Cross-Section über den
Alpen gezeigt, die den vertikalen Wind darstellt.
41
KAPITEL 4. FACHKONZEPT
42
Kapitel 5
Implementierung
show3DWindow
ein Event zugeordnet. Wenn dieses Event eintritt, der Button also gedrückt
wurde, wird die Methode aufgerufen, die eine in einer ab-
gespeicherten Konguration liegende Session startet. In der Konguration
dev_threeD sind unter anderem die Layer gespeichert, die beim Start gela-
den werden sollen. Ebenso verhält es sich mit dem Canvas-Typ, der in diesem
Fall besonders wichtig ist, da hier hinterlegt wurde, von welcher Art der zu
ladende Canvas ist. Es wird Canvas-Typ 3 gewählt, was einem JOGL-Canvas
entspricht.
43
KAPITEL 5. IMPLEMENTIERUNG
Benutzte Dateien:
\src\org\ninjoworkstation\client\appl\mainwindow\
MainwindowViewImpl.java
\gui\MainwindowToolbar.java
\installation\development\client\remote_config
\cfg\system\default\
\ninjo.client.appl.lc\dev_threeD.xml
\ninjo.client.appl.lc.view\dev_threeD.xml
\ninjo.client.appl.mainwindow\dev_threeD.xml
\ninjo.fwk.client\dev_threeD.xml
44
5.2. ZEICHNEN IN 3D
5.2 Zeichnen in 3D
Nachdem ein zweites Hauptfenster mit einem JOGL-Canvas erzeugt ist, wird
im nächsten Schritt ein dreidimensionales Objekt gezeichnet. Hierfür muss in
der Klasse CanvasImplJOGL ein solches Objekt erzeugt und gerendert wer-
den. Auÿerdem wird die Kameraposition und der Blickwinkel festgelegt. Als
Beispielobjekt wird hier eine Gitter-Teekanne gewählt. Zum Zeichnen wurden
die OpenGL Hilfsmittel der OpenGL Utilities (GLU) und das OpenGL Utili-
glutWireTeapot
ty Toolkit (GLUT) benutzt. Zum Zeichnen des Teekannen-Beispiels wird der
display
von der GLUT bereitgestellte Befehl benutzt. Dies geschieht
in der Methode .
Benutzte Dateien:
\src\org\ninjoworkstation\fwk\client\gof\impl\
CanvasImplJOGL.java
45
KAPITEL 5. IMPLEMENTIERUNG
5.3 Navigation in 3D
Um in der 3D-Umgebung navigieren zu können, müssen die Maus-Events
an einen Trackball durchgereicht werden, um die zweidimensionale Einga-
mou-
be der Maus in eine dreidimensionale Änderung der Szene umzusetzen. Die
seDragged
Trackballfunktionalität sitzt hier im Canvas und zwar in der Methode
der Klasse CanvasImplJOGL. Damit die Maus-Events dorthin ge-
langen, werden sie vom Maus-Adapter des Layercontainers abgefangen. Der
Maus-Adapter reagiert auf die Maus-Events, indem er die Viewerparameter
der Szene setzt. Die Szene wird dann vom Canvas gerendert, wodurch die
neuen Viewerparameter umgesetzt werden. Der Layercontainer verwaltet die
Layercontainer-
verschiedenen Layer eines Hauptfensters. In der Klasse
ViewImpl wird dem Layercontainer der LayerContainerMouseAdapter zu-
gewiesen. Im LayerContainerMouseAdapter werden nun, wenn der Canvas
setViewerParame-
ters3D
3D-fähig ist, die Viewerparameter gesetzt. Die Methode
setzt die Einstellungen in der Szene, also in der Klasse SceneImpl. Die
Szene holt sich beim Neuzeichnen die aktuellen Positionen der 3D-Objekte
von den einzelnen Layern, während der Canvas die Szene zeichnet. In Abbil-
dung 5.3 wird die Übergabe der Mausinformationen an die dreidimensionale
Ausgabe in einer Übersicht dargestellt.
Benutzte Dateien:
\src\org\ninjoworkstation\client\appl\lc\
LayercontainerViewImpl.java
\scene\LayercontainerMouseAdapter.java
\src\org\ninjoworkstation\fwk\client\gof\impl\
CanvasImplJOGL.java
SceneImpl.java
Translation Bei der Translation wird zuerst die Szene geladen, dann die
glLoadIdentity
aktuelle Matrix auf die Einheitsmatrix gesetzt. Dies geschieht mit der Metho-
glLoadMatrixf(mPos-
de . Dann wird die Matrix geladen, in der alle vorherigen Trans-
ObjTrans)
formationen gespeichert sind. Hierzu wird die Methode
mit der Matrix, in der die aktuellen Translationsinformationen
46
5.3. NAVIGATION IN 3D
Rotation Bei der Rotation ist ein zusätzlicher Schritt zu beachten. Zu-
nächst wird wieder die Szene geladen, die Einheitsmatrix gesetzt und die
vorherigen Transformationen werden ausgeführt. Nun wird zuerst die Szene
in den Mittelpunkt verschoben, dann rotiert und zurück an den Ausgangs-
punkt bewegt und gespeichert. Das ist notwendig, da die Objekte nur um den
Nullpunkt des Koordinatensystems gedreht werden können. Dies verdeutlicht
das Beispiel in Abbildung 5.4 und Abbildung 5.5. Jede neue Transformati-
on wird auf die aktuelle Transformationsmatrix multipliziert, so dass immer
die Summe aller Transformationen mit einer Matrix auf eine Einheitsmatrix
aufmultipliziert wird.
47
KAPITEL 5. IMPLEMENTIERUNG
Benutzte Dateien:
\src\org\ninjoworkstation\fwk\client\gof\impl\
CanvasImplJOGL.java
Codeausschnitt: CanvasImplJOGL
glMultMatrixf ( mPosObjRot );
48
5.3. NAVIGATION IN 3D
Benutzte Dateien:
\src\org\ninjoworkstation\fwk\client\gof\impl\
CanvasImplJOGL.java
doReset
denen Navigationsbuttons des Hauptfensters hinzugefügt. Durch den Button
wird ein neues Maus-Event ausgelöst. Durch dieses Event wird ein
neuer Viewerparameter gesetzt, der beim Rendern der Szene abgefragt wird.
setOriginalPerspective
Hier wird dann die Matrix, in der die Transformation steht, auf die Ein-
mPosObjRot
heitsmatrix gesetzt. In der Methode wird die Matrix
, in der die Rotation steht, auf die Einheitsmatrix gesetzt. Dann
wird diese Matrix, die nun eine Einheitsmatrix ist, in den Matrizenspeicher
für die aktuelle Transformationsmatrix geschrieben.
49
KAPITEL 5. IMPLEMENTIERUNG
Benutzte Dateien:
\src\org\ninjoworkstation\client\appl\lc\
scene\LayercontainerMouseAdapter.java
LayercontainerViewImpl.java
\src\org\ninjoworkstation\fwk\client\gof\impl\
RenderContextImplJOGL.java
ViewerParametersImpl.java
Codeausschnitt: RenderContextImplJOGL
5.4 Beleuchtung
Um dreidimensionale Flächen darstellen zu können, muss eine Beleuchtung
der dreidimensionalen Szene erfolgen. Erst durch die Beleuchtung kommt
es zu Licht- und Schatteneekten, wodurch die Dreidimensionalität sichtbar
wird. Da sich bei einer Blickwinkeländerung sowohl die Farbe durch eine neue
Beleuchtung als auch die Reihenfolge der Objekte im Bezug zur Kamera än-
dern kann, ist zunächst ein Löschen der jeweiligen Puer-Bits notwendig. Um
nun eine Lichtquelle zu erstellen, sind zuerst der ambiente, der diuse und
der speculare Anteil zu denieren. Der ambiente Anteil beschreibt den Licht-
anteil, der so oft von Oberächen reektiert wurde, dass keine Richtung mehr
zugeordnet werden kann. Der diuse Anteil beschreibt den indirekten Anteil,
der zwar zerstreut ist, allerdings noch einer Richtung zuzuordnen ist. Der
speculare Anteil beschreibt die direkte Reexion und ist für die Glanzlichter
zuständig. Die verschiedenen Anteile werden in der RGBA-Form angegeben.
Das bedeutet, dass die drei Grundfarben und ein Transparenzparameter mit-
gegeben werden. Die Intensität ergibt sich durch die Farbe. Ein helles weiÿes
Licht hat die Werte 1, 1, 1, 1, während ein mittleres, eher graues Licht 0.5,
0.5, 0.5, 1 hat. Wenn der Anteil nicht in der Szene auftauchen soll, werden
die Farbwerte auf schwarz, also auf 0 gesetzt. Natürlich braucht auch jede
50
5.4. BELEUCHTUNG
Benutzte Dateien:
\src\org\ninjoworkstation\fwk\client\gof\impl\
CanvasImplJOGL.java
Codeausschnitt: CanvasImplJOGL
gl . glEnable ( gl . GL_LIGHT0 );
51
KAPITEL 5. IMPLEMENTIERUNG
gl . glEnable ( gl . GL_LIGHTING );
...
}
5.5 Datenreduzierung
Unter Datenreduzierung (Subsampling) versteht man die Darstellung der Da-
ten in einer geringeren Auösung. Zur Visualisierung von Wetterdaten wird
in dieser Applikation standardmäÿig als Vorhersagemodell das lokale Modell
Europa (LME) benutzt, welches in Abschnitt 4.2.1 beschrieben wird. Da beim
LME ein Gitter mit 665 x 667 x 36 Punkten benutzt wird, ist eine Datenredu-
zierung nötig, um ein performanteres Arbeiten zu ermöglichen. In diesem Fall
werden nur die X- und die Y-Werte mit einem Subsampling bearbeitet, da
bei den 36 Höhenächen kein Subsampling notwendig ist. Die Datenreduzie-
rung geschieht in der Klasse GridThreeDExtension, da hier der Datenwürfel
geladen wird. Um das Subsampling auch noch ändern zu können, wenn die
Anwendung läuft, wird immer der komplette Datenwürfel geladen, auch wenn
das mehr Zeit kostet, als wenn man nur die Daten in der niedrigeren Auö-
sung laden würde. Sowohl das Daten- als auch das Koordinatengitter werden
ausgedünnt. Beide Gitter werden dann an den jeweiligen Visualisierungsal-
gorithmus gegeben. Hier ndet die Zuordnung der Daten zu den Koordinaten
statt. Der aktuelle Subsamplingfaktor wird aus der Konguration ausgelesen
und lässt sich über den Menüpunkt Subsampling ändern. Das Ausdünnen
der Gitter geschieht in jeweils drei ineinander geschachtelten for-Schleifen, in
denen je eine Dimension mit Sprungweite des Subsamplefaktors durchlaufen
wird.
52
5.6. UNTERSCHEIDUNG VON 2D- UND 3D-LAYERN
Benutzte Dateien:
\src\org\ninjoworkstation\fwk\client\gof\impl\
GridThreeDExtension.java
createScenegraph3D
ein JOGL-Canvas ist, wird die dreidimensionale Darstellung aktiviert, indem
im Layer die Methode aufgerufen wird. Diese Methode
existiert nur, wenn der Layer dreidimensional darstellbar ist. Falls dies nicht
zutrit, wird die zweidimensionale Darstellung gezeichnet. In dieser Arbeit
sind zwei Layer 3D-fähig: der NWP-Layer, der die Gitterdaten darstellt und
der Georasterlayer, der die Erdoberäche zeigt.
Benutzte Dateien:
\src\org\ninjoworkstation\client\appl\lc\scene\
LayercontainerSceneDescription.java
\src\org\ninjoworkstation\client\grid\pac\layer\
BaseGridView.java
Codeausschnitt: LayercontainerSceneDescription
53
KAPITEL 5. IMPLEMENTIERUNG
der dreidimensionalen Darstellung sehen. Aus diesem Grund muss eine Über-
gabe der Daten zwischen zwei Hauptfenstern erfolgen. Dies ist im Design von
NinJo nicht vorgesehen. Dort ist eine strikte Trennung der einzelnen Layer
gefordert. Eine direkte Kommunikation der Layer untereinander, ohne Ein-
beziehung des Frameworks ist nicht erwünscht. In dem Fall besteht allerdings
genau diese Anforderung. Deshalb wird nun der aktuelle Gridrequest, in dem
die Anfrage nach Modell, Element, Leveltyp, Modelllauf und Vorhersagezeit-
punkt steht, in ein Singleton geschrieben, welches in der 3D-Verarbeitung
verfügbar ist. Dies wird von der Klasse Grid2Dto3D erzeugt. In der Klasse
BaseGridModel wird in der Methode setRequest
renderRequest
das Singleton erzeugt. In
der Klasse BaseGridView in der Methode wird es dann wie-
der ausgelesen. Damit ist die Möglichkeit gegeben, die letzte Anfrage an das
Gridlayer sowohl in der zweidimensionalen als auch in der dreidimensionalen
Ansicht zu bekommen. Leider berücksichtigt diese Methode nicht die gleich-
zeitige Verwendung von mehreren Gridlayern. Die Implementierung dieser
Funktionalität ist im Rahmen der Diplomarbeit wegen des Abstimmungs-
aufwands nicht vorgesehen und muss im Rahmen der Weiterentwicklung in
Absprache mit den Designverantwortlichen implementiert werden.
Benutzte Dateien:
\src\org\ninjoworkstation\client\grid\pac\layer\
BaseGridModel.java
BaseGridView.java
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
Grid2Dto3D.java
5.8 3D-Werkzeugleiste
Um die möglichen Funktionen übersichtlich darzustellen, wurden aus der im
Fachkonzept vorgestellten Werkzeugleiste für die vorliegende Version der Ap-
plikation nur wenige Punkte ausgewählt. Wenn die Anwendung im 3D-Modus
ist, werden alle Punkte des zweidimensionalen Gridlayers ausgeblendet und
nur die 3D-Funktionen eingeblendet. Hier können nun die Datenauswahl auf-
gerufen, die Visualisierungen gewechselt oder die Einstellungen der Visuali-
sierungen geändert werden.
54
5.9. 3D-ISOFLÄCHEN
Datenauswahl
Benutzte Dateien:
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
GridToolBar.java
GridThreeDExtension.java
5.9 3D-Isoächen
Die Darstellung von Daten als dreidimensionale Isoächen geschieht in der
Klasse Isosurface, die aus einem früheren Prototypen übernommen wur-
de. Sie benutzt einen VisAD-Algorithmus, der zur Extraktion der Flächen
Marching Cubes verwendet, wie in Abschnitt 2.2.3 vorgestellt. Da der Algo-
rithmus sehr ezient ist, nimmt er keine Rücksicht darauf, ob beim Zusam-
mensetzen der Isoächen aus Dreiecksächen alle Oberächennormalen in die
GridThreeD-
getElementAppearance set-
gleiche Richtung zeigen. Aus diesem Grund wird in der Klasse
Extension
InconsistentFaces(true)
in der Methode das Polygonattribut
gesetzt, welches dafür sorgt, dass die Oberächen-
normalen korrigiert werden.
Benutzte Dateien:
\src\org\ninjoworkstation\fwk\client\vislib\threed\
Isosurface.java
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
GridThreeDExtension.java
55
KAPITEL 5. IMPLEMENTIERUNG
setInconsistentFaces(true)
Rendern eines Polygons die Farbe und das Material wieder zurückgesetzt
werden. Die Methode hat bei Polygonen, die kei-
ne unterschiedlichen Flächennormalen haben, zur Folge, dass Vorder- und
Rückseiten vertauscht werden. Da die Rückseiten durch ein Backfacecul-
ling nicht dargestellt werden, sind nach dem Vertauschen nur die ehema-
ligen Rückseiten sichtbar. Standardmäÿig ist die Vorderseite eines Polygons
dadurch deniert, dass die Punkte des Polygons gegen den Uhrzeigersinn
durchlaufen werden. Durch den Isoächenalgorithmus kann die Vordersei-
gl.glFrontFace(GL.GL_CCW)
te im Uhrzeigersinn gestellt sein. Aus diesem Grund muss nach dem Ren-
dern mit die Vorderseite gegen den Uhrzeiger-
sinn (CounterClockWise) zurückgestellt werden. Damit dem neuen Polygon
gl.glDisable(GL.GL_COLOR_-
auch neue Farben und neue Materialien zugewiesen werden können, müssen
diese Eigenschaften nach dem Rendern mit
56
5.10. TINY CUBES
Benutzte Dateien:
\src\org\ninjoworkstation\fwk\client\gof\impl\
RenderContextImplJOGL.java
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
GridThreeDExtension.java
5.9.2 Schwellenwerteingabe
Um eine dreidimensionale Isoäche zeichnen zu können, braucht man einen
setDefaultThreshold
Schwellenwert, der die Isoäche bestimmt. Der Startschwellenwert wird für
alle Elemente durch die Methode gesetzt. Hier wird je-
dem Element automatisch ein geeigneter Startwert zugeordnet. Der Startwert
kann nachträglich vom Benutzer durch einen Slider geändert werden, den man
durch einen Button der Layertoolbar des 3D-Gridlayers önen kann. Durch
den Slider wird ein neuer Schwellenwert gesetzt und ein Neuzeichnen ange-
stoÿen. Um den Schwellenwert vom Slider an die Isoächen zu übergeben,
muss in der Klasse GridToolBar der Slider erzeugt werden. Der Slider setzt
in der Klasse ThresholdGUI den Schwellenwert im View mit der Methode
setThreshold. In der Klasse BaseGridView wird dann der Schwellenwert für
die Klasse GridThreeDExtension gesetzt. Dies wird in der Abbildung 5.10
verdeutlicht.
Benutzte Dateien:
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
GridToolBar.java
GridThreeDExtension.java
\gui\ThresholdGUI.java
57
KAPITEL 5. IMPLEMENTIERUNG
Benutzte Dateien:
\src\org\ninjoworkstation\fwk\client\vislib\threed\
TinyCubes.java
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
GridThreeDExtension.java
5.10.1 Werte-Eingabe
Es gibt für den Nutzer auch die Möglichkeit, die voreingestellten Werte für
die Tiny Cubes Visualisierung zu ändern. Es können die beiden Schwellenwer-
te geändert werden. Für jeden Bereich kann die Dichte und die Transparenz
58
5.10. TINY CUBES
der Punkte eingestellt werden. Die Dichte beschreibt, mit welcher Schritt-
weite durch das Datengitter gegangen wird, das heiÿt wie viele Gitterpunkte
übersprungen werden. Bei der Transparenz wird ein Wert zwischen 0 (un-
sichtbar) und 1 (undurchsichtig) gewählt. Die Farbe lässt sich nicht ändern,
da zu viele Eingabemöglichkeiten ein Eingabefeld unübersichtlich machen.
Die Farbe wird man später durch die Änderung einer Kongurationsdatei
editieren können.
Benutzte Dateien:
\src\org\ninjoworkstation\fwk\client\vislib\threed\
TinyCubes.java
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
GridThreeDExtension.java
\gui\ChangeValuePanel.java
59
KAPITEL 5. IMPLEMENTIERUNG
createScenegraph3D
Da der Layer auch dreidimensionale Daten darstellt, muss hier die Methode
implementiert werden. Man könnte eine höhere Auö-
sung erreichen, indem man das Rasterbild aus der Klasse RasterViewImpl
mit Hilfe von Java Advanced Imaging (JAI) einmalig heraus schreibt und in
der Klasse GeoRasterThreeDExtension mit JAI wieder einliest. Durch die
Performancenachteile, die diese Methode mit sich bringt, wird es in der vor-
liegenden Arbeit nicht implementiert. Die Auösung von 958 x 556 x 258, die
vom Georasterlayer geliefert wird, reicht jedoch für diesen Rahmen aus. Da-
ninjo.client.raster.geo.pac.layer.model
mit beim Starten der 3D-Anwendung die richtige Farbtabelle gewählt wird,
wurde in der default-cong GTOPO30
eingestellt, so dass diese Farbtabelle standardmäÿig beim Starten benutzt
wird.
Benutzte Dateien:
\src\org\ninjoworkstation\client\raster\pac\layer\
GeoRasterThreeDExtension.java
RasterViewImpl.java
\installation\common\client\remote_config\cfg\system\default\
ninjo.client.raster.geo.pac.layer.model\default.xml
setDefaultEle-
mit einem Element aufgerufen wird, muss dem Element eine Visualisierung
mentVisualisation
zugewiesen werden. Diese Aufgabe übernimmt die Methode
der Klasse GridThreeDExtension, die entscheidet, ob das
Element mit einer Isoäche oder mit Hilfe von Tiny Cubes visualisiert wird.
Wenn weitere Visualisierungen hinzukommen, müssen diese in der Methode
berücksichtigt werden. Hier werden die Elemente betrachtet, die im Grid-
layer auf den Modellächen vorliegen. Isoächen sind für Elemente inter-
essant, bei denen einzelne Werte eine wichtige Bedeutung haben, wie zum
60
5.12. MAPPING DER VISUALISIERUNG
Beispiel 0 Grad bei der Temperatur. Tiny Cubes werden dann bevorzugt,
wenn man Wertebereiche betrachten möchte. Die Zuordnung der Elemente
zu Visualisierungen sieht man in der folgenden Tabelle. Natürlich kann die
Visualisierung vom Nutzer nachträglich geändert werden.
Element Visualisierung
Temperatur → Isoächen
Feuchtigkeit → Tiny Cubes
Bedeckungsgrad (Wolken) → Isoächen
U-Wind Komponente (West/Ost) → Tiny Cubes
V-Wind Komponente (Süd/Nord) → Tiny Cubes
Luftdruck → Isoächen
61
KAPITEL 5. IMPLEMENTIERUNG
wird hier die Visualisierung mit TinyCubes gewählt, wobei alle Werte über 90
% hervorgehoben werden. Für den Bedeckungsgrad ist zwar auch ein Bereich
interessant, da hier die höheren innerhalb der niedrigeren Werte liegen, wurde
eine Isoächendarstellung gewählt. Mit dem Schwellenwert von 80 % kann
gut die Bewölkung erkannt werden. Die beiden Windkomponenten werden
durch Tiny Cubes dargestellt, da hier die Unterscheidung zwischen positi-
ven, negativen und Werten um 0 wichtig ist. Die verschiedenen Richtungen
repräsentieren den Gesamtwindvektor. Der Luftdruck wird als Isoäche dar-
gestellt, um eine bessere Orientierung im Druckwürfel zu ermöglichen. In den
folgenden Abschnitten wird auf die Schwellenwerte der einzelnen Visualisie-
rungen eingegangen, wo, der Vollständigkeit halber, für jede Visualisierung
alle Elemente betrachtet werden.
Benutzte Dateien:
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
GridThreeDExtension.java
setDefaultThreshold
Isoäche ein Schwellenwert mitgegeben werden. Für jedes Element wird ein
eigener Schwellenwert mit der Methode festgelegt. Der
Benutzer kann den Schwellenwert mit Hilfe eines Sliders nachträglich verän-
dern.
Element Schwellenwert
Temperatur → 0
Feuchtigkeit → 90
Bedeckungsgrad (Wolken) → 80
U-Wind Komponente (West/Ost) → 0
V-Wind Komponente (Süd/Nord) → 0
Luftdruck → 850
Benutzte Dateien:
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
GridThreeDExtension.java
62
5.12. MAPPING DER VISUALISIERUNG
setDefaultTinyCubesSet-
tere Schwelle und für die drei Bereiche jeweils Dichte und Transparenz pro
ting
Element deniert. Dies geschieht in der Methode
. Der Übersichtlichkeit halber zeigt die Tabelle nur die untere und obere
Schwelle und lässt die Dichten und Transparenzwerte auÿen vor.
Temperatur → -5, +5
Feuchtigkeit → 90, 100
Bedeckungsgrad (Wolken) → 60, 80
U-Wind Komponente (West/Ost) → -2, +2
V-Wind Komponente (Süd/Nord) → -2, +2
Luftdruck → 500, 800
Benutzte Dateien:
\src\org\ninjoworkstation\client\grid\grid\pac\layer\
GridThreeDExtension.java
63
KAPITEL 5. IMPLEMENTIERUNG
64
Kapitel 6
Nutzertests
Dem folgenden Kapitel liegen die Quellen [Chl06], [Nie93] und [QE07] zu-
grunde.
6.1 Nutzergruppen
Die Nutzergruppe der 3D-Applikation ist international und sehr homogen.
Alle Anwender arbeiten in den Vorhersagezentralen der Wetterdienste ver-
schiedener Nationen. Sie kennen NinJo und verwenden das System zum Teil
operativ. Die 3D-Applikation stellt für sie eine Neuerung dar. Die eigentliche
Arbeitsumgebung ist bekannt. Auÿer den Mitarbeitern der Vorhersagezen-
tralen werden ebenso Entwickler von NinJo in den Test einbezogen, um eine
breitere Testbasis zu erhalten. Sowohl Meteorologen als auch Entwickler sind
als Experten im Umgang mit dem System zu sehen. Es werden bewusst keine
Anfänger in den Test einbezogen, da diese nicht mit dem System arbeiten
werden.
6.2 Methoden
Die beiden Methoden für den Nutzertest, die in diesem Fall in Frage kommen,
sind der Fragebogen und das Experteninterview. Im Folgenden werden die
Vorteile und Nachteile der beiden Methoden erläutert.
6.2.1 Fragebogen
Ein Fragebogen hat den Vorteil, dass eine gröÿere Menge an Testpersonen
befragt werden kann, ohne dass ein Testleiter bei jeder Testperson anwesend
sein muss. Damit ist auch die Anonymität der Testpersonen gewahrt. Wenn
65
KAPITEL 6. NUTZERTESTS
6.2.2 Experteninterview
Durch den persönlichen Kontakt mit jedem Nutzer, der an dem Test teil-
nimmt, ist sichergestellt, dass die maximale Information pro Testnutzer her-
ausgefunden wird. Hier können komplexe Fragestellungen behandelt werden,
die eine zusätzliche Erklärung benötigen. Bei einer fachkundigen Nutzer-
gruppe können so leichter Anregungen für Verbesserungen des getesteten
Programmes aufgenommen werden. Durch das persönliche Gespräch muss
allerdings mit einem gröÿerem Zeitaufwand pro Test gerechnet werden, als
das bei einem Fragebogen der Fall wäre. Auÿerdem ist die Qualität der Test-
ergebnisse vom Interviewer abhängig.
6.3 Interview
Bei der Wahl der Methode bot sich aus den oben genannten Gründen für diese
Arbeit das Experteninterview an. Deswegen wird im Folgenden genauer auf
diese Methode eingegangen.
Testnutzer wählen Im nächsten Schritt werden die Nutzer für den Test
ausgewählt. Wie in Kapitel 6.1 erwähnt, werden Nutzer aus der Gruppe der
Meteorologen und aus der Gruppe der Entwickler befragt.
66
6.3. INTERVIEW
Befragungsform festlegen Für die Form der Befragung müssen der Struk-
1
turierungsgrad , die Art des Kontaktes (zum Beispiel direkt oder telefonisch),
die Zahl der Interviewer und die Zahl der Interviewten pro Test festgelegt
werden. Unter diesen Punkt fällt auch die geplante Dauer des Interviews.
Anfrage und Instruktion der Nutzer Bei der Anfrage und auch bei
der Instruktion der Nutzer für den Test, muss deutlich gemacht werden, wie
wichtig die Meinung des Nutzers ist und welchem Zweck das Interview dient.
Da ein Interview nie anonym sein kann, ist es notwendig, den Nutzer darauf
hinzuweisen, dass seine Daten vertraulich behandelt werden.
6.3.2 Auswertung
Die Auswertung der Nutzertests kann sowohl quantitativ als auch qualitativ
erfolgen.
67
KAPITEL 6. NUTZERTESTS
6.3.3 Interpretation
Die Interpretation der aus der Auswertung gewonnenen Informationen ge-
schieht anhand der im Vorfeld formulierten Erwartungen (vergleiche 4). Durch
Bestätigung oder Abweichung dieser Erwartungen können neue Erkenntnisse
erlangt werden.
68
6.4. TEST
6.4 Test
6.4.1 Testplan
Thema Visualisierung von Wetterdaten in 3D
Testnutzer wählen
• Meteorologen: 4
• Entwickler: 4
Befragungsform festlegen
• Strukturierungsgrad: halb strukturiert (oene und geschlossene Fragen)
Interviewleitfaden
• Instruktion des Nutzers
• Persönliche Daten
• Nachbesprechung
69
KAPITEL 6. NUTZERTESTS
6.4.2 Testbogen
Persönliche Daten
• Berufsgruppe: ...
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
• Für welchen Zweck würden Sie die Anwendung einsetzen? (Zum Bei-
spiel Präsentationen, erster Eindruck über eine Wetterlage oder Detail-
analyse)
70
6.5. AUSWERTUNG
6.4.3 Pilottest
Nach der Durchführung des Pilottestes wurde klar, dass die oenen Fra-
gen nach dem Erstellen des Screenshots den Nutzer überfordern, wenn keine
Skalierung oder Beispiele angegeben werden. Aus diesem Grund wurden alle
Fragen an den Nutzer diesen Punkt betreend überarbeitet.
6.5 Auswertung
6.5.1 Quantitative Auswertung
Während des Interviews wurden vier Fragen gestellt, die quantitativ ausge-
wertet werden konnten. Das Ergebnis der Auswertung der einzelnen Fragen
wird in der folgenden Tabelle und in den Diagrammen von Abbildung 6.1 bis
Abbildung 6.4 dargestellt.
Entwickler Ja 2 Jahre 8
Meteorologe Nein 6 Monate 9
Entwickler Nein 7 Jahre 7 - 8
Entwickler Ja 4 Monate 2
Meteorologe Ja 7 Jahre 5
Meteorologe Ja 7 Jahre 10
Entwickler Ja 4 Jahre 8
Meteorologe Nein 7 Jahre 7
Die Tabelle zeigt, dass die Testnutzer eine durchschnittliche Erfahrung von
4,35 Jahre mit NinJo haben und die Anwendung durchschnittlich mit 7,06
von 10 Punkten bewerten.
Was stört Sie bei der Navigation? Hier äuÿerten die Anwender ihren
Unmut über die schwierige Navigation. Das Ruckeln, das aus Performance-
71
KAPITEL 6. NUTZERTESTS
gründen auftritt, ist für viele Nutzer ein Hindernis, um mit der Anwendung
ezient zu arbeiten.
Welche Funktion vermissen Sie am meisten? Hier teilt sich die Mei-
nung der Nutzer. Für die einen sind weitere Einstellungsmöglichkeiten wie
die Farben der Punkte und Flächen das Wichtigste, für andere ist es am
72
6.5. AUSWERTUNG
73
KAPITEL 6. NUTZERTESTS
6.6 Interpretation
Durch die Auswertung der Fragebögen wird klar, dass der Benutzer die An-
wendung gern annimmt und verwendet, wenn die Navigation verbessert wird.
Zusätzliche Möglichkeiten der Einstellungen oder die Anzeige von weiteren
Layern sind gewünscht, aber eher optional. Das einfache Starten der 3D-
Anwendung und eine gute Voreinstellung ermöglichen es dem Anwender, mit
wenig Aufwand um ein brauchbares Resultat zu erreichen. Dies trägt wesent-
lich zum positiven Feedback der Nutzer bei.
74
Kapitel 7
Ausblick
7.1 Prioritäten
Die fünf wichtigsten Punkte, die zur produktiven Einführung der Anwendung
implementiert werden müssen, sind im Folgenden aufgezählt:
• Legende Damit der Nutzer weiÿ, was auf dem Bildschirm dargestellt
wird, sind Legenden notwendig. NinJo stellt mit einem Legend-Frame-
work eine Methode bereit, Legenden in ein Layer zu integrieren.
75
KAPITEL 7. AUSBLICK
7.2.1 Visualisierungen
Vektordarstellung Die im Fachkonzept vorgestellte Vektordarstellung zeigt
die Windvektoren, die sich aus den U- und V-Windkomponenten zusammen-
setzen.
7.2.2 Elemente
Druckächen Es sollen in Zukunft nicht nur die Elemente der Modellä-
chen, die in dieser Arbeit in Abschnitt 5.12 behandelt wurden, dargestellt
werden, sondern auch alle Element der Druckächen die im Fachkonzept un-
ter 4.3.2 erwähnt sind.
7.2.3 Konguration
I18N In einer produktiven Version müssen alle Kongurationen und Texte,
die in der Benutzeroberäche zu sehen sind, mit Hilfe des I18N-Frameworks
76
7.3. OPTIONALE PUNKTE
7.3.1 GUI-Elemente
Schnitt Das Bewegen einer Ebene durch den dreidimensionalen Raum, so
dass alles zwischen dieser Ebene und der Kamera transparent gezeichnet
wird, ist eine im Fachkonzept beschriebene Funktion, die in einer späteren
NinJo-Version verwirklicht wird.
77
KAPITEL 7. AUSBLICK
78
Kapitel 8
Zusammenfassung
Die Aufgabe dieser Arbeit war es, eine in die NinJo-Workstation eingebet-
tete Applikation zu entwickeln, die mit nur einem Mausklick eine zweidi-
mensionale Darstellung von meteorologischen Daten in eine dreidimensiona-
le Darstellung. NinJo ist eine meteorologische Workstation, die komplett in
Java geschrieben ist und es Meteorologen ermöglicht, Wetterdaten zu ana-
lysieren (vergleiche Kapitel 3). Im Rahmen eines Fachkonzeptes wurden die
Funktionen der Anwendung beschrieben (vergleiche Kapitel 4). Bei der Um-
setzung (vergleiche Kapitel 5) mussten erst die Möglichkeiten, welche die
NinJo-Workstation bereitstellt, so eingesetzt werden, dass Daten dreidimen-
sional dargestellt werden konnten. Anschlieÿend wurden zwei verschiedene
Visualisierungen implementiert, um eine automatische Auswahl einer Visua-
lisierung zu ermöglichen. Dadurch wurde die Voraussetzung geschaen, ein
Element, wie zum Beispiel die Temperatur oder die Bewölkung, als Isoäche
darzustellen oder die Volumenvisualisierung Tiny Cubes zu wählen. Für die
möglichen Visualisierungen waren verschiedene Parameter nötig, die für je-
des Element mit einer anderen Voreinstellung belegt werden mussten. Sowohl
die Parameter als auch die Visualisierung lassen sich im laufenden Betrieb
der Anwendung vom Benutzer ändern. Ebenso ist es möglich, mehrere Ele-
mente gleichzeitig anzeigen zu lassen oder ein Element in mehreren Visua-
lisierungen simultan zu betrachten. Die Zahl der auf einmal zu betrachten-
den Elemente ist nur vom Arbeitsspeicher und der Rechenleistung des PCs
beschränkt, auf dem der NinJo-Client läuft. Schon mit dem jetzigen Pro-
totypen, der im Rahmen der Arbeit entstand, ist es für den Meteorologen
möglich, bestimmte Wetterphänomene zu analysieren. So lässt sich beobach-
ten, wie der Temperaturverlauf durch die Alpen beeinusst wird (Abbildung
◦
8.1 bei -15 C) oder in welchem Bereich der Wolken eine so niedrige Tem-
peratur herrscht, dass Eisregen möglich ist (Abbildung 8.2, Grün bedeutet
◦
-5 bis -15 C). Dies ist vor allem für die Flugwetterberater sehr interessant.
79
KAPITEL 8. ZUSAMMENFASSUNG
Dadurch, dass für die Meteorologen diese Informationen jetzt durch einen
Mausklick einfach zugänglich sind, werden sie diese und somit auch die neue
Anwendung gern nutzen. Das ergaben auch die durchgeführten Nutzertests
(vergleiche Kapitel 6). Dadurch, dass die Visualisierungen optisch eindrucks-
voll und für eine weitergehende Analyse ergiebig sind, steigt natürlich auch
die Akzeptanz der Nutzer. Die Einbindung in das vom Wetterdienst genutzte
Dateimanagementsystem ermöglicht eine Weiterentwicklung der Anwendung
ohne zusätzlichen administrativen Aufwand. Nach Abschluss der Arbeit und
der Umsetzung einiger der im Ausblick genannten Funktionen wird die 3D-
Applikation in das produktive NinJo-System aufgenommen und somit im
operationellen Betrieb von Meteorologen international genutzt werden.
80
Abbildung 8.1: Screenshot Temperatur über den Alpen
81
KAPITEL 8. ZUSAMMENFASSUNG
82
Anhang
• das Abbildungsverzeichnis,
• das Literaturverzeichnis,
83
84
Abbildungsverzeichnis
2.1 Quadermethode . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Transparente Quadermethode . . . . . . . . . . . . . . . . . . 9
2.3 Schichtenmethode . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Varianten der Schichtenmethode . . . . . . . . . . . . . . . . . 10
2.5 Contouring and Connecting . . . . . . . . . . . . . . . . . . . 11
2.6 Fallunterscheidungen beim Marching Cube . . . . . . . . . . . 12
2.7 Volume Rendering . . . . . . . . . . . . . . . . . . . . . . . . 14
85
5.2 Teekanne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3 Maus Navigation . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.4 Rotation ohne Verschiebung . . . . . . . . . . . . . . . . . . . 48
5.5 Rotation mit Verschiebung . . . . . . . . . . . . . . . . . . . . 48
5.6 Beleuchtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.7 links - ohne Subsampling, rechts - mit Subsampling . . . . . . 52
5.8 3D-Werkzeugleiste . . . . . . . . . . . . . . . . . . . . . . . . 55
5.9 Isoächen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.10 Schwellenwert setzen . . . . . . . . . . . . . . . . . . . . . . . 58
5.11 Tiny Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.12 Georaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.1 Beruf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2 Erfahrung mit 3D . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.3 Erfahrung mit NinJo . . . . . . . . . . . . . . . . . . . . . . . 73
6.4 Bewertung der Anwendung . . . . . . . . . . . . . . . . . . . . 73
Pilottest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
A Test Nr. 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
B Test Nr. 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
C Test Nr. 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
D Test Nr. 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
E Test Nr. 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
F Test Nr. 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
G Test Nr. 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
H Test Nr. 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
86
Literaturverzeichnis
Tri-
Vis NG, Filmbeispiel
[aIVG07a] Innovative Visualisierungslösungen GmbH ask:
. http://www.askvisual.de/mpegs/enea/
enea_a.mpg, 2007. [Online; Stand 3. Dezember 2007].
Visu-
al3D
[aIVG07b] Innovative Visualisierungslösungen GmbH ask:
. http://www.askvisual.de/german_sites/visual3d.
html, 2007. [Online; Stand 3. Dezember 2007].
87
[Leh03] Lehmann, Martin: NinJo Course . DWD, 2003. [Folien; Stand
September 2003].
LMK - DEVELOPMENT
OF A VERY-SHORT RANGE FORECAST MODEL http:
[Wet07b] Wetterdienst, Deutscher:
.
//www.meteo.fr/cic/wsn05/resumes_longs/6.04-500.pdf,
2007. [Online; Stand 3. Dezember 2007].
88
Dennis Gábor Wikipedia, Die freie Enzyklopä-
die
[Wik07a] Wikipedia:
. http://de.wikipedia.org/w/index.php?title=Dennis_
G%C3%A1bor&oldid=38586744, 2007. [Online; Stand 4. Dezem-
ber 2007].
89
90
Fragebögen
Pilottest
Persönliche Daten
• Berufsgruppe: Entwickler
• Erfahrung mit NinJo: seit 2 Jahren
• Erfahrung mit 3D-Anwendungen: ja
Aufgaben an den Nutzer
• Starten Sie NinJo in 2D und suchen Sie im Gridlayer ein bestimmtes
Element heraus (LME oder LMK, Modelllauf 00:00 Uhr, Temperatur,
Bedeckungsgrad, U Wind, V Wind oder Druck).
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
•
für Volumendaten wie Wind
Für welchen Zweck würden Sie die Anwendung einsetzen?
•
intuitiv. Ich hätte nur erwartet, dass die Richtung des Zooms vertauscht
Wie nden Sie die Navigation?
ist.
91
•
keine
Welche Funktion vermissen Sie am meisten?
•
keine
Welche Anregungen haben Sie für die Anwendung?
Abbildung : Pilottest
92
A Test Nr. 1
Persönliche Daten
• Berufsgruppe: Entwickler
• Erfahrung mit NinJo: seit 2 Jahren
• Erfahrung mit 3D-Anwendungen: ja
Aufgaben an den Nutzer
• Starten Sie NinJo in 2D und suchen Sie im Gridlayer ein bestimmtes
Element heraus (LME oder LMK, Modelllauf 00:00 Uhr, Temperatur,
Bedeckungsgrad, U Wind, V Wind oder Druck).
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
8
bis 10 (sehr gut)?
• Für welchen Zweck würden Sie die Anwendung einsetzen? (Zum Bei-
spiel Präsentationen, erster Eindruck über eine Wetterlage oder Detail-
•
das Ruckeln und ich vermisse eine Information, die mir sagt, um welche
Was stört Sie an der Navigation?
94
B Test Nr. 2
Persönliche Daten
• Berufsgruppe: Meteorologe
• Erfahrung mit NinJo: seit Juli 2007
• Erfahrung mit 3D-Anwendungen: nein
Aufgaben an den Nutzer
• Starten Sie NinJo in 2D und suchen Sie im Gridlayer ein bestimmtes
Element heraus (LME oder LMK, Modelllauf 00:00 Uhr, Temperatur,
Bedeckungsgrad, U Wind, V Wind oder Druck).
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
9
bis 10 (sehr gut)?
• Für welchen Zweck würden Sie die Anwendung einsetzen? (Zum Bei-
spiel Präsentationen, erster Eindruck über eine Wetterlage oder Detail-
•
nichts
Was stört Sie an der Navigation?
95
•
Man müsste Legenden haben, damit man sieht, welche Werte visuali-
Welche Anregungen haben Sie für die Anwendung?
96
C Test Nr. 3
Persönliche Daten
• Berufsgruppe: Entwickler
• Erfahrung mit NinJo: seit 2000
• Erfahrung mit 3D-Anwendungen: nein
Aufgaben an den Nutzer
• Starten Sie NinJo in 2D und suchen Sie im Gridlayer ein bestimmtes
Element heraus (LME oder LMK, Modelllauf 00:00 Uhr, Temperatur,
Bedeckungsgrad, U Wind, V Wind oder Druck).
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
7 bis 8
bis 10 (sehr gut)?
• Für welchen Zweck würden Sie die Anwendung einsetzen? (Zum Bei-
spiel Präsentationen, erster Eindruck über eine Wetterlage oder Detail-
für Präsentationen oder für eine genauere Analyse. weniger für einen
analyse)
97
•
Es wäre wichtig, nicht nur die Modellächen sondern auch die Druck-
Welche Anregungen haben Sie für die Anwendung?
98
D Test Nr. 4
Persönliche Daten
• Berufsgruppe: Entwickler
• Erfahrung mit NinJo: seit 4 Monaten
• Erfahrung mit 3D-Anwendungen: ja
Aufgaben an den Nutzer
• Starten Sie NinJo in 2D und suchen Sie im Gridlayer ein bestimmtes
Element heraus (LME oder LMK, Modelllauf 00:00 Uhr, Temperatur,
Bedeckungsgrad, U Wind, V Wind oder Druck).
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
2
bis 10 (sehr gut)?
• Für welchen Zweck würden Sie die Anwendung einsetzen? (Zum Bei-
spiel Präsentationen, erster Eindruck über eine Wetterlage oder Detail-
•
Die Navigation ist ruckelig und kaum zu kontrollieren. Damit ist ein
Was stört Sie an der Navigation?
Beispiel durch das Ändern der Farben oder Einstellen von Transparenz
99
•
Es wäre gut, wenn man die Ansicht aufschneiden könnte und sich die-
Welche Anregungen haben Sie für die Anwendung?
100
E Test Nr. 5
Persönliche Daten
• Berufsgruppe: Meteorologe
• Erfahrung mit NinJo: seit 2000
• Erfahrung mit 3D-Anwendungen: ja
Aufgaben an den Nutzer
• Starten Sie NinJo in 2D und suchen Sie im Gridlayer ein bestimmtes
Element heraus (LME oder LMK, Modelllauf 00:00 Uhr, Temperatur,
Bedeckungsgrad, U Wind, V Wind oder Druck).
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
5
bis 10 (sehr gut)?
• Für welchen Zweck würden Sie die Anwendung einsetzen? (Zum Bei-
spiel Präsentationen, erster Eindruck über eine Wetterlage oder Detail-
•
die Navigation ist in Ordnung
Was stört Sie an der Navigation?
101
•
Ein höheres Subsampling wäre besser.
Welche Anregungen haben Sie für die Anwendung?
102
F Test Nr. 6
Persönliche Daten
• Berufsgruppe: Meteorologe
• Erfahrung mit NinJo: seit 2000
• Erfahrung mit 3D-Anwendungen: ja
Aufgaben an den Nutzer
• Starten Sie NinJo in 2D und suchen Sie im Gridlayer ein bestimmtes
Element heraus (LME oder LMK, Modelllauf 00:00 Uhr, Temperatur,
Bedeckungsgrad, U Wind, V Wind oder Druck).
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
10
bis 10 (sehr gut)?
• Für welchen Zweck würden Sie die Anwendung einsetzen? (Zum Bei-
spiel Präsentationen, erster Eindruck über eine Wetterlage oder Detail-
Ich würde die Anwendung für alle Punkte einsetzen, am besten für die
analyse)
Detailanalyse.
•
Die Navigation wird mit der Zeit schlechter und die Maus reagiert zu
Was stört Sie an der Navigation?
sensibel.
• Welche Funktion vermissen Sie am meisten? (Zum Beispiel mehr 3D-
fähige Layer wie Radar, mehr Einstellungsmöglichkeiten der Visualisie-
103
•
Beim Wechseln der Visualisierungen in einem Layer sollen sinnvolle
Welche Anregungen haben Sie für die Anwendung?
104
G Test Nr. 7
Persönliche Daten
• Berufsgruppe: Entwickler
• Erfahrung mit NinJo: seit 2003
• Erfahrung mit 3D-Anwendungen: ja
Aufgaben an den Nutzer
• Starten Sie NinJo in 2D und suchen Sie im Gridlayer ein bestimmtes
Element heraus (LME oder LMK, Modelllauf 00:00 Uhr, Temperatur,
Bedeckungsgrad, U Wind, V Wind oder Druck).
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
• Für welchen Zweck würden Sie die Anwendung einsetzen? (Zum Bei-
spiel Präsentationen, erster Eindruck über eine Wetterlage oder Detail-
•
die vorhandenen Bugs, wie das aufpoppende Kontextmenü
Was stört Sie an der Navigation?
leuchtung
105
•
Wenn man in die Szene reinzoomt, wäre es praktisch, wenn die Daten
Welche Anregungen haben Sie für die Anwendung?
in der Nähe eine höhere Auösung hätten als die Daten in der Ferne.
106
H Test Nr. 8
Persönliche Daten
• Berufsgruppe: Meteorologe
• Erfahrung mit NinJo: seit 2000
• Erfahrung mit 3D-Anwendungen: wenig
Aufgaben an den Nutzer
• Starten Sie NinJo in 2D und suchen Sie im Gridlayer ein bestimmtes
Element heraus (LME oder LMK, Modelllauf 00:00 Uhr, Temperatur,
Bedeckungsgrad, U Wind, V Wind oder Druck).
• Stellen Sie einen Screenshot einer Ihrer Meinung nach gelungenen An-
sicht her.
7
bis 10 (sehr gut)?
• Für welchen Zweck würden Sie die Anwendung einsetzen? (Zum Bei-
spiel Präsentationen, erster Eindruck über eine Wetterlage oder Detail-
cken
•
Die Maus ist zu sensitiv eingestellt.
Was stört Sie an der Navigation?
Die Überhöhung sollte einstellbar sein und mehr Daten sollten zur Aus-
rungen, wie Farbe, zusätzliche Visualisierungen, wie Cross-Sections)
wahl stehen.
107
•
Ein Panning ohne eine Drehung in 3D wäre gut.
Welche Anregungen haben Sie für die Anwendung?
108
Inhaltsverzeichnis CD
1. Diplomarbeit (PDF)
2. Diplomarbeit (TeX)
3. Quellcode
4. Quellen
5. Vortrag
109