2010 Diplom D. Wuttig

Transcription

2010 Diplom D. Wuttig
Fakultät Informatik
Institut für Software- und Multimediatechnik
Lehrstuhl für Mediengestaltung
„Entwicklung einer Schnittstelle zur Integration
von Interaktionselementen in die Forschungsumgebung
Bildsprache LiveLab 2.0“
Diplomarbeit
zur Erlangung des akademischen Grades
Diplom - Medieninformatiker
Daniel Wuttig
Dresden, den 13.01.2010
Daten zur Diplomarbeit
Technische Universität Dresden
Fakultät Informatik
Institut für Software- und Multimediatechnik
Lehrstuhl für Mediengestaltung
Hochschullehrer:
Prof. Dr.-Ing. habil. Rainer Groh
Betreuer:
Dipl. - Medieninf. Dietrich Kammer
Diplomand:
Daniel Wuttig
Matrikelnummer:
2936191
Thema:
„Entwicklung
einer
Schnittstelle
zur
Integration
von
Interaktionselementen in die Forschungsumgebung Bildsprache
LiveLab 2.0“
Bearbeitungszeit:
15.04.2009 - 14.01.2010
III
Selbständigkeitserklärung
Hiermit erkläre ich, Daniel Wuttig, dass ich die vorliegende Diplomarbeit zum
Thema:
„Entwicklung einer Schnittstelle zur Integration von Interaktionselementen in die
Forschungsumgebung Bildsprache LiveLab 2.0“
selbständig verfasst habe. Es wurden keine anderen Quellen und Hilfsmittel als die
angegebenen benutzt.
Dresden, den 13.01.2010
_______________________
Daniel Wuttig
V
Danksagung
An dieser Stelle möchte ich mich bei all denjenigen bedanken, die mich bei der
Anfertigung dieser Diplomarbeit fachlich und persönlich unterstützt haben.
Ein besonderer Dank geht an Prof. Dr.-Ing. habil. Rainer Groh und Dipl.-Medieninf.
Dietrich Kammer für die engagierte und kompetente Betreuung meiner
Diplomarbeit und für viele kreative Ideen.
Ich bedanke mich bei meinen Eltern, die mir dieses Studium erst ermöglicht haben.
Ein besonderer Dank gilt Denise Winkler die eigene Interessen zugunsten meiner
Diplomarbeit zurückstellte.
VII
Inhaltsverzeichnis:
1 Einleitung ............................................................................................ 1 1.1 Zielstellung ................................................................................. 4 1.2 Gliederung ................................................................................. 4 2 Grundlagen ......................................................................................... 7 2.1 Computergrafik .......................................................................... 7 2.2 Software-Technologie ............................................................... 11 2.3 User-Interface-Design................................................................ 15 3 Interaktion und Gestaltungsmethoden............................................... 23 3.1 Interaktionsgestaltung .............................................................. 23 3.2 Navigation ................................................................................ 29 3.3 Manipulation ............................................................................ 35 3.4 Zusammenfassung .................................................................... 36 4 Synthese ........................................................................................... 37 4.1 Vergleich verschiedener Orientierungshilfen .............................. 37 4.2 Differenzierung der Menü-Varianten ......................................... 46 4.3 Analyse vorhandener 3D-Widgets ............................................. 49 5 Konzeption und Implementierung ..................................................... 53 5.1 Entwicklung des Interaktionskonzepts ....................................... 53 5.2 Konzeption der Navigationsunterstützung ................................. 62 5.3 Entwicklung der Service-Architektur .......................................... 68 6 Ergebnisse ......................................................................................... 73 7 Zusammenfassung ............................................................................ 79 7.1 Fazit ......................................................................................... 79 7.2 Ausblick .................................................................................... 80 A Glossar .............................................................................................. 81 B Literaturverzeichnis............................................................................ 85 C Abbildungsverzeichnis ....................................................................... 91 D Tabellenverzeichnis............................................................................ 93 IX
1 Einleitung
Moderne
Rechner
und
Ausgabemedien
ermöglichen
es,
fotorealistische
Abbildungen virtueller Räume zu generieren und darzustellen. Diese finden vor
allem im Unterhaltungssektor, aber auch im Entwicklungsbereich in Form von
3D-Modellierungswerkzeugen Anwendung. Die Computerspiele-Industrie entwickelt
schon
seit
vielen
Jahren
Spiele
der
unterschiedlichsten
Genres,
deren
Handlungsraum virtuelle 3D-Umgebungen sind. Ebenso wie die Spiele-Entwicklung
bedient sich die Filmindustrie der 3D-Anwendungen für die Umsetzung von Szenen
beziehungsweise kompletten Filmen oder kombiniert virtuelle Objekte mit realen
Szenen. Weiteres Potenzial verbirgt sich in der Präsentation komplexer Daten im
dreidimensionalen Raum: Dreidimensionale Datenmengen und ihre Relationen
lassen sich auf drei räumlichen Achsen abbilden und erlauben somit eine Exploration
in allen Raumrichtungen.
Als wesentlicher Faktor der Immersion, des Eintauchens in diese Welten, zählt nicht
nur der Realitätsgrad der 3D-Darstellungen dieser Welten, sondern vielmehr die
„gemeinsame Anwesenheit der Anwender an einem ‚Ort‘ mit vielfältigen Optionen
zur Kommunikation und Interaktion“ [Breuer 2007, S. 8]. Ähnlich wie in der Realität
soll es dem Benutzer möglich sein, Gegenstände zu berühren, diese zu verschieben,
zu drehen oder mit Werkzeugen zu bearbeiten. Die einzigartige Eigenschaft
virtueller Welten, physikalische Gesetze zu simulieren und zu verändern, bietet
Potenzial für neue Entwicklungen im Interaktionsdesign.
Aktuelle Technik kann die virtuelle Welt nicht mit der Gesamtheit der haptischen,
akustischen, visuellen, gustatorischen und olfaktorischen Sinneskanäle bereichern
[Fernando et al. 2006]. Das akustische und das visuelle Erscheinungsbild einer Szene
lassen sich, wie Abbildung 1.1 aufzeigt, mit den bisherigen Mitteln ähnlich einem
Foto darstellen. 3D-Soundsysteme vermitteln einen räumlichen Klangeindruck.
Haptische Merkmale von Oberflächen lassen sich nur über die Reflexions- und
Absorptionseigenschaften der Oberfläche abbilden. Gewicht und Volumen eines
Objekts können über sogenannte Force-Feedback (Kraft-Rückmeldung)-Geräte
repräsentiert werden (vgl. [Fernando et al. 2006]). Dabei erhält der Anwender neben
akustischen und visuellen auch haptische Rückmeldungen.
Die Interaktion in einem virtuellen 3D-Raum mit realen 2D-Eingabegeräten weist ein
komplexes Problem bei der Übersetzung auf: Die Bewegung der Maus, als
Stellvertreterin der 2D-Eingabegeräte, vollzieht sich standardmäßig nur in zwei
Dimensionen. Eine direkte Übertragung dieser Bewegung auf ein virtuelles Objekt
verschiebt dieses ebenfalls in zwei Dimensionen. Spezielle Eingabegeräte erlauben
1
EINLEITUNG
eine Verschiebung entlang aller Raumachsen gleichzeitig. Jedoch sind diese nicht an
jedem Arbeitsplatz verfügbar. Ohne jegliche räumliche Begrenzungen und
Anhaltspunkte ist nicht ersichtlich, in welche Richtung ein Objekt innerhalb der
virtuellen Welt bewegt wird. Ein Ansatz zur Lösung dieses Problems ist die
Entwicklung sogenannter Widgets, die als Mittler zwischen mausbasierter
Interaktion und zu manipulierendem Objekt in der virtuellen Welt dienen.
Abbildung 1.1: reale Landschaft (links); fotorealistische Abbildung dieser Landschaft im
Computerspiel ‚Crysis‘ (rechts) [Crytek 2008]
Orientierung ist ein wichtiger Aspekt der Interaktion und hat in virtuellen Welten
essenzielle Bedeutung (vgl. [Däßler 1998]). Eine effektive Interaktion in einer endlosen komplexen virtuellen Welt ohne Referenzsystem ist nur gegeben, wenn sich
der Anwender darin orientieren kann. Es ist daher notwendig, Elemente und
Methoden weiterzuentwickeln, die den Nutzer bei der Orientierung aktiv oder passiv
unterstützen. Werkzeuge wie Kompass, Sextant, GPS und Kartenmaterial aus der
Realität können in ähnlicher Weise in die Virtualität übertragen werden. Aufgrund
der Unbeschränktheit virtueller Welten sind jedoch auch andere Werkzeuge
beziehungsweise Hilfsmittel denkbar als die aus der Realität bekannten.
Am Lehrstuhl für Mediengestaltung der Fakultät Informatik der Technischen
Universität Dresden wurde die Forschungsumgebung Bildsprache LiveLab (BiLL)
entwickelt, um im Rahmen von studentischen Arbeiten Themen aus den Bereichen
der Wahrnehmungstheorie, der Interaktionsgestaltung und der technischen
Visualistik zu untersuchen (vgl. [Ebner 2007]).
2
EINLEITUNG
BiLL ist eine Applikation zur Darstellung von 3D-Szenen, die aus zwei Fenstern,
einem Editor-Fenster und einem Viewer-Fenster, besteht. Das Editor-Fenster dient
der Veränderung von verschiedenen Parametern der betrachteten Szene. Das
Viewer-Fenster zeigt die geladene 3D-Szene im Fenster- oder Vollbild-Modus. Diese
Trennung von Bearbeitung und Ansicht ist zugleich Ausgangspunkt für die
Zielstellung dieser Arbeit.
Bisherige Umsetzungen studentischer Arbeiten – beispielsweise das Plug-in für die
Erweiterte
Perspektivische
Korrektur
oder
das
Plug-in
für
die
interaktive
Farbperspektive – stellten ihre Funktionalität ausschließlich im Editor-Fenster zur
Verfügung. Besonders bei der Untersuchung von 3D-Szenen im Vollbildmodus mit
einem Bildschirm ist es kompliziert, zwischen Viewer-Fenster und Editor-Fenster zu
wechseln, um Einstellungen an den Plug-ins vorzunehmen. Das Viewer-Fenster wird
hierbei teilweise vom Editor-Fenster verdeckt. Die Verwendung mehrerer Monitore
löst dieses Problem, jedoch erhöhen sich dadurch die Interaktionswege und die
direkte Verknüpfung von Funktionalität und Objekt in der 3D-Szene ist weiterhin
nicht gegeben.
Aus dem Gebieten der Interaktionsgestaltung und des User-Interface-Designs
ergeben sich interessante Ansätze zur Lösung der zuvor aufgezeigten Probleme und
Defizite der Anwendung Bildsprache LiveLab. Die folgende Zielstellung wird die
Schwerpunkte der Untersuchungen dieser Arbeit herausstellen und erläutern.
Abbildung 1.2:
Viewer-Fenster (Vollbild) und Editor-Fenster der Arbeitsumgebung BiLL
3
EINLEITUNG
1.1 Zielstellung
Im Rahmen dieser Diplomarbeit wird das bestehende Interaktionskonzept der
Arbeitsumgebung Bildsprache LiveLab untersucht. Die vorhandenen Defizite werden
aufgezeigt und dienen im Anschluss als Ausgangspunkt für die Entwicklung eines
neuen Konzepts. In diesem Zusammenhang werden verschiedene Menüformen,
3D-Widgets und Orientierungshilfen analysiert. Die Resultate dieser Betrachtungen
sind die Basis für die Entwicklung und Umsetzung des neuen Interaktionskonzepts
für BiLL.
Darüber hinaus wird eine Orientierungshilfe für die Forschungsumgebung entwickelt
und
implementiert.
Zusätzlich
muss
BiLL
um
eine
Service-Architektur
(SceneWidgetService) erweitert werden, welche die Umsetzung und Integration des
Interaktionskonzepts gewährleistet. Exemplarisch wird die Funktionalität eines
bereits existierenden Plug-ins mit Hilfe der zuvor entwickelten Service-Architektur in
den Viewer integriert. Das Plug-in zur Steuerung der Beleuchtung innerhalb der
Szene wird mit Interaktionselementen ergänzt und in das neu entwickelte Interaktionskonzept integriert.
1.2 Gliederung
Die Diplomarbeit ist in sieben Kapitel untergliedert. Nach einer Einführung in Form
der Motivation und Zielstellung folgt im zweiten Kapitel die Definition und
Abgrenzung verschiedener Begriffe, die im Verlauf dieser Arbeit von Bedeutung
sind. Dabei wird auf computergrafische, softwaretechnologische und gestalterische
Fachtermini eingegangen, die grundlegend für diese Arbeit sind.
In Kapitel Drei werden Arbeiten zur Interaktionsgestaltung, Navigation und
Manipulation von 3D-Umgebungen betrachtet. Hierbei liegt der Schwerpunkt auf
der Untersuchung bestehender Navigationsformen und der Darstellung, welche
Elemente und Methoden bereits entwickelt wurden, um den Anwender zu führen
und zu unterstützen. Das vierte Kapitel untersucht die zusammengestellten
Orientierungshilfen, 3D-Widgets und Menü-Varianten anhand zuvor entwickelter
Kriterien hinsichtlich ihrer Portierbarkeit zur Umsetzung der Zielstellung in
Bildsprache LiveLab.
Anhand der gewonnenen Erkenntnisse werden in Kapitel Fünf die einzelnen
Aspekte
des
Gesamtkonzepts
separat
analysiert
und
entworfen.
Deren
Implementierung wird auszugsweise erläutert. Im Anschluss stellt Kapitel Sechs ein
Anwendungsszenario vor, welches den Prozess der Integration und Nutzung der
neuen Funktionalität im Viewer-Fenster erläutert. Hierzu wird am Beispiel des LichtPlug-ins gezeigt, wie die Funktionen, die sich zuvor im Editor-Fenster befanden,
gleichzeitig im Viewer-Fenster nutzbar sind. Ebenso werden die Nutzungsvarianten
4
EINLEITUNG
des überarbeiteten Interaktionsangebots des Viewer-Fensters beschrieben und die
Navigations- und Orientierungshilfe in Bezug auf ihren Mehrwert für die
Arbeitsumgebung beurteilt. Ein Fazit der Arbeit und ein Ausblick für zukünftige
Entwicklungen schließen die Diplomarbeit ab.
5
6
2 Grundlagen
In diesem Kapitel werden grundlegende Begriffe aus den Gebieten der
Computergrafik, der Software-Technologie und der Mensch-Computer-Interaktion
erklärt. Die Arbeit baut auf diesen Definitionen auf und greift bei der Konzeption
und Implementierung des Interaktionsmodells auf sie zurück.
2.1 Computergrafik
Im Folgenden werden computergrafische Begriffe erläutert, die zum Verständnis
dieser Arbeit beitragen. Das Konzept des Szenengraphs, die virtuelle Kamera und
deren Eigenschaften werden definiert.
Szenengraph
Ein Szenengraph ist eine objektorientierte, strukturelle Beschreibung einer dreidimensionalen Szene. Ein Szenengraph ist ein azyklischer, gerichteter Graph und
besteht aus einem oder mehreren Knoten (nodes). Aus graphentheoretischer Sicht
sind dem Elternknoten (parent, das Wurzelelement der Szene oder Objektgruppen)
die Kindknoten (child, einzelne Objekte der Szene) untergeordnet.
Verbund
Beleuchtung
Kamera
Kamera
Kugel
Verbund
Material
Würfel
Abbildung 2.1: Abstrahierte Darstellung eines Szenengraphen
Jeder Kindknoten hat einen oder mehrere Elternknoten. Meist wird jedem
Kindknoten nur ein Elternknoten zugeordnet. Dadurch wird eine hierarchische
Baumstruktur erzeugt. Diese Struktur zur Darstellung einer Szene vereinfacht die
Manipulation von Objekten beziehungsweise Objektgruppen, da Modifikationen der
7
GRUNDLAGEN
Parameter eines Elternknoten alle darunter liegenden Kindknoten beeinflussen. Die
Bearbeitung mehrerer Objekte wird durch das Anlegen eines übergeordneten
Modifikationsknotens vereinfacht (vgl. [Wernecke 2005]).
Das Konzept des Szenengraphen zur Beschreibung dreidimensionaler Szenen wird
unter anderem in dem Echtzeit-Grafik-Toolkit OpenSceneGraph verwendet.
OpenSceneGraph (OSG) ist zugleich auch die Visualisierungskomponente der
Forschungsumgebung Bildsprache LiveLab und verwendet zum Rendern OpenGL –
eine
Programmierschnittstelle
zur
Entwicklung
von
zwei-
beziehungsweise
dreidimensionalen Grafikanwendungen. Vorteile des Szenengraphen in OSG sind
Performanz, Produktivität, Übertragbarkeit und Skalierbarkeit (vgl. [OSG Developer
2007]). Diese Eigenschaften werden nun genauer erläutert.
Performanz
Durch das Verbergen von Objekten, die bei einer Projektion nicht sichtbar sein
werden,
da
sie
außerhalb
des
Sichtfensters
liegen,
lässt
sich
der
Berechnungsaufwand minimieren. Die hierarchische Struktur eines Szenengraphen
vollzieht auf diesem auf effiziente Weise Operationen. Beispielsweise werden alle
Objekte unterhalb eines Knotens mit einer Operation auf diesem ausgeblendet, der
Zugriff auf alle Unterobjekte ist nicht notwendig.
Am zuvor abgebildeten Szenengraph würde dies bedeuten, dass alle Elemente
unterhalb des Beleuchtungsknotens direkt von Änderungen der Parameter des
Knotens beeinflusst würden. Das Sortieren von Zuständen erlaubt es, ähnliche
Objekte zur selben Zeit zu verarbeiten und verursacht somit keine mehrfachen
Aufrufe (vgl. [OSG Developer 2007]).
Produktivität
Der Szenengraph übernimmt das Management der Grafik und kapselt somit
unüberschaubaren OpenGL-Quellcode. Das abstrakte Konzept kapselt Quellcode zur
Erzeugung von Objekten in 3D-Szenen. Die Komposition von Objekten vereinfacht
sich durch das hierarchische Zusammensetzen um ein Vielfaches. Das Konzept des
Szenengraphen integriert sich in die objektorientierte Programmierung und bildet
einen flexiblen und wiederverwendbaren Entwurf (vgl. [OSG Developer 2007]).
Übertragbarkeit
Ein Szenengraph, wie er in OpenSceneGraph verwendet wird, kapselt die unteren
Schichten des Rendering-Prozesses und reduziert dadurch den plattformspezifischen
Programmieraufwand (vgl. [OSG Developer 2007]).
8
GRUNDLAGEN
Skalierbarkeit
Ein wohlstrukturierter Szenengraph erlaubt es den Programmierern, ihren Fokus auf
die Entwicklung eigener Anwendungen zu legen, während das Abbildungssystem
des Szenengraphen die darunter liegende Hardware-Konfiguration organisiert (vgl.
[OSG Developer 2007]).
Alternative Verfahren
Besondere Formen zur Speicherung beziehungsweise Deklaration von Szenen sind
Szenenbeschreibungssprachen
–
Scene
Description
Languages
(SDL).
Diese
beschränken sich nicht auf die Auflistung von Primitiven, sondern beschreiben eine
3D-Szene mit einer Art Programmiersprache. Beispiele hierfür sind die Virtual Reality
Modeling Language (VRML), X3D oder die von POV-Ray (vgl. [Oaks 2009])
verwendete, der Programmiersprache C ähnelnde Syntax. Diese besteht aus
Bezeichnungen, Schlüsselwörtern, Gleitkommaausdrücken, Strings und speziellen
Symbolen (vgl. [Oaks 2009]).
VRML ist ein deklaratives Dateiformat für 3D-Objekte oder 3D-Welten und wurde
hauptsächlich für den Einsatz im Internet und Intranet entwickelt. Ebenso war
beabsichtigt, es als universelles Austauschformat für 3D-Grafik und Multimedia zu
verwenden (vgl. [Web3D Consortium 1997]). Vorteile dieser Beschreibungssprachen,
speziell von VRML und X3D, sind ihre einfache Manipulation und Erzeugung. Als
nachteilig erwies sich die Dateigröße aufgrund der nicht binären, sondern
textbasierten Speicherung der 3D-Objekte.
9
GRUNDLA
AGEN
Virtuellee Kameraa
Zur Abbildung virtueller Szeneen wurde in der Co
omputergraffik das virrtuelle
odell entwicckelt. Dieses geht in seiner Funktion auf das K
Kameramode
ell der
Kameramo
„Camera obscura“ zurück (vgl. [Barsky et al. 2003], [Franke
[
200
07]). Die virrtuelle
GL durch ihre Position (eye),
(
ihre Ausrichtung
A
(center) un
nd die
Kamera istt in OpenG
Orientierun
ng
(up
v
vector)
fesstgelegt.
Alle
A
Parameter
drei
werden
über
dreidimenssionale Vekttoren definieert.
top
leftt
right
bottom
Abbildung
g 2.2:
Modell der virtuellen
n Kamera und ihrer Parameteer (eye, center,, up vector) (lin
nks);
Modell der
d virtuellen Kamera
K
und De
efinition des Sicchtkörpers anh
hand der Param
meter:
left, right, top, bottom, near, far (rechts)
Der Positio
onsvektor gibt den Pun
nkt der Kam
mera im Welltkoordinateensystem an
n. Auf
welchen Punkt
P
die Kaamera in deer Szene blicckt, wird du
urch den Au
usrichtungsvvektor
festgelegt.. Der Verbin
ndungsvektor zwischen
n Positions- und Ausricchtungsvekttor ist
die Sichtacchse der Kaamera. Die Drehung der Kamera um die Sicchtachse gib
bt der
Orientierun
ngsvektor an.
Der Raum der durch die virtuellee Kamera errfasst und auf
a dem Mo
onitor abgebildet
d
den Sichtkörper
S
(Abbildung
g 2.2 (rechtts)) beschrieeben. In Op
penGL
wird, ist durch
wird dieseer durch die Parameter left, right, top und bo
ottom definieert. Die Nah
h und
Ferngrenzee des Sichttkörpers wird durch die
d Parametter near un
nd far festg
gelegt
(Abbildung
g 2.2 (links))).
Die Navigation der Kamera
K
in virtuellen Welten
W
wird
d in OSG ü
über sogena
annte
n realisiert. Diese transsformieren die
d Bewegu
ungen der Maus
Matrix-Maanipulatoren
abhängig
von
derr
gedrückkten
Mausstaste
(linkke,
mittlere,
e)
rechte
in
amera. Durrch das Beschränken von
Positionsveeränderungeen der virrtuellen Ka
Freiheitsgrraden werdeen die Navigationsrichttungen redu
uziert und eermöglichen
n eine
einfacheree
Handhab
bung.
Freiheitsgrade
definieren
n
die
Traanslations-
und
Rotationsaachsen der virtuellen Kamera
K
(vgl. [Schwall 2004]).
2
Sech
hs Freiheitsgrade
10
GRUNDLAGEN
sind für eine Kamera definiert. Drei davon beschreiben die Translation entlang der
Raumachsen des kartesischen Koordinatensystems (vgl. [Stevens, Lewis 2003]).
Analog dazu bilden die Rotationen um diese Achsen die restlichen drei Freiheitsgrade (vgl. Abbildung 2.3).
Abbildung 2.3: Die sechs Freiheitsgrade der virtuellen Kamera
Mit diesen Freiheitsgraden ist jede Position, Ausrichtung und Orientierung der
Kamera im Raum formal definiert. Die Maus als Eingabegerät deckt nur zwei
Freiheitsgrade ab – Bewegung der Maus vor-zurück und links-rechts. Durch die
Kombination der Bewegung der Maus und einer Maus-Taste werden alle sechs
Freiheitsgrade kontrolliert. Jedoch wirkt die Kontrolle über alle Freiheitsgrade für
unerfahrene Nutzer kompliziert und nicht intuitiv (vgl. [Herczeg 2006]).
2.2 Software-Technologie
Die
zur
Umsetzung
der
theoretischen
Konzepte
verwendeten
software-
technologischen Methoden und Konzepte werden im Folgenden erläutert. Das
Konzept der objektorientierten Programmierung ist dabei Ausgangspunkt für das
Komponentensystem, auf dem die Forschungsumgebung Bildsprache LiveLab
basiert.
Objektorientierte Programmierung
Als objektorientierte Programmierung wird die Modularisierung von Programmieranweisungen bezeichnet. Diese Strukturierung verbirgt die eigentliche Implementierung von Funktionalität und zeigt nach außen nur die zur Interaktion erforderliche
Programmierschnittstelle. Das heißt, Objekte vereinen Funktionen und Daten
beziehungsweise Ressourcen.
Programme, die objektorientiert entwickelt werden, bestehen aus einer Vielzahl von
miteinander agierenden Objekten. Der Programmierer legt bei der Entwicklung die
Struktur der Objekte anhand von Klassen fest. Auf Basis dieser Klassen werden zur
11
GRUNDLAGEN
Laufzeit eines Programms Objekte erzeugt, die Instanzen genannt werden. Durch
das Konzept der Kapselung können die Eigenschaften von Objekten nur über die
vom Objekt selbst bereitgestellten Methoden verändert beziehungsweise gelesen
werden. Damit wird die interne Struktur eines Objekts sichergestellt. Durch das
Prinzip der Vererbung wird es Objekten ermöglicht, Methoden und Eigenschaften
von anderen zu erben und diese zu spezialisieren.
Zur Repräsentation der Klassenstruktur eines Programms wurde eine grafische
Notationsform – Unified Modeling Language (UML) – von der Object Management
Group (OMG) entwickelt. Diese Notation wird in der vorliegenden Arbeit zur
Darstellung der einzelnen Klassen und ihres Zusammenwirkens verwendet. In Form
von Klassendiagrammen werden die einzelnen Klassen und ihre Relationen
dargestellt. Sequenzdiagramme zeigen die Interaktion zwischen Benutzer und
System und den Austausch von Informationen innerhalb des Systems.
Komponentensystem POCO
Die komponentenbasierte Software-Entwicklung beruht auf dem Konzept, dass
Software-Systeme ähnlich wie Maschinen aus mehreren Bauteilen aufgebaut sind.
Ebenso wie im Maschinenbau sind in der Software-Technologie Komponenten zu
identifizieren, die für ein lauffähiges System zwingend notwendig sind. Ferner
müssen Verbindungsmöglichkeiten definiert werden, die zur Erweiterbarkeit des
Systems dienen. Komponentenbasierte Software erleichtert die Entwicklung von
Software-Systemen, da bestehende Komponenten miteinander verknüpft werden
können, ohne sie neu zu programmieren.
Ein Komponentensystem ist die Portable Component Open Service Platform (POCO
OSP). Diese ist eine Übertragung der Open Services Gateway initiative (OSGi),
welche in der Programmiersprache Java spezifiziert ist, in die Programmiersprache
C++ (vgl. [OSGi Alliance 2004]). Die Arbeitsumgebung Bildsprache LiveLab 2.0
wurde auf Basis des Komponentensystems POCO implementiert. POCO dient dabei
als Mittler zwischen dem Betriebssystem und der C++-Standard-Bibliothek.
Das verwendete Komponentenmodell von POCO basiert auf dem Konzept von
Bundles. Bundles sind Software-Komponenten, bestehend aus ausführbarem
Quellcode und der dazugehörigen Konfiguration sowie den notwendigen Daten und
Ressourcen. Der Begriff wird in dieser Arbeit gleichbedeutend mit dem Begriff Plugin verwendet. Plug-ins erweitern eine Basisanwendung und stellen neue Features für
andere Bundles bereit. Die Kommunikation der Bundles untereinander wird über
Services realisiert, die über eine zentrale Service-Registrierung verwaltet werden.
Bundles können sich an Services registrieren und somit deren Funktionen nutzen
oder selbst einen eigenen Service bereitstellen und eigene Funktionalitäten für
andere Bundles bereitstellen (vgl. [AppInf 2008]).
12
GRUNDLAGEN
Bildsprache LiveLab 2.0
Die
Forschungsumgebung
Bildsprache
LiveLab
ist
eine
Plattform
für
die
Untersuchung von wahrnehmungstheoretischen Phänomenen. Im Vergleich zu
anderen 3D-Anwendungen ist BiLL ein erweiterbares Betrachtungswerkzeug für 3DSzenen und dient nicht der Erstellung von neuen 3D-Szenen. Einfache
Möglichkeiten zur Modifikation von Objekten zählen zu den Basisfunktionen der
Grundanwendung. Objekte können ein- oder ausgeblendet werden und anhand
von Buttons sind ihre Position und Rotation sowie Skalierung veränderbar. Das
Konzept der Plug-in-Architektur bietet die Option der Erweiterbarkeit der
Basisfunktionalitäten.
Im Rahmen von Beleg- und Diplomarbeiten wurden verschiedene Plug-ins
entwickelt, die den Funktionsumfang von BiLL erweiterten. Die Architektur der
Forschungsumgebung wurde im Rahmen einer Diplomarbeit überarbeitet und auf
Basis des Komponentensystems POCO reimplementiert (vgl. [Kammer 2009]). Diese
Überarbeitung erfolgte aufgrund der steigenden Anzahl an Plug-ins und deren
Kommunikationsbedarf untereinander. Durch die Integration von sogenannten
Services (vgl. Komponentensystem POCO) wurde eine einfachere und stabilere
Kommunikation zwischen den Plug-ins im Vergleich zur Vorgängerversion erreicht
(vgl. [Kammer 2009]).
Services werden von Plug-ins bereitgestellt. Andere Plug-ins melden sich an einem
bestehenden Service an, um auf Ereignisse des Service zu reagieren oder die vom
Service bereitgestellten Methoden zu nutzen. Bereits etablierte Funktionen können
somit anderen Plug-ins zur Verfügung gestellt werden.
Das derzeitige Erscheinungsbild der Anwendung umfasst ein Editor-Fenster
(Abbildung 2.4) und ein Viewer-Fenster (Abbildung 2.5). Im Viewer-Fenster wird
eine dreidimensionale Szene betrachtet. Die Navigation durch die dargestellte 3DSzene erfolgt mit Hilfe der Maus. Der Editor bietet standardmäßig die
Repräsentation des Szenengraphen in einer Baumstruktur, Informationen zum
jeweils selektierten Knoten des Szenengraphen sowie zu Kameraparametern. Zudem
sind verschiedene Kameranavigatoren über eine Tastenkombination auswählbar.
Über den Menüpunkt Extras erhält man Zugang zum BundleAdmin. Mit diesem
werden neue Bundles geladen oder bereits aktive Bundles wieder entladen. Durch
Hinzufügen von Bundles erweitert sich die Funktionalität der Anwendung zur
Laufzeit.
Neu entwickelte Plug-ins stellen ihre Funktionalität in Form eines neuen Reiters im
Editor-Fenster bereit. Die strikte Trennung von Editor- und Viewer-Fenster
ermöglicht keine Änderungen von Einstellungen direkt im Viewer-Fenster.
13
GRUNDLAGEN
Abbildung 2.4: Editor-Fenster der Umgebung BiLL mit Szenengraph der geladenen Szene
Abbildung 2.5:
14
Viewer-Fenster mit geladenem 3D-Modell
GRUNDLAGEN
2.3 User-Interface-Design
Das Hauptaugenmerk dieser Arbeit liegt auf der Interaktionsgestaltung von
Software, daher sind Begriffe wie Orientierung, Interaktion, Widget und MenüStrukturen vorab zu erläutern und für den Kontext von Bildsprache LiveLab
einzugrenzen.
Orientierung
Der Begriff der Orientierung leitet sich vom lateinischen oriens, zu deutsch
aufgehend beziehungsweise sich nach dem Aufgang der Sonne ausrichten, ab.
Diese Handlung erlaubt es den Menschen, sich zurechtzufinden. Besonders in
unbekannten Umgebungen bedarf es einer Orientierungsphase, um sich in diesen
gezielt zu bewegen. Eine Phase der Orientierung ist auch im Umgang mit virtuellen
Welten zu beobachten. Der Nutzer findet sich in einer ihm unvertrauten Umgebung
wieder und muss seine Position darin feststellen.
STAPELKAMP
konstatiert:
„Orientierung
bedarf
Transformationen“
(vgl.
[Stapelkamp 2007], S. 131). Der Mensch braucht visuelle Bezugssysteme
beziehungsweise feste visuelle Anker oder Landmarken (vgl. [Groh 2005]). Die
Transformation der Umwelt in Karten und Wegbeschreibungen dient auch der
Weitergabe von Wissen über die Umgebung. Dies findet sich auch im Aufbau von
Gedächtnissystemen beziehungsweise Orte-Bilder-Systemen wieder. Komplexe
Inhalte werden mit einem Ortssystem überlagert, Sachverhalte werden in Bilder
eingefügt und somit ‚verortet‘ (vgl. [Groh 2005]). Das Durchwandern dieser Pfade
beschreibt das Abfragen der Informationen.
Als Verdeutlichung soll exemplarisch die Erinnerung an einen Arbeitsprozess anhand
eines bekannten Pfades dienen, der durchschritten wird. Markante Punkte entlang
des Weges spiegeln dabei einzelne Arbeitsschritte wider. Der Nutzer eines
derartigen Gedächtnissystems generiert einen mentalen Raum, der einer virtuellen
Umgebung gleicht. Diese Fähigkeit der Verbindung von Orten und Bildern bietet
auch für die Orientierung in virtuellen Welten Potenzial.
Bei der Darstellung von virtuellen Informationsräumen ist es notwendig, die Daten
zu transformieren und dem Nutzer im übertragenen Sinne eine Karte zu geben, mit
welcher diese computergenerierte Welt orientierbar wird (vgl. [Stapelkamp 2007]).
In diesem Fall ist die Karte der Repräsentant einer Orientierungshilfe für virtuelle
Umgebungen. Die Gestaltung der Karte hängt immer von der Umgebung, aus der
die Daten heraus generiert wurden, und vom Kontext, in dem sie präsentiert
werden, ab.
15
GRUNDLAGEN
Orientierung bedeutet ferner, sich leiten zu lassen, und bezieht sich in diesem
Zusammenhang auf Informationsaustausch und die Bereitschaft des Dazulernens.
Eine neue Umgebung ist ungewohnt und anders. Je neuer und komplexer eine
derartige Umgebung ist, desto intensiver ist die Lernphase für das Begreifen des
neuen Systems für den Nutzer (vgl. [Stapelkamp 2007]). Dies gilt sowohl für reale
Umgebungen als auch für virtuelle Informationsräume. Für den Interface- und
Interaktionsgestalter ergibt sich daher die Aufgabe, ein Orientierungssystem zu
schaffen, welches dem Nutzer einen kurzen und nachvollziehbaren Lernprozess
abfordert.
Metaphern helfen dabei, ein abstraktes, unbekanntes System auf ein konkretes,
bekanntes System abzubilden. Metapher leitet sich vom griechischen metaphora ab
und bedeutet Übertragung. Die Arbeit mit Metaphern erleichtert den Einführungsprozess neuer Funktionen, da diese mit dem Anwender vertrauten Eigenschaften
verknüpft werden.
Interaktion
Interaktion ist kein absoluter Begriff und wird daher in verschiedenen Fachgebieten
auch unterschiedlich definiert:
„Wechselwirkung, Wechselbeziehung. soziologischer Grundbegriff für
den Sachverhalt, dass sich Individuen oder Gruppen durch ihr
aufeinander
bezogenes
Handeln
gegenseitig
beeinflussen“
[Reinhold et al. 2000, S. 305].
Das Psychologische Wörterbuch bestimmt Interaktion wie folgt:
„Interaktion [lat.], wechselseitige Beeinflussung. Statische & Wechselwirkung. Von C.L. Hüll wurde die Bezeichnung ‚interaction principle‘ für
die gegenseitige Beeinflussung afferenter Nervenimpulse eingeführt,
womit
er
teilweise
berücksichtigte
und
die
Entdeckungen
der
die
elementaristische
Gestaltpsychologen
Auffassung
isolierter
Stimuluswirkung aufgab“ [Dorsch et al. 2004, S. 282].
STRUBE beschreibt Interaktion schließlich im Rahmen des Fachgebiets der
Kognitionswissenschaften:
„Mit Interaktion wird das wechselseitige Aufeinander-Bezug-Nehmen
handelnder Akteure in einem konkret historischen lebensweltlichen
Zusammenhang,
dem
I.-Kontext
bezeichnet.
Der
I.-Kontext
ist
gekennzeichnet durch die in ihm geltenden allgemeinen Handlungsorientierungen, die bereits zu den geteilten Wissensbeständen der
Akteure gehören oder im Umgang mit bedeutsamen Personen im
16
GRUNDLAGEN
Sozialisationsprozess erworben werden vertreten ...“ [Strube 1996,
S. 284-285].
Der Begriff der Interaktion variiert je nach der Wissenschaft und dem Kontext, in
welchem er verwendet wird. Grundlegend findet bei Interaktion ein wechselseitiges
Aufeinander-Einwirken statt. Die einzelnen Definitionen ergänzen diesen Begriff
durch erklärende Adjektive, um auf die besonderen Bedingungen ihres Fachgebiets
einzugehen.
Zusammenfassend setzt sich Interaktion aus ‚Inter‘ – drückt aus, dass eine
Verbindung zwischen etwas besteht – und ‚Aktion‘ – es wird eine Handlung ausgeführt – zusammen. Es besteht demnach eine gegenseitige Beeinflussung von
Handlungen zwischen verschiedenen Handelnden. Im Kontext der MenschComputer-Interaktion sind die aufeinander einwirkenden Akteure der Nutzer und
der Computer. Beide wirken aktiv auf das Gegenüber ein und gestalten somit einen
Interaktionsprozess.
Icons
Der Begriff Icon stammt aus dem Englischen und bedeutet ‚Ikone‘. Dieser wiederum
leitet sich vom griechischen ikonos, zu deutsch ‚Bild‘ ab (vgl. [Stapelkamp 2007]).
Eine Ikone ist ein Heiligenbild, das kein direkter Träger von Information ist. Der
unmittelbare Umgang mit dem Bild in einem vorgegebenen Kontext offenbart erst
den Inhalt des Bildes (vgl. [Stapelkamp 2007]). Icons sind ebenfalls erst im richtigen
Kontext verständlich.
Der Einsatz von Icons dient der Kommunikations- und Interaktionsunterstützung
zwischen Benutzeroberflächen und Nutzern. Diese Benutzeroberflächen sind nicht
rechnergebunden. Auch Hinweis- beziehungsweise Verkehrsschilder oder alltägliche
Gegenstände weisen Benutzeroberflächen auf, die mit Icons versehen sind. Als
Bestandteil des Interface sollen Icons die Kommunikation initiieren und einen Dialog
zwischen Nutzer und System ermöglichen (vgl. [Stapelkamp 2007]). Die
Kommunikation über Icons ist auch bei fehlender Sprachkenntnis oder Lesefähigkeit
der Anwender möglich, sofern sie im kulturanthropologischen Kontext sinnvoll
eingesetzt werden.
Merkmale für den ordnungsgemäßen und benutzerfreundlichen Einsatz von Icons
sind:
ƒ
Präzision der Aussage
ƒ
Reduktion auf das Wesentliche
ƒ
eindeutige Interpretierbarkeit
ƒ
Transport umfangreicher Botschaften
17
GRUNDLAGEN
STAPELKAMP unterteilt Icons in zwei Gruppen. Die eine Gruppe umfasst die
visuellen Repräsentanten von Objekten oder Themen, die andere alle diejenigen, die
Vorgänge und Funktionen beschreiben. Das Icon grenzt sich von den Begriffen der
Metapher und des Symbols ab, hat aber Gemeinsamkeiten mit Piktogrammen. Diese
Abgrenzung erfolgt auf Basis der zuvor genannten Merkmale von Icons.
Widgets
Widget ist die Abkürzung von „window gadget“ und wurde erstmals im
Zusammenhang mit Benutzungsschnittstellen im Rahmen des Projekts Athena im
Jahr 1988 angewendet. PREIM definiert Widgets als „eine Kombination aus einer
Geometrie und dem dazugehörigen Verhalten zur Steuerung oder Anzeige von
Information“ [Preim 1999, S. 435] [Conner 1992, S. 2]. Sie stellen eine Interaktionsschnittstelle zwischen dem Nutzer und dem zu manipulierenden Objekt her und
dienen der direkten Manipulation von Objekteigenschaften. Widgets sind somit
Träger von Informationen über das Interaktionsobjekt.
Die Anfänge der Widgets sind im Bereich zweidimensionaler Benutzerschnittstellen
zu
finden,
sie
wurden
jedoch
mit
dem
Aufkommen
dreidimensionaler
Entwicklungsumgebungen auch auf den 3D-Kontext in Form von 3D-Widgets
adaptiert. Sie unterstützen den Nutzer bei den Basisaufgaben im virtuellen 3DRaum: Selektion, Positionierung, Rotation und Skalierung (vgl. [Bowman et al.
2001]). Widgets sind Elemente, die durch das Drücken der linken Maustaste und das
Bewegen
der
Maus
die
Verschiebung,
Rotation
und
Skalierung
von
Szenenelementen ermöglichen (vgl. [Dachselt 2004]).
PREIM formuliert die Definition für Widgets allgemein. Für den konkreten Fall der
3D-Widgets klassifiziert DACHSELT diese wie folgt (Tabelle 2.2 und Tabelle 2.2):
Direkte 3D-Objektinteraktion
Objekselektion
Manipulation der 3D-Szene
Orientierung und Navigation
Direkte Selektion
Direkte Blickpunktselektion
Okklusionsselektion
Geführter Transport
Distanzselektion
Miniaturdarstellungen
Geometrische Manipulation
Steuerung der Szenenpräsentation
Lineare Transformation
Lichtmanipulation
Nichtlineare Transformation
Kameramanipulation
High-Level
Soundsteuerung
Objektmanipulation
Tabelle 2.1:
18
Klassifikation von Widgets nach DACHSELT [Dachselt 2004].
GRUNDLAGEN
Exploration und Visualisierung
Anwendungskontrolle
Geometrische Exploration
Diskrete Wertgeber
Hierarchie Visualisierung
Aktivierung
Visualisierung von Graphen
Zwei Zustände
Visualisierung von 2D-Daten
Multiple Zustände
Wissenschaftliche Visualisierung
Kontinuierliche Wertgeber
Skalare Werte
Multiple Werte
Spezielle Werteingaben
Farbwähler
Menüselektion
Temporäre Optionsmenüs
Einzelmenüs
Menühierarchien
Container
Tabelle 2.2:
Klassifikation von 3D-Widgets nach DACHSELT [Dachselt 2004].
DACHSELT unterscheidet zunächst vier Hauptkategorien: die direkte 3D-ObjektInteraktion, die Manipulation der 3D-Szene, die Exploration und Visualisierung sowie
die Anwendungskontrolle. Eine direkte Objektinteraktion wird durch Widgets zur
Objektselektion und zur geometrischen Manipulation gekennzeichnet. Die direkte
Selektion eines Objekts oder einer Objektgruppe erfolgt durch die Auswahl mit
einem Eingabegerät (Maus). Die Auswahl mehrerer Objekte erfolgt durch die
Okklusionsselektion, durch einen Volumen-Cursor mit einer Selektionsgeometrie
oder durch die Distanzselektion, die entfernte Objekte auswählt, beispielsweise
durch eine virtuelle Hand, die in die Tiefe des Raumes greift und Objekte somit
auswählt. Für den Einsatz an einem Desktop-Rechner eignen sich die direkte
Selektion und der Volumen-Cursor. Beide Verfahren sind bereits in Bildsprache
LiveLab integriert.
Die geometrischen Manipulationen unterteilt DACHSELT in lineare Transformationen
(Translation, Rotation und Skalierung), nicht-lineare Transformationen (Verdrehen,
Verbiegen und Verjüngen von Objekten) und High-Level-Objektmanipulationen
(freie Deformationen, Pfadverformungen).
Die Kategorie der Manipulation der 3D-Szene unterteilt DACHSELT in zwei
Unterkategorien: „Orientierung und Navigation“ sowie „Steuerung der Szenenpräsentation“ [Dachselt 2004, S. 73]. Zur ersten zählen Widgets, die eine direkte
Blickpunktselektion erlauben, die Auswahl vordefinierter Sichten oder einen
geführten Transport als Mittel der Navigation nutzen. Der Orientierung sind
Miniaturdarstellungen der 3D-Szene zugehörig.
19
GRUNDLAGEN
Die Kategorie „Exploration und Visualisierung“ umfasst die geometrische
Exploration, die hierarchische Visualisierung, die Visualisierung von Graphen, die
Visualisierung
von
2D-Daten
und
die
wissenschaftliche
Visualisierung
[Dachselt 2004, S. 73]. Die Anwendungskontrolle differenziert DACHSELT in fünf
Unterkategorien: Zustandsänderung/diskrete Wertgeber, kontinuierliche Wertgeber,
spezielle
Werteingaben,
Menü-Selektion
und
Container.
Widgets
zur
Zustandsänderung sind solche, die aktivierend beziehungsweise deaktivierend
wirken oder mehrere Zustände annehmen können. Als kontinuierliche Wertgeber
nennt DACHSELT jene, die skalare Werte abbilden und solche, die multiple Werte
darstellen. Zur Verdeutlichung der speziellen Werteingaben führt er beispielsweise
einen Farbwähler auf, da dieser mehrere Werte (Farbanteile des jeweiligen
Farbmodells) gleichzeitig ändert. In die Unterkategorie „Menü-Selektion“ werden
die temporären Optionsmenüs, die Einzelmenüs und die mehrstufigen MenüHierarchien eingeordnet (vgl. [Dachselt 2004]).
Menüs
Hinter einem Menü verbirgt sich eine gruppierte visuelle Darbietung verschiedener
Auswahlmöglichkeiten mittels Textfeldern oder Icons. Die Signalverarbeitung nach
dem Aktivieren eines Menüpunkts durch den Nutzer bleibt für diesen verborgen. Die
Gruppierung der Auswahl erfolgt entweder rein funktional oder thematisch
geordnet. Die Präsentation des Menüs ist vom jeweiligen Interaktionsdesign
abhängig und bietet verschiedene kontextbezogene Varianten (vgl. [Stapelkamp
2007]) beziehungsweise Gestaltungsformen (vgl. [DIN 1997b]). Eine Auflistung
verschiedener Menü-Varianten, die STAPELKAMP bereits identifiziert hat, gibt einen
Überblick über die Thematik der Menügestaltung.
ƒ
Menü-Hintergrund-Integration
ƒ
Karteikarten-Register
ƒ
Pull-down-Menü
ƒ
Drop-down-Menü
ƒ
Menü als Bestandteil der Erzählform
ƒ
Radial-Menü
Für die Gestaltung von Menüs fasst HERCZEG folgende Gesichtspunkte zusammen:
Die Kodierung der Menü-Elemente erfolgt anhand der allgemeinen Informationskodierungsmittel Text, Grafik, Farbe und Größe. Deren Anordnung wird durch die
Regeln der Gestaltungsgesetze bestimmt und ist entweder vertikal, horizontal,
mehrspaltig, mehrzeilig, mehrspaltig oder gruppiert.
Für die Abbildung großer Auswahlmengen werden hierarchisch verkettete Menüs
verwendet. Dazu zählen kaskadierende Menüs, Menübäume und scrollende Menüs.
Die Reihenfolge der Menü-Elemente wird durch unterschiedliche Faktoren bestimmt.
20
GRUNDLAGEN
Die Wichtigkeit, die Häufigkeit der Verwendung oder die alphabetische Reihenfolge
zählen dabei zu den wesentlichen Faktoren.
Der Hauptaspekt bei der Gestaltung ist die Art des Erscheinungspunkts beziehungsweise der Erscheinungsort (vgl. [Herczeg 2006]). Darin unterscheiden sich die zuvor
genannten Menü-Varianten, die STAPELKAMP identifiziert hat, grundlegend.
Die Anzahl der Auswahlmöglichkeiten an Menü-Elementen ist ein weiteres Merkmal
der Menü-Gestaltung. Die Auswahl der einzelnen Menü-Elemente durch den
Anwender ist durch die vorhandenen Eingabe- und Ausgabegeräte vorgeschrieben.
Der Nutzer hat die Möglichkeit, neben dem Finger auch die Maus beziehungsweise
die Tastatur für die Selektion von Menüpunkten zu nutzen. Menüs stellen besonders
für unerfahrene Nutzer eine einfache und intuitive Form der Interaktion dar, die
schnell erlernt wird. Zudem wirken Menüs durch eine geeignete grafische Aufbereitung als Erinnerungshilfe (vgl. [Herczeg 2006]). Durch ihre definierte
Funktionalität sind kaum syntaktische Eingabefehler möglich, zugleich führt dies den
Nachteil der fehlenden Parameterübergabe mit sich.
21
22
3 Interaktion und
Gestaltungsmethoden
In diesem Kapitel werden Arbeiten aus den Bereichen der allgemeinen Interaktion
und deren Gestaltung beschrieben. Im Speziellen wird auf Navigationsmetaphern
und -formen als Aspekte der Interaktion eingegangen.
3.1 Interaktionsgestaltung
Vor 30 Jahren wurden Personal Computer nur im wissenschaftlichen Bereich
benutzt. Besondere Fachkenntnisse waren für ihre Bedienung notwendig. Dies
änderte sich im Laufe der Zeit und Computer wurden für viele Menschen zugänglich
(vgl. [Moggridge 2007]). Daraus ergab sich die Notwendigkeit, die Computertechnologie beziehungsweise deren Schnittstelle zum Menschen so zu gestalten, als
wären sie ein Teil des alltäglichen Lebens. Benutzerschnittstellen sollten sowohl
gefühlsansprechende wie auch funktionelle Qualitäten aufweisen (vgl. [Herczeg
2006]).
Das folgende Kapitel beschäftigt sich zunächst mit den Grundfragen der
Interaktionsgestaltung, die von VERPLANK aufgestellt wurden. Dadurch wird die
Herangehensweise an die Gestaltung von Interaktionshandlungen aufgezeigt und
deren Bedeutung für die Effektivität einer Benutzerschnittstelle erläutert.
Grundfragen der Interaktionsgestaltung
VERPLANK konstatiert in einem Interview mit MOGGRIDGE, dass sich drei
Grundfragen während des Prozesses der Interaktionsgestaltung ergäben, die sich
jeder Interaktionsgestalter stellen müsse: zunächst die „How do you do?“-Frage
[Moggridge 2007, S. 127]. Bei dieser Frage steht das Handeln des Anwenders im
Vordergrund. Wie handelt er und wie würde er die notwendigen Aufgaben
ausführen? Hierfür müssen Interaktionsgestalter den Angebotscharakter von
Objekten so entwerfen, dass dem Nutzer eindeutig deren Funktionalität sowie
Funktionsweise gezeigt wird.
23
INTERAKTION UND GESTALTUNGSMETHODEN
Zur Erfüllung der Aufgaben muss der Anwender Parameter und Eigenschaften von
Objekten steuern. Für die Gestaltung von Steuerelementen, die dies bewerkstelligen,
gibt es laut VERPLANK zwei mögliche Steuerungsarten:
ƒ
die kontinuierliche Steuerung
ƒ
die diskrete Steuerung
Während bei einer kontinuierlichen Manipulation die Steuerung komplett in den
Händen des Nutzers liegt, delegiert der Anwender die Kontrolle im Fall der diskreten
Steuerung an den Rechner. Ein Beispiel aus der realen Welt sind Lautstärkeregler an
einem Radio, welche kontinuierlich gedreht werden können oder stufenweise über
Tasten am Gerät die Lautstärke regulieren. Im Virtuellen können Objekte entweder
kontinuierlich verschoben werden oder in vorgegebenen Schritten.
Die Interaktion mit einem Objekt geschieht entweder direkt oder indirekt. Während
bei der direkten Interaktion der Benutzer Veränderungen an Objekten unmittelbar
vollzieht, wird bei der indirekten Interaktion ein Vermittler eingeführt. Der Nutzer
agiert somit nicht mit dem Objekt selbst, sondern mit den Interaktionselementen der
Zwischenschicht, welche als Mittler zwischen Benutzer und Objekt dienen.
Abbildung 3.1: Die “How do you...?”-Fragen nach VERPLANK [Moggridge 2007, S. 126]
Eine weitere Frage, die sich der Interaktionsgestalter laut VERPLANK stellen muss, ist
die „How do you feel?“-Frage [Moggridge 2007, S. 127]. Hierbei ist das Feedback
des Systems, mit dem der Nutzer interagiert, essenzieller Bestandteil des
Gestaltungsprozesses. Die sensorischen Qualitäten der Präsentation des Feedbacks
sind daher von grundlegender Bedeutung. Wie dem Nutzer seine Handlungen
gespiegelt werden, entscheidet darüber, wie wohlgestaltet ein System ist.
24
INTERAKTION UND GESTALTUNGSMETHODEN
Die dritte Frage, die im Rahmen der Interaktionsgestaltung aufkommt, ist die „How
do you know?“-Frage [Moggridge 2007, S. 127]. Wesentliche Aufgabe eines
Interaktionsgestalters ist es, dem Nutzer beim Verstehen des Systems zu helfen und
zu erklären, was gerade passiert und warum es passiert. Daher ergibt sich die
Notwendigkeit, dem Nutzer ein Bild beziehungsweise eine Karte über die
Funktionsweise eines komplexen Systems zu geben, welche das System erklärt. Die
Wege beziehungsweise Pfade auf der Karte zeigen dabei, was zu einem bestimmten
Zeitpunkt geschieht und warum.
Der Interaktionsgestaltungsprozess
Den Prozess der Gestaltung kennzeichnet VERPLANK durch vier Schritte: Motivation,
Bedeutung, Modi und Abbildung. Jeder Gestaltungsprozess ist durch ein
aufgetretenes Problem oder eine Inspiration motiviert. Daraus ergibt sich das
Gestaltungsziel. Eine geeignete Metapher zur Verknüpfung der ausgehenden
Motivation mit dem Ziel des Gestaltungsvorschlags ist die Grundlage für die
Entwicklung von Anwendungsszenarien. Anhand der Szenarien werden die
notwendigen Aufgaben identifiziert, unter einem konzeptionellen Modell vereint
und verschiedene Modi definiert. Erst anhand dieses Modells entscheiden sich die
Gestaltung der Benutzerschnittstelle und das Arrangement der erforderlichen
Steuerelemente (vgl. [Moggridge 2007]).
Abbildung 3.2: Skizze des Interaktionsdesignprozesses nach VERPLANK [Moggridge 2007 S. 130]
Motivation
Die Gestaltung neuer Interaktionskonzepte beginnt mit der Identifizierung von
Problemen während der Verwendung bestehender Interaktionsmechanismen oder
mit der Idealisierung eines Zustands, der erstrebenswert ist.
25
INTERAKTION UND GESTALTUNGSMETHODEN
Bedeutung
Eine Metapher verknüpft Wissen aus einer bekannten Domäne mit einem
unbekannten Zielbereich (vgl. [Marcus 1994]). Bekannte Funktionsweisen, Konzepte
und Begriffe werden auf unbekannte Situationen projiziert, um den Umgang mit
diesen zu erleichtern. Unter diesem Gesichtspunkt erklärt sich die Metapher im
Kontext des Designs. Anhand von diversen Anwendungsszenarien wird in diesem
Schritt der Zusammenhang zwischen der Metapher und dem System verdeutlicht.
Daraus leitet sich die Absicht der Metapher ab (vgl. [Moggridge 2007]).
Modi
Essenziell für die Gestaltung eines Interaktionskonzepts ist es, die Aufgaben und
Absichten der Nutzer genau zu kennen. Die Modi repräsentieren in diesem
Zusammenhang die verschiedenen Aufgabenbereiche. Dabei ist zu ergründen,
welches Wissen der Nutzer zu einem bestimmten Zeitpunkt in einem speziellen
Modus an Informationen hat und bereitgestellt bekommt.
Welcher Typ von Nutzer das System bedient, entscheidet über die Wahl des Modus.
Wird das System im Expertenmodus oder im Anfängermodus bedient? Die
Aufstellung von Nutzerprofilen ist dabei von Bedeutung und wird im Folgenden
detailliert erläutert (vgl. [Moggridge 2007]).
Abbildung
Dies ist der letzte Schritt beim Gestalten von Interaktion. Erst in diesem Schritt wird
das Erscheinungsbild der Steuerelemente festgelegt und ihre Anordnung auf der
Präsentationsfläche oder im Präsentationsraum strukturiert. Das gilt für SoftwareInterfaces im Virtuellen ebenso wie für Hardware-Interfaces in der Realität.
Der von VERPLANK vorgestellte Prozess der Interaktionsgestaltung weist Parallelen
zum zielorientierten Interaktionsdesign von COOPER auf. Dieser verfolgt bei der
Gestaltung von Interaktionen eine durch die Ziele bestimmte und vorangetriebene
Gestaltung (vgl. [Cooper et al. 2007]). Die Aufgaben zum Bewerkstelligen eines
konkreten Ziels variieren dabei.
Der Gestaltungsprozess ist nach COOPER wie folgt gekennzeichnet:
26
ƒ
Interview mit den Anwendern
ƒ
Erstellung von Personas
ƒ
Zieldefinition
ƒ
Ausarbeitung von Szenarien
INTERAKTION UND GESTALTUNGSMETHODEN
Zunächst werden die Anwender bezüglich ihrer Absichten und Ziele, die sie mit der
Nutzung des Systems verfolgen, befragt. Anhand dieser Informationen lassen sich
im zweiten Schritt sogenannte Personas erstellen. Personas sind imaginäre, aber
spezifische Beispielnutzer des zu gestaltenden Systems (vgl. [Cooper et al. 2007],
[Andrews 2009]). COOPER weist darauf hin, dass nicht für den ‚Durchschnittsnutzer‘
gestaltet werden darf, sondern immer für klar definierte Nutzergruppen, die auch
Stereotype genannt werden.
Die entwickelten Personas werden im Gestaltungsprozess genutzt, um zu
überprüfen, ob die Gestaltung den Anforderungen dieser Nutzer gerecht wird. Für
jede Persona müssen Ziele definiert werden, die wiederum den Ausgangspunkt für
die Generierung von Szenarien bilden. Zum Erreichen dieser Ziele werden Szenarien
entworfen, die genau beschreiben, wie eine Persona an ein konkretes Ziel gelangt.
Die Szenarien reichen von primären über notwendige bis hin zu hinreichenden
Szenarien.
Für die Erarbeitung des Interaktionskonzepts für Bildsprache LiveLab in dieser Arbeit
werden die beiden sich ergänzenden Methoden, der Interaktionsgestaltungsprozess
nach VERPLANK und die zielorientierte Interaktionsgestaltung nach COOPER,
Anwendung finden.
Gestaltungskriterien
Nach der Konzeption erfolgt deren praktische Umsetzung in der Forschungsumgebung Bildsprache LiveLab. Dafür sind Gestaltungskriterien von Bedeutung, die
nachstehend dargestellt werden. Diese Kriterien werden von HERCZEG erläutert und
stützen sich auf die in der DIN EN ISO-Norm 9241 festgehaltenen Regeln zur
Software-Ergonomie.
Anwendungsgerechte Gestaltung
Eine
Analyse
der
Anwendungsszenarien
liefert
neben
den
erforderlichen
Funktionalitäten auch eine Vielzahl von nicht-funktionalen, qualitativen Anforderungen an ein System. Als leitender Aspekt der anwendungsgerechten Gestaltung sind die funktionalen und qualitativen Anforderungen zu sehen. Deren
Realisierung wirkt sich direkt auf die Nützlichkeit und Einsetzbarkeit eines Systems
aus (vgl. [Herczeg 2006]).
Ergonomie der Gestaltung
Für die Ergonomie der Gestaltung sind Kriterien erforderlich, die bewerten, wie gut
ein System an seine Nutzer angepasst ist. Diese Kriterien erfassen die Gebrauchstauglichkeit eines interaktiven Systems (vgl. [Herczeg 2006]). In DIN EN ISO 9241-11
[DIN 1997a] wurden hierfür die drei Kriterien definiert:
27
INTERAKTION UND GESTALTUNGSMETHODEN
ƒ
Effektivität
ƒ
Effizienz
ƒ
Zufriedenstellung
Die Effektivität bezieht sich auf die Reduktion des zeitlichen Aufwands, der zur
Lösung einer konkreten Aufgabe nötig ist. Die Effizienz wiederum beschreibt die
Höhe des Lernaufwands, der notwendig ist, um das System zu bedienen. Die
Erfüllung der Ansprüche des Nutzers durch die Software spiegelt sich in dessen
Zufriedenstellung wider (vgl. [Herczeg 2009]). Weitere Aspekte der SoftwareErgonomie wurden in anderen Abschnitten von DIN EN ISO 9241 formuliert.
Ästhetik der Gestaltung
Im Rahmen der Gestaltung interaktiver Systeme müssen neben anwendungsspezifischen und ergonomischen Aspekten auch ästhetische und emotionale
Aspekte berücksichtigt werden. Aufgrund der Tatsache, dass bei heutigen Systemen
die visuellen Eigenschaften im Vordergrund stehen, ist diesen bei der Gestaltung das
Hauptaugenmerk zu schenken. Jedoch müssen zukünftige Systeme alle Sinne
bedienen (vgl. [Herczeg 2006]).
Gestaltungskriterien für Widgets
DACHSELT zeigt vier Anforderungen für die Gestaltung von Widgets auf (vgl.
[Dachselt 2004]): Ein Widget muss durch die Geometrie und das Aussehen seine
Handhabung kommunizieren. Die Funktionalität muss eindeutig vermittelt werden.
Die Geometrie eines Widgets darf keine wichtigen Teile des zu manipulierenden
Objekts verdecken. Sie sollte so gewählt werden, dass sie aus allen Blickwinkeln
eindeutig erkennbar und identifizierbar ist. Der Nutzer soll während des gesamten
Manipulationsprozesses ständig Informationen über den Zustand des Widgets
erhalten. Die zu verändernden Freiheitsgrade müssen klar erkennbar und die
Aktionen unmittelbar sichtbar sein (WYSIWYG-Paradigma).
Durch eine Beschränkung der Freiheitsgrade wird die Aufgabenerfüllung erleichtert
(vgl. [Snibbe et al. 1992]). Ebenso sind Positionierungshilfen wie Raster beziehungsweise Linienzüge oder das Einrasten an bestimmten Positionen zum Beschränken
von Freiheitsgraden zu zählen (vgl. [Dachselt 2004]).
28
INTERAKTION UND GESTALTUNGSMETHODEN
3.2 Navigation
Navigation ist eine Form der Interaktion und beschreibt im Umgang mit virtuellen
Welten zwei Fähigkeiten: Zum einen dient sie der Erkundung und Orientierung an
einem bestimmten Ort, zum anderen der Änderung der Betrachterposition, das
heißt sie beschreibt die Fähigkeit, sich fortzubewegen (vgl. [Fechter 1999]). Im
Folgenden werden verschiedene Formen der Navigation sowie Navigationsmetaphern erläutert.
Navigationsformen
Als Medium ist in diesem Sinne jeder Träger von Information anzusehen. Dazu
zählen sowohl jede Art von elektronischen Medien als auch Produkte mit
mechanischen Funktionen. Printmedien sind ebenfalls Informationsträger und
besitzen Formen der Navigation. Ein Inhaltsverzeichnis eines Buches ist eine
Navigationsstruktur, die durch Kapitelnamen und Seitenzahlen die Navigation durch
das Buch ermöglicht. Diese zunächst lineare Struktur besitzt durchaus nichtlinearen
Charakter. Querverweise in einem Text können als Sprungmarken für definierte
Stellen im Buch dienen. Dadurch ist die Navigationsstruktur eines Printmediums
nicht zwangsläufig linear.
Die Wahl der Navigationsform ist unabhängig vom Medium, vielmehr ist die Absicht
von Interesse, mit der ein Inhalt vermittelt wird beziehungsweise in welchem
Kontext dieser dargestellt wird. STAPELKAMP unterscheidet die Navigationsformen
daher nicht nach Medientypen, sondern nach den Kontexten, in denen sie verwendet werden.
ƒ
direkte Manipulation
ƒ
hierarchische Navigationssysteme
ƒ
Site map
ƒ
Image map
ƒ
Anker-Navigation
ƒ
Suche
ƒ
alphabetische Index-Navigation
ƒ
Guided tour
ƒ
Geleitete beziehungsweise manipulierte Navigation
ƒ
eigenwillige Navigation
Für die zu entwickelnden Konzepte sind die direkte Manipulation und die
hierarchischen Navigationssysteme von Bedeutung und werden im Folgenden näher
betrachtet.
29
INTERAKTION UND GESTALTUNGSMETHODEN
Die direkte Manipulation ist die unmittelbarste Form der Navigation. Der Nutzer hat
die Möglichkeit, durch Maus und Tastatur die grafische Benutzeroberfläche direkt zu
beeinflussen. Die Einheit aus virtuellem Mauszeiger und physischer Maus ist der
verlängerte Arm in die virtuelle Welt. Je nach Anwendung und Werkzeug wird der
Mauszeiger als Zeiger, als Hand oder Stift dargestellt und repräsentiert auf diese
Weise das Werkzeug, welches der Nutzer mit der physischen Maus im Virtuellen
bedient. Basiselemente der direkten Manipulation sind nach STAPELKAMP die
Selektion, das Verschieben, die Rotation, das Scrollen und das Zoomen beziehungsweise Skalieren (vgl. [Stapelkamp 2007]).
Selektion
Als Selektion bezeichnet man die Auswahl eines oder mehrerer Elemente aus der
Menge aller auswählbaren Objekte einer Szene. Um erfolgreich mit diesen
Elementen einer 3D-Szene zu interagieren, ist die Selektion von Objekten
grundlegend. Erst durch eine Auswahl werden zu manipulierende Elemente
identifiziert (vgl. [Schwall 2004]). Die Auswahl muss nicht auf ein Gesamtobjekt
beschränkt sein, auch die Selektion von Objektelementen wie Flächen, Kanten,
Scheitelpunkten oder Objektteilgruppen ist möglich. Auf diese Art der partiellen
Auswahl wird in dieser Arbeit nicht weiter eingegangen, da sich Bildsprache LiveLab
als Präsentations- und Experimentierumgebung von Modellierungswerkzeugen
abgrenzt.
Drei verschiedene Gruppen von Selektionen lassen sich unterscheiden: diskrete,
lokale und entfernte. Die diskrete Selektion ist die Auswahl eines oder mehrerer
Objekte ohne direkten Kontakt mit den Objekten selbst (vgl. [Schwall 2004]). Diese
Methode erlaubt es, auch nicht sichtbare Objekte beispielsweise über eine Liste
auszuwählen (vgl. [Steinicke et al. 2004]). Dies ist vergleichbar mit der Listendarstellung des Szenengraphen in BiLL.
Mittels lokaler und entfernter Selektion wählt der Nutzer die Objekte direkt aus
seinem Arbeitsbereich aus. Der Unterschied zwischen beiden liegt in der Zugriffsart
auf die Objekte. Die lokale Selektion zeichnet sich durch die Auswahl der Objekte
über die Virtuelle-Hand-Metapher aus. Die entfernte Selektion, von DACHSELT auch
Distanzselektion
genannt,
erfolgt
über
Ray-Casting-Metaphern
oder
Cone-
Metaphern (vgl. [Schwall 2004]; [Dachselt 2004]).
Verschieben (Translation)
Das Positionieren eines Objekts beziehungsweise eines Werkzeugs entlang einer
oder mehrerer Raumachsen wird Verschieben genannt. Dabei wird unterschieden,
ob die Verschiebung entlang der Raumachsen oder entlang einer Fläche,
aufgespannt durch zwei Raumachsen, oder entlang eines beliebigen Vektors
beziehungsweise einer beliebigen Fläche im Raum vollzogen wird. Je nach
30
INTERAKTION UND GESTALTUNGSMETHODEN
Anwendungsfall ist eine Einschränkung der Verschiebung möglich. Die Einschränkungen reichen von Kollisionsdetektion mit anderen Objekten bis hin zum
Begrenzen von Verschiebungsachsen.
Weiterhin erfolgt die Translation diskret oder kontinuierlich. Während die
kontinuierliche Verschiebung eine freie Positionierung zulässt, wird durch diskrete
Translation das Objekt in definierten Schritten verschoben oder an vordefinierte
Positionen versetzt (vgl. [Schwall 2004]).
Drehung (Rotation)
Die Rotation eines Objekts oder eines Werkzeugs um die Raumachsen oder die
Kombination von Rotationen um diese Achsen bezeichnet die Änderung der
Ausrichtung eines oder mehrerer Objekte. Durch die Kombination von Rotationen
um verschiedene Raumachsen ist jede Ausrichtung eines Objekts oder der virtuellen
Kamera möglich. Ähnlich der Translation sind auch beim Rotieren kontinuierliche
sowie diskrete Drehungen ausführbar.
Jede Rotation erfolgt um ein Rotationszentrum, um das ein Objekt gedreht wird. In
der Praxis findet sich die objektzentrierte Rotation am häufigsten wieder, aber auch
ein außerhalb des Objektzentrums liegendes Rotationszentrum ist umsetzbar (vgl.
[Schwall 2004]).
Skalierung
Der Begriff der Skalierung beschreibt die relative Größenveränderung eines Objekts.
Diese vollzieht sich entweder simultan in allen drei Raumachsen gleich oder selektiv
entlang einer oder zwei Raumachsen. Skaliert werden die Objekte um ein Zentrum
herum. Liegt dieser Punkt im Zentrum des Objekts, verändert sich seine Position
während der Skalierung nicht. Liegt er außerhalb des Objektmittelpunkts, verschiebt
sich das Objekt relativ zur Ausgangsposition (vgl. [Schwall 2004]).
Als Spezialfall der Skalierung ist der Zoom zu erwähnen, er stellt die Skalierung der
Abbildungsfläche dar, die alle abgebildeten Objekte gleichermaßen vergrößert oder
verkleinert. Durch das Zoomen wird dem Nutzer die Illusion vermittelt, dass er sich in
eine Szene hinein beziehungsweise aus ihr heraus bewegt (vgl. [Stapelkamp 2007]).
Räumliche Navigationsmetaphern
Wie alle Interaktionsformen unterliegt auch die Navigation einer Metapher. Hierzu
wurden verschiedene Ideen der Bewegung in dreidimensionalen Umgebungen
aufgegriffen und bereits in vielen Anwendungen implementiert. GROH differenziert
zwei Betrachtersituationen: die Feldherren-Metapher und die Wanderer-Metapher
(vgl. [Groh 2005]).
31
INTERAKTION UND GESTALTUNGSMETHODEN
Die Feldherren-Metapher verbildlicht das Auftauchen (Emersion) des Nutzers über
einer Szenerie. Sie dient der Planung der nächsten Aufgabe und vermittelt ein
Überblickswissen über die Szene. Konträr dazu stellt die Wanderer-Metapher das
Eintauchen (Immersion) des Nutzers in die Szene dar, dieser findet sich inmitten der
Szene wieder und erkundet diese aus dieser Position.
Vier wesentliche Navigationsmetaphern unterscheidet WARE in virtuellen Welten:
die
World-in-hand-Metapher,
die
Eyeball-in-hand-Metapher,
die
Wanderer-
Metapher und die Flug-Metapher. Die von GROH genannten Betrachtersituationen
bezüglich der Immersion und Emersion spiegeln sich darin wider. Im Folgenden
werden die einzelnen Navigationsmetaphern genauer betrachtet und anhand von
Anwendungsszenarien erläutert.
World-in-hand Metapher
Das Auge des Nutzers befindet sich an einem festen Punkt, während er Teile der
Szene greift und sie somit relativ zu seinem Blickpunkt bewegt. Der Nutzer hat ein
abstraktes Modell der Szene als Steuereinheit in seinen Händen und dreht und
verschiebt dieses durch Bewegen der Hand (vgl. [Ware 2009]).
Die World-in-hand-Metapher eignet sich besonders gut für Szenen, die einzelne und
kompakte Objekte darstellen. Objekte sind intuitiv bewegbar. Für die Navigation ist
ein spezielles Steuerelement zur Bestimmung der Neigung und Position der Hand
notwendig. Die Betrachtersituation ist in diesem Fall die Feldherren-Sicht, da der
Nutzer eine Draufsicht auf die dargestellten Objekte hat.
Abbildung 3.3: Navigationssteuerung World-in-hand-Controller (nach WARE) (links); virtuelle Szene
mit korrespondierenden Freiheitsgraden zur Steuerung der Szene (rechts)
Eyeball-in-hand Metapher
Der World-in-hand-Metapher steht die Eyeball-in-hand-Metapher gegenüber. Der
Nutzer hat hierbei die Kontrolle über die virtuelle Kamera, welche die Szene
abbildet, indem er die Kamera relativ zur Szene bewegt (vgl. Abbildung 3.4). Dies ist
32
INTERAKTION UND GESTALTUNGSMETHODEN
nach WARE und OSBORNE die effektivste Methode, um den Blickpunkt zu
verändern (vgl. [Ware 2009]). Diese Navigationsmetapher ist vorteilhaft für freie
Explorationen von großen 3D-Szenen. Auch die Eyeball-in-hand-Metapher stellt eine
Form der Feldherren-Sicht auf die Szene dar.
Abbildung 3.4: Navigationssteuerung Eyeball-in-hand-Controller (nach Ware) (links); virtuelle Szene
und korrespondierende Freiheitsgrade an der Kamera (rechts)
Die Wanderer-Metapher
Einen ganz anderen Ansatz verfolgt dagegen die Wanderer-Metapher, die es den
Individuen in einer virtuellen Welt gestattet, sich durch Gehen in dieser
fortzubewegen. Entweder wird dies durch bekannte Eingabegeräte wie Maus und
Tastatur abstrahiert oder der Anwender führt tatsächlich eine Gehbewegung aus.
Abbildung 3.5:
Die Wanderer-Metapher – Laufband als Eingabegerät (links); Sicht des Nutzers in die
virtuelle Welt (rechts)
Jedoch setzt dem die reale Welt Grenzen in Form von Gebäudemauern. Verschiedene Versuche wurden unternommen, um diese Beschränkung zu überwinden.
Beispielsweise können Sportgeräte wie der Stepper die Gehbewegungen des laufenden Anwenders in die virtuelle Welt übertragen.
33
INTERAKTION UND GESTALTUNGSMETHODEN
Eine weitere Entwicklung wurde in Zusammenarbeit mit dem Max-Planck-Institut für
Biologische Kybernetik in Tübingen, der TU München, der University of Rome und
der ETH Zürich gemacht (vgl. [Max-Planck-Gesellschaft 2005]). Der sogenannte
CyberWalk ist eine Maschine aus mehreren Laufbändern, die auf einer Art überdimensionierter Kette einer Planierraupe angebracht sind. Ein Positionsbestimmungssystem richtet die Laufbänder so aus, dass der darauf Laufende sich zu
jedem Zeitpunkt mittig befindet und nicht über den Rand hinaus läuft. Jede
Änderung der Position im Realen wird ins Virtuelle übertragen.
Der Nutzer dieses Geräts trägt ein am Kopf angebrachtes Bildschirmsystem, das ihm
die Sicht in die virtuelle Welt ermöglicht. Dieses System ist für eine einzelne Person
konzipiert und ermöglicht Rundgänge in virtuellen Welten ohne physische Beschränkungen der realen Welt.
Abbildung 3.6:
CyberWalk-Skizze nach [Max-Planck-Gesellschaft 2005]
Die Flug Metapher
Besonders
in
Terrain-Visualisierungen
haben
sich
sogenannte
Fly-through-
Navigationsformen etabliert. Diese ermöglichen eine flugähnliche Fortbewegung
durch die Szene. Dabei kann der Flug einem Hubschrauber oder einem Flugzeug
nachempfunden sein. Als Eingabegerät für eine derartige Steuerung ist ein Joystick
geeignet, da dieser der Steuereinheit eines Fluggeräts ähnelt.
Jede der vorgestellten Navigationsmetaphern ist abhängig vom jeweiligen
Anwendungsfall und dem Aufgabenbereich des Systems. Dementsprechend sind die
jeweiligen Metaphern an die Navigationsaufgaben Erkunden, Suchen und
Manövrieren anzupassen (vgl. [Bowman et al. 2001]).
Beim Erkunden einer Szene verschafft sich der Nutzer nur einen Überblick über die
gesamte Szene und ihre Merkmale. Beim Suchen hingegen möchte er an eine
bestimmte Position navigieren. Letztendlich stellt das Manövrieren eine präzise
34
INTERAKTION UND GESTALTUNGSMETHODEN
Navigation über kurze Entfernungen dar, um eine geeignete Sicht auf etwas zu
erreichen und spezielle Aufgaben von hier aus auszuüben (vgl. [Bowman et al.
2001]).
3.3 Manipulation
Die Veränderung von Objekten, deren Darstellung und Parametern umfasst der
Begriff der Manipulation. Je nach Objekttyp sind unterschiedliche Eigenschaften
veränderbar (vgl. [Schwall 2004]). Diese Veränderungen werden entweder direkt am
Objekt vollzogen oder über Menü-Elemente. Für direkte Objektveränderungen
werden 3D-Widgets eingesetzt, um die Steuerung der Manipulation zu vereinfachen
(vgl. [Dachselt 2004]).
Manipulationen im Kontext von BiLL lassen sich anhand der Klassifikation von 3DWidgets nach DACHSELT in drei Bereiche gliedern, die in dieser Arbeit als relevant
erachtet werden (vgl. [Dachselt 2004]). Diese drei Bereiche umfassen die Steuerung
der Szenenrepräsentation, die geometrischen Manipulationen von Objekten sowie
die Orientierung und Navigation in der Szene. In der folgenden Tabelle sind für die
einzelnen Bereiche Beispiele aufgeführt, wie sie in der Forschungsumgebung BiLL zu
finden sind.
Steuerung der
Szenenrepräsentation
Geometrische
Manipulation
Orientierung und
Navigation
Lichtmanipulation
Scherung
Zoom
Kameramanipulation
Translation
Schwenk / Neigen
Soundsteuerung
Rotation
Öffnungswinkel
Skalierung
Tabelle 3.1:
Bereiche von Manipulationen
Zur Steuerung der Szenenrepräsentation gehören die Änderungen der Beleuchtungsverhältnisse, die Modifikation von Soundquellen und bereichsübergreifend
auch die Manipulation der Kamera, wobei die einzelnen veränderbaren Parameter
des Kamerasystems zur Kategorie der Orientierung und Navigation gehören.
Das Zoomen der virtuellen Kamera ist entweder bildstruktureller oder technischer
Natur. Die Veränderung des Öffnungswinkels bewirkt einen Zoom, ebenso wie das
Verschieben der Kamera nach vorn oder hinten entlang der optischen Achse.
Als geometrische Manipulationen sind objektverändernde Methoden wie die
Scherung, die Translation, die Rotation oder die Skalierung zu nennen. Das
35
INTERAKTION UND GESTALTUNGSMETHODEN
Hauptaugenmerk dieser Arbeit bezieht sich auf die Realisierung der direkten
geometrischen Manipulationen und der Kamerasteuerung. Dies wird in der
folgenden Synthese genauer analysiert.
3.4 Zusammenfassung
In diesem Kapitel wurden Arbeiten aus dem Bereich Interaktion beziehungsweise
Navigation und Manipulation vorgestellt. Im anschließenden Syntheseteil der Arbeit
werden
verschiedene
Gestaltungskriterien
Orientierungshilfen
analysiert
und
und
beurteilt.
3D-Widgets
Anhand
der
auf
Basis
der
Methoden
der
Interaktionsgestaltung von VERPLANK und COOPER wird im fünften Kapitel das
Interaktionskonzept für Bildsprache LiveLab entwickelt und dessen Implementierung
erläutert.
Zur exemplarischen Darstellung der Verwendung der entwickelten ServiceSchnittstelle wird ein bestehendes Plug-in zur Steuerung der Beleuchtung erweitert.
Hierbei werden geometrische Manipulationen zur Anwendung kommen, um die
Positionierung und Ausrichtung von Lichtquellen in der Szene vorzunehmen.
36
4 Synthese
In diesem Kapitel werden verschiedene Orientierungshilfen, Menü-Varianten und
3D-Widgets auf ihre Nutzbarkeit zur Umsetzung der im ersten Kapitel vorgestellten
Zielstellung hin analysiert. Dabei werden zunächst die Orientierungshilfen
vergleichend untersucht. Sie werden anhand ihrer Vorteile und Nachteile bezüglich
der Anwendbarkeit in der Forschungsumgebung Bildsprache LiveLab ausgewählt.
Weiterhin werden verschiedene Manipulations-Widgets in dreidimensionalen
Räumen analysiert und auf ihre Umsetzbarkeit und Nutzbarkeit für BiLL beurteilt.
Vergleichend werden bereits existierende Menü-Varianten untersucht und deren
Gebrauchstauglichkeit zur Umsetzung der Zielstellung ermittelt. Die Resultate der
theoretischen Untersuchungen der folgenden Abschnitte dienen als Grundlage für
den konzeptionellen Entwurf und die praktische Realisierung.
4.1 Vergleich verschiedener
Orientierungshilfen
Bereits auf zweidimensionalen Interaktionsflächen wie Landkarten oder Büchern
wurden Orientierungshilfen entwickelt. Auf Landkarten dient zum Beispiel eine
Windrose zum Einnorden mit einem Kompass. Das Inhaltsverzeichnis von Büchern
zeigt dem Leser, wo er sich gerade befindet oder auf welcher Seite ein einzelnes
Kapitel beginnt. Die Entwicklung von Orientierungshilfen findet auch in
dreidimensionalen virtuellen Umgebungen statt. Insbesondere die Darstellung
abstrakter Informationsräume erfordert eine effektive Orientierung, was wiederum
die Effizienz der Interaktion in diesen Räumen maßgeblich erhöht.
Verschiedene Hilfen zur Verbesserung der Orientierung werden im Folgenden
einzeln untersucht und anschließend unter dem Gesichtspunkt der Zielstellung
dieser Arbeit miteinander verglichen.
Minimap
In 3D-Computerspielen haben sich zur Orientierung verkleinerte Draufsichten auf
die Spielumgebung, sogenannte Minimaps, durchgesetzt (Abbildung 4.1). Darauf ist
entweder die nähere Umgebung oder das gesamte Gebiet in verkleinerter Draufsicht
abgebildet. Meist befinden sich darauf Indikatoren für die Spielerposition sowie ein
Nordpfeil zur Ausrichtung der Karte. Ihre Ausprägungen sind je nach Spielgenre
unterschiedlich.
37
SYNTHESE
Abbildung 4.1: Minimap von World of Warcraft [Blizzard entertainment 2009] (links), Minimap von
Age of Empires 3 [Microsoft 2005] (mitte), Minimap von Caesar IV [HeavenGames LLC
2009] (rechts)
Vorwiegend werden Minimaps zur Repräsentation von flächigen Umgebungen
genutzt. Mehrstufige Gebiete wie Gebäude werden etagenweise abgebildet.
Geschichtete Gebiete lassen sich nur bedingt auf einer Minimap darstellen. Die
Minimap ist für räumliche Umgebungen mit mehreren Ebenen nicht geeignet, da
sich dann Teile beziehungsweise Ebenen in der Karte gegenseitig verdecken.
Koordinatenkreuz
In 3D-Modellierungswerkzeugen wie Autodesk 3ds Max oder Autodesk Maya
werden Koordinatenkreuze zur Identifikation der Ausrichtung genutzt (Abbildung
4.2). Ein kleines Koordinatenkreuz, bestehend aus den drei Raumachsen X, Y und Z,
wie in Abbildung 4.2 am linken unteren Bildschirmrand zu sehen, zeigt die Lage des
Koordinatenursprungs relativ zur Betrachterposition.
Dies ist eine sehr abstrakte Darstellung und erfordert eine genaue Kenntnis der
dargestellten Szene und der Funktionsweise des Koordinatensystems. Der Nutzer
erhält über das Koordinatenkreuz keine Information bezüglich der eigenen Position
innerhalb der Szene. Je nach Anwendung ändern sich die Achsen für die Tiefe (zAchse) beziehungsweise die Höhe (y-Achse).
Die Abbildung eines Koordinatenkreuzes findet sich auch direkt in Objekten wieder.
Hierbei beschreibt das Koordinatenkreuz die Ausrichtung des Objekts relativ zum
Koordinatensystem der Szene.
38
SYNTHESE
Abbildung 4.2:
Koordinatenkreuz in der Anwendung Autodesk® 3ds Max®
Raster
Eine Methode zur Strukturierung von Flächen und Räumen ist deren Unterteilung in
gleich große Segmente. Diese Segmentierung ist sowohl für flächige als auch für
räumliche Darstellungen geeignet. In Abbildung 4.2 ist ein Raster auf der xy-Ebene
zu sehen. Anhand dieses Rasters erhält man eine Referenz bezüglich der Längen
und Distanzen. Dies erlaubt die Abschätzung der räumlichen Relationen zwischen
Objekten.
Räumliche Raster unterteilen einen dreidimensionalen Raum in kleine räumliche
Segmente. Diese können „je nach Raumcharakter, eine kubische, eine zylindrische
oder […] eine sphärische Struktur besitzen“ [Groh 2005, S. 173] (Abbildung 4.4,
Abbildung 4.5). Räumliche Raster mit einer sehr dichten Rasterweite verdecken in
bestimmten Betrachtersituationen die eigentliche 3D-Szene oder sind der
Orientierung nicht dienlich (vgl. [Stork 2000]). Der Aspekt der Anpassbarkeit der
Rasterweite wird dadurch ein entscheidender Punkt beim Einsatz dieser Methode als
Orientierungshilfe.
Ein sphärisches Raster wird beispielsweise auf der Erdkugel verwendet. Die
Unterteilung erfolgt hierbei durch Längen- und Breitengrade. Zylindrische Raster
eignen sich zum Beispiel für Tunneldarstellungen. Kubische Raster finden sich in
Anwendungen zur Darstellung der räumlichen Anordnung von Atomen in Kristallstrukturen wieder.
39
SYNTHESEE
Abbildung 4.3:
4 Kubischess Raster zur Daarstellung von Kristallstruktur
K
ren [Semicondu
uctor Applet Service
(SAS)
(
2009]
A
Abbildung
4.4:
Zylindrischees Raster (linkss), kubisches Raaster von innen
n (rechts)
Abbild
dung 4.5: Sph
härisches Rasteer von außen (links), sphärisches Raster von
n innen (rechts)
40
SYNTHESE
ViewCube, ViewSphere und 3D-Kompass
Autodesk stellt mit dem sogenannten ViewCube ein 3D-Widget vor (vgl.
[Azam Khan 2008], Abbildung 4.6 (links)), das die aktuelle Blickrichtung der Kamera
wiedergibt und aus selektierbaren Elementen besteht, die wiederum vordefinierte
Kamerapositionen repräsentieren. Durch das Auswählen eines Elements mit einem
Eingabegerät wird die Kamera an diese vordefinierte Position verschoben und zum
Zentrum der Szene ausgerichtet.
Ein ähnliches 3D-Widget namens ViewSphere wurde von BRUNNETT entwickelt.
„Sein Funktionsprinzip besteht darin, dass ein die Gesamtwelt
repräsentierendes Objekt in einem separaten Fenster immer aus der
Richtung gerendert und dargestellt wird, die der aktuellen Blickrichtung
des Avatars in der virtuellen Welt entspricht“ [Brunnett et al. 2000, S. 7].
Beide Konzepte ähneln sich im Verhalten, unterscheiden sich hingegen in den Interaktionsmöglichkeiten und der Eingliederung in die dargestellte Szene. Durch das
Markieren eines Punktes auf der Oberfläche der ViewSphere wird ein zum Mittelpunkt des Objekts zeigender Vektor definiert, der die aktuelle Blickrichtung in die
Szene bestimmt.
Abbildung 4.6:
Verschiedene
Autodesk ViewCube (links) [Azam Khan 2008], 3D-Kompass (Mitte) [Brunnett et al.
2000], ViewSphere (rechts) [Brunnett et al. 2000]
Abstraktionsstufen
des
ViewCube
sind
für
unterschiedliche
Nutzertypen geeignet. Für erfahrene Nutzer genügt die Darstellung des Würfels mit
beschrifteten Seitenflächen (Abbildung 4.7). Die Abbildung von 2D-Ansichten auf
den Flächen des Würfels ist für weniger erfahrene Anwender geeignet (Abbildung
4.7). Ein 3D-Modell innerhalb des Würfels und transparente Außenseiten erhöhen
den Wiedererkennungswert für Anfänger (vgl. [Azam Khan 2008]) (Abbildung 4.7).
41
SYNTHESE
Abbildung 4.7: ViewCube mit Beschriftung (1), mit Bildern (2), mit 3D-Modell (3),
ohne Beschriftung (4) [Azam Khan 2008]
World-in-Miniature
STOAKLEY stellt als Orientierungsunterstützung die sogenannte World-in-Miniature
(WIM) vor (vgl. [Stoakley et al. 1995], Abbildung 4.8). Die gesamte dreidimensionale
Szene wird als Miniaturansicht in das Betrachtungsfenster über die aktuelle Sicht
eingeblendet. Dadurch erhält der Nutzer ein Feedback über seine derzeitige
Betrachtungsposition in der abgebildeten virtuellen Welt. Die Miniaturansicht ist
entweder entlang der Sicht des Betrachters ausgerichtet oder unterliegt einer vordefinierten Sicht.
Eine Weiterentwicklung der WIM stellt die Scaled and scrolling WIM (SSWIM) dar
[Wingrave et al. 2006]. Die feste Größe der WIM zeigt zwar die ganze Szene als
Miniatur, aber die verschiedenen Detailstufen, die während der Interaktion und
Navigation in 3D-Szenen notwendig sind, erfordern eine detailliertere Sicht auf die
Szene. Durch Zoomen und Scrollen kann der Nutzer einen beliebigen Ausschnitt der
WIM-Darstellung erstellen. Dadurch wird die WIM für die unterschiedlichen Aufgaben eines Nutzers individualisierbar.
42
SYNTHESE
Abbildung 4.8: World-in-Miniature [Stoakley et al. 1995]
Die vorgestellten Orientierungshilfen unterscheiden sich in verschiedenen Merkmalen, zum Beispiel ihrer Größe, Position, der Verdeckung anderer Elemente und
dem Interaktionspotenzial.
Aus der Zielstellung dieser Arbeit leiten sich Kriterien und Merkmale zur Bewertung
der Nutzbarkeit für die Umsetzung ab. Der Abstraktionsgrad ist für die Performance,
für die Erkennbarkeit und die Einheitlichkeit der Orientierungshilfe von Bedeutung.
Die Anzahl der Dimensionen, die von der jeweiligen Orientierungshilfe abgebildet
werden, ist maßgebend für die Integration in eine dreidimensionale Umgebung. Die
Interaktivität identifiziert, inwiefern der Anwender mit der Orientierungshilfe selbst
Einfluss auf die Betrachterposition nimmt, das heißt seine Orientierung individuell
steuert. Anhand der Lesbarkeit wird die Eindeutigkeit und Erkennbarkeit der
Orientierungshilfe unter den Rahmenbedingungen der verschiedenen Bildschirmauflösungen, der Fenstergrößen des Viewer-Fensters und den Szenenausmaßen
ermittelt.
43
SYNTHESE
Abstraktionsgrad
Dimensionalität
Interaktivität
Intuitive Lesbarkeit
WIM
niedrig
3D
niedrig
mittel
SSWIM
niedrig
3D
hoch
gut
hoch
3D
hoch
gut
Minimap
mittel
2D
mittel
gut
Raster
hoch
2D / 3D
niedrig
in 2D gut, in 3D mittel
hoch
3D
niedrig
ViewCube
3D-Kompass
Koordinatenkreu
z
Tabelle 4.1:
gut, mit
Referenzsystem
Kriterien zur Bewertung der Orientierungshilfen im Kontext der Zielstellung
Anhand des hohen Abstraktionsgrads des ViewCube ist dieser unabhängig von der
abgebildeten 3D-Szene für unterschiedliche Szenarien einsetzbar. Das Konzept der
World-in-Miniature ist nur bedingt für den Einsatz in der Forschungsumgebung BiLL
geeignet. Bei 3D-Szenen mit einem sehr großen Ausmaß wirkt die miniaturisierte
Abbildung sehr unübersichtlich und Rückschlüsse auf die eigene Betrachterposition
sind nur bedingt möglich. Der Abstraktionsgrad ist in diesem Fall sehr niedrig, da die
dargestellte Szene identisch mit der verkleinerten Darstellung ist.
Die Minimap ist für die Umsetzung der Orientierungshilfe in BiLL ungeeignet, da sie
ohne Nachbearbeitung ebenfalls nur einen geringen Abstraktionsgrad besitzt. Die
dargestellte Szene würde von einer Draufsicht aus betrachtet und Objekte, die näher
zur Kamera dieser Sicht sind, verdecken fernere Objekte.
Im Vergleich zu den anderen Konzepten repräsentiert die Minimap die 3D-Szene als
zweidimensionales Abbild in Form einer Draufsicht. Dies gibt einen Überblick über
die Szene und die eigene Position in der Szene. Ein Rückschluss auf die Blickrichtung
ist nur in zwei Dimensionen gegeben. Die anderen Konzepte können hingegen
mehrere Ansichten darstellen und bieten daher ein breiteres Spektrum an Möglichkeiten.
Der Grad der Interaktivität ist beim ViewCube aufgrund der Interaktionsflächen sehr
hoch. Ebenso ist das Konzept der SSWIM durch das Zoomen und Scrollen zur
Sichtanpassung durch eine hohe Interaktivität gekennzeichnet. Eingeschränktere
Interaktionsmöglichkeiten bietet die Minimap. Der Anwender hat damit lediglich
Einfluss auf den dargestellten Ausschnitt und ggf. vordefinierte Landmarken zum
Ansteuern. Das Raster dient lediglich zur Orientierung und unterstützt die
Navigation nur passiv. Das Raster kann bei der Positionierung von Objekten unterstützend und führend wirken.
44
SYNTHESE
Die intuitive Lesbarkeit beziehungsweise Erkennbarkeit ist von den technischen
Möglichkeiten beziehungsweise Gegebenheiten abhängig und wird daher nur
beiläufig betrachtet. Dem WIM-Konzept wurde eine mittlere Lesbarkeit attestiert, da
es durch die Größe, die es auf dem Bildschirm einnimmt, den Rest der 3D-Szene
verdeckt. Die Positionierung des WIM neben die Szene verkleinert wiederum den
Darstellungsbereich der 3D-Szene. Das SSWIM-Konzept löst die Defizite des WIMKonzepts durch Zoomen und Scrollen, dadurch sind Detailansichten bestimmter
Bereiche auch im SSWIM möglich.
Die Lesbarkeit der Minimap ist gut, da dieses Verfahren dem Kartenlesen aus der
Realität nachempfunden ist und dadurch einen Bezug zu dieser herstellt.
Verschiedene Zoomstufen der Minimap unterstützen die Lesbarkeit und die Betrachtung von bestimmten Regionen der abgebildeten Szene ist möglich.
Beim Konzept des ViewCube wurde die Lesbarkeit ebenfalls als gut identifiziert, da
die Beschriftung der einzelnen Seiten eine eindeutige Zuordnung ermöglicht und bei
niedrigen Auflösungen des Viewer-Fensters dennoch lesbar ist. Die intuitiven
Rückschlüsse auf die Betrachtungsrichtung sind durch die bekannte Würfelform und
die beschrifteten Seiten eindeutig.
Ein flächiges Raster ist auch in räumlichen Umgebungen greifbar und verstärkt
durch die Fluchten von parallelen Linien den Tiefeneindruck. Die Nutzung von 3DRastern ist nur bedingt sinnvoll, da diese die Szene durch eine geringe Rasterweite
unnötigerweise verdecken. In frontalen Ansichten sind sie nicht mehr als 3D-Raster
erkennbar, sondern reduzieren sich auf ein 2D-Raster. Die Dreidimensionalität eines
3D-Rasters wird erst durch die Bewegung des Rasters beziehungsweise durch eine
Drehung um das Raster herum erkennbar.
Die Orientierungshilfen unterscheiden sich ebenfalls in der Positionierung und dem
Informationsgewinn, den sie mit sich führen (vgl. [Henzen 2009]). Die folgende
Tabelle gibt Aufschluss über die Positionierung, ob direkt im Objekt, über der Szene
oder als eigenständiges Element neben der Szene. Welche Informationen über die
Szene, die Objekte und den eigenen Standpunkt lassen sich von ihnen ablesen?
45
SYNTHESEE
Positio
onierung
im Objekt
üb
ber der
S
Szene
Inform
mation
extern
Richtung
Posittion
WIM
x
x
x
SSWIM
x
x
x
ViewCube
3D-Kompasss
x
x
Minimap
x
x
Raster
x
Koordinatenkreuz
x
Tabelle 4.2:
Absttand
x
x
x
x
x
x
Posittionierung und
d Informationen bezüglich Richtung, Positio
on und Abstan
nd
Zusammen
nfassend zeeigt sich, dass
d
alle Konzepte
K
fü
ür BiLL den
nkbar wäre
en. In
Anbetrach
ht des Konteextes und der
d Nutzung
g, die mit BiLL
B
angestrrebt wird, isst das
Konzept des
d ViewCub
be im Vergleich zu den anderen Konzepten zweckdienlicher.
Somit wird
d dieser fürr die Nutzun
ng und Auffgaben inneerhalb der A
Arbeitsumge
ebung
BiLL adapttiert und im
mplementierrt. Die Konzeption und
d Implemen
ntierung wird im
fünften Kaapitel detailliert erläuterrt.
4.2 Differen
nzierun
ng derr Menü
ü-Varia
anten
Um eine geeignete
g
M
Menü-Varian
nte für das Interaktionsskonzept zu
u finden, we
erden
die bereitss in 2.3 vorg
gestellten Menütypen
M
auf
a ihre Nuttzbarkeit im
m Hinblick au
uf die
Zielstellung
g des Kon
nzepts unteersucht. Zunächst werrden die eeinzelnen MenüM
Varianten beispielhaftt aufgeführt und ihre Ch
harakteristikka erläutert.
Ab
bbildung 4.9: Menü-Hinterg
grund-Integrattion (links); Karrteikarten-Regiister (rechts)
46
SYNTHESE
Ab
bbildung 4.10:: Pull-down-M
Menü (links); Drop-down-Me
D
enü (rechts)
Abbildun
ng 4.11: Menü als Bestandtteil der Erzählfo
orm (links); Rad
dial-Menü (recchts)
Um zu entscheeiden, welch
hes Menü sich zur Umsetzung
U
des Konzep
pts eignet,
den verschieedene Kriterrien zur Beu
urteilung au
ufgestellt. Vo
on vornhereein können
werd
die Menü-Varian
M
nten Menü--Hintergrund-Integratio
on und Men
nü als Bestaandteil der
Erzäh
hlform zur Realisierung
g des Interaaktionskonze
epts ausgesschlossen w
werden. Die
erste Variante eignet sich faast ausschlieeßlich für flä
ächige Interaaktionsoberfflächen. Da
diesees Menü in
n den Hinttergrund in
ntegriert ist, ist der Einsatz
E
in räumlichen
Umgebungen nicht geeigneet.
Die Variante,
V
daas Menü alss Bestandteil der Erzähllform zu inttegrieren, isst beispielsweisee bei gefüh
hrten Touren beziehungsweise bei einer geleeiteten Navigation von
Vorteeil. Dadurch
h wird die eigentliche Navigation durch texttuelle Elemeente unterstützt. Die Zielsteellung dieser Arbeit sieh
ht dies nichtt vor.
47
SYNTHESE
Navigationswege
kurz
mittel
Elementanzahl
lang
1-10
x
Radial-Menü
Repräsentation
10+
textuell
grafisch
x
x
x
Pull-down
x
x
x
Drop-down
x
x
x
x
x
x
Karteikarten-Register
Tabelle 4.3:
Kriterien zur Beurteilung der Menü-Varianten
Die Länge der Navigationswege, die der Nutzer mit dem Mauszeiger oder einem
anderen Eingabegerät, im Fall eines Multi-touch-Displays die Hand des Nutzers,
zurücklegen muss, um seine Aufgabe effektiv zu erledigen, ist von entscheidender
Bedeutung für die Gestaltung von Benutzeroberflächen. Ein Radial-Menü ordnet alle
Elemente im gleichen Abstand um den Mittelpunkt eines Kreises an. Dies bewirkt,
dass die Wege zwischen dem Punkt des Aufrufs und den Elementen gleich sind.
Durch die kompakte Form sind diese Wege zudem auch kurz, was Vorteile für den
Einsatz im Multi-touch-Bereich bietet (vgl. [Callahan et al. 1988]).
Die Navigationswege beim Pull-down- und beim Drop-down-Menü sind unterschiedlich lang und erhöhen sich mit der Anzahl der Elemente, die im Menü
angeordnet sind. Das Karteikarten-Register bietet auf kompakte Art und Weise
Zugang zu den Menü-Elementen, jedoch sind die Navigationswege durch die feste
Position des Menüs lang. Die Anzahl der Elemente, die ein Radial-Menü beinhalten
kann, ist durch die Anordnung beschränkt. Eine Lösung hierfür ist eine hierarchische
Gliederung der Elemente.
Anordnung
Position
hierarchisch
heterarchisch
dynamis
ch
Radial-Menü
x
x
x
Pull-down
x
x
x
Drop-down
x
x
x
KarteikartenRegister
Tabelle 4.4:
x
fest
x
Anordnung der Elemente und Position des Menüs
Eine geringe Anzahl an Menü-Elementen trägt zur Übersichtlichkeit und schnellen
Erfassung der abgebildeten Elemente bei. Ein Pull-down-Menü kann wesentlich
mehr Elemente aufnehmen, die Zeit zum Auffinden von Menü-Elementen steigt
ebenfalls. Das Gleiche gilt für das Karteikarten-Register. Eine hierarchische Menü48
SYNTHESE
Struktur wird vom Radial-Menü, vom Pull-down- und vom Drop-down-Menü
unterstützt. Das Karteikarten-Register bietet diese Möglichkeit nicht.
Die einzelnen Elemente innerhalb eines Menüs können entweder durch reinen Text
oder Bilder repräsentiert werden oder durch eine Kombination aus beiden. Das
Radial-Menü eignet sich, um beides darzustellen. Die anderen Menü-Varianten
repräsentieren die Menü-Elemente meist nur textuell. Die Position, an der das Menü
eingeblendet wird, ist das letzte Kriterium bei der Analyse der verschiedenen MenüVarianten. Entweder wird das Menü kontextbezogen eingeblendet oder es ist dauerhaft fest an einer Position verankert.
Nach der Analyse der Menü-Varianten anhand der beschriebenen Kriterien zeichnet
sich das Radial-Menü als geeignete Variante zur Umsetzung des Interaktionskonzepts ab. Es ermöglicht die grafische sowie textuelle Präsentation, die
hierarchische Ordnung von Menü-Elementen und bewirkt ein schnelles Arbeiten
durch kurze Interaktionswege. Ein weiterer, bisher noch nicht untersuchter positiver
Punkt bei der Verwendung eines Radial-Menüs ist seine kontextbezogene
Aktivierung beziehungsweise Einblendung. Dabei werden die Hintergrundelemente
nur für den Zeitraum der Aktivierung des Menüs verdeckt. Gleichzeitig erhöht dies
den Fokus auf das Menü.
4.3 Analyse vorhandener 3D-Widgets
Zur Analyse der vorhandenen 3D-Widgets wird ein für diese Arbeit wichtiger Teil
genauer untersucht. Eine sehr umfangreiche Kategorisierung und Untersuchung von
Widgets wurde bereits von DACHSELT vorgenommen (vgl. [Dachselt 2004]). Anhand
dieser werden die zu untersuchenden Widgets ausgewählt, die für die Umsetzung
der Interaktionskomponente notwendig sind. Die wesentlichen Widgets gliedern
sich in die Kategorien der direkten 3D-Objektinteraktion, der Manipulation der 3DSzene und der Anwendungskontrolle.
Direkte 3D-Objektinteraktion
Darunter zählen alle Verfahren, die eine direkte Manipulation an Objekten einer 3DSzene
vornehmen
(vgl.
[Dachselt
2004]).
Dazu
gehören
selektive
sowie
objektgeometrieverändernde Verfahren, die mittels eines Hilfsobjekts (gizmo)
arbeiten. Bereits etablierte Widgets sind das Rotations-, das Skalierungs- und das
Verschiebungs-Widget.
Diese finden sich in Modellierungswerkzeugen wie Autodesk 3ds Max, Maya,
Maxon Cinema4D und Blender. Derartige Widgets helfen dem Anwender bei der
Interaktion mit Objekten in einer 3D-Szene, indem sie ein Hilfsobjekt repräsentieren,
welches als Mittler zwischen den 2D-Interaktionen des Eingabegeräts und der
Manipulation am 3D-Objekt dient. Dadurch werden komplexe Objekte auf ein
49
SYNTHESE
einfaches Hilfsobjekt reduziert, mit dem der Nutzer interagiert. Die Änderungen am
Hilfsobjekt werden direkt auf das komplexe Objekt übertragen und der Anwender
erhält sofort eine visuelle Rückmeldung.
Abbildung 4.12: Rotations-Widget (links); Translations-Widget (Mitte); Skalierungs-Widget (rechts)
Mit dem Mauszeiger können Teile des Widgets selektiert und verändert werden.
Beim Rotations-Widget dienen die farbigen Ringe der Selektion der Raumachse, die
als Rotationsachse dient (siehe Abbildung 4.12 (links)). Die Geometrie des Widgets
repräsentiert das daran gebundene Objekt in einer vereinfachten Form.
Mittels des Translations-Widgets können Objekte entlang der Raumachsen
verschoben werden. Je nach Selektion einer Achse und dem Verschieben mit der
Maus wird das Objekt versetzt. Die Form eines Achsenkreuzes mit Pfeilen ist die
übliche Darstellung des Widgets (siehe Abbildung 4.12 (Mitte)). Die Pfeile dienen
dabei als Angriffspunkte für die Interaktion mit einem Eingabegerät.
Das Skalierungs-Widget ähnelt im Aufbau den bereits vorgestellten Widgets. Dabei
wird wiederum eine Hilfsform um das Objekt herum gelegt: ein Quader, dessen
Ecken und Seitenflächen mit Elementen für die verschiedenen Interaktionen
versehen sind (siehe Abbildung 4.12 (rechts)). So wird durch Verschieben des
grünen Elements in der Mitte einer Seitenfläche das Objekt in die entsprechende
Richtung gedehnt beziehungsweise gestaucht, während an den Ecken eine
Skalierung über zwei oder drei Dimensionen möglich ist.
Manipulation der 3D-Szene
Dazu gehören alle Widgets, mit denen sich die Parameter der Szene verändern
lassen und solche, die den Blickpunkt beziehungsweise die Betrachterposition
manipulieren (vgl. [Dachselt 2004]). Beispiele hierfür sind Lichtquellenmanipulation,
Kameramodifikation und Sound-Veränderungen. Für diese Arbeit sind nur die
beiden ersten Veränderungsmöglichkeiten von Bedeutung. Für die Änderungen der
Kameraparameter (Position und Ausrichtung) muss nicht zwingend ein Widget
vorhanden sein, diese erfolgen direkt durch Mausbewegungen und das Drücken
einer zusätzlichen Maus-Taste. Das Wechseln zwischen verschiedenen Modi zur
Kamerasteuerung wird in Modellierungswerkzeugen durch Mausbewegungen und
50
SYNTHESE
das Drücken von Modifikationstasten der Tastatur (Strg, Alt oder Umschalttaste)
realisiert.
Welche Navigationsmetapher dabei zum Einsatz kommt, variiert je nach Anwendung. In BiLL sind bereits die Eyeball-in-hand-Metapher und zwei Ausprägungen der
Flug-Metapher integriert. Eine geführte Navigation in Form einer Kamerafahrt an
eine bestimmte Position ist noch nicht vorhanden und würde sich als Erweiterung
für BiLL eignen.
Anwendungskontrolle
Darunter fallen Widgets zur Zustandsänderung, Werteingabe-Auswahl und
Container-Widgets. Diese können eine Vielzahl an Kontrollaufgaben annehmen.
Unter anderem wird die indirekte Manipulation von Parametern darüber
bewerkstelligt. Widgets zur Anwendungskontrolle ähneln den Konzepten von 2DGUI-Elementen, sind aber nicht zwangsläufig 3D-Varianten der 2D-GUI-Widgets.
Aufgrund ihrer flexiblen Einsatzmöglichkeiten schreibt DACHSELT diesen einen
besonderen Stellenwert zu (vgl. [Dachselt 2004]).
51
SYNTHESE
52
5 Konzeption und
Implementierung
In diesem Kapitel werden anhand der im dritten Kapitel vorgestellten Methoden der
Interaktionsgestaltung die verschiedenen Konzepte zur Interaktion und Navigation
für Bildsprache LiveLab vorgestellt. Die Entwürfe werden auf Basis des Interaktionsgestaltungsprozesses nach VERPLANK und der Resultate der Synthese entwickelt.
Das Gesamtkonzept ist in drei Teile gegliedert: Interaktionskonzept, Navigationsunterstützung und Service-Architektur. Jedes Teilgebiet wird getrennt von den
anderen Bereichen betrachtet. Jedoch greifen alle drei als Gesamtlösung ineinander
über.
5.1 Entwicklung des Interaktionskonzepts
Der erste Schritt im Gestaltungsprozess nach VERPLANK ist die Motivation. Zur
Entwicklung eines Interaktionskonzepts führte die Unzulänglichkeit an Optionen
innerhalb des Viewer-Fensters, mit der Szene zu interagieren. Dem Nutzer war es
bislang nur erlaubt, die Kamera durch die Szene zu navigieren und Objekte darin zu
selektieren. Dies ist für eine interaktive Arbeitsumgebung nicht ausreichend und
erfordert ein neues Interaktionskonzept.
Nach COOPERS Methode des zielorientierten Interaktionsdesigns sind als Nutzer der
Forschungsumgebung BiLL die Entwickler des Systems selbst zu sehen. Diese
erweitern die Funktionalität der Basisanwendung im Rahmen von Diplom- und
Belegarbeiten. In der Gestaltung des Interaktionskonzepts werden sie als primäre
Nutzer des Systems angesehen und dementsprechend wird das Konzept auf sie
ausgerichtet. Die Persona, die sich daraus ergibt, wird im Folgenden Nutzer,
Anwender oder Entwickler genannt. Diese Begriffe werden äquivalent verwendet
und beschreiben den typischen Nutzer der Anwendung Bildsprache LiveLab.
Die Ziele, die sich für den Anwender formulieren, ergeben sich aus den Absichten,
die dieser im Umgang mit der Forschungsumgebung verfolgt. Die Entwicklung und
Umsetzung neuer Funktionalitäten ist das primäre Ziel. Diese Funktionalität anderen
Anwendern zugänglich zu machen, wird als sekundäres Ziel betrachtet. Als Idee zur
Repräsentation der einzelnen Plug-ins und ihrer Funktionen ergab sich die Metapher
einer Werkzeugsammlung (toolbox-container) mit verschiedenen Werkzeugkisten
(toolbox),
die
wiederum
verschiedene
Werkzeuge
(tools)
beinhalten.
Die
Werkzeugkisten stehen für die Plug-ins der Forschungsumgebung und die Werkzeuge symbolisieren die spezifischen Funktionen der Plug-ins. Die Werkzeug53
KONZEPTION UND IMPLEMENTIERUNG
sammlung ist die Verbildlichung der Verwaltungseinheit der Werkzeugkästen und
Werkzeuge.
Auf die Methoden der Gestaltung der Interaktion folgt die Konkretisierung von
Szenarios. Diese beschreiben, wie die zuvor erzeugte Metapher funktioniert. Wenn
die Forschungsumgebung BiLL gestartet ist und Plug-ins geladen wurden, sind
standardmäßig das Editor- und das Viewer-Fenster geöffnet. Im Editor-Fenster findet
der Nutzer den kompletten Funktionsumfang der geladenen Plug-ins wieder. Im
Viewer-Fenster sieht der Anwender zunächst eine 3D-Szene und die Standardelemente des Head-up-Displays.
Mittels Klicken der rechten Maus-Taste auf ein Objekt oder in den Hintergrund der
3D-Szene öffnet sich ein Menü mit einer Auswahl an Elementen, welche die
geladenen Plug-ins repräsentieren, die für das gewählte Objekt Funktionen
bereithalten. Durch die Auswahl eines Plug-ins werden dem Nutzer die zur Verfügung stehenden Funktionen angeboten. Mit einem Klick auf ein Werkzeugsymbol
wird dessen Funktionalität aktiviert. Der Nutzer ist dadurch in der Lage, Einstellungen sofort im Viewer-Fenster zu ändern, ohne in das Editor-Fenster zu wechseln.
Eine Service-Struktur verwaltet das Interaktionskonzept und stellt Funktionen und
Objekte bereit, die es dem Programmierer erlauben, neue Werkzeuge im Viewer
bereitzustellen. Die Architektur dieser Service-Struktur wird in 0 vorgestellt und
detailliert erläutert.
Anforderungsanalyse
Die für das Interaktionskonzept entwickelte Metapher ist Ausgangspunkt für die
Anforderungsanalyse. Die Selektion von Objekten funktioniert entweder über das
Editor-Fenster und den dazugehörigen Szenen-Explorer oder über das ViewerFenster. Nur über den Szenen-Explorer erhält der Nutzer ein visuelles Feedback
durch die Hervorhebung des Objektnamens. Im Viewer-Fenster bleibt das selektierte
Objekt unbeeinflusst. Für eine effektive Interaktion mit Objekten der 3D-Szene
müssen selektierte Objekte hervorgehoben werden, damit dem Anwender deutlich
wird, mit welchem Objekt er interagiert.
54
KONZEPTION UND IMPLEMENTIERUNG
Abbildung 5.1: Das Editor-Fenster von BiLL
Neben der Markierung von selektierten Elementen der 3D-Szene sind die visuellen
Repräsentationen der Plug-ins und ihre Funktionen in Form einer benutzerfreundlichen hierarchischen Menü-Variante der erste Punkt unter den nichtfunktionalen Anforderungen. Die Möglichkeit der individuellen Gestaltung der einzelnen Elemente des Menüs ist der zweite Punkt im Bereich der nicht-funktionalen
Anforderungen. Das Hinzufügen von Elementen zum Menü und die Verknüpfung
der entsprechenden Funktionalität mit dem Element im Menü sind die funktionalen
Anforderungen an das Konzept. Für die Gestaltung des Menüs ist zusätzlich wichtig,
dass dieses die Szene nicht unnötig verdeckt.
Ferner muss dem Nutzer zu jedem Zeitpunkt gezeigt werden, in welchem Modus er
sich befindet. Zwei Modi werden zunächst unterschieden: zum einen der Navigationsmodus zur freien Steuerung der Kamera und zum anderen der Manipulationsmodus zum Modifizieren von Szenenelementen.
Funktionale Anforderungen:
ƒ
Hinzufügen von Menü-Elementen (Werkzeug, Werkzeugkiste)
ƒ
Verknüpfen von Funktion und Menü-Element (Werkzeug)
ƒ
Anzeige des aktuellen Modus
55
KONZEPTION UND IMPLEMENTIERUNG
Nicht-funktionale Anforderungen:
ƒ
benutzerfreundliches Menü
ƒ
individuelle Gestaltung von Menü-Elementen
Die funktionalen Anforderungen bilden den Ausgangspunkt für den weiteren
Entwurf der softwaretechnologischen Umsetzung. Das Hinzufügen von individuellen
Menü-Elementen bietet dem Nutzer die Möglichkeit, unter noch zu definierenden
Rahmenbedingungen Menü-Elemente zu gestalten und als Menü-Element zu
nutzen. Deren Gestaltung erfolgt mittels eines 3D-Modellierungswerkzeugs.
Die Rahmenbedingungen hierfür sind die Größe der 3D-Szene und das Dateiformat.
Hierfür wurde die Größe des Objekts auf 1x1x1 generische Einheiten festgelegt. Das
Dateiformat von OpenSceneGraph (.osg) und das Austauschformat von Autodesk
(*.3ds) sind die bevorzugten Formate. Das Verknüpfen der Funktionalität mit einem
Menü-Element (Werkzeug) soll auf eine einfache Art und Weise geschehen und
durch Methoden der SceneWidgetService-Komponente vereinheitlicht werden.
Entwurf und Implementierung
Nach gründlicher Analyse der Anforderungen an das Interaktionskonzept folgen der
Entwurf und anschließend die Implementierung. Nach VERPLANK fließt in diesen
Schritt die Bedeutung der Metaphern zur Funktionsweise des Konzepts und den
generierten Szenarien ein. Das Resultat dieser Phase ist ein konkretes Modell des
Interaktionskonzepts. Ein Sequenzdiagramm zeigt den Ablauf einer Beispielhandlung eines Anwenders und verdeutlicht somit die interne Funktionsweise.
Anhand des Modells und der Anwendungsfälle werden Implementierungsdetails
erläutert.
Zunächst sind die funktionalen Kriterien der zentrale Punkt des Entwurfs. Die
Umsetzung der nicht-funktionalen Kriterien ist ein iterativer Prozess, der durch
mehrere Evaluationen ein zufriedenstellendes Ergebnis hervorbringt. Sie wird daher
in dieser Arbeit als unerheblich behandelt.
Die Anforderung an das Konzept, Menü-Elemente hinzuzufügen, ist der wichtigste
Punkt. Jeder Entwickler muss die Möglichkeit haben, Werkzeuge zu erstellen, das
heißt anderen Nutzern Funktionalitäten im Viewer-Fenster zur Verfügung zu stellen.
Der Entwickler hat durch Einbindung des SceneWidgetService Zugriff auf die
Methoden zur Erstellung von Werkzeugkisten und Werkzeugen. Durch einen
Methodenaufruf wird eine neue Werkzeugkiste erstellt, die durch die Werkzeugsammlung (toolbox-container) verwaltet wird.
Eine Werkzeugkiste wird durch einen eindeutigen Namen definiert und ist dadurch
einzigartig. Der Name (_toolboxName) wird aus dem Wort TOOLBOX, gefolgt von
56
KONZEPTION UND IMPLEMENTIERUNG
einem Bindestrich und dem Namen des Plug-ins gebildet. Die Zuordnung der Werkzeuge zur Werkzeugkiste erfolgt über diesen eindeutigen Namen.
_toolboxName = TOOLBOX-PLUGINNAME
Nachdem diese Werkzeugkiste angelegt wurde, wird über einen weiteren
Methodenaufruf des SceneWidgetService ein Werkzeug erstellt und der zuvor
erzeugten Werkzeugkiste hinzugefügt. Das Werkzeug wird ebenfalls durch einen
eindeutigen Namen identifiziert. Dieser setzt sich aus dem Wort TOOL, gefolgt von
einem Bindestrich, einer Funktionsbezeichnung, einem weiteren Bindestrich und
dem Namen des Plug-ins, zu dem dieses Werkzeug gehört, zusammen.
_toolName = TOOL-FUNKTION-PLUGINNAME
Das folgende Klassendiagramm zeigt die interne Struktur der Verwaltung der Werkzeuge und Werkzeugkisten.
Abbildung 5.2:
Klassenstruktur des Entwurfs der Toolboxen und Tools
Die Repräsentation der internen Struktur im Viewer-Fenster wird durch den
SceneWidgetService bewerkstelligt. Da jedes Plug-in eigene Werkzeuge bereitstellt,
eignet sich eine zweischichtige hierarchische Menü-Struktur zur Darstellung und
57
KONZEPTION UND IMPLEMENTIERUNG
Führung des Nutzers. Eine einschichtige Auswahl von Werkzeugen würde die
Zuordnung von Werkzeugen zu Werkzeugkisten nicht gewährleisten.
Die Menü-Struktur wird entweder mittels eines Ring-Menüs oder über eine vertikale
beziehungsweise horizontale Menü-Variante abgebildet. Aufgrund der Übersichtlichkeit und der kurzen Interaktionswege, die im vorangegangenen Kapitel beim
Vergleich verschiedener Menü-Varianten als entscheidende Kriterien aufgezeigt
wurden, liegt der Fokus bei der Entwicklung auf dem Ring-Menü.
Die erste Menü-Ebene bildet die Werkzeugkisten in Form eines Ringes ab. Die
Werkzeugkisten-Icons werden durch 3D-Icons – ein dreidimensionales Objekt in
Form einer 3D-Szene – repräsentiert, die beim Erstellen einer Werkzeugkiste
angelegt wurden. Um die zugehörigen Werkzeuge anzuzeigen, muss eine Werkzeugkiste selektiert und angeklickt werden. Um diese herum öffnet sich die zweite
Ebene, welche die dazugehörigen Werkzeuge darstellt, in Form eines Halbkreises.
Die visuelle Repräsentation erfolgt nach dem gleichen Prinzip, nach dem die Werkzeugkisten abgebildet werden.
Abbildung 5.3: Ring-Menü (links) und hierarchisches Ring-Menü mit zweiter Menü-Ebene (rechts)
Im konkreten Anwendungsfall sieht dies wie folgt aus: Der Anwender wählt mit
einem Klick der rechten Maus-Taste über dem selektierten Objekt das Kontextmenü
für die Plug-ins aus. Es öffnet sich um das Objekt herum eine Auswahl anwendbarer
Plug-ins. Je nach Kontext variiert die Anzahl der Plug-ins, die nutzbar sind. Wird zum
Beispiel auf eine Lichtquelle geklickt, erscheinen nur die Plug-ins, die Funktionalitäten bezüglich der Beleuchtung haben.
Der Anwender wählt mit einem Links-Klick auf ein Plug-in-Icon das Plug-in aus,
dessen Funktionen er benutzen will. Die von diesem bereitgestellten Funktionen
werden daraufhin um das 3D-Icon des Plug-ins herum angezeigt. Durch Links-Klick
auf ein Werkzeug-Icon wird die daran gebundene Funktionalität ausgeführt. Dieses
Anwendungsszenario beschreibt den grundlegenden Gedanken, den das Interaktionskonzept verfolgt und wie es benutzt wird.
58
KONZEPTION UND IMPLEMENTIERUNG
Diese Schritte erklären nach VERPLANKS Interaktionsgestaltungsprozess die Stufe
der Bedeutung des Konzepts, das heißt die Metapher wird mittels Szenarien erklärt
und verdeutlicht deren Sinnhaftigkeit. Die Gestaltung der 3D-Icons erfordert viel
Erfahrung, um eine verständliche Repräsentation der Werkzeuge und Steuerelemente zu entwickeln. Auf die qualitative Hochwertigkeit der 3D-Icons wird in
dieser Diplomarbeit verzichtet und stattdessen das Hauptaugenmerk auf die Interaktion gelegt.
Das
folgende
Sequenzdiagramm
veranschaulicht
den
eben
erläuterten
Anwendungsfall und zeigt die Kommunikation zwischen den einzelnen Komponenten.
Nutzer
BiLL
SceneWidgetService
ToolboxContainer
right click
event click right
add menu to scene
create menu
for all plugins
show menu
select toolbox
event selected node
add submenu to scene
create submenu
for selected toolbox
show submenu
select tool
event selected node
event selected tool
execute function of tool
Abbildung 5.4: Sequenzdiagramm eines Anwendungsfalls
Je nach Aufgabe oder Absicht, die der Anwender verfolgt, muss zwischen
verschiedenen Modi gewechselt werden. Der Anwender muss zwischen Navigationsund Manipulationsmodus wechseln können. Die Notwendigkeit dieser Trennung
von Navigation und Manipulation wird durch die vorhandenen Eingabegeräte
bestimmt. Beide Handlungen werden durch Bewegungen der Maus in Kombination
mit dem Drücken einer der Maus-Tasten bewirkt.
Somit ist eine Möglichkeit, dies zu differenzieren, die Einführung zweier Interaktionsmodi: Der eine Modus ist der Standardmodus und dient der Navigation
59
KONZEPTION UND IMPLEMENTIERUNG
innerhalb der 3D-Szene. Durch Umschalten in den Manipulationsmodus wird die
freie Navigation in der Szene unterbunden und die Modifikation von Objekten und
Widgets wird gestattet. Zur visuellen Kennzeichnung des aktuellen Modus wird die
Hintergrundfarbe der Szene entsprechend geändert. Der Wechsel zwischen beiden
Modi erfolgt durch das Drücken der Tabulator-Taste. Da diese noch nicht von bereits
entwickelten Plug-ins benutzt wird, wird sie als Schalter zwischen den Modi
fungieren.
Aufbau eines 3D-Icons für BiLL
Die 3D-Icons, die im Menü zur Abbildung der Werkzeugkisten und Werkzeuge
benutzt werden, sind kleine 3D-Szenen, die ein einzelnes Objekt – das 3D-Icon –
enthalten. Das 3D-Icon wird beim Erstellen einer Toolbox beziehungsweise eines
Tools in Form einer Pfadangabe für die entsprechende Datei übergeben und
referenziert.
Für die Gestaltung eines 3D-Icons sind Richtlinien beziehungsweise Gestaltungsvorgaben einzuhalten, um die Einheitlichkeit der 3D-Icons innerhalb der Anwendung
BiLL zu wahren. Folgende Merkmale sind dabei von den Entwicklern zu beachten:
Merkmal
Wert
Dateiformat
3ds; osg
Dimension
1x1x1 generische Einheiten
Textur der Toolbox
grau: (158,158,158)
magenta: (226,18,106)
Textur der Tool
grau: (158,158,158)
blau: (25,70,144)
Form
radial
Tabelle 5.1:
Merkmale und Werte für die Tools und Toolboxen
Der Entwickler muss ein 3D-Icon im Dateiformat *.3ds oder im OpenSceneGrapheigenen Format *.osg zur Verfügung stellen. Beim Erstellen mit gängigen 3DModellierungswerkzeugen ist darauf zu achten, dass generische Einheiten
verwendet werden und dass 3D-Icons die Ausmaße einer Einheit in allen drei
Dimensionen nicht überschreiten. Hierfür wurde eine Beispieldatei als Ressource
erstellt, die den Entwicklern zur freien Verfügung steht.
Die Überarbeitung der Standard-Elemente (HUD-Elemente), die im Viewer sichtbar
sind, ist ebenfalls Bestandteil des Konzepts. Die HUD-Elemente basieren auf einer
ähnlichen Struktur wie die Werkzeuge, jedoch sind sie fest am oberen Rand des
60
KONZEPTION UND IMPLEMENTIERUNG
Viewer-Fensters verankert. Im visuellen Erscheinungsbild unterscheiden sie sich
durch eine quadratische Form von den Werkzeug-Icons. Ferner ist für Entwickler das
Hinzufügen von neuen HUD-Elementen möglich. Somit werden die Standardfunktionen des Viewers erweitert. Die farbliche Gestaltung der HUD-Elemente ist an
das Gestaltungskonzept der Basisanwendung angelehnt und passt sich dadurch in
das Gesamterscheinungsbild ein. In Tabelle 5.2 sind die entwickelten 3D-Icons
abgebildet, die für das Interaktionskonzept benutzt wurden.
HUD-Elemente
Vollbild
Schließen
Light-Plug-in
EPK-Plug-in
Vorlage
Rotieren
Editor-Fenster
Toolboxen
Tools
Tabelle 5.2:
Translation
Übersicht der entwickelten HUD-Elemente und 3D-Icons
Das 3D-Icon des Beleuchtungs-Plug-ins symbolisiert eine Glühbirne und deutet
darauf hin, dass es sich um eine Werkzeugkiste zur Modifikation von Lichtquellen
handelt. Für das bereits vorhandene Plug-in zur Korrektur perspektivischer Verzerrungen ist ein 3D-Icon entwickelt worden, welches die Objektdeformation darstellt,
die durch einen hohen Öffnungswinkel der Kamera hervorgerufen wird. Die 3DIcons für das Rotations-Werkzeug und das Verschieben-Werkzeug sind äquivalent zu
bereits etablierten Icons in 3D-Modellierungswerkzeugen gestaltet.
61
KONZEPTION UND IMPLEMENTIERUNG
5.2 Konzeption der
Navigationsunterstützung
Die Visualisierung abstrakter Daten im dreidimensionalen Raum erschafft eine uns
fremde Umgebung ohne jegliche Bezugspunkte zur Lokalisierung von oben, unten,
vorn, hinten, rechts und links. Um dieser Desorientierung Abhilfe zu schaffen, wird
ein Widget für die Forschungsumgebung Bildsprache LiveLab bereitgestellt, das zum
einen die Erfassung der momentanen Blickrichtung erleichtert und zum anderen
einen schnellen Wechsel zwischen verschiedenen Sichten erlaubt.
Anforderungsanalyse
Ähnlich der Anforderungsanalyse des Interaktionskonzepts vollzieht sich der Prozess
beim Konzipieren der Navigationsunterstützung. Ausgangspunkt der Analyse ist der
Orientierungsverlust in abstrakten Abbildungen von dreidimensionalen Informationsräumen. Die Frage, die sich stellt, ist folgende: Wie kann man den Nutzer mit einem
bekannten Objekt oder Verhalten helfen, sich in einer fremden Umgebung zu
orientieren?
Durch das Bewegen der virtuellen Kamera werden Objektrelationen innerhalb der
Szene wahrgenommen und Tiefeninformationen leiten sich durch die relative
Bewegung der Objekte zueinander ab (Bewegungsparallaxe). Dadurch erhält der
Nutzer eine Vorstellung vom Aufbau der Szene. Jedoch beinhalten abstrakte Szenen
meist keine visuellen Bezugssysteme. Die Erfassung von Richtungen wie oben oder
unten ist somit nicht gegeben.
Die Navigationsunterstützung muss folgende funktionalen sowie nicht-funktionalen
Anforderungen erfüllen:
Funktionale Anforderungen:
ƒ
Betrachtungsrichtungsrepräsentation in Echtzeit
ƒ
Wechsel zwischen verschiedenen Sichten
ƒ
geführter Sichtwechsel
Nicht-funktionale Anforderungen:
ƒ
Benutzerfreundlichkeit
ƒ
Individualisierbarkeit
ƒ
Vermeidung von Sichteinschränkungen
Anhand der aufgestellten Anforderungen an das Navigationskonzept und der
bereits im dritten Kapitel vorgestellten Orientierungs- und Navigationshilfen wird im
Folgenden das Konzept für BiLL konkretisiert und seine Implementierung erläutert.
62
KONZEPTION UND IMPLEMENTIERUNG
Entwurf und Implementierung
Aufbauend auf dem von Autodesk Research entwickelten ViewCube wird der
sogenannte Navigationswürfel (NaviCube) als Navigations- und Orientierungshilfe
für die Forschungsumgebung Bildsprache LiveLab vorgestellt. Der Grundgedanke
dafür ist die Einführung einer Miniaturvorschau. Diese zeigt die derzeitig geladene
Szene in der linken oberen Ecke des Viewer-Fensters aus der aktuellen Blickrichtung
an. Jedoch erweist sich diese verkleinerte Vorschau als nachteilig bei großen Szenen
und abstrakten Darstellungen. Sehr große und abstrakte Szenen sind nicht klar
erkennbar (vgl. Abbildung 5.5) und Rückschlüsse auf die Betrachtungsrichtung
lassen sich in abstrakten Szenen nur schwer ziehen, wie sich in Abbildung 5.5 zeigt.
Abbildung 5.5:
Stadtszene mit WIM oben links (links), abstrakte Szene mit WIM oben links (rechts)
Vielmehr wirkt die verkleinerte Vorschau als Bestandteil der Szene und grenzt sich
nicht von ihr ab. Eine farbige Hinterlegung der Miniatur würde diese von der
eigentlichen Szene abgrenzen, aber die nicht-funktionale Anforderung der
Vermeidung
der
Sichteinschränkung
ist
dadurch
nicht
gewährleistet.
Die
Navigationsunterstützung wird somit nur minimal erweitert.
Ein abstrahiertes Element wie eine Windrose, die auf Landkarten zu finden ist, bietet
das Potenzial, die Anforderungen umzusetzen. Diese meist aufwändig verzierten
Illustrationen der Himmelsrichtungen geben auf antiken Karten Aufschluss über die
Lage des abgebildeten Gebiets.
63
KONZEPTION UND IMPLEMENTIERUNG
Abbildung 5.6: Tabvla geograregni Congo 1598 [University of Florida 1598]
Diese bewährte Methode zur Orientierung auf zweidimensionalen Darstellungen
von Landschaften ist auch in virtuellen Räumen anwendbar. Jedoch ist eine direkte
Konvertierung ins dreidimensional Virtuelle nicht möglich, sondern bedarf eines
Zwischenschritts. Dieser beschreibt die Erweiterung um eine dritte Dimension. Die
Reduktion der Windrose auf eine quadratische Fläche mit vier Unterteilungen dient
als Zwischenschritt zum Erreichen der Dreidimensionalität.
Abbildung 5.7: (1) Windrose, (2) reduzierte Windrose, (3) Grundkörper des NaviCube
Diese Fläche wird im nächsten Schritt zu einem Kubus (Grundform des NaviCube)
herausgetragen. Durch die drei Dimensionen werden die Himmelsrichtungen
obsolet. Für eine Beschriftung der Seiten des Würfels eignen sich bekannte Bezeichnungen wie links, rechts, oben, unten, hinten und vorn. Mit diesen Begriffen ist der
Nutzer aus der realen Welt vertraut und eine Zuordnung zu den Ansichten ist
gegeben.
64
KONZEPTION UND IMPLEMENTIERUNG
Wie die Windrose der Positionsbestimmung dient, so wird der NaviCube die
Betrachtungsrichtung wiedergeben. Der NaviCube ist nicht nur hilfreich zur
Bestimmung der Betrachtungsrichtung, vielmehr werden über ihn vordefinierte
Ansichten angesteuert. Dazu wird der Grundkörper in 26 Teile unterteilt.
Abbildung 5.8: In 26 Elemente unterteilter Würfel
Jede Seite des Kubus besitzt ein zentrales Element welches die jeweilige Frontalsicht
auf diese Seite darstellt (Flächenelemente). Des Weiteren werden zwei benachbarte
Seiten jeweils durch ein Element verbunden (Kantenelemente). Drei aneinandergrenzende Seiten bilden die dritte Kategorie von Elemente (Eckenelemente).
Abbildung 5.9:
(links) Seitenelemente des Würfels, (Mitte) Kantenelemente des Würfels, (rechts)
Eckenelemente des Würfels
Die so entstandenen Elemente sind Interaktionselemente, die beim Klicken mit der
Maus aktiviert werden und die aktuelle Sicht des Nutzers verändern. Jedes Element
des Würfels repräsentiert eine vordefinierte Betrachtungsrichtung. Diese Sichten sind
so bestimmt, dass die Kamera senkrecht auf die Flächen, Kanten oder Ecken blickt.
Durch Klicken mit der Maus auf eines der Elemente wird die Kamera der virtuellen
Szene an diese Position geschwenkt. Diese Bewegung geschieht nicht abrupt,
sondern wird durch einen Übergang in Form einer Kamerafahrt vollzogen.
65
KONZEPTION UND IMPLEMENTIERUNG
Abbildung 5.10: Kamerafahrt entlang eines Kreisbogens
Der Entwurf der Navigationsunterstützung spiegelt das Konzept der von GROH
beschriebenen datenbildkonformen Interaktion wider (vgl. [Groh 2005]), das heißt
die Szenenstruktur und ihre Geometrie bleiben erhalten, nur die Sicht auf diese
ändert sich. Das Ergebnis des Entwurfs ist ein texturierter Würfel mit unterschiedlich
eingefärbten und beschrifteten Elementen:
Abbildung 5.11: Texturiertes Modell des NaviCube für BiLL
Die farbliche Absetzung der einzelnen Elemente dient der Differenzierung und
erleichtert die Auswahl eines bestimmten Elements des Würfels. Die Beschriftungen
der zentralen Elemente der Seitenflächen des NaviCube dienen der Orientierung und
zeigen dem Nutzer, auf welche Seite des Modells die virtuelle Kamera schaut.
Darüber hinaus ist der Nutzer in der Lage, bestimmte Sichten zu speichern. So sind
interessante Blickwinkel in einer Art Sichtensammlung gespeichert und können zu
einem späteren Zeitpunkt wieder abgerufen werden, ähnlich einem bildhaften
Gedächtnis. Zur besseren Wiederauffindbarkeit sind die Sichten in Form eines
kleinen Bildes (Screenshot) neben den HUD-Elementen visualisiert.
66
KONZEPTION UND IMPLEMENTIERUNG
Die Umsetzung des NaviCube-Konzepts in der Forschungsumgebung Bildsprache
LiveLab erfolgte in Anlehnung an die Ergebnisse von Autodesk Research (vgl. [Azam
Khan 2008]). Hierzu wurde ein 3D-Modell eines Würfels angefertigt. Dieser Würfel
besteht aus 26 einzelnen Objekten. Jedes dieser Objekte ist mit einem eindeutigen
Namen bezeichnet. Anhand des eindeutigen Namens ist jedes Element direkt
ansprechbar.
Der speziell für dieses Widget entwickelte NaviCubeEventHandler ruft für jedes
Element die daran gebundene Funktion auf. Das heißt, Funktionen sind an die
eindeutigen Bezeichnungen der NaviCube-Elemente geknüpft und können dadurch
identifiziert und aufgerufen werden. Der NaviCubeEventHandler erbt von der Klasse
EventHandler des Frameworks OpenSceneGraph, diese kann auf verschiedene
Ereignisse wie Maus-Ereignisse, Render-Ereignisse oder Tastatureingaben im ViewerFenster reagieren.
Die für den EventHandler des NaviCube wichtigen Ereignisse sind zum einen die
Maus-Eingaben des Nutzers zum Aktivieren einer bestimmten Sicht und das FrameEreignis zum Bewegen der Kamera an die gewählte Position. Das folgende
Sequenzdiagramm verdeutlicht die Kommunikation zwischen den einzelnen Komponenten, die bei der Interaktion des Nutzers mit dem NaviCube beteiligt sind.
Nutzer
SceneWidgetEventHandler
NaviCubeEventhandler
BiLL
click Left on NaviCube
WidgetEvent click Left
set steps to
move camera
move camera
WidgetEvent click Left
move camera
one step
each frame
Abbildung 5.12: Sequenzdiagramm für die Navigation mit dem NaviCube
Mit Hilfe eines modifizierten CameraCallback des OpenSceneGraph-Framework wird
die Betrachtungsrichtung des NaviCube mit der Hauptsicht des Viewer-Fensters
synchronisiert. Durch diese beiden Mechanismen kann entweder mit dem NaviCube
navigiert werden oder mit der Standardnavigation im Viewer-Fenster.
Der NaviCube ist Bestandteil des erweiterten Head-up-Display (Arbeitstitel:
AdvancedHUD). Die Einstellmöglichkeiten für diese befinden sich in Form eines
neuen Reiters im Editor-Fenster. Darüber sind verschiedene Änderungen von
67
KONZEPTION UND IMPLEMENTIERUNG
Parametern des NaviCube möglich. Transparenz, Größe und Abstand zwischen
Kamera und 3D-Szene sind stufenweise einstellbar. Die Geschwindigkeit der
Kameradrehung zu vordefinierten Sichten ist ebenfalls einstellbar.
Damit das vorgestellte Interaktionskonzept und die eben vorgestellte Navigationsunterstützung umgesetzt werden können, wird im Folgenden die verbindende
Service-Architektur entwickelt und ihre Implementierung beschrieben.
5.3 Entwicklung der Service-Architektur
Die Service-Architektur SceneWidgetService stellt das zentrale Bindeglied zwischen
den Plug-ins und der Darstellung und Interaktivität im Viewer-Fenster dar. Sie bildet
auch die Grundlage für die Umsetzung des NaviCube. Für den Entwurf der ServiceStruktur werden anhand der vorangegangenen Entwürfe von Navigations- und
Interaktionskonzept die Anforderungen an die Service-Architektur analysiert. Daran
schließen sich der Entwurf und die Implementierung des Service in die bestehende
Anwendung an.
Anforderungsanalyse
Wie bereits in 5.1 und 5.2 wurden für das Interaktionskonzept und die
Navigationsunterstützung funktionale Anforderungen analysiert, die von der ServiceArchitektur erfüllt werden müssen. Diese stellt die Schnittstelle zwischen den Plugins und den Interaktionskonzept dar. Die dafür aufgestellten funktionalen Anforderungen sind:
Funktionale Anforderungen:
ƒ
Vereinheitlichung der Werkzeugauswahl
ƒ
Bereitstellen von Manipulationsobjekten
ƒ
Verwaltung von Toolboxen und Tools
ƒ
Verwaltung des Ereignissystems für Werkzeuge und Widgets
Der Service, der von dieser Architektur bereitgestellt wird, umfasst Funktionen zur
Erstellung von Werkzeugkisten (Toolboxen) und Werkzeugen (Tools) sowie
individuell gestaltbaren Widgets. Die Darstellung im Viewer-Fenster und das
Interaktionsmanagement sind ebenfalls Aufgabe des SceneWidgetService. Wenn ein
Entwickler Funktionalität im Viewer-Fenster anbieten möchte, muss dies auf einem
einfachen und schnellen sowie verständlichen Weg geschehen.
68
KONZEPTION UND IMPLEMENTIERUNG
Während der Laufzeit von BiLL müssen neu hinzugefügte Plug-ins in der Lage sein,
ihre Funktionalität sofort zur Verfügung zu stellen. Des Weiteren muss eine
Benachrichtigung an beteiligte Plug-ins gesendet werden, wenn ein Ereignis
ausgelöst wird, welches im Zusammenhang mit den Toolboxen und den Tools sowie
den Widgets steht.
Die Bereitstellung vordefinierter Manipulations-Widgets (Dragger) zum Verschieben,
Rotieren und Skalieren von Objekten gehört ebenfalls in das Repertoire an
Funktionalitäten des SceneWidgetService. Zukünftige Erweiterungen müssen auf
diese Sammlung an Manipulations-Widgets zugreifen können und sie für eigene
Entwicklungen nutzen. Diese Dragger sind den aus Modellierungswerkzeugen
bekannten Widgets nachempfunden (vgl. Abbildung 4.12: Rotations-Widget
(links); Translations-Widget (Mitte); Skalierungs-Widget (rechts)) und erhöhen den
Wiedererkennungswert. Individuelle Anpassungen sind denkbar und erhöhen deren
flexiblen Einsatz.
Entwurf
Die zuvor aufgestellten Anforderungen werden nun im Entwurf mit Hilfe von
Klassendiagrammen
konkretisiert.
Dadurch
werden
der
Aufbau
und
die
Funktionsweise der SceneWidgetService-Komponenten verdeutlicht. Ein kurzer
Einblick in die Implementierung zeigt die Funktionsprinzipien der Software-Komponente.
Das
folgende
Klassendiagramm
zeigt
die
wesentlichsten
Klassen
der
SceneWidgetService-Struktur. Die Service-Struktur wurde in Form eines Plug-ins
realisiert. Dieses wird über den BundleAdmin von BiLL während der Laufzeit
hinzugefügt und gestartet. Die Klasse SceneWidget ist für den Start des Plug-ins
zuständig und initialisiert den SceneWidgetService. Nachdem dieser aktiv ist, wird
die Klasse ToolboxContainer erstellt, um neue Werkzeugkisten aufzunehmen.
Der SceneWidgetEventHandler wird als nächstes gestartet, um Ereignisse seitens des
SceneWidgetService und des Viewer-Fensters zu registrieren und weiterzuleiten.
Nachdem alle Basiselemente gestartet wurden, ist das Plug-in bereit, durch andere
Plug-ins Werkzeugkisten, Werkzeuge und Widgets zu erstellen und zu verwalten.
Das
Entfernen
der
eben
genannten
Elemente
wird
ebenfalls
über
den
SceneWidgetService sichergestellt. Dabei wird immer auf einen konsistenten
Szenengraph geachtet sowie darauf, dass dieser in der Struktur durch das Entfernen
von Elementen nicht „zerbricht“, das heißt inkonsistent wird, und für die RenderEngine nicht mehr lesbar beziehungsweise interpretierbar ist.
69
KONZEPTION UND IMPLEMENTIERUNG
Abbildung 5.13: Klassendiagramm des SceneWidgetService
70
KONZEPTION UND IMPLEMENTIERUNG
Nachdem dies gestartet wurde, steht ein SceneWidgetService zur Verfügung, der
Methoden zur Erstellung von Widgets, Werkzeugen und Werkzeugkisten anbietet.
Bill::SceneWidget::Widget* createWidget(const std::string& name, std::string
fileNameForGeometry);
Bill::SceneWidget::Widget* createWidget(const std::string& name, std::string
fileNameForGeometry, osg::ref_ptr<osgGA::GUIEventHandler>
eventHandler);
void removeWidget(const std::string& name);
Bill::SceneWidget::Widget* getWidgetByName(const std::string& name);
Bill::SceneWidget::Toolbox* addToolbox(const std::string& name, const std::string&
fileNameForGeometry);
void removeToolbox(const std::string& name);
Bill::SceneWidget::Tool* addToolToToolbox(const std::string& toolName, const
std::string& toolboxName, const std::string& fileNameForGeometry);
void removeToolFromToolbox(const std::string& toolName, const std::string&
toolboxName);
Bill::SceneWidget::ToolboxContainer* getToolboxContainer();
Code 5-A:
Methoden des SceneWidgetService
Des Weiteren registriert der Service Ereignisse und verteilt diese über das
Ereignissystem von POCO. Plug-ins, die sich an der Ereignisverwaltung WidgetEvents
registriert haben, werden darüber informiert und erhalten ein Ereignisobjekt
WidgetEvent mit Informationen bezüglich Name und Art des Ereignisses. Darüber
hinaus ist darin die Maus-Position gespeichert, an der das Ereignis im Viewer-Fenster
ausgelöst wurde. Der SceneWidgetEventHandler ist die zentrale Einheit, welche die
Ereignisse auslöst und an die Ereignisverwaltung übermittelt.
Für die Erstellung neuer Werkzeugkisten stellt der SceneWidgetService eine
Methode bereit, die ein Objekt der Klasse Toolbox erzeugt und in die Werkzeugkistenverwaltung ToolboxContainer einfügt. Ähnlich vollzieht sich die Erstellung
eines neuen Werkzeugs. Dieses wird nicht in die Werkzeugkistenverwaltung eingefügt, sondern direkt an die entsprechende Werkzeugkiste gebunden.
71
72
6 Ergebnisse
Die Umsetzung des Interaktionskonzepts brachte auf der einen Seite eine
Schnittstelle für Entwickler hervor und auf der anderen ein über das Viewer-Fenster
aufrufbares Menü zur Wahl eines bestimmten Werkzeugs. Zukünftige Entwickler der
Forschungsumgebung BiLL haben dadurch die Möglichkeit, ihre zuvor bereitgestellten Funktionalitäten direkt im Viewer-Fenster verfügbar zu machen. Die
Resultate der einzelnen Umsetzungen werden an dieser Stelle überblicksartig
resümiert.
Das Interaktionskonzept
Exemplarisch wurde dies für das Beleuchtungs-Plug-in umgesetzt und durch eine
Dokumentation schrittweise erklärt. Nachdem das Plug-in zur Steuerung der
Beleuchtung und zum Hinzufügen von Lichtquellen geladen wurde, sind im ViewerFenster zwei Funktionen auswählbar. Jede Lichtquelle ist durch Aktivieren der
Translation in der Szene mittels eines Translations-Widgets frei verschiebbar entlang
der drei Raumachsen.
Die Rotation von Lichtquellen ist durch Aktivieren des Rotationsmodus möglich.
Dabei sind sowohl Rotationen um die Raumachsen als auch freie Rotationen
ausführbar. Die Unterstützung erfolgt hierbei durch ein Rotations-Widget. Ferner
wurde eine Sammlung an Dragger-Elementen angelegt, die für andere Entwickler
zur Umsetzung ihrer Ziele bereitsteht. Am Beispiel des Plug-ins zur Beleuchtungssteuerung wird gezeigt, wie mit Hilfe der SceneWidgetService-Architektur die
Einbindung in das Viewer-Fenster erfolgt.
Zunächst erfolgt die Registrierung der Klasse TabLighting des Plug-ins am
SceneWidgetService.
_pService = pContext->registry().findByName(
"de.tudresden.bill.SceneWidgetService");
_pSceneWidgetService = _pService->castedInstance<SceneWidgetService>();
Code 6-A:
Registrierung am SceneWidgetService
Anschließend erfolgt die Erstellung einer Werkzeugkiste durch die Methode
addToolbox
des
SceneWidgetService.
Mit
dieser
werden
der
Name
der
Werkzeugkiste und der Pfad zur Datei des 3D-Icons für die Repräsentation des LichtPlug-ins im Viewer-Fenster übergeben.
lightPlugin = _pSceneWidgetService->addToolbox("TOOLBOX-LIGHT",
"resources/SceneWidget/roundIcons/lightPlugin.osg");
73
ERGEBNISSE
Code 6-B:
Erstellung der Werkzeugkiste
Daraufhin werden der eben erstellten Werkzeugkiste die Werkzeuge hinzugefügt.
Die Methode addToolToToolbox erstellt diese und bindet sie gleichzeitig an die
Werkzeugkiste.
_translateDraggerWidget = _pSceneWidgetService->addToolToToolbox("TOOL-TRANSLATELIGHT", "TOOLBOX-LIGHT",
"resources/SceneWidget/roundIcons/translateLight.osg");
_rotateDraggerWidget = _pSceneWidgetService->addToolToToolbox("TOOL-ROTATE-LIGHT",
"TOOLBOX-LIGHT", "resources/SceneWidget/roundIcons/rotateLight.osg");
Code 6-C:
Erstellung der Werkzeuge
Nachdem die Werkzeuge erstellt wurden, wird die Funktion festgelegt, die
ausgeführt wird, wenn ein Werkzeug vom Anwender im Viewer-Fenster ausgewählt
wird. In diesem Fall ist es die Funktion handleDragger innerhalb der Klasse
TabLighting.
_pSceneWidgetService->widgetEvents().action += Poco::Delegate<TabLighting,
WidgetEvent>(this, &TabLighting::handleDragger);
Code 6-D:
Festlegen der auszuführenden Methode
Die Methode wird aufgerufen und die folgenden Parameter werden durch die
Ereignisbenachrichtigung des SceneWidgetService an diese übergeben:
void TabLighting::handleDragger(const void* sender, WidgetEvent& widgetEvent)
Code 6-E:
Parameterübergabe an die Funktion des Beleuchtungs-Plug-ins
Im Parameter widgetEvent sind Name und Typ des Ereignisses enthalten; darüber
hinaus auch die Position der Maus, als dieses ausgelöst wurde. Der Name ist
entscheidend, da er ausgewertet wird, um die entsprechende Funktionalität zu
aktivieren. Dies erfolgt über einen Vergleich des übergebenen Namens und eines
festgelegten Textteils (String).
switch(widgetEvent.name())
{
case(("TOOL-ROTATE-LIGHT"):
case(("TOOL-TRANSLATE-LIGHT"):
}
Code 6-F:
Auswertung des Namens, den das Event mit sich führt
Je nachdem, welcher Fall zutrifft, wird der Dragger zur Rotation oder zum
Verschieben von Lichtquellen aktiviert. Beim Erstellen einer Lichtquelle werden die
Dragger für die Translation und die Rotation generiert und an die Lichtquelle
gebunden. Das so entstandene Konstrukt aus Lichtquelle, Dragger und Transformationsknoten wird an die 3D-Szene angefügt (vgl. Abbildung 6.1) und ist
anschließend im Viewer- und im Editor-Fenster gleichermaßen zu verändern.
74
ERGEBNISSE
Kamera
Verbund
Verbund
Material
Kugel
Würfel
Verbund
Rotationsdragger
Translationsdragger
steuert
steuert
Verbund
Lichtquelle
Marker
Abbildung 6.1: Szenengraph mit angefügtem Subgraph aus Lichtquelle, Marker zur Repräsentation in
der Szene, Rotations-Dragger und Translations-Dragger
Die Manipulation der Lichtquelle im Viewer-Fenster bietet eine schnelle und direkte
Veränderung mit sofortiger visueller Rückmeldung. Rotationen im Raum sind für den
Anwender intuitiver, wenn dieser einen virtuellen Gegenstand hat, welcher auf
native Art und Weise bedient wird. Die Ausrichtung anhand von Winkelangaben im
Editor bietet Präzision, aber stellt sich als nicht unmittelbar nachvollziehbar dar.
Die Kombination aus beiden, Viewer- und Editor-Fenster, bietet daher ein breites
Spektrum an Interaktionsmöglichkeiten und Manipulationen für Lichtquellen. Die für
das Licht-Plug-in implementierten Funktionen zur Veränderung der Position und
Ausrichtung sind auch auf andere Objekte übertragbar. Abbildung 6.2 zeigt die
Dragger zum Manipulieren von Lichtquellen und die Marker, welche die Lichtquelle
repräsentieren.
75
ERGEBNISSE
Abbildung 6.2: Viewer-Fenster mit geladener Szene und zwei Lichtquellen mit Rotations-Draggern;
links rot leuchtendes Punktlicht, rechts weiß leuchtendes Spotlicht
Das Navigationskonzept
Der NaviCube, ein interaktives Widget zur Orientierung in dreidimensionalen
virtuellen Welten, wurde für Bildsprache LiveLab ausgehend vom Konzept des
ViewCube implementiert (vgl. [Autodesk 2008]). Dieses unterstützt den Nutzer bei
der Navigation und Orientierung in 3D-Szenen. Die in BiLL geladenen Szenen sind
entweder frei mit Hilfe der Maus oder eines Touch-Displays erkundbar oder mittels
des NaviCube sind vordefinierte Kamerasichten wählbar.
Dabei vollzieht die Kamera eine Fahrt vom Startpunkt bis hin zum Zielpunkt, der
gewählten vordefinierten Kamerasicht. Dies vermittelt auf eine reproduzierbare
Weise ein animiertes Bild der dargestellten 3D-Szene: reproduzierbar aufgrund der
vordefinierten Sichten, die jederzeit wieder wählbar sind.
Als problematisch erwies sich die Verwendung des NaviCube in Kombination mit
dem Plug-in zur Erzeugung von 360°-Panorama- und 360°-Objektdarstellungen.
Dabei wird eine Darstellung einer 3D-Szene aus mehreren Kamerabildern
zusammengesetzt, die einen Blickbereich streifenweise abbilden. Dies bedeutet
wiederum, dass entweder eine Hauptkamera festgelegt wird oder, wenn ein
Kamerasystem aus gleichberechtigten Kameras vorliegt, dass eine Hauptkamera
nicht definiert werden kann. Somit ist der Einsatz des NaviCube für derartige
76
ERGEBNISSE
Projektionsverfahren ungeeignet oder muss durch Einschränkungen an diese
angepasst werden.
Ähnlich verhält sich der NaviCube auf gekrümmten Projektionsflächen. Entweder der
NaviCube wird mit der Projektionsfläche verzerrt oder er wird in einer gesonderten
Projektionsfläche dargestellt und über die gekrümmte Ebene gelegt.
Für die Darstellung des NaviCube mit stereoskopischen Verfahren ist keine
Überarbeitung des Konzepts notwendig. Die Abbildungssoftware muss jedoch
stereoskopische Verfahren unterstützen und den NaviCube auf einer Ebene vor allen
anderen Szenenelementen darstellen. Dadurch wird der Effekt verstärkt, dass er eine
gesonderte Position über der Bildebene hat.
Durch Effekte der interaktiven Farbperspektive kann der NaviCube durch
verschiedene Aktionen hervorgehoben werden. Beispielsweise ist eine farbliche
Akzentuierung denkbar, wenn sich der Nutzer mit dem Eingabegerät dem Würfel
nähert oder diesen aktiviert. Auch der Abstand zur Szene ist durch eine farbliche
Gestaltung des NaviCube vorstellbar.
Die Service-Architektur
Durch die implementierte SceneWidgetService-Architektur wurde der Forschungsumgebung BiLL eine Komponente hinzugefügt, welche die bisherige Interaktionsmöglichkeiten und Gestaltungsmöglichkeiten bedeutend erweitert. Durch die
strukturierte Verwaltung der Widgets und Werkzeuge wird der Programmieraufwand für die Entwickler reduziert. Die Wiederverwendbarkeit wird erhöht und
durch eine Dokumentation unterstützt. Durch das Bereitstellen von zusammengesetzten Dragger-Widgets in Form von Klassen ist es für zukünftige Entwickler
möglich, auf einfache Weise individuelle Interaktionselemente in BiLL zu integrieren.
77
78
7 Zusammenfassung
Abschließend werden an dieser Stelle die Ergebnisse der Arbeit zusammengefasst
und es wird ein Resümee der inhaltlichen Aspekte gezogen. Ein Ausblick auf
weiterführende Arbeiten zeigt Ideen und Konzepte für zukünftige Entwicklungen
auf, die sich im Verlauf der Bearbeitung des Themas ergaben.
Das Ziel dieser Arbeit war die Entwicklung eines Interaktionskonzepts für die
Forschungsumgebung Bildsprache LiveLab. Durch intensive Untersuchung und
Recherche eröffnete sich ein weiterer Aspekt der Interaktion mit virtuellen Welten –
die Navigation darin. Die Zielstellung erweiterte sich um die Entwicklung und
Integration eines navigationsunterstützenden Elements.
Einführend wurden die Grundlagen der Computergrafik, der Software-Technologie
und des User-Interface-Designs erläutert, welche zum Verständnis dieser Arbeit
notwendig sind. Die theoretischen Grundlagen der Interaktionsgestaltung sowie die
Untersuchung von Navigationsmetaphern dienten als Basis für die Konkretisierung
der Konzepte.
Vergleichend wurden bereits bestehende Orientierungshilfen untersucht und im
Kontext der Forschungsumgebung BiLL analysiert und selektiert. Verschiedene
Menü-Varianten wurden betrachtet, für die Umsetzung des Interaktionskonzepts
ausgewählt und auf ihre Nutzbarkeit hin untersucht.
Aufbauend auf den Ergebnissen der Untersuchungen wurden die Konzepte für die
Interaktion und die Navigation speziell für BiLL entworfen und Implementierungsdetails
erläutert.
Die
im
Rahmen
der
Umsetzung
entwickelte
SceneWidgetService-Architektur ging aus diesem Schritt als zentrale Komponente
hervor.
Die Betrachtung der entstandenen Ergebnisse gibt einen Überblick über die
erreichten Ziele und Einblick in die Nutzung der Funktionen und Methoden zur
Gestaltung und Implementierung eigener Widgets und Werkzeuge.
7.1 Fazit
Die Interaktion in virtuellen Welten erfordert neue Denkweisen bei der Entwicklung
von Interaktionskonzepten und Werkzeugen. Die Phänomene dieser Welten bieten
Potenzial für neue Handlungsmuster, die es zu ergründen gilt. Zugleich muss der
79
ZUSAMMENFASSUNG
Mensch als Nutzer dieser Welten geführt und bei seinen Aufgaben entsprechend
unterstützt werden.
Bezugssysteme und Orientierungshilfen bieten genau dieses Potenzial und müssen
anwendungsspezifisch gestaltet werden. Besonders im Hinblick auf Virtual Reality
und Augmented Reality müssen Interaktionskonzepte auf die Anwendung, die
Aufgaben und die zugrunde liegende Technik angepasst werden.
Diese Arbeit lieferte einen Überblick über Gestaltungsmethoden, die zum erfolgreichen Entwickeln von Interaktionskonzepten verwendet werden. Ebenso wurden
verschiedene Orientierungshilfen vorgestellt, die bereits in 3D-Modellierungswerkzeugen zum Einsatz kommen. Die prototypische Implementierung zeigt die
theoretische Konzeption in einem Anwendungskontext.
7.2 Ausblick
Die
Interaktion
mit
Gegenständen
ist
ein
wesentlicher
Bestandteil
der
Wahrnehmung unserer Umwelt. Auch in virtuellen Welten ist die Interaktion mit
Gegenständen, Objekten und der Gesamtszene ein entscheidendes Kriterium für die
Wahrnehmung und den Immersionsgrad dieser Welt. Die in dieser Arbeit
entwickelten
Navigationshilfen
und
Interaktionskonzepte
wurden
für
die
Anwendung auf einem 2D-Display entwickelt. Zu untersuchen wäre, wie sie in 3DPräsentationsräumen (CAVE) integriert werden. Deren unterstützendes Verhalten für
den Anwender muss in Studien evaluiert werden.
Besonders für die direkte Interaktion mit den Händen ist es notwendig Widgets zu
entwickeln, die intuitive mit den Händen benutzt werden. Durch die Nutzung von
Infrarot Trackingsystemen ist die Erkennung der Handposition und Fingerstellung
möglich und kann direkt auf das Widget übertragen werden.
Zukünftige Systeme zur Modellierung, Gestaltung und Präsentation von virtuellen
Welten werden zunehmend an den Nutzer angepasst oder passen sich selbst an
diesen an. Hierfür werden die Vorgehensmodelle der nutzerzentrierten Interaktionsgestaltung und des zielorientierten Gestaltens weiterhin eine wichtige
Position einnehmen. Die Standardisierung dieser Methoden würde ein Regelwerk
hervorbringen, nach dem Benutzeroberflächen gestaltet werden, die auf die
Nutzergruppen zugeschnitten sind und eine intuitive Bedienung bereitstellen.
Für die Arbeitsumgebung Bildsprache LiveLab wurde ein Grundstein gelegt, der auf
verschiedene Art und Weise erweitert werden muss. Erst durch weitere Entwicklung
kann sich das Potenzial des Interaktionskonzepts entfalten. Ebenso können durch
die Service-Architektur weitere Navigationshilfen implementiert und mit bestehenden verglichen werden.
80
A Glossar
3D-SZENE
Eine 3D-Szene beschreibt die Gesamtheit aller Objekte,
Materialien, Texturen und Beleuchtung einer virtuellen
Szenerie.
API
Application Programming Interface – Ist eine
Programmierschnittstelle, die von einem Software-System für
andere Programme zur Verfügung gestellt wird, um das
System in diese einzubinden.
CONE-METAPHER
Ähnlich der Ray-Casting-Metapher dient hierbei ein
kegelförmiges Objekt zur Selektion von Objekten ähnlich dem
Lichtkegel einer Taschenlampe.
EMERSION
Als Emersion wird das Auftauchen bezeichnet. Der Nutzer
nimmt eine Position über den Dingen ein.
EVENT
Ist ein Ereignis, das entweder vom Benutzer oder vom System
ausgelöst wird. Das System reagiert auf dieses Ereignis mit
Benachrichtigungsmethoden. Software-Einheiten, die an einem
bestimmten Ereignis interessiert sind, werden benachrichtigt.
FEATURE
Als Feature bezeichnet man in der Software-Technologie die
Funktionalitäten einer Software. Dabei können
Funktionalitäten wiederum aus mehreren Funktionen
bestehen.
GADGET
Ist ein technisches Gerät mit außergewöhnlicher Funktionalität.
Dieses soll den Nutzer bei spezifischen Aufgaben sinnvoll
unterstützen.
GEOMETRIEKNOTEN
Ein Geometrieknoten ist die Beschreibung der Geometrie eines
virtuellen Objekts anhand einer dreidimensionalen Punktwolke.
GIZMO
Ist im Englischen ein Platzhalterwort für ein Ding. In der
Computergraphik wird dieser Begriff für die Hilfsgeometrie von
Widgets verwendet.
GPS
Global Positioning System – ist ein System aus Satelliten, das
zur Positionsbestimmung und Navigation auf der Erde genutzt
wird.
81
ANHANG
GUI
Graphical User Interface – ist die grafische
Benutzungsoberfläche von Programmen. Darüber steuert der
Nutzer die Anwendung mit unterschiedlichen Eingabegeräten.
HEAD-UP-DISPLAY
Ist ein System, welches für den Nutzer wichtige Information in
den Sichtbereich einblendet. Die Informationen können auch
Interaktionskomponenten sein und die Anwendungssteuerung
unterstützen.
ICON
Im Kontext der grafischen Benutzeroberflächen beschreibt
dieser Begriff ein Symbol, welches ein Repräsentant für ein
Objekt wie zum Beispiel eine Datei, ein Programm oder ein
Ordner ist.
IMMERSION
Dies bezeichnet das Eintauchen in die virtuelle Welt. Das
Vereinnahmen durch die Präsentation der Virtualität.
INTERFACE
Ist eine Schnittstelle zwischen zwei verschiedenen
Komponenten. Diese dient als Vermittler zwischen den beiden
Komponenten. Die grafische Benutzeroberfläche einer
Anwendung dient als Mittler zwischen Nutzer und Software. In
der objektorientierten Programmierung vereinbaren
Schnittstellen gemeinsame Signaturen von Methoden und
Funktionen, welche in unterschiedlichen Klassen implementiert
werden.
MAP / MAPPING
Als Mapping wird der Prozess der Abbildung bezeichnet. In der
objektorientierten Programmierung bildet eine Map ein Objekt
A auf ein Objekt B ab. Beim Durchsuchen der Map erhält man
durch Objekt A Zugriff auf Objekt B.
OBJECT
Ist ein 1989 gegründetes Konsortium, das sich mit der
MANAGMENT
Entwicklung von Standards für die herstellerunabhängige,
GROUP
systemübergreifende, objektorientierte
Programmierung beschäftigt.
OPENGL
Ist eine Spezifikation für eine plattform- und
programmiersprachenunabhängige Programmierschnittstelle z
ur Entwicklung von 2D- und 3D-Computergrafik.
PLUG-IN
Das Ansichtskoordinatensystem ist so definiert, dass der
Ursprung links unten auf der Bildebene liegt.
82
ANHANG
RAY-CASTING-
Diese Metapher beschreibt die Selektion von Objekten, bei der
METAPHER
ausgehend von der virtuellen Hand ein zylinderförmiger Strahl
zur Objektselektion verwendet wird.
SEQUENZDIAGRAMM Das Sequenzdiagramm beschreibt die zeitliche Abfolge von
Interaktionen zwischen einer Menge von Objekten innerhalb
eines zeitlich begrenzten Kontextes.
SERVICE
Ein Service ist ein Dienst, der von einer Software-Komponente
bereitgestellt wird. Dieser wiederum stellt Methoden und
Objekte bereit und verwaltet diese.
TOUCH-SCREEN
Ist ein Computereingabegerät, bei dem durch Berührung der
Oberfläche des Bildschirms der Computer mit den Fingern oder
der ganzen Hand gesteuert werden kann.
UML
Ist eine von der Object Management Group (OMG) entwickelte
und standardisierte Sprache für die Modellierung von Software
und anderen Systemen.
VIRTUELLE-HAND-
Bei der Virtuelle-Hand-Metapher wird in der virtuellen
METAPHER
Umgebung das reale Eingabegerät als virtuelles Werkzeug
dargestellt und reale Aktionen am Eingabegerät werden direkt
auf dieses übertragen.
83
ANHANG
B Literaturverzeichnis
ANDREWS, K. (2009): Human-Computer Interaction, zuletzt aktualisiert am
02.06.2009.
APPINF (2008): POCO OpenServicePlatform, zuletzt aktualisiert am 06.08.2008,
zuletzt geprüft am 08.01.2010.
BARSKY, B. A.; HORN, D. R.; KLEIN, S. A.; PANG, J. A.; YU, M. (2003): Camera Models
and Optical Systems Used in Computer Graphics: Part I, Object-Based Techniques.
In: LECTURE NOTES IN COMPUTER SCIENCE, S. 246–255.
BLIZZARD ENTERTAINMENT (2009): World of Warcraft. Online verfügbar unter
www.wow-europe.de.
BOWMAN, D. A.; KRUIJFF, E.; LAVIOLA JR, J. J.; POUPYREV, I. (2001): An introduction to
3-D user interface design. In: Presence: Teleoperators & Virtual Environments, Jg. 10,
H. 1, S. 96–108.
BREUER, M. (2007): Second Life und business in virtuellen Welten. In: White Paper
Berlin, S. 1–62.
BRUNNETT, G.; LORENZ, M.; WAGNER, H. (2000): Navigations- und Orientierungshilfen
in virtuellen Welten, zuletzt aktualisiert am 05.07.2000.
CALLAHAN, J.; HOPKINS, D.; WEISER, M., et al. (Hg.) (1988): An empirical comparison of
pie vs. linear menus. Proceedings of the SIGCHI conference on Human factors in
computing systems: ACM New York, NY, USA.
CONNER, B. D.; SNIBBE, S. S.; HERNDON, K. P., et al. (Hg.) (1992): Three-dimensional
widgets. Proceedings of the 1992 symposium on Interactive 3D graphics: ACM.
COOPER, A. Reimann R.; CRONIN, D. (2007): About face 3. The essentials of
interaction design. Completely rev. and updated, [3. ed.]. Indianapolis, Ind.: Wiley.
DACHSELT,
R.
(2004):
Eine
deklarative
Komponentenarchitektur
und
Interaktionsbausteine für dreidimensionale multimediale Anwendungen: Der Andere
Verlag.
DÄßLER,
R.
(1998):
Virtuelle
Informationsräume
mit
VRML.
Informationen
recherchieren und präsentieren in 3D. Unter Mitarbeit von Hartmut Palm.
Heidelberg: Dpunkt Verl.
DIN DEUTSCHES INSTITUT FÜR NORMUNG E.V. (1997): Anforderungen an die
Gebrauchstauglichkeit - Leitsätze. Berlin: Beuth, Nr. 9241-11.
85
ANHANG
DIN DEUTSCHES INSTITUT FÜR NORMUNG E.V. (1997): Anforderungen an die
Gebrauchstauglichkeit - Leitsätze. Berlin: Beuth, Nr. 9241-14.
DORSCH, F.; HÄCKER, H. O.; BECKER-CARUS, C. (2004): Dorsch Psychologisches
Wörterbuch. [15000 Stichwörter, 800 Testnachweise]. 14., vollst. überarb. und erw.
Aufl. Bern: Huber.
EBNER, T. (2007): BiLL - Bildsprache LiveLab. Konzeption und Realisierung einer
interaktiven Arbeitsumgebung für die Erforschung wahrnehmungsrealistischer
Projektion, zuletzt aktualisiert am 14.02.2008.
FECHTER, J. (1999): Verhalten, Kommunikation und Interaktion in Virtuellen 3DUmgebungen, zuletzt aktualisiert am 26.11.1999.
FERNANDO, T.; MURRAY, N.; GAUTIER, G.; MIHINDU, S.; LOUPOS, K.; GRAVEZ, P. et al.
(2006): State-of-the-art in VR. Intuition Virtual Reality, zuletzt aktualisiert am
10.11.2006.
FRANKE, I. S. (2007): Malerei als Leitbild - Universum der technischen Bilder, zuletzt
aktualisiert am 23.04.2007.
GROH,
R.
(2005):
Das
Interaktions-Bild.
Theorie
und
Methodik
der
Interfacegestaltung. Dresden: TUDpress.
GROH, R. (2006): Virtuelle Phänomene, zuletzt aktualisiert am 20.06.2006, zuletzt
geprüft am 03.11.2009.
HEAVENGAMES
LLC
(2009):
Caesar
4.
Online
verfügbar
unter
http://caesar4.heavengames.com.
HELLER, A. (2000): Brockhaus - die Enzyklopädie. In vierundzwanzig Bänden. [20.,
überarb. und aktualisierte Aufl.]. Leipzig: Brockhaus.
HENZEN, C. (2009): Orientierung in Punktwolkenvisualisierungen, zuletzt aktualisiert
am 29.09.2009.
HERCZEG, M. (2006): Interaktionsdesign. Gestaltung interaktiver und multimedialer
Systeme. München: Oldenbourg.
HERCZEG, M. (2009): Software-Ergonomie. Theorien, Modelle und Kriterien für
gebrauchstaugliche interaktive Computersysteme. 3., vollst. überarb. und erw. Aufl.
München: Oldenbourg.
HERNDON, K. P.; ZELEZNIK, R. C.; ROBBINS, D. C., et al. (Hg.) (1992): Interactive
Shadows. Proceedings of the 5th annual ACM symposium on User interface
software and technology: ACM New York, NY, USA.
86
ANHANG
KAMMER, D. (2009): Neukonzeption einer erweiterbaren Software-Architektur für ein
echtzeitfähiges Visualisierungssystem, zuletzt aktualisiert am 10.06.2009.
KECK, M. (2009): Entwicklung eines Visualisierungskonzepts für Dateien im
dreidimensionalen Informationsraum, zuletzt aktualisiert am 16.06.2009.
KHAN, A.; MORDATCH, I.; FITZMAURICE, G., et al. (Hg.) (2008): ViewCube: a 3D
orientation indicator and controller. Proceedings of the 2008 symposium on
Interactive 3D graphics and games: ACM New York, NY, USA.
KURTENBACH, G.; BUXTON, W. (Hg.) (1993): The limits of expert performance using
hierarchic marking menus. Proceedings of the INTERACT'93 and CHI'93 conference
on Human factors in computing systems: ACM New York, NY, USA.
MARCUS, A. (Hg.) (1994): Managing metaphors for advanced user interfaces.
Proceedings of the workshop on Advanced visual interfaces: ACM New York, NY,
USA.
MAX-PLANCK-GESELLSCHAFT (2005): CyberWalk - ungehindertes Gehen in virtuellen
Welten. Europäisches Projekt zur Entwicklung einer neuartigen Laufplattform.
Microsoft,
(2005):
Age
of
Empires
3.
Online
verfügbar
unter
www.ageofempires3.com.
MILLER, T.; ZELEZNIK, R. (Hg.) (1999): The design of 3D haptic widgets. Proceedings of
the 1999 symposium on Interactive 3D graphics: ACM New York, NY, USA.
MOGGRIDGE, B. (2007): Designing interactions. Cambridge, Mass.: MIT Press.
OAKS, H. (2009): POV-Ray. Online verfügbar unter www.povray.org, zuletzt
aktualisiert am 2008.
ORLAMÜNDER, D. (2004): Computergrafik und OpenGL. Eine systematische
Einführung. Unter Mitarbeit von W. Mascolus. München: Hanser.
OSG
DEVELOPER
(2007):
OpenSceneGraph.
Online
verfügbar
unter
www.openscenegraph.org, zuletzt aktualisiert am 2007.
OSGI ALLIANCE (2004): Listeners Considered Harmful: The “Whiteboard” Pattern.
Online verfügbar unter http://www.osgi.org/wiki/uploads/Links/whiteboard.pdf.
PIERCE, Jeff (2001): Expanding the Interaction Lexicon for 3D Graphics, zuletzt
aktualisiert am 13.12.2001, zuletzt geprüft am 01.10.2009.
PREIM, B. (1999): Entwicklung interaktiver Systeme. Grundlagen, Fallbeispiele und
innovative Anwendungsfelder ; mit 20 Tabellen. Berlin: Springer.
87
ANHANG
REINHOLD, G.; SAMNEK, S.; RECKER, H. (2000): Soziologie-Lexikon. 4. Aufl. München:
Oldenbourg.
SCHWALL, J. (2004): 3D-Interaktion, zuletzt aktualisiert am 11.10.2004.
SEMICONDUCTOR APPLET SERVICE (SAS) (2009): Educational Java Applet Service (JAS).
University
of
Buffalo.
Online
verfügbar
unter
http://jas.eng.buffalo.edu/education/solid/genUnitCell/index.html, zuletzt geprüft am
03.12.2009.
SHARP, H.; ROGERS, Y.; PREECE, J. (2007): Interaction design. Beyond humancomputer interaction. 2. ed. Chichester: Wiley.
SNIBBE, S. S.; HERNDON, K. P.; ROBBINS, D. C.; CONNER, D. B.; VAN DAM, A. (1992):
Using deformations to explore 3D widget design. In: ACM SIGGRAPH Computer
Graphics, Jg. 26, H. 2, S. 351–352.
STAPELKAMP, T. (2007): Screen- und Interfacedesign. Gestaltung und Usability für
Hard- und Software. (Springer-11774 /Dig. Serial]). Online verfügbar unter
http://dx.doi.org/10.1007/978-3-540-32950-3
/
http://www.gbv.de/dms/hebis-
darmstadt/toc/182135667.pdf.
STEINICKE, F.; ROPINSKI, T.; HINRICHS, K. (2004): Selektion von Objekten in Virtuellen
Umgebungen mit der Improved Virtual Pointer-Metapher.
STEVENS, B. L.; LEWIS, F. L. (2003): Aircraft control and simulation. 2. ed. Hoboken,
NJ: Wiley.
STOAKLEY, R.; CONWAY, M. J.; PAUSCH, R. (Hg.) (1995): Virtual reality on a WIM:
Interactive worlds in miniature. Proceedings of the SIGCHI conference on Human
factors in computing systems: ACM Press/Addison-Wesley Publishing Co. New York,
NY, USA.
STORK, A. (2000): Effiziente 3D-Interaktions-und Visualisierungstechniken für
benutzer-zentrierte Modellierungssysteme. In: Diss. TU Darmstadt.
STRUBE, G. (1996): Wörterbuch der Kognitionswissenschaft. Stuttgart: Klett-Cotta.
SZYPERSKI, C.; GRUNTZ, D.; MURER, S. (2003): Component software. Beyond objectoriented programming. 2nd ed. London: Addison-Wesley (Addison-Wesley
component software series).
UNIVERSITY OF FLORIDA (1598): Tabvla geograregni Congo. Herausgegeben von
George A. Smathers Libraries.
88
ANHANG
WARE, C. (2009): Information visualization. Perception for design. 2. ed., [Nachdr.].
Amsterdam: Elsevier [u.a.].
WEB3D CONSORTIUM (1997): The Virtual Reality Modeling Language.
WERNECKE, J. (2005): The inventor mentor. Programming object-oriented 3D
graphics with open inventor release 2. 12th print. Reading, Mass., Bonn: AddisonWesley.
WINGRAVE, C.; HACIAHMETOGLU, Y.; BOWMAN, D. (Hg.) (2006): Overcoming world in
miniature limitations by a scaled and scrolling WIM. Proceedings of IEEE Symposium
on 3D User Interfaces: Citeseer.
WUTTIG, D. (2008): Konzeption und Realisierung von multiperspektivischen
Projektionen durch mehrere Kameras in der Arbeitsumgebung Bildsprache LiveLab
(BiLL), zuletzt aktualisiert am 27.06.2008, zuletzt geprüft am 15.09.2009.
ZIEGLER,
J.
(Hg.)
(2007):
Interaktion
mit
komplexen
Informationsräumen.
Visualisierung, Multimodalität, Kooperation. München, Wien: Oldenbourg.
Screenshots
3D Studio MAX
Autodesk 2009
Age of Empires
Microsoft 2005
Caesar 4
Heaven Games LLC 2006
circular-application-menu
Cole Anstey 2008
Crysis
Crytek 2008
Monkey Island
Lucas Film Games 1990
Word 2007
Microsoft 2006
World of Warcraft
Blizzard Entertainment 2009
89
ANHANG
90
C Abbildungsverzeichnis
ABBILDUNG 1.1: REALE LANDSCHAFT (LINKS); FOTOREALISTISCHE ABBILDUNG DIESER
LANDSCHAFT IM COMPUTERSPIEL ‚CRYSIS‘ (RECHTS) [CRYTEK 2008] .......... 2 ABBILDUNG 1.2: VIEWER-FENSTER (VOLLBILD) UND EDITOR-FENSTER DER
ARBEITSUMGEBUNG BILL .................................................................... 3 ABBILDUNG 2.1: ABSTRAHIERTE DARSTELLUNG EINES SZENENGRAPHEN ............................... 7 ABBILDUNG 2.2: MODELL DER VIRTUELLEN KAMERA UND IHRER PARAMETER (EYE, CENTER, UP
VECTOR) (LINKS); MODELL DER VIRTUELLEN KAMERA UND DEFINITION DES
SICHTKÖRPERS ANHAND DER PARAMETER: LEFT, RIGHT, TOP, BOTTOM, NEAR,
FAR (RECHTS) .................................................................................. 10 ABBILDUNG 2.3: DIE SECHS FREIHEITSGRADE DER VIRTUELLEN KAMERA ............................. 11 ABBILDUNG 2.4: EDITOR-FENSTER DER UMGEBUNG BILL MIT SZENENGRAPH
DER GELADENEN SZENE ..................................................................... 14 ABBILDUNG 2.5: VIEWER-FENSTER MIT GELADENEM 3D-MODELL ..................................... 14 ABBILDUNG 3.1: DIE “HOW DO YOU...?”-FRAGEN NACH VERPLANK
[MOGGRIDGE 2007, S. 126] ............................................................ 24 ABBILDUNG 3.2: SKIZZE DES INTERAKTIONSDESIGNPROZESSES NACH VERPLANK
[MOGGRIDGE 2007 S. 130] ............................................................. 25 ABBILDUNG 3.3: NAVIGATIONSSTEUERUNG WORLD-IN-HAND-CONTROLLER (NACH WARE)
(LINKS); VIRTUELLE SZENE MIT KORRESPONDIERENDEN FREIHEITSGRADEN ZUR
STEUERUNG DER SZENE (RECHTS) ........................................................ 32 ABBILDUNG 3.4: NAVIGATIONSSTEUERUNG EYEBALL-IN-HAND-CONTROLLER (NACH WARE)
(LINKS); VIRTUELLE SZENE UND KORRESPONDIERENDE FREIHEITSGRADE AN DER
KAMERA (RECHTS) ........................................................................... 33 ABBILDUNG 3.5: DIE WANDERER-METAPHER – LAUFBAND ALS EINGABEGERÄT (LINKS); SICHT
DES NUTZERS IN DIE VIRTUELLE WELT (RECHTS) ....................................... 33 ABBILDUNG 3.6: CYBERWALK-SKIZZE NACH [MAX-PLANCK-GESELLSCHAFT 2005] ............ 34 ABBILDUNG 4.1: MINIMAP VON WORLD OF WARCRAFT [BLIZZARD ENTERTAINMENT 2009]
(LINKS), MINIMAP VON AGE OF EMPIRES 3 [MICROSOFT 2005] (MITTE),
MINIMAP VON CAESAR IV [HEAVENGAMES LLC 2009] (RECHTS) ............. 38 ABBILDUNG 4.2: KOORDINATENKREUZ IN DER ANWENDUNG AUTODESK® 3DS MAX® ........ 39 ABBILDUNG 4.3: KUBISCHES RASTER ZUR DARSTELLUNG VON KRISTALLSTRUKTUREN
[SEMICONDUCTOR APPLET SERVICE (SAS) 2009] .................................. 40 ABBILDUNG 4.4: ZYLINDRISCHES RASTER (LINKS), KUBISCHES RASTER VON INNEN (RECHTS) ... 40 ABBILDUNG 4.5: SPHÄRISCHES RASTER VON AUßEN (LINKS), SPHÄRISCHES RASTER VON INNEN
(RECHTS) ........................................................................................ 40 ABBILDUNG 4.6: AUTODESK VIEWCUBE (LINKS) [AZAM KHAN 2008],
3D-KOMPASS (MITTE) [BRUNNETT ET AL. 2000],
VIEWSPHERE (RECHTS) [BRUNNETT ET AL. 2000].................................... 41 91
ANHANG
ABBILDUNG 4.7: VIEWCUBE MIT BESCHRIFTUNG (1), MIT BILDERN (2), MIT 3D-MODELL (3),
OHNE BESCHRIFTUNG (4) [AZAM KHAN 2008] ..................................... 42 ABBILDUNG 4.8: WORLD-IN-MINIATURE [STOAKLEY ET AL. 1995] ................................... 43 ABBILDUNG 4.9: MENÜ-HINTERGRUND-INTEGRATION (LINKS);
KARTEIKARTEN-REGISTER (RECHTS) ..................................................... 46 ABBILDUNG 4.10: PULL-DOWN-MENÜ (LINKS); DROP-DOWN-MENÜ (RECHTS) ..................... 47 ABBILDUNG 4.11: MENÜ ALS BESTANDTEIL DER ERZÄHLFORM (LINKS);
RADIAL-MENÜ (RECHTS) ................................................................... 47 ABBILDUNG 4.12: ROTATIONS-WIDGET (LINKS); TRANSLATIONS-WIDGET (MITTE);
SKALIERUNGS-WIDGET (RECHTS) ........................................................ 50 ABBILDUNG 5.1: DAS EDITOR-FENSTER VON BILL.......................................................... 55 ABBILDUNG 5.2: KLASSENSTRUKTUR DES ENTWURFS DER TOOLBOXEN UND TOOLS .............. 57 ABBILDUNG 5.3: RING-MENÜ (LINKS) UND HIERARCHISCHES RING-MENÜ MIT
ZWEITER MENÜ-EBENE (RECHTS) ......................................................... 58 ABBILDUNG 5.4: SEQUENZDIAGRAMM EINES ANWENDUNGSFALLS.................................... 59 ABBILDUNG 5.5: STADTSZENE MIT WIM OBEN LINKS (LINKS),
ABSTRAKTE SZENE MIT WIM OBEN LINKS (RECHTS) ................................. 63 ABBILDUNG 5.6: TABVLA GEOGRAREGNI CONGO 1598 [UNIVERSITY OF FLORIDA 1598] ..... 64 ABBILDUNG 5.7: (1) WINDROSE, (2) REDUZIERTE WINDROSE,
(3) GRUNDKÖRPER DES NAVICUBE ...................................................... 64 ABBILDUNG 5.8: IN 26 ELEMENTE UNTERTEILTER WÜRFEL ............................................... 65 ABBILDUNG 5.9: (LINKS) SEITENELEMENTE DES WÜRFELS, (MITTE) KANTENELEMENTE DES
WÜRFELS, (RECHTS) ECKENELEMENTE DES WÜRFELS ............................... 65 ABBILDUNG 5.10: KAMERAFAHRT ENTLANG EINES KREISBOGENS ....................................... 66 ABBILDUNG 5.11: TEXTURIERTES MODELL DES NAVICUBE FÜR BILL .................................... 66 ABBILDUNG 5.12: SEQUENZDIAGRAMM FÜR DIE NAVIGATION MIT DEM NAVICUBE ................ 67 ABBILDUNG 5.13: KLASSENDIAGRAMM DES SCENEWIDGETSERVICE. .................................. 70 ABBILDUNG 6.1: SZENENGRAPH MIT ANGEFÜGTEM SUBGRAPH AUS LICHTQUELLE,
MARKER ZUR REPRÄSENTATION IN DER SZENE, ROTATIONS-DRAGGER UND
TRANSLATIONS-DRAGGER ................................................................. 75 ABBILDUNG 6.2: VIEWER-FENSTER MIT GELADENER SZENE UND ZWEI LICHTQUELLEN MIT
ROTATIONS-DRAGGERN; LINKS ROT LEUCHTENDES PUNKTLICHT,
RECHTS WEIß LEUCHTENDES SPOTLICHT ................................................ 76 CODE 5-A: METHODEN DES SCENEWIDGETSERVICE
71 CODE 6-A: REGISTRIERUNG AM SCENEWIDGETSERVICE
73 CODE 6-B: ERSTELLUNG DER WERKZEUGKISTE
74 CODE 6-C: ERSTELLUNG DER WERKZEUGE
74 CODE 6-D: FESTLEGEN DER AUSZUFÜHRENDEN METHODE
74 CODE 6-E: PARAMETERÜBERGABE AN DIE FUNKTION DES BELEUCHTUNGS-PLUG-INS
74 CODE 6-F: AUSWERTUNG DES NAMENS, DEN DAS EVENT MIT SICH FÜHRT
74
92
D Tabellenverzeichnis
TABELLE 2.1: KLASSIFIKATION VON WIDGETS NACH DACHSELT [DACHSELT 2004]. ...... 18 TABELLE 2.2: KLASSIFIKATION VON 3D-WIDGETS NACH DACHSELT [DACHSELT 2004]. 19 TABELLE 3.1: BEREICHE VON MANIPULATIONEN ....................................................... 35 TABELLE 4.1: KRITERIEN ZUR BEWERTUNG DER ORIENTIERUNGSHILFEN IM
KONTEXT DER ZIELSTELLUNG .............................................................. 44 TABELLE 4.2: POSITIONIERUNG UND INFORMATIONEN BEZÜGLICH RICHTUNG,
POSITION UND ABSTAND ................................................................... 46 TABELLE 4.3: KRITERIEN ZUR BEURTEILUNG DER MENÜ-VARIANTEN .............................. 48 TABELLE 4.4: ANORDNUNG DER ELEMENTE UND POSITION DES MENÜS ......................... 48 TABELLE 5.1: MERKMALE UND WERTE FÜR DIE TOOLS UND TOOLBOXEN ....................... 60 TABELLE 5.2: ÜBERSICHT DER ENTWICKELTEN HUD-ELEMENTE UND 3D-ICONS .............. 61 93

Documents pareils