Interaktive Hierarchievisualisierung Auf Großen, Hochauflösenden
Total Page:16
File Type:pdf, Size:1020Kb
Institut für Visualisierung und Interaktive Systeme Universität Stuttgart Universitätsstraße 38 D–70569 Stuttgart Diplomarbeit Nr. 3488 Interaktive Hierarchievisualisierung auf großen, hochauflösenden Displays Hansjörg Schmauder Studiengang: Softwaretechnik Prüfer/in: Prof. Dr. Daniel Weiskopf Betreuer/in: Dr. rer. nat. Michael Burch, Dipl.-Inf. Christoph Müller Beginn am: 15. Mai 2013 Beendet am: 14. November 2013 CR-Nummer: C.2.4, E.1, G.1.2, G.2.2, H.5.2, I.3.2, I.3.5, I.3.6 Kurzfassung Moderne Anzeigegeräte bieten auf großen Flächen hohe Auflösungen, die der von gewöhn- lichen Monitoren nahe kommen. Die VISUS-Powerwall ist ein Beispiel hierfür mit einer Anzeigegröße von 5,90 × 2,24 Metern, sodass auch die kollaborative Verwendung durch meh- rere Benutzer gleichzeitig möglich ist. Da die Visualisierung großer Datenmengen aufgrund des beschränkten Platzes eine große Herausforderung in der Informationsvisualisierung darstellt, bieten diese Displays Vorteile für solche Rendering-Vorhaben. Für die Darstellung der hierarchischen Datensätze mit Größenordnungen von hunderttausenden Knoten wurden die fraktalbasierten „verallgemeinerten Pythagoras-Bäume“verwendet. Die Kombination von Tablet-Computern mit einem System zum optischen Tracking ermöglicht neuartige, in- teraktive Features, die zusammen mit dem großen Display auch bei der Kollaboration von Benutzern eingesetzt werden können. In dieser Arbeit werden diese Technologien verknüpft und das Potential sowie die Schwierig- keiten des komplexen Systemaufbaus vorgestellt. Die entstandene Software wird außerdem anhand zweier Fallbeispiele studiert und die Ergebnisse präsentiert, wobei Zukunftsempfeh- lungen für derartige Vorhaben gemacht werden. Abstract State of the art displays provide high resolutions comparable to the resolution known from common monitors, but on larger surfaces thus enabling co-located cooperative work. The powerwall at VISUS is such a display with an output area of 5.90 × 2.24 meters. As the visualization of large amounts of data is a challenge in information visualization due to limited screen space, these displays can mitigate scalability issues when rendering big data. In this thesis, fractal-based “generalized Pythagoras trees” are applied to hierarchical data sets containing hundreds of thousands of nodes. Also, the use of tablet PCs is combined with an optical tracking system, allowing for novel interactive features. They also allow the users to work collaboratively and share their findings using the large display. This thesis attempts to simultaneously use the potential of all these modern technologies and also presents the drawbacks and difficulties when developing software for such a complex system. The implemented software is tested with two case studies and their results are presented. The document concludes with an outlook on further work. 3 Inhaltsverzeichnis 1. Einleitung 11 1.1. Motivation ........................................ 11 1.2. Gliederung ........................................ 12 1.3. Abkürzungen ...................................... 13 1.4. Konventionen ...................................... 14 2. Verwandte Arbeiten 17 2.1. Visualisierungen .................................... 17 2.1.1. Hierarchievisualisierungen .......................... 17 2.1.2. Fraktale Visualisierungen ........................... 20 2.2. Große Datensätze .................................... 22 2.3. Interaktion ........................................ 23 2.4. Kollaboration ...................................... 26 2.5. Große Displays ..................................... 27 3. Interaktion 29 3.1. Geräte ........................................... 29 3.1.1. Flight-Stick ................................... 29 3.1.2. 3D-Maus ..................................... 30 3.1.3. Sprachsteuerung ................................ 30 3.1.4. Gestensteuerung ................................ 31 3.2. Tablet ........................................... 31 3.2.1. Selektion ..................................... 34 3.2.2. Details-on-Demand ............................... 35 4. Implementierung 37 4.1. Technische Grundlagen ................................. 37 4.1.1. Technologien .................................. 37 4.1.2. Interaktions-Hardware ............................. 38 4.1.3. Powerwall .................................... 38 4.1.4. Optischer Tracker ................................ 39 4.1.5. Netzwerkaufbau ................................ 41 4.2. Software-Architektur .................................. 41 4.2.1. Aufgabengebiete ................................ 42 4.3. Daten und Parser .................................... 44 4.4. Kommunikation ..................................... 45 4.4.1. TCP/IP ...................................... 45 5 4.4.2. UDP ....................................... 45 4.4.3. VRPN ...................................... 46 4.4.4. Datenaustausch ................................. 46 4.5. Visualisierungen .................................... 47 4.5.1. Verallgemeinerte Pythagoras-Bäume ..................... 48 Geometrie .................................... 49 Überlappungen ................................. 53 Stabilität ..................................... 53 Farbskalen .................................... 53 4.6. Rendering ........................................ 54 4.6.1. Ansichten .................................... 54 4.6.2. Client-Rendering ................................ 55 4.6.3. Device-Rendering ............................... 58 4.6.4. Shader ...................................... 61 4.7. Interaktion ........................................ 62 4.7.1. Einzelnutzer-Features ............................. 62 Gesten ...................................... 62 Optischer Tracker ................................ 64 4.7.2. Kollaborative Features ............................. 66 Umordnen von Ansichten ........................... 66 4.7.3. Generelle Interaktionen ............................ 67 Übersichts-Ansichten ............................. 67 4.8. Grafische Benutzungsschnittstelle .......................... 69 4.8.1. Setup ....................................... 70 4.8.2. Rendering-Clients ............................... 71 4.8.3. Tablets ...................................... 72 4.9. Diskussion ........................................ 72 4.9.1. Rendering .................................... 74 4.9.2. Mehrbenutzerfähigkeit ............................. 75 4.9.3. Visualisierungen ................................ 75 4.9.4. Netzwerk .................................... 75 4.9.5. Optischer Tracker ................................ 76 5. Alternatives System 79 5.1. Visualisierungsansatz .................................. 79 5.1.1. Transformationen ................................ 80 5.1.2. Auflösungsrekursion .............................. 81 Parallelität .................................... 84 5.1.3. Snapshots .................................... 85 5.2. Interaktion ........................................ 86 5.2.1. Einzelnutzer-Features ............................. 86 Transformationen ................................ 86 Selektion ..................................... 87 Details-on-Demand ............................... 87 Auf- und Zuklappen .............................. 88 6 5.2.2. Kollaborative Features ............................. 89 Umordnen von Ansichten ........................... 90 Daten anderer Nutzer ............................. 90 5.2.3. Generelle Interaktionen ............................ 90 Snapshots .................................... 90 Übersichts-Ansichten ............................. 90 5.3. Diskussion ........................................ 91 5.3.1. Performance ................................... 91 5.3.2. Präzision ..................................... 91 5.3.3. Skalierbarkeit .................................. 92 5.3.4. Auflösungsrekursion .............................. 93 6. Fallstudien 95 6.1. Phylogenetische Taxonomie .............................. 95 6.2. Dateisystem ....................................... 98 7. Zusammenfassung und Ausblick 99 A. Anhang 103 A.1. Newick-Dateiformat ..................................103 A.2. Kommandozeilen-Parameter .............................105 Literaturverzeichnis 107 7 Abbildungsverzeichnis 2.1. Verschiedene Hierarchievisualisierungen ...................... 19 2.2. Koch-Schneeflocke ................................... 21 2.3. Fraktaler Ansatz in Jigsaw-Tree-Maps [Wat05] ................... 21 2.4. H-Baum ......................................... 22 2.5. Informationsexplosion ................................. 23 3.1. Virtuelle Sichtpyramide ................................ 32 3.2. Interaktionsmethoden durch optisches Tracking . 33 3.3. Touch-Selektion ..................................... 34 4.1. VISUS-Powerwall .................................... 39 4.2. Anlage des optischen Trackers ............................. 40 4.3. Starrkörper im optischen Tracking-System ...................... 40 4.4. Koordinatensystem des optischen Trackers ..................... 41 4.5. Netzwerkaufbau des Software-Systems ....................... 42 4.6. Architekturübersicht .................................. 43 4.7. Relevante Größen bei der Geometrieberechnung . 49 4.8. Mittelpunktberechnung ................................ 51 4.9. Knoten im verallgemeinerten Pythagoras-Baum . 51 4.10. Überlappung in verallgemeinerten Pythagoras-Bäumen . 52 4.11. Beispiele für Farbskalen ................................ 54 4.12. Aufbau eines Vertex ................................... 55 4.13. Benutzeransichten auf der Powerwall .......................