Immersive Interaktion mit einer virtuellen Erdkugel mit Darstellung meteorologischer Daten
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Fakultät für Mathematik und Informatik Institut für Informatik Mensch-Computer Interaktion c Bachelorarbeit zur Erlangung des Grades Bachelor of Science (B. Sc.) im Studiengang Mensch-Computer-Systeme an der Universität Würzburg Immersive Interaktion mit einer virtuellen Erdkugel mit Darstellung meteorologischer Daten vorgelegt von Daniel Rapp Matrikelnummer: 1954753 am 15. April 2016 Betreuer/Prüfer: Prof. Marc Erich Latoschik, Informatik IX, Universität Würzburg M.-Space Tech. Borja Garcia, Informatik VIII, Universität Würzburg
Zusammenfassung Wetterdaten von Satelliten liefern heutzutage wichtige Informationen für Wissen- schaft und Meteorologie und sind inzwischen auch für universitäre Zwecke verfügbar. Da bisher Aufnahmen dieser Satelliten an der Julius-Maximilians-Universität (JMU) in Würzburg lediglich zweidimensional dargestellt werden, verfolgt diese explorative Arbeit eine neue, dreidimensionale Repräsentation. Im Zuge dessen verarbeitet ein hierfür selbstgeschriebenes Programm die Aufnahmen von fünf ausgewählten Sa- telliten und kombiniert diese zu farbigen Texturen. Es sind in dieser Arbeit fünf verschiedene Möglichkeiten implementiert, die schwarzweißen Aufnahmen einzufär- ben. Diese werden im Anschluss auf einer virtuellen Erdkugel innerhalb einer, durch die Unreal Engine darstellte, Szene präsentiert. Die Interaktion erfolgt über eine Wii Mote, während Nutzer die Erde über die Oculus Rift betrachten können. Zukünftige Arbeiten können die Anwendung mit Nutzern testen. Abstract Today, data from satellites are not only important for meteorology or science but also largely available for universities and research purposes. Up until now, the JMU in Wuerzburg only showed these pictures in a two-dimensional way, so this work explores a new three-dimensional representation. The final program uses images from five satellites and converts these black and white images into colored textures, while providing five different approaches to do so. The textures are then used within a scene rendered by the Unreal Engine to present a virtual earth. Users might view it wearing the Oculus Rift and can interact with it using the Wii Mote Controller. The program is in its first iteration and therefore may be evaluated with users in future work.
Inhaltsverzeichnis Abbildungsverzeichnis vii Tabellenverzeichnis ix Acronyms xi 1 Einleitung 1 1.1 Wetterbeobachtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Oculus Rift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Beteiligung der Lehrstühle . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Hintergrund der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Aufgabenstellung 5 3 Stand der Forschung 7 3.1 Empfang von Satellitendaten . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 MSG Data Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 MSG Animator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4 Bisherige Verarbeitung der Daten . . . . . . . . . . . . . . . . . . . . 8 3.5 Datenvisualisierung in virtuellen Realitäten . . . . . . . . . . . . . . . 9 4 Rahmenbedingungen 11 4.1 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2 Zeitplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5 Konzept 15 5.1 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.2 Auswahl der Satelliten . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.2.1 Meteosat 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.2.2 Meteosat 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.2.3 Geostationary Operational Environmental Satellite West . . . 17 5.2.4 Geostationary Operational Environmental Satellite East . . . 18 5.2.5 Himawari 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.3 Übertragung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.4 Verarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.5 Visualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.6 Interaktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 v
Inhaltsverzeichnis 6 Implementierung 21 6.1 Empfang und Entschlüsselung . . . . . . . . . . . . . . . . . . . . . . 21 6.2 Übertragung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.2.1 Datenmanagement . . . . . . . . . . . . . . . . . . . . . . . . 21 6.3 Verarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.3.1 Clipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.3.2 Neuprojektion . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.3.3 Farben verfälschen . . . . . . . . . . . . . . . . . . . . . . . . 25 6.3.4 Kombinieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.4 Visualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.5 Interaktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.5.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.5.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 7 Evaluation 35 8 Zusammenfassung und Ausblick 37 8.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 8.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Literatur 39 Anhang 40 vi
Abbildungsverzeichnis 1.1 Oculus Rift mit den 6 Freiheitsgraden X, Y, Z, Yaw, Pitch und Roll . 2 3.1 Zwölf verschiedene Channels zur Auswahl im Manager . . . . . . . . 8 3.2 Animation mit hochauflösenden Daten des Meteosat-8 und Land/Wasser Farbverfälschung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.1 Konzept der einzelnen Projektkomponenten . . . . . . . . . . . . . . 15 5.2 Schematische Darstellung des Längengrades der ausgewählten Satel- liten und deren Abdeckung der Erde . . . . . . . . . . . . . . . . . . 16 6.1 Sequenzdiagramm des FileWatchers . . . . . . . . . . . . . . . . . . . 22 6.2 Sequenzdiagramm des Bildverzerrers . . . . . . . . . . . . . . . . . . 23 6.3 Bild vor der Bearbeitung . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.4 Textur nach dem Projizieren . . . . . . . . . . . . . . . . . . . . . . . 24 6.5 Textur nach dem Kombinieren . . . . . . . . . . . . . . . . . . . . . . 29 6.6 Timeline für den alpha-Wert im Material der Erdkugel mit den Events W, X, Y und Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.7 Stereoskopische Darstellung des Menüs . . . . . . . . . . . . . . . . . 31 6.8 Stereoskopische Darstellung der Szene mit Erde und Satelliten im Hintergrund . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.9 Wii mit sechs Freiheitsgraden und sieben Buttons zur Eingabe (B auf der Rückseite) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 vii
Tabellenverzeichnis 4.1 Zeitplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.1 Position der Satelliten . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.1 Eingabemöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.2 Events der Timeline . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.3 Eingabemöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ix
Akronyme DVB Digital Video Broadcasting. 7 EUMETSAT European Organization for the Exploitation of Meteorological Satel- lites. 5, 7, 17 GOES-E Geostationary Operational Environmental Satellite East. 18 GOES-W Geostationary Operational Environmental Satellite West. 17, 18 HCI Human-Computer Interaction. 2, 5, 11, 13, 15, 18, 19, 21, 37, 41 Him8 Himawari 8. 18 HMD Head Mounted Display. 1, 5 HSL Modell Farbmodell auf Basis von Hue (H), Saturation (S), und Lightness (L). 26, 28 HUD Head Up Display. 31 JMA Japan Meteorological Agency. 18 JMU Julius-Maximilians-Universität. iii, 5 JPEG Joint Photographic Experts Group. 21 LNB Low Noise Block. 7 LuRI Luft und Raumfahrt. 2, 3, 5, 8, 11, 13, 15, 18, 21, 37 Met10 Meteosat 10. 7, 17 Met7 Meteosat 7. 17 MSG Meteosat Second Generation. 7, 8 MTSAT-2 Multifunctional Transport Satellite 2. 18 NOAA National Oceanic and Atmospheric Administration of USA. 5, 17, 18 PC Personal Computer. 2, 7, 13, 18, 19, 21, 31, 32 RAM Random Access Memory. 37 TCP Transmission Control Protocol. 21, 37 xi
Acronyms USB Universal Serial Bus. 32 YCbCr Modell Farbmodell auf Basis von Helligkeit (Y), Blautönen (Cb) und Rottö- nen (Cr). 25, 26, 28 xii
1 Einleitung 1.1 Wetterbeobachtung Die Satellitenmeteorologie als Teilgebiet der Meteorologie bereichert diese schon seit langer Zeit. Bereits 1987 berichtet Veronika Zwatz-Meise in ihrem Buch Satelliten- meteorologie: Satelliten beobachten das Wetter von den Einblicken und Methoden dieses Forschungsgebiets, das damals bereits fast 30 Jahre alt und somit heute über 55 Jahre Teil der Wissenschaft ist. Visuelle Aufnahmen der Erde, gepaart mit In- formationen zu Wasserdampf und Infrarotwerten helfen so nicht nur das tägliche Wetter vorherzusagen (Zwatz-Meise, 1987), sondern außerdem Klimaveränderungen zu beobachten, Ozeane zu überwachen oder Informationen zu Luftströmungen und Verschmutzung zu sammeln (EUMETSAT, 2016). Heutzutage ist die Wettervorhersage aus dem alltäglichen Leben nicht mehr wegzu- denken und neben neuen technischen Möglichkeiten, wie die Verbreitung der Daten auf Smartphones, werden vermehrt Satelliten in den Orbit gebracht, um die Genau- igkeit jener Vorhersagen weiter zu erhöhen und bisher fehlende Regionen der Erde ebenfalls abzudecken (Kettig, 2015). Weiterhin ergibt sich inzwischen die Möglich- keit die Satellitendaten auch für private und universitäre Zwecke zu nutzen, was unter anderem die Durchführung dieser Arbeit ermöglicht hat. 1.2 Oculus Rift Virtuelle Realität als eine vom Computer simulierte Umgebung, die dem Nutzer das Gefühl gibt in jener präsent zu sein (Desai, Desai, Ajmera und Mehta, 2014), ge- wann in den letzen Jahren immer mehr an Popularität, unter anderem aufgrund der Tatsache, dass ihre technische Umsetzung möglich wurde. Als ein Beispiel verwen- det das Head Mounted Display (HMD) Oculus Rift zwei Displays, um jedem Auge einzeln ein leicht verschobenes Bild zu präsentieren, um einen dreidimensionalen, stereoskopischen Eindruck zu erzeugen. Weiterhin besitzt das HMD die Möglichkeit 1
1 Einleitung seine Position durch ein Trackingsystem und seine Orientierung durch ein Gyroskop festzustellen (Desai u. a., 2014). Abbildung 1.1. Oculus Rift mit den 6 Freiheitsgraden X, Y, Z, Yaw, Pitch und Roll Diese technische Errungenschaft ermöglicht es Nutzer in beliebige Szenen zu ver- setzen und kann nicht nur in der Spieleindustrie verwendet werden, sondern auch im wissenschaftlichen oder industriellen Kontext zum Einsatz kommen, wie zum Beispiel bei der Fernkontrolle von Robotern (Kot und Novák, 2014). 1.3 Beteiligung der Lehrstühle An dieser Arbeit sind sowohl der Lehrstuhl für Luft und Raumfahrt (LuRI) (Infor- matik VIII) und der Lehrstuhl für Human-Computer Interaction (HCI) (Informatik IX) beteiligt. Um die Daten der Satelliten empfangen zu können, wird eine Bodenstation benötigt, die der Lehrstuhl für LuRI zur Verfügung stellt. Weiterhin verwaltet der Lehrstuhl die Daten und speichert diese für einen Zeitraum von aktuell drei Tagen. Als An- sprechpartner aus diesem Lehrstuhl ist für diese Arbeit M.-Space Tech. Borja Garcia ausgewählt, der dort unter anderem für die Hard- und Software zum Empfangen der Daten verantwortlich ist. Für die konzeptionelle Betreuung und die Bereitstellung der Hardware ist in dieser Arbeit der Lehrstuhl für HCI durch Prof. Marc Erich Latoschik verantwortlich. Ne- ben der Oculus Rift, stellt der Lehrstuhl ebenfalls einen hardwarestarken Personal Computer (PC) und eine Wii Mote, da all diese Komponenten für die Umsetzung 2
1.4 Hintergrund der Arbeit nötig sind. Weiterhin erfolgt die Hauptbetreuung durch diesen Lehrstuhl, was sich in regelmäßigen Treffen auszeichnet, um inhaltliche Fragestellungen zu klären. 1.4 Hintergrund der Arbeit Der Lehrstuhl für LuRI empfängt über die bereits erwähnte Bodenstation meteorolo- gische Daten diverser Satelliten. Bisher erfolgte nur eine Livepräsentation auf einem Bildschirm im Mathematik-Gebäude, nun wird jedoch im Zuge dieser Arbeit ein neues Programm zur interaktiven Visualisierung einer virtuellen Erdkugel geschaf- fen werden. Eine dreidimensionale Repräsentation der Daten wird es den Nutzern ermöglichen diese auf eine neue, natürliche Weise zu sehen und mit ihnen interagie- ren zu können. Weiterhin wird vor allem auch die Möglichkeit eröffnet, rückwirkend auf die Satellitendaten zugreifen zu können, um so auch Tage später die Daten zu einem bestimmten Zeitpunkt visualisieren zu können. 3
2 Aufgabenstellung Als Hauptaufgabe wird in dieser Arbeit ein Programm geschaffen werden, welches die Satellitendaten des Lehrstuhls für LuRI dreidimensional darstellt. Hierfür wird auf Methodik und Technik des Lehrstuhls für HCI zurückgegriffen. Daher erfolgt die Arbeit in Kooperation zwischen diesen beiden Lehrstühlen der JMU in Würzburg. Während erstgenannte vor allem die Daten zur Verfügung stellen, sorgt der zweite Lehrstuhl für Bereitstellung der Hardware und Hauptbetreuung. Zum Einsatz werden unter anderem die Bilddaten der Organisationen European Organization for the Exploitation of Meteorological Satellites (EUMETSAT) und National Oceanic and Atmospheric Administration of USA (NOAA) kommen, wobei weitere Quellen denkbar sind. Diese Daten liegen auf einem speziellen Rechner des Lehrstuhls für LuRI, wobei neue Bilder alle 15 Minuten bis drei Stunden empfangen werden. Diese Daten werden im Anschluss auf einen Rechner übertragen werden, der sie verarbeitet und über das HMD Oculus Rift ausgibt. Weiterhin werden sich die ausgegebenen Daten automatisch mit der Zeit verändern, um eine Animation zu simulieren. Als Eingabekomponente wird ein System verwendet werden, welches Interaktion zur Verschiebung, Rotation und zum Zoomen der virtuellen Erde erlaubt (z.B. WiiMote, Razor Hydra, Trackingsystem, Speech Recognition). 5
3 Stand der Forschung 3.1 Empfang von Satellitendaten Wettersatelliten, wie beispielhaft die der Organisation EUMETSAT, senden in re- gelmäßigen Abständen Sets aus Bildern an Bodenstationen. Im Fall des Satelli- ten Meteosat 10 (Met10) empfängt zum Beispiel das zentrale Rechenzentrum in Darmstadt die Rohdaten und verarbeitet diese, ehe sie global über das sogenann- te EumetCast-System zur Verfügung gestellt werden. Bodenstationen, wie die der Universität Würzburg, können so über eine Parabolantenne mit Low Noise Block (LNB) und einem PC mit einer Digital Video Broadcasting (DVB)-Karte die Daten empfangen und entschlüsseln (Kettig, 2015). 3.2 MSG Data Manager Die einzeln entschlüsselten Daten setzt im Anschluss der Meteosat Second Genera- tion (MSG) Data Manger (Taylor, 2015) zusammen. Der Manager, der ursprünglich von SatSignal Software in Edinburgh entwickelt wurde, wandelt die komprimier- ten Daten, die lediglich Zahlen enthalten, als erstes in Bilder um und löscht danach wahlweise die sehr großen Quelldateien. Neben diesem zentralen Schritt erlaubt er es auch auszuwählen, welche der zur Verfügung stehenden Kanäle umgewandelt werden sollen. So bieten die Satelliten Meteosat 8, 9 und 10 zwölf verschiedene Kanäle an, deren Daten sich in Auflösung und Aufnahme (visueller Bereich, Infrarotwerte, Was- serdampf) unterscheiden (siehe Bild 3.1). Neben den europäischen (wie Meteosat), empfängt der MSG Data Manager auch Informationen von weltweiten Satelliten. Dies ermöglicht, dass er als Empfänger für sämtliche Daten, die für die Visuali- sierung der dreidimensionalen Erde dieser Bachelorarbeit benötigt werden, dienen kann. 7
3 Stand der Forschung Abbildung 3.1. Zwölf verschiedene Channels zur Auswahl im Manager 3.3 MSG Animator Neben dem MSG Data Manager, benutzt das Institut für LuRI bisher ebenfalls den MSG Animator (Taylor, 2015). Dieses Programm greift auf die Daten des erstge- nannten zurück, um zweidimensionale Echtzeitanimationen zu erzeugen. Darüber hinaus besitzt es die Fähigkeit die Farben der schwarzweißen Aufnahmen der Satel- liten zu verfälschen, um so farbige Darstellungen der Erde zu erhalten. Die genaue Vorgehensweise wurde von den Autoren und Programmierern jedoch nicht veröf- fentlicht, sodass im Zuge dieser Bachelorarbeit nicht darauf zurückgegriffen werden kann. Da der Animator weiterhin nur zweidimensionale Bilder erzeugt, wird er für die Visualisierung der dreidimensionalen Erde nicht weiterverwendet. Bild 3.2 zeigt einen Ausschnitt aus einer Animation mit visuellen Daten und Farbverfälschung, die der MSG Animator produzieren kann. 3.4 Bisherige Verarbeitung der Daten Neben der Darstellung der Daten über den MSG Animator, verwendet der Lehrstuhl für LuRI bereits andere Programme, um die Daten zu verarbeiten und auszuwerten. So werden beispielsweise die Bilddaten der Meteosat Wettersatelliten automatisch auf Unregelmäßigkeiten überprüft. Es gäbe immer noch Unklarheiten über viele Phänomene, die sich in der Erdatmosphäre abspielen und deshalb sei es wichtig 8
3.5 Datenvisualisierung in virtuellen Realitäten Abbildung 3.2. Animation mit hochauflösenden Daten des Meteosat-8 und Land/Wasser Farbverfälschung die Bilddaten von Wettersatelliten nach spezifischen Eigenschaften von Anomali- en zu untersuchen. Eine automatische Erkennung dieser Unregelmäßigkeiten würde es Menschen deutlich erleichtern, jene später zu untersuchen (Kettig, 2015). Das geschaffene Programm speichert lokal seine Ergebnisse, zeigt diese in einer Benut- zeroberfläche an und versendet nach Wahl Emails an eingetragene Nutzer. 3.5 Datenvisualisierung in virtuellen Realitäten Mit immer größeren Datenmengen steigt das Problem diese alle zu verstehen be- ziehungsweise die wichtigen Informationen aus dieser Menge zu entnehmen. Neben der klassischen zweidimensionalen Visualisierung mit zum Beispiel Graphen, Karten und Bildern, ermöglicht die Technik heutzutage eine dreidimensionale Darstellung innerhalb einer virtuellen Realität. Tom Erickson argumentiert unter anderem, dass Visualisierung mit Manipulation und Interaktion verbunden sei. Eigenschaften, die eine virtuelle Realität durch ihre hohe Interaktion, direkte Feedbackrückkopplung und auch durch ihr Embodiment unterstütze (Stone, Erickson, Bederson, Rothman und Muzzy, 1994). 9
3 Stand der Forschung Auch in der Kartographie werden bereits virtuelle Realitäten zur Visualisierung von Daten verwendet. So erhöhe die dreidimensionale Darstellung von Objekten durch virtuelle Realität das Level der Wahrnehmung und dynamische Änderungen, wie Re- gen oder Wolken, sollen es der Karte der Zukunft ermöglichen, die Aufmerksamkeit des Nutzers gezielter zu steuern. Außerdem helfe die Tatsache, dass Nutzer in der virtuellen Realität einen Großteil, wenn nicht sogar die gesamte Szene überblicken können, sich zurecht zu finden. Die Verarbeitung dreidimensionaler Strukturen und Szenen sei zwar komplexer als deren zweidimensionale Gegenstücke, da wir jedoch in einer dreidimensionale Welt leben, könne unser Gehirn jene Darstellung besser verstehen (Bidoshi, 2003). 10
4 Rahmenbedingungen 4.1 Anforderungen Im Zuge dieser Arbeit werden die folgenden Funktionen und Anforderungen umge- setzt, um die in Kapitel 2 genannten Ziele zu erreichen: AK1 Auswahl der zu darstellenden Daten: AK1.1 Auswahl geeigneter Satelliten unter Berücksichtigung einer möglichst voll- ständigen Abdeckung der Erde AK1.2 Auswahl geeigneter Kanäle der Satelliten, da diese neben einer Verarbei- tung im visuellen Bereich auch zum Beispiel Infrarotbilder senden AK2 Kommunikation der Daten zwischen dem Empfangsrechner des Instituts für LuRI und dem Rechner des Lehrstuhls für HCI, der die Daten verarbeitet und ausgibt: AK2.1 Auswahl und Implementierung einer Überwachung des Empfangsrech- ners, um neue Bilder direkt zu versenden AK2.2 Auswahl des Übertragungsweges unter Berücksichtigung der Tatsache, dass die Satellitenaufnahmen das Netzwerk der Universität nicht verlas- sen dürfen AK2.3 Auswahl und Implementierung einer Überwachung des Verarbeitungs- und Ausgaberechners, um neue Bilder direkt in eine Textur umwandeln zu können AK3 Verarbeitung (mehrerer) Satellitenbilder zu einer Textur, die auf eine Sphäre projiziert werden kann: AK3.1 Änderung der Projektion der Satellitenbilder, um diese von ihrer azi- muthalen Form in eine sphärische zu tauschen AK3.2 Kombination mehrerer neu projizierter Satellitenbilder zu einer Textur, die die gesamte Erde abdeckt 11
4 Rahmenbedingungen AK3.3 Auswahl und Implementierung einer Möglichkeit der Farbverfälschung der schwarzweißen Textur, um eine kolorierte Version der Erde zu bekommen AK4 Erzeugen einer Speicherstruktur, die es erlaubt beliebig viele Texturen zu belie- big vielen Zeitpunkten zu hinterlegen, und zur Laufzeit des Programms wieder abzurufen AK5 Ausgabe der Daten mithilfe Technologie der immersiven virtuellen Realität: AK5.1 Auswahl der Engine, um die Erde darzustellen AK5.2 Anschluss einer Oculus Rift, um die Szene als immersive virtuelle Realität darzustellen AK5.3 Implementierung einer Textur, die sich während der Laufzeit ändert, um den zeitlichen Verlauf zwischen den Zeitpunkten der Texturen zu simu- lieren AK6 Anschluss einer Interaktionskomponente, die es Nutzern erlaubt mit der vir- tuellen Erde zu interagieren: AK6.1 Auswahl der Hardware für die Interaktion AK6.2 Implementierung einer räumlichen Interaktion mit der Erde im dreidi- mensionalen Raum AK6.3 Implementierung einer zeitlichen Interaktion mit der Erde, um die Aus- wahl des zu betrachtenden Zeitpunkts wählen zu können Besondere Schwierigkeiten ergeben sich dabei im Bezug auf die folgenden Punkte: S1 Die meisten Satelliten senden Daten in unterschiedlichen Intervallen. Dadurch kann es zu Diskontinuitäten in der Textur kommen. (AK3.2) S2 Es ist nicht gesichert, dass eine Auswahl getroffen werden kann, welche die Erde vollständig abdeckt. (AK1.1) S3 Da die Daten rechtlich geschützt sind, müssen diese zu jeder Zeit innerhalb der Universität bleiben. (AK2.2) S4 Das Projizieren ist ein komplexes Problem, bei welchem vor allem die Rand- bereiche der Aufnahmen stark verzerrt werden. (AK3.1) S5 Das Zusammenfügen einzelner Aufnahmen von unterschiedlichen Satelliten soll nach Möglichkeit keine Diskontinuitäten zeigen. Denkbar wäre außerdem, dass dieser Schritt von der Ausgabeengine übernommen wird. (AK3.2) 12
4.2 Zeitplan S6 Es wird Stellen und Zeitpunkte geben, zu denen keine Textur vorliegt. (AK3.2) S7 Eine 4D-Interaktion (Raum- und Zeitverschiebung) ist eine komplexe Interak- tion, die trotzdem intuitiv umgesetzt sein soll. (AK6) 4.2 Zeitplan Der Zeitplan gibt an welche Aufgaben in welcher Woche erledigt werden. Der Bear- beitungszeitraum erstreckt sich über mehr als zehn Wochen, da lediglich eine Teil- zeitbearbeitung möglich ist. Tabelle 4.1. Zeitplan Arbeit Anforderung Aufwand Einarbeitung Unreal AK5.1 1 Woche Ausschluss der Oculus AK5.2 1/2 Woche Literatursuche 1: Thema Visualisierung - 1 Woche Auswahl der Satelliten AK1.1 1/2 Woche Auswahl der Kanäle AK1.2 1/2 Woche Einarbeitung, um Daten zu kopieren AK2.2 1 Woche Programm zur Projektion einbauen AK3.1 1 Woche Programm, um Kombination erweitern AK3.2 1/2 Woche Programm, um Farbverfälschung erweitern AK3.3 1/2 Woche Darstellung der Erde mit Beispieldaten AK5.3 1 Woche Literatursuche 2: Thema Interaktionen AK6 1 Woche Eingabehardware anschließen AK6.1 1/2 Woche Räumliche Interaktion einbauen AK6.2 1/2 Woche Programme auf dem LuRI PC einrichten AK2.1 1 Woche Verarbeitung auf dem HCI PC automatisieren AK2.3 1 Woche Anbindung der Datenstruktur an Unreal AK4 1 Woche Zeitliche Interaktion einbauen AK6.3 2 Wochen Puffer für unvorhergesehene Probleme - 1 Woche Schriftliche Teile finalisieren - 1 Woche Abgabe - Mitte April 13
5 Konzept Um das Gesamtprojekt zu meistern, ist es, wie Abbildung 5.1 zeigt, in einzelne Projektkomponenten zerlegt. Diese gestallten sich modular, sodass sie unabhängig voneinander bearbeitet werden können. 5.1 Überblick Abbildung 5.1. Konzept der einzelnen Projektkomponenten Die Phasen Empfang und Entschlüsselung sind nicht Teil der Arbeit und sind be- reit kurz in Kapitel 3.1 angesprochen. Dahingegen finden sich Informationen zu den ausgewählten Satelliten in Kapitel 5.2 sowie das Konzept für das Programm der Datenübertragung in Kapitel 5.3. Die Aufgaben, die sich eher auf Seiten des Lehr- stuhls für HCI befinden, sind durch die Erstellung der Texturen (siehe Kapitel 5.4) sowie die Darstellung der virtuellen Szene (siehe Kapitel 5.5) und die Interaktion mit jenen (siehe Kapitel 5.6) vollständig in dieser Arbeit aufgeführt. 5.2 Auswahl der Satelliten In Kooperation mit dem Institut für LuRI sind fünf Wettersatelliten ausgewählt, die sich in einem geostationären Orbit befinden (AK1.1 und S2). Die genauen Daten 15
5 Konzept sind in Tabelle 5.1 gelistet. Tabelle 5.1. Position der Satelliten Satellit Breitengrad Längengrad Bildfrequenz Met10 0 0 15 Minuten Met7 0 57.5E 1 Stunde GOES-W 0 135W 1 Stunde (Vollständig nur 3 Stunden) GOES-E 0 75W 1 Stunde (Vollständig nur 3 Stunden) Him8 0 140.7E 30 Minuten Eine schematische Darstellung wie in Abbildung 5.2 zeigt, dass durch diese Auswahl eine nahezu komplette Darstellung der Erde möglich ist, da die fünf Satelliten die Erde aus jeder Position bei null Grad Breite aufnehmen. Außerdem gewährleistet die Überlappung der einzelnen Bilder, dass Fehler aufgrund von starker Verzerrungen am Rand der Aufnahmen minimiert werden können. Auf der anderen Seite bedeutet dies jedoch auch, dass am Nord- und Südpol keine Daten zur Verfügung stehen werden. Pro Satellit werden die Daten eines visuellen Kanals pro benutzt (AK1.2). Abbildung 5.2. Schematische Darstellung des Längengrades der ausgewählten Sa- telliten und deren Abdeckung der Erde 16
5.2 Auswahl der Satelliten 5.2.1 Meteosat 10 Der Met10 ist Teil der zweiten Generation an Wettersatelliten, die durch das Institut EUMETSAT betrieben werden. Mit einem Arbeitsbeginn am 05. Juli 2012 (Launch im Guiana Space Centre in Kourou), wird der Met10 laut Angaben vermutlich bis 2022 weiterarbeiten können. In einer Höhe von 36000 km über dem Äquator nimmt dieser Satellit neben visuellen Aufnahmen auch Informationen im Infrarotbereich und Daten über Wasserdampf auf. Die Hauptverwendung für die Aufnahmen durch diesen Satelliten ist vor allem die (auch kurzfristige) Vorhersage von Wetter. Hierzu sendet der Met10 alle 15 Minuten ein vollständiges Bild der Erde (EUMETSAT, 2015). 5.2.2 Meteosat 7 Der Meteosat 7 (Met7) ist ebenfalls Teil des Instituts EUMETSAT, gehört jedoch noch der ersten Generation an Wettersatelliten an. Er begann seine Arbeit am 02. September 1997, wird jedoch erst seit dem 01. November 2006 über dem Indischen Ozean eingesetzt. Seine Arbeit soll 2016 eingestellt werden, sodass er 2017 seinen sta- tionären Orbit verlassen kann. Auch dieser Satellit dient zur Wettervorhersage und deckt mit dem Indischen Ozean die östlichsten Bereiche der Satelliten vom Insitut EUMETSAT ab. Er produziert jede Stunde einen vollständigen Scan (EUMETSAT, 2015). 5.2.3 Geostationary Operational Environmental Satellite West Der Geostationary Operational Environmental Satellite West (GOES-W) oder auch GOES-15 ist Teil der Organisation NOAA und wird von den Vereinigten Staaten Amerikas operiert. In einem geostationären Orbit, ca. 35780 km über dem Äquator bei 135 Grad West, überwacht dieser Nordamerika und Teile des pazifischen Ozeans. Der GOES-W wurde am 4. März 2010 von der Cape Canaveral Air Station aus in den Orbit geschossen. Er produziert jede Stunde ein Bild der Erde, dieses ist jedoch nur alle drei Stunden vollständig (NOOA, 2014). 17
5 Konzept 5.2.4 Geostationary Operational Environmental Satellite East Ähnlich zum GOES-W , ist der Geostationary Operational Environmental Satellite East (GOES-E) oder GOES-13 ebenfalls ein Wettersatellit der Organisation NOAA und überwacht für die USA Nord- und Südamerika sowie den atlantischen Ozean. Mit ähnlichen Spezifikationen wie der GOES-W, sendet auch dieser Satellit jede Stunde ein Teil-, beziehungsweise alle drei Stunden ein vollständiges Bild mit der Position 75 Grad West, 0 Grad Nord im Zentrum (NOOA, 2014). 5.2.5 Himawari 8 Zu Beginn dieser Arbeit wurde der Satellit Multifunctional Transport Satellite 2 (MTSAT-2) ausgesucht, der auch unter dem Namen Himawari 7 bekannt ist und sich bei 145 Grad Ost auf einer Höhe von 35800 km über dem Äquator (Japan Meteorological Agency, 2015b) befand. Die Japan Meteorological Agency (JMA) er- setzte diesen Satelliten jedoch am 4. Dezember durch den neuen Himawari 8 (Him8), sodass auch in dieser Arbeit auf den neuen Satelliten gewechselt wird. Dieser befin- det sich bei ca. 140.7 Grad Ost über dem Äquator und sendet alle dreißig Minuten eine Aufnahme (Japan Meteorological Agency, 2015a). 5.3 Übertragung Die Daten werden im Anschluss durch ein Programm vom LuRI PC auf den HCI PC kopiert (AK2.1 und AK2.3) werden, wobei die Übertragung über das Netzwerk der Universität erfolgt (AK2.2 und S3). Eine Alternative wäre es, dass der HCI PC lediglich alle 15 Minuten überprüft, ob neue Daten vorhanden sind, da dies die schnellste Frequenz neuer Bilder ist (AK2.3). Im Zuge dieser Arbeit wird jedoch die erste Methode implementiert, da diese im Vergleich zur zweiten kein Polling verwendet und Daten sofort verschickt, sobald dieser zur Verfügung stehen. 18
5.4 Verarbeitung 5.4 Verarbeitung Auf dem HCI PC angekommen, werden die Bilder mithilfe einer selbstgeschriebenen Anwendung zuerst in die sphärische Projektion gebracht (AK3.1). Der Verzerrung an den Randbereichen der Aufnahme wird dabei entgegengewirkt, da Daten von genug Satelliten zur Verfügung stehen und sich deren Bilder stark genug überlappen (S4). Diese Projektionen werden als Einzeldateien in einer Ordnerstruktur hinter- legt (AK4). Zu jedem Zeitpunkt, an welchem Daten vorhanden sind, werden diese zu einer Textur kombiniert (AK3.2 und S1 und S5) und mit einer Farbvorlage verbunden (AK3.3). Stellen ohne Daten werden dabei gesondert markiert (S6). Weiterhin würden sich die Möglichkeiten ergeben, dass die Engine die einzelnen Tex- turen kombiniert oder ein externes Programm über Stitching diese zusammenfügt. (AK3.2 und S1 und S5). Das finale Konzept setzt die erste Idee um, da so die kompletten Texturen abge- speichert werden können. Dies entlastet die Engine, die dann lediglich die fertigen Daten lädt. 5.5 Visualisierung In einem letzten Schritt greift die Engine Unreal 4 (AK5.1) bei der Darstellung auf die Texturen zu und projiziert diese auf eine Kugel innerhalb einer dreidimensionalen Szene. Die Engine ersetzt in regelmäßigen Abständen die Textur der Erde mit der nachfolgenden (AK5.3). 5.6 Interaktion Der Nutzer sieht die Szene durch eine Oculus Rift, welche über das Development Kit 2 mit der Engine verbunden ist (AK5.2). Die Interaktion erfolgt mit einer Wii Mote (AK6.1 und S7), die hierfür sowohl Knöpfe als auch ein Gyroskop zur Verfügung stellt (AK6.2 und AK6.3). Zur Auswahl stehen bei dieser Eingabemethode eine Interaktion 0. oder 1. Ordnung, da beide auf den ersten Blick intuitiv erscheinen. Bei erstgenannter würde die Rotation der Erde immer der Rotation der Wii Mote entsprechen, während bei zeitgenannter die Geschwindigkeit der Rotation der Erde über die Rotation der Wii Mote kontrolliert wird. 19
5 Konzept Eine mögliche alternative Interaktion wäre eine Kugel, die der Nutzer selbst in der Hand hält. Die räumliche Manipulation entsteht durch direkte Bewegung dieser Ku- gel (entspricht 0. Ordnung für die Wii Mote). Für die zeitliche Interaktion müssten jedoch zwei Knöpfe vorhanden sein (AK6 und S7). Die Interaktion wird im Zuge dieser Arbeit durch die Wii Mote Steuerung 1. Ord- nung realisiert. Neben den sechs Freiheitsgraden, die die Wii Mote durch Beschleu- nigung in die jeweilige Richtung erkennt, stellt sie ebenfalls ein Steuerkreuz sowie sieben Buttons zur Verfügung, was vor allem in der Menüauswahl unverzichtbar ist. Daraus ergab sich vor allem der Vorzug im Vergleich zur Kugel. Weiterhin ist die Idee der 0. Ordnung in dieser Arbeit verworfen, da diese dazu führen würde, dass die Wii Mote in bestimmten gedrehten Position verbleiben muss, wenn Nutzer be- stimmte Orte der virtuellen Erde länger betrachten wollen. Für die zeitliche Steuerung wird dem Nutzer einerseits ein Startmenü zur Verfügung stehen, um einen Zeitrahmen auszuwählen und anderseits die Möglichkeit geboten werden die Geschwindigkeit der Animation zu verändern, bis hin zu einer Pause und einen Modus, in welchem die Zeit rückwärts verläuft. 20
6 Implementierung Im Folgenden werden die einzelnen Schritte, wie sie im konzeptionellen Teil genannt wurden, erneut aufgegriffen, um die konkrete Umsetzung in dieser Arbeit zu erläu- tern. 6.1 Empfang und Entschlüsselung Die Aufgaben Empfang und Entschlüsselung sind nicht Teil dieser Arbeit und werden vom Lehrstuhl für LuRI übernommen. Dies stellt keine zusätzlichen Anforderungen, da die Daten bereits für andere Anwendungen bis ins Joint Photographic Experts Group (JPEG) Format aufbereitet werden. 6.2 Übertragung Ein Java Programm kopiert und verschickt mithilfe einer Transmission Control Pro- tocol (TCP) Verbindung die Bilddaten vom Rechner des Lehrstuhls für LuRI über das Netzwerk der Universität. Es basiert dabei auf den Klassen innerhalb des Pa- kets java.nio.file, welche unter anderem einen Pfad auf Dateiänderungen überwachen können. Da beim Entschlüsseln der Satellitendaten ein neues Bild im JPEG Format generiert wird, aktiviert dies ebenfalls den Watcher, der daraufhin das Bild, die Aufnahmezeit und den Namen des Aufnahmesatelliten verschickt. 6.2.1 Datenmanagement Sobald die Daten am PC des Lehrstuhls für HCI empfangen werden, wird das Bild in einer speziellen Ordnerstrurktur abgelegt. Diese sieht den Aufbau wie folgt vor: root/year/month/day/timeOfDay/. Im Anschluss wird eine Textur auf Basis aller Satellitenbilder im aktuellen Order erstellt. Sollte bereits eine Textur vorhanden 21
6 Implementierung sein, so wird diese lediglich überschrieben, da jene zu einem frühen Zeitpunkt erstellt wurde und nun mehr Daten bzw. Satellitenbilder vorliegen. Die Sequenzdiagramme in 6.1 veranschaulichen den Aufbau dieses Programms. Abbildung 6.1. Sequenzdiagramm des FileWatchers 6.3 Verarbeitung Das Programm, welches die Texturen erstellt, verarbeitet die Satellitenaufnahmen in mehreren Schritten, wie Sequenzdiagramm 6.2 zeigt. Zu Beginn werden die Daten geladen. Um dann die Bilder der Satelliten zu einer Textur kombinieren zu können, werden diese zuerst zurechtgeschnitten (siehe Kapitel 6.3.1), bevor sie in eine sphärische Projektion gebracht (siehe Kapitel 6.3.2) und mit einer Farbvorlage kombiniert werden können (siehe Kapitel 6.3.3). Im Anschluss werden mehrere solcher neu projizierter Bilder zu einer Textur verbunden (siehe Kapitel 6.3.4), die dann gespeichert wird. 22
6.3 Verarbeitung Abbildung 6.2. Sequenzdiagramm des Bildverzerrers Abbildung 6.3. Bild vor der Bearbeitung 6.3.1 Clipping Im ersten Schritt werden die Bilder der Satelliten auf ein quadratisches Format ge- schnitten, sodass die Erde gerade in das Bild passt. Dies ist nötig, da das Programm im nächsten Schritt davon ausgeht, dass der Radius der Erde die halbe Bildhöhe bzw. Bildbreite ist. Weiterhin wird so sichergestellt, dass der einzige Punkt, von dem das Programm den Längen- und Breitengrad ohne weitere Berechnung kennt, sich in der Mitte des Bildes befindet. Dies ist gewährleistet, weil alle verwendeten Satelliten sich im geostationären Orbit befinden. 6.3.2 Neuprojektion Für jedes Bild eines Satelliten wird in diesem Schritt ein neues angelegt, das doppelt so breit wie hoch ist. Dieses neue Bild stellt eine sphärische Projektion dar, wobei 23
6 Implementierung sich links oben -180 Grad Breite und -90 Grad Länge und rechts unten +180 Grad Breite und +90 Brad Länge befinden. Für jeden Pixel (an der Position x und y) dieses neuen Bildes (der Höhe image.height und Breite image.width) wird nach den Formeln (6.1) und (6.2) zuerst der entsprechende Längengrad φ und Breitengrad λ berechnet. y φ= ∗ 180 − 90; (6.1) image.height x λ= ∗ 360 − 180; (6.2) image.width Die Gradzahlen φ und λ werden im Anschluss über die Formeln (6.3) und (6.4) in Koordinaten für das azimuthal projizierte Bild (x und y) umgerechnet (Weisstein, o.D.). Dabei gilt, dass das Pixel in der Mitte des azimuthal projizierten Bildes den Längengrad φ0 und Breitengrad λ0 hat. x = k 0 ∗ cos(φ0 ) ∗ sin(λ − λ0 ) (6.3) y = k 0 ∗ (cos(φ0 ) ∗ sin(φ) − sin(φ0 ) ∗ cos(φ) ∗ cos(λ − λ0 )) (6.4) Mit diesen Pixelkoordinaten kann dann im Satellitenbild der Farbwert nachgeschla- gen und in das neue Bild übertragen werden. Abbildung 6.4. Textur nach dem Projizieren 24
6.3 Verarbeitung 6.3.3 Farben verfälschen Im Anschluss wird die schwarzweiße Textur mit einer farbigen Vorlage verbunden. Diese Vorlage folgt den gleichen Rahmenbedingungen. So beginnt diese beispielswei- se ebenfalls links oben bei -90 Grad Breite und -180 Grad Länge. Damit beschreiben Pixel, die an der gleichen X und Y Koordinate liegen auf beiden Bildern den gleichen Punkt. Im Zuge dieser Arbeit sind verschiedene Methoden exploriert, um die beiden Bilder zu verbinden. Es folgt nun eine genauere Beschreibung von fünf Möglichkeiten, aus denen im Anschluss eine gewählt wird (siehe 6.3.3). Verfälschung basierend auf dem YCbCr Modell Für diese Verbindung werden die Farbwerte (r = Rot, g = Grün, b = Blau) der Farbvorlage und des schwarzweißen Satellitenbilds mithilfe der Formeln (6.5), (6.6), und (6.7) in Werte des Farbmodell auf Basis von Helligkeit (Y), Blautönen (Cb) und Rottönen (Cr) (YCbCr Modell)s umgewandelt (Clarke, 2011). Für jeden Pixel (f inal) des finalen Bildes wird anschließend ein neuer Farbwert gebildet, der aus dem Y-Wert des Satellitenbilds (Ysw ) sowie dem Cb- und Cr-Wert der Farbvorlage (Cbf arbe und Crf arbe ) besteht. Somit wird zwar überall die Farbe ins finale Bild übernommen, jedoch an Stellen mit Wolken stark aufgehellt bzw. an Stellen mit fehlenden Daten stark verdunkelt. Das Ergebnis dieses Vorgehens ist in Abbildung 6.5a zu sehen. Y = 0.257 ∗ r + 0.504 ∗ g + 0.098 ∗ b + 16 (6.5) Cb = −0.148 ∗ r − 0.291 ∗ g + 0.439 ∗ b + 128 (6.6) Cr = 0.439 ∗ r − 0.368 ∗ g − 0.071 ∗ b + 128 (6.7) f inal = (Ysw , Cbf arbe , Crf arbe ) (6.8) 25
6 Implementierung Verfälschung basierend auf einzelne Kanäle Bei diesem Vorgehen werden die Farbkanäle einzeln kombiniert. Für jeden Pixel (f inal) des Zielbilds wird als erstes der Rot-, Grün- und Blauwert aus der Farb- vorlage und dem schwarzweißen Satellitenbild bestimmt. Sind an einer Stelle keine Daten vorhanden und damit die Helligkeit des Satellitenbilds (Helligkeitsw ) gering (schwarz), so wird für jeden Farbkanal der kleinere Wert (min(...)) aus beiden Bil- dern (quellesw oder quellef arbe ) übernommen. Andernfalls wird der größere Wert (max(...)) genutzt (vergleiche exemplarisch (6.9)). Dunkle Stellen übernehmen so- mit geringe Werte und bleiben schwarz, während helle Stellen die größeren Werte übernehmen und damit eingefärbt werden. Das Ergebnis ist sichtbar in Abbildung 6.5b. min(quellesw , quellef arbe ) if Helligkeitsw gering f inal = (6.9) max(quellesw , quellef arbe ) Sonst Verfälschung basierend auf dem HSL Modell Ähnlich zu der Kombination mit dem YCbCr Modell wird auch mit dieser Methode das finale Bild erzeugt. Der einzige Unterschied ist das Farbmodell, welches hierbei das Farbmodell auf Basis von Hue (H), Saturation (S), und Lightness (L) (HSL Modell) ist. Berechnet wird dies mit den Formeln (6.10), (6.11) und (6.12), wobei min und max der jeweils kleinste bzw. größte Wert aus den drei Farbkanälen (r = Rot, g = Grün, b = Blau) darstellt (Camick, 2015). Wiederum wird für jeden Pixel (f inal) Helligkeit (l) aus dem schwarzweißen Satellitenbild (lsw ) und Farbwerte (h und s) aus der Farbvorlage (hf arbe und sf arbe ) zu einem neuen Farbwert kombiniert. Dabei ergibt sich ein finales Bild wie in Abbildung 6.5c zu sehen ist. 0 if max = min ((60 ∗ (g − b)/(max − min)) + 360)%360 if max = r h= (6.10) (60 ∗ (b − r)/(max − min)) + 120 if max = g (60 ∗ (r − g)/(max − min)) + 240 Sonst l = (max + min)/2; (6.11) 26
6.3 Verarbeitung 0 if max = min s = (max − min)/(max + min); if l
6 Implementierung Finale Auswahl Wie die Bilder in Abbildung 6.5 zeigen, haben die Kombinationsmöglichkeiten über einzelne Farbkanäle und einfache Helligkeit das Problem, dass die Wolken lediglich grau sind und abgeschnitten werden, wenn sie sich der Tag/Nacht-Grenze an der Textur nähern. Dies liegt an der Tatsache, dass die Wolken an diesen Stellen in der schwarzweißen Satellitenaufnahme bereits zu dunkel sind. Auch die Idee mit har- tem Licht hat dieses letztgenannte Problem, aber durch die helleren Wolken fällt dies weniger auf. Gute Ergebnisse erzielen hingegen das HSL Modell und das YCb- Cr Modell mit dem wichtigen Unterschied, dass fehlende Daten beim erstgenanten komplett schwarz dargestellt werden, während bei der anderen Möglichkeit die Erd- textur stark verdunkelt zu sehen ist. Für die weitere Implementierung wurde daher die Methode auf Basis des YCbCr Modells gewählt, da es die Wolken gut darstellt und nicht die Hälfte der Textur schwarz lässt. 6.3.4 Kombinieren Für das Kombinieren werden alle vorhandenen, bereits neu projizierten Bilder, über- einander gezeichnet. Da im vorherigen Schritt schon sicher gestellt ist, dass an Stel- len ohne Daten die Bilder durchsichtig sind, entsteht kein Problem. Der Hintergrund wird rot und markiert damit Pixel, die von keinem Satellitenbild Daten entnehmen konnten. 6.4 Visualisierung Hardware Neben einem Windows PC, dessen Hardware in Tabelle 6.1 einzusehen ist, wird die Oculus Rift mit dem Development Kit 2 verwendet. Weitere Hardware ist für die Darstellung der virtuellen Erde nicht nötig. 28
6.4 Visualisierung (a) Basis: YCbCr-Modell (b) Basis: Einzelne Farbkanäle (c) Basis: HSL-Modell (d) Basis: Hartes Licht (e) Basis: Einfache Helligkeit Abbildung 6.5. Textur nach dem Kombinieren Tabelle 6.1. Eingabemöglichkeiten Hardware Verwendet Betriebssystem Windows 8.1 64-Bit Prozessor 4x Intel(R) Core(TM) i5-4460, CPU 3.20 GHz Arbeitsspeicher 8.00 GB Grafikkarte NVIDIA GeForce GTX 970 Software Nach der Auswahl einer Zeitspanne durch den Nutzer, werden alle Texturen, die bereits zu dieser Zeitspanne vorhanden sind, in die Anwendung geladen. Weiterhin kann die Anwendung aus dem Dateipfad der Textur den Aufnahmezeitpunkt jener auslesen. Ist der Ladevorgang abgeschlossen, beginnt sofort die Animation der Erde, welche über den Timeline-Knoten der Unreal Engine realisiert ist. Das Material der 29
6 Implementierung Erdkugel besteht dabei aus zwei Texturen A und B, die übereinander geblendet werden. Ein alpha-Wert α, zwischen null und eins entscheidet, wie viel Prozent der Textur A bzw. der Textur B zu sehen ist (Summe der beiden alpha-Werte immer eins). Dieser alpha-Wert wird über eine periodische Timeline (vergleiche Abbildung 6.6) verändert, sodass zwei Texturen konstant ineinander übergehen. Abbildung 6.6. Timeline für den alpha-Wert im Material der Erdkugel mit den Events W, X, Y und Z Innerhalb einer Periode feuert die Timeline außerdem die vier Events W, X, Y und Z, deren Effekt davon abhängt ob die Timeline gerade vorwärts oder rückwärts abläuft. Die Effekte sind in Tabelle 6.2 festgehalten: Tabelle 6.2. Events der Timeline Event Effekt ... ... bei Vorwärts ... bei Rückwärts W Setze Datum auf das ... ... der Textur A ... der Textur B X Ersetze Textur ... ... B auf die folgende ... A auf die vorherige Y Setze Datum auf das ... ... der Textur B ... der Textur A Z Ersetze Textur ... ... A auf die folgende ... B auf die vorherige Die Bilder 6.7 und 6.8 zeigen das finale Interface in den zwei Zuständen Menü und Animation der Erde. Der Nutzer bekommt nichts vom Austausch der Textur mit und gewinnt den Ein- druck einer konstanten Animation, da die Textur A bzw. B immer zu dem Zeitpunkt ausgetauscht wird, wenn sie nicht sichtbar ist (Event X und Z). Darüber hinaus wird 30
6.5 Interaktion Abbildung 6.7. Stereoskopische Darstellung des Menüs Abbildung 6.8. Stereoskopische Darstellung der Szene mit Erde und Satelliten im Hintergrund das Datum im Head Up Display (HUD) durch die Events W und Y angepasst. Zeit und Datum werden nicht interpoliert. 6.5 Interaktion 6.5.1 Hardware Als Steuerungseinheit wird eine Wii Remote Plus (RVL-CNT-01-TR) verwendet, wie sie in Bild 6.9 zu sehen ist. Die Verbindung zum PC ist über Bluetooth realisiert. Da 31
6 Implementierung der benutzte PC selbst jedoch kein Bluetooth besitzt, wird ein externer Universal Serial Bus (USB) - Bluetooth Adapter verwendet. Abbildung 6.9. Wii mit sechs Freiheitsgraden und sieben Buttons zur Eingabe (B auf der Rückseite) 6.5.2 Software Die Eingaben der Wii Mote werden durch das Programm GlovePIE (Kenner, 2009) verarbeitet. Dieses ermöglicht unteranderem die von der Wii gelieferten Werte auszu- lesen und Tastendruck auf einer Tastatur zu simulieren. Diese beiden Eigenschaften werden genutzt, um die in Unreal implementierte Steuerung per Tastatur auf die Wii zu übertragen. Das Zwischenprogramm GlovePIE erwies sich als nötig, da direk- te Plugins wie das UE4-Wiimote-Plugin (xoyojank, 2015) nicht stabil genug laufen oder von der Engine nicht erkannt werden. Tabelle 6.3 zeigt die finale Verbindung zwischen Wii, Tastatur und Engine. So lässt sich die Rotation Erde über Rotati- on der Wii Mote und der Zoom über die Knöpfe A und B kontrollieren. Für die Zeitsteuerung stehen die Knöpfe Plus und Minus zur Verfügung. Eine schrittweise Verlangsamung über den Minus Button führt dabei erst zur Pausierung und dann zur Investierung des Zeitverlaufs. Der Plus Button führt mit einer schrittweisen po- sitiven Beschleunigung zum umgekehrten Effekt. 32
6.5 Interaktion Diese Art der Implementierung lässt auch die schnelle Steuerung per Tastatur weiter zu, die sich vor allem beim Testen als praktisch erweist. Tabelle 6.3. Eingabemöglichkeiten Effekt Tastatur Wii Menüsteuerung Pfeiltasten Steuerkreuz Bestätigen Enter Home Rotation um Z A und D Roll Rotation um X Q und E Pitch Zoom W und S A und B Zeitsteuerung Z und X + und - 33
7 Evaluation Eine iterative Evaluation mit Nutzern wie sie als Kernprozess im User Center Design vorhanden ist, wird aus Zeitgründen nicht als Teil mit in diese Arbeit aufgenommen. Jedoch ist durch mehrfache Messung der Ressourcen- und Zeitverbrauch der Anwen- dung bestimmt. Es ergeben sich dabei die Formeln 7.1 (Ladezeit t in Sekunden in Abhängigkeit der Anzahl zu ladender Texturen n) und 7.2 (Ressourcenverbrauch r in Megabyte in Abhängigkeit der Anzahl geladener Texturen n) als lineare Regres- sion. t = 0.22 ∗ n + 0.90 (7.1) r = 33 ∗ n + 286 (7.2) Der Speicherbedarf s in Megabyte für die Aufnahmen der Satelliten plus den erstellen Texturen in Abhängigkeit von n Tagen lässt sich in Formel 7.3 ablesen, die ebenfalls durch mehrfache Messung und lineare Regression entstanden ist. s = 1080 ∗ n + 520 (7.3) 35
8 Zusammenfassung und Ausblick 8.1 Zusammenfassung Die Satellitenmeteorologie und der Wissensgewinn daraus gehören schon lange zur Meteorologie, und werden durch technische Neuerungen stetig erweitert. Im Rah- men dieser Bachelorarbeit ist daher ein Programm geschaffen, welches Wetterdaten auf einer virtuellen Erdkugel in einer dreidimensionalen Szene darstellt. Diese Szene kann von einem Nutzer über die Oculus Rift betrachtet und durch eine Wii Mo- te manipuliert werden. Die Daten, die bereits vom Lehrstuhl für LuRI verwendet werden, werden über ein weiteres Programm in Java von einer Empfangsstation per TCP Verbindung auf ein Rechner des Lehrstuhls für HCI übertragen. Dort werden sie in einer Ordnerstruktur gespeichert und zu einer Textur kombiniert. Ein großer Teil der Arbeit beschäftigte sich mit verschiedenen Verfahren, um die schwarzwei- ßen Satellitenaufnahmen mit einer Farbvorlage zu kombinieren. Die Szene ist mit der Unreal Engine 4 programmiert und simuliert eine Animation, indem konstant zwischen zwei ständig wechselnden Texturen interpoliert wird. Der Nutzer kann die Erde drehen und zoomen sowie den Verlauf der Zeit beschleunigen, verlangsamen, pausieren und invertieren. Die Szene enthält außerdem die verwendeten Satelliten als Objekte an der korrekten Postion im All. Zeitliche Gründe erlaubten es nicht das Programm mit Nutzern zu evaluieren, so- dass das Interface, die Interaktion mit der Wii Mote und die Wahl der Kombination der Texturen die erste Iteration darstellt. Eine Messung der Ressourcen zeigt je- doch, dass die Anwendung für einen vollständigen Datensatz von drei Tagen ca. 3.8 Gigabyte Speicherplatz benötigt sowie 32.8 Sekunden Ladezeit und 5.1 Gigabyte Random Access Memory (RAM) für die Darstellung verbraucht. 37
8 Zusammenfassung und Ausblick 8.2 Ausblick Das Programm bietet viele Möglichkeit der Erweiterung an, die bereits teilweise als konzeptuelle Ideen in dieser Arbeit enthalten sind, jedoch nicht umgesetzt sind. So wäre es unter anderem möglich weitere Satelliten als Datenquellen heranzuziehen. Weiterhin könnten andere Strategien implementiert werden, nach welcher Regel die Texturen zeitlich kombiniert werden. Neben der in dieser Arbeit verwendeten Tech- nik sicherzustellen, dass nur Daten angezeigt werden, die zum angezeigten Zeitpunkt passen, könnten auch immer die aktuellsten Daten verwendet werden. Auch wären verschiedene Optimierungsaufgaben denkbar, um Ressourcen wie Zeit- und Spei- cherverbrauch zu minimieren. Als einer der wichtigsten Punkte sollte die Anwendung jedoch mit Nutzern getestet werden, um dann weitere Designzyklen durchlaufen zu können. 38
Literatur Altmann, R. (o.D.). Die mischmodi von photoshop und co. URL: http://www. simplefilter.de/grundlagen/mischmodi.html (Zugriff am 08.12.2015). Bidoshi, K. (2003). Virtual reality visualization for maps of the future (Magisterarb., The Ohio State University). Camick, R. (2015 Juli). Hsl color. URL: https://tips4java.wordpress.com/2009/ 07/05/hsl-color/ (Zugriff am 08.12.2015). Clarke, R. (2011 August). Convert rgb to ycbcr - c code. URL: http://stackoverflow. com/questions/7086820/convert-rgb-to-ycbcr-c-code (Zugriff am 08.12.2015). Desai, P. R., Desai, P. N., Ajmera, K. D. & Mehta, K. (2014 Juli). A review paper on oculus rift-a virtual reality headset. International Journal of Engineering Trends and Technology, 13 (4). EUMETSAT. (2015 Juni). Meteosat. URL: http://www.eumetsat.int/website/ home/Satellites/CurrentSatellites/Meteosat/index.html (Zugriff am 06.12.2015). EUMETSAT. (2016). Eumetsat is the european operational satellite agency for mo- nitoring weather, climate and the environment. URL: http://www.eumetsat. int/website/home/AboutUs/WhatWeDo/index.html (Zugriff am 20.02.2016). Japan Meteorological Agency. (2015a). Himawari-8 spacecraft overview. URL: http://www.jma-net.go.jp/msc/en/general/system/himawari89/index.html (Zugriff am 20.02.2016). Japan Meteorological Agency. (2015b Juli). Meteorological satellites. URL: http: //www.jma.go.jp/jma/jma-eng/satellite/ (Zugriff am 06.12.2015). Kenner, C. (2009 Dezember). Glovepie. URL: https : / / sites . google . com / site / carlkenner/glovepie (Zugriff am 18.02.2016). Kettig, P. (2015). Entwicklung, implementierung und test von algorithmen zur erken- nung von unregelmäßigkeiten in den bilddaten von meteosat wettersatelliten, Universität Würzburg. Bachelor Thesis. Kot, T. & Novák, P. (2014). Utilization of the oculus rift hmd in mobile robot teleoperation. In Applied mechanics and materials (Bd. 555, S. 199–208). Trans Tech Publ. 39
Literatur NOOA. (2014 März). Noaa’s geostationary and polar-orbiting weather satellites. URL: http : / / noaasis . noaa . gov / NOAASIS / ml / genlsatl . html (Zugriff am 06.12.2015). Stone, L. M., Erickson, T., Bederson, B. B., Rothman, P. & Muzzy, R. (1994). Visualizing data: is virtual reality the key? In Proceedings of the conference on visualization’94 (S. 410–413). IEEE Computer Society Press. Taylor, D. (2015 Dezember). Msg data manager. URL: http://www.satsignal.eu/ software/msg_dm.htm (Zugriff am 10.01.2016). Weisstein, E. W. (o.D.). Azimuthal equidistant projection. URL: http://mathworld. wolfram.com/AzimuthalEquidistantProjection.html (Zugriff am 08.12.2015). xoyojank. (2015 November). Ue4-wiimote-plugin. URL: https : / / github . com / xoyojank/UE4-Wiimote-Plugin (Zugriff am 10.02.2016). Zwatz-Meise, V. (1987). Satellitenmeteorologie: satelliten beobachten das wetter. Springer Verlag. 40
Anhang A. Bereitstellung der Arbeit Diese Bachelorarbeit ist ebenfalls auf dem Git-Server des Lehrstuhls für HCI gesi- chert. Die schriftliche Arbeit kann unter http://win9148.informatik.uni-wuerzburg. de/daniel.rapp/2016-ba-mcs-rapp-daniel-virtuelle-erde-thesis eingesehen werden, wäh- rend die Implementierungen unter http://win9148.informatik.uni-wuerzburg.de/daniel. rapp/2016-ba-mcs-rapp-daniel-virtuelle-erde-code abgerufen werden können. 41
Ehrenwörtliche Erklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbständig und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe. Alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten oder nicht veröffent- lichten Schriften entnommen wurden, sind als solche kenntlich gemacht. Die Arbeit hat in gleicher oder ähnlicher Form noch keiner anderen Prüfungsbehör- de vorgelegen. Würzburg, 15. April 2016 Daniel Rapp
Sie können auch lesen