Interaktionsm¨oglichkeiten an einem Multitouch-Table durch...

89
Interaktionsm¨ oglichkeiten an einem Multitouch-Table durch die Analyse von Bewegungsgr¨ oßen der Benutzereingaben Fachbereich IEM der Fachhochschule Gießen-Friedberg Diplomarbeit vorgelegt von Kai Neumann geb. in Lich Referent der Arbeit: Dr. Cornelius Malerczyk Korreferentin der Arbeit: Dipl.-Math. (FH) Sabine Langkamm Fachbereich Informationstechnik,Elektrotechnik,Mechatronik IEM Friedberg, 2010

Transcript of Interaktionsm¨oglichkeiten an einem Multitouch-Table durch...

Page 1: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Interaktionsmoglichkeiten an einem Multitouch-Table

durch die Analyse von Bewegungsgroßen der

Benutzereingaben

Fachbereich IEM derFachhochschule Gießen-Friedberg

Diplomarbeit

vorgelegt von

Kai Neumanngeb. in Lich

Referent der Arbeit: Dr. Cornelius MalerczykKorreferentin der Arbeit: Dipl.-Math. (FH) Sabine Langkamm

Fachbereich Informationstechnik,Elektrotechnik,Mechatronik IEMFriedberg, 2010

Page 2: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Eidesstattliche Erklarung

Hiermit versichere ich, die vorliegende Diplomarbeit selbststandig und nur mit den angegebenenHilfsmitteln und Literaturquellen verfasst zu haben.

Friedberg, den 01.03.2010

Kai Neumann

i

Page 3: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Danksagung

Ich mochte mich zuallererst bei Herrn Dr. Cornelius Malerczyk dafur bedanken, dass er mich aufdieses spannenden Thema aufmerksam machte. Auch fur die Betreuung zu meiner vollsten Zufrie-denheit mochte ich mich bei ihm und Frau Dipl.-Ing. Sabine Langkamm bedanken.

Mein ganz personlicher Dank geht an meine liebenswerte Lebenspartnerin Annalena Kohler furihre Unterstutzung und ihr Verstandnis wahrend meiner Diplomarbeit.

Auch bei meinen Eltern, die mir das Studium erst ermoglichten und mich die gesamte Zeit un-terstutzten, mochte ich mich herzlich bedanken.

Diese Diplomarbeit widme ich all meinen Freunden die ich durch das Studium gewonnen habe.

ii

Page 4: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Inhaltsverzeichnis

Eidesstattliche Erklarung i

Danksagung ii

Inhaltsverzeichnis iii

Abbildungsverzeichnis vi

1 Einleitung 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Problemstellung und Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Organisation der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Zusammenfassung der wichtigsten Ergebnisse . . . . . . . . . . . . . . . . . . . . . 4

2 Stand der Technik 52.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Multitouch-Table Technologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.1 Resistive Technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.2 Kapazitive Technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.3 Despersive signal Technologie (DST) . . . . . . . . . . . . . . . . . . . . . . 72.2.4 Surface acoustic wave (SAW) . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.5 Diffused illumination (DI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.6 Frustrated total internal reflection (FTIR) . . . . . . . . . . . . . . . . . . . 92.2.7 Diffused surface illumination (DSI) . . . . . . . . . . . . . . . . . . . . . . . 102.2.8 Laser light plane (LLP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.9 IR-Lichtvorhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.10 IR-light plane (IRLP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 Multitouch-Table Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.1 Betriebssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.2 Technologie-Demonstrationen . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.3 Informations-Visualisierung und -Bearbeitung . . . . . . . . . . . . . . . . . 142.3.4 Virtuelle Musikinstrumente . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3.5 Grafik-Erstellung und -Bearbeitung . . . . . . . . . . . . . . . . . . . . . . . 162.3.6 Spiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

iii

Page 5: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Inhaltsverzeichnis iv

2.3.7 Terminal-Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4 Schlussfolgerung und Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Konzepte zur Interaktion an einem Multitouch-Table 203.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.2 Finger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2.1 Drucken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2.2 Ziehen und Fallenlassen (Drag & Drop) . . . . . . . . . . . . . . . . . . . . 223.2.3 Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2.4 Skalieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2.5 Bildlauf (Scrolling) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.6 Stoßen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2.7 3D Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.3 Fiducials (Objekte) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.3.1 Auflegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.3.2 Rotationsausrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4 Schlussfolgerung und Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . 28

4 Konzeptentwicklung 304.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.2 Konzepte mit Nutzung der Bewegungsgroßen . . . . . . . . . . . . . . . . . . . . . 31

4.2.1 Geschwindigkeit einer Objektrotation . . . . . . . . . . . . . . . . . . . . . . 314.2.2 Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung . . . . . . . . . . 334.2.3 Geschwindigkeit einer Bewegung zur physikalischen Interaktion . . . . . . . . 334.2.4 Beschleunigung der Benutzereingaben . . . . . . . . . . . . . . . . . . . . . 35

4.3 Konzepte zur Steigerung der Benutzerfreundlichkeit . . . . . . . . . . . . . . . . . . 354.3.1 Bewegungsdifferenzierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.3.2 Geschwindigkeitsvisualisierung . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.4 Wahl der Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5 Technische Umsetzung 405.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.2 Reactivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.3 TUIO-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.4 Kommunikation mit Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.5 Verarbeiten der TUIO-Protokoll Daten . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.5.1 Blobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.5.2 Fiducials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.5.3 Touch Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475.5.4 Verarbeiten der Reactivision-Daten . . . . . . . . . . . . . . . . . . . . . . . 48

5.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6 Konzeptumsetzung 55

Page 6: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Inhaltsverzeichnis v

6.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.2 Grundgerust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.3 Bewegungsdifferenzierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.4 Geschwindigkeitsvisualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.5 Curling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.5.1 Geschwindigkeit einer Bewegung zur physikalischen Interaktion . . . . . . . . 596.5.2 Bildschirmbegrenzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606.5.3 Wischen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.6 Foto-Applikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636.6.1 Rahmendbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646.6.2 Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung . . . . . . . . . . 666.6.3 Nutzung der Geschwindigkeit einer Objektrotation . . . . . . . . . . . . . . . 66

6.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7 Konzeptbewertung 697.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697.2 Geschwindigkeit einer Bewegung zur physikalischen Interaktion . . . . . . . . . . . . 697.3 Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung . . . . . . . . . . . . . . 717.4 Geschwindigkeit einer Objektrotation . . . . . . . . . . . . . . . . . . . . . . . . . . 717.5 Bewegungsdifferenzierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727.6 Geschwindigkeitsvisualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737.7 Probleme bei der Geschwindigkeitsmessung einer Bewegung . . . . . . . . . . . . . . 737.8 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8 Zusammenfassung und Ausblick 758.1 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Glossar 78

Literaturverzeichnis 80

Page 7: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Abbildungsverzeichnis

1.1 Interaktion mit einem Multitouch-Table . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Funktionsweise von resistiven Touchscreens . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Funktionsweise von kapazitiven Touchscreens . . . . . . . . . . . . . . . . . . . . . . . 72.3 Funktionsweise der dispersive signal Technologie . . . . . . . . . . . . . . . . . . . . . . 82.4 Funktionsweise eines surface acoustic wave Touchscreens . . . . . . . . . . . . . . . . . 82.5 Funktionsweise eines diffused illumination Touchscreens . . . . . . . . . . . . . . . . . . 92.6 Funktionsweise eines frustrated total internal reflection Touchscreens . . . . . . . . . . . 102.7 Funktionsweise eines diffused surface illumination Touchscreens . . . . . . . . . . . . . . 112.8 Funktionsweise eines laser light plane Touchscreens . . . . . . . . . . . . . . . . . . . . 112.9 Funktionsweise eines IR-Lichtvorhang Touchscreens . . . . . . . . . . . . . . . . . . . . 122.10 Funktionsweise eines IR-light plane Touchscreens . . . . . . . . . . . . . . . . . . . . . 132.11 Verschieben von Objekten in Microsoft Windows 7 auf einem Touchscreen . . . . . . . . 142.12 Bilder des Jefferson Han Technologie-Demonstrations-Videos . . . . . . . . . . . . . . . 142.13 Microsoft Surface bei der Prasidentenwahl auf NBC . . . . . . . . . . . . . . . . . . . . 152.14 Interaktionen mit dem reacTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.15 Bedienung von Photoshop MT durch langes Drucken . . . . . . . . . . . . . . . . . . . 162.16 Das Strategie-Spiel RUSE auf einem Multitouch-Table . . . . . . . . . . . . . . . . . . 172.17 Microsoft Surface Terminal-Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1 Bedienung der Bildschirmtastatur durch Drucken . . . . . . . . . . . . . . . . . . . . . 223.2 Verschieben von Fotos mit dem Finger durch Drag & Drop . . . . . . . . . . . . . . . . 223.3 Atan2 Funktion bei der Rotation mit einem Finger. . . . . . . . . . . . . . . . . . . . . 233.4 Skalierung eines Bildes mit zwei Fingern . . . . . . . . . . . . . . . . . . . . . . . . . . 243.5 Seitliches Scrollen bei einer Microsoft Surface Anwendung . . . . . . . . . . . . . . . . 243.6 UI Centrics Air Hocky auf einem Multitouch-Table . . . . . . . . . . . . . . . . . . . . 253.7 Nasa World Wind auf einem Multitouch-Table . . . . . . . . . . . . . . . . . . . . . . . 263.8 Von Reactivision verwendete Markierungen fur Objekte . . . . . . . . . . . . . . . . . . 263.9 Farbauswahl beim BMW-Product-Navigator durch Auflegen des Musters . . . . . . . . . 273.10 Farbauswahl beim Audi Car Configurator durch Objektrotation . . . . . . . . . . . . . . 28

4.1 Lautstarkeregler ohne Skala an einem Verstarker . . . . . . . . . . . . . . . . . . . . . . 324.2 Unterschiedliche Skalen bei einem Mischpult . . . . . . . . . . . . . . . . . . . . . . . . 324.3 Screenshot aus dem Spiel Tiger Woods PGA Tour 08 . . . . . . . . . . . . . . . . . . . 34

vi

Page 8: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Abbildungsverzeichnis vii

4.4 Entstehung eines falschen Geschwindigkeitsvektors . . . . . . . . . . . . . . . . . . . . 36

5.1 Funf Beruhrungspunkte aufgenommen von Reactivision . . . . . . . . . . . . . . . . . . 415.2 Screenshot des TUIO-Simulators mit Finger und Objekt . . . . . . . . . . . . . . . . . . 41

6.1 Curling Zielkreis mit gespielten Steinen . . . . . . . . . . . . . . . . . . . . . . . . . . . 576.2 Wischen mit dem Besen vor einem gespielten Curlingstein . . . . . . . . . . . . . . . . 586.3 Konzept der Geschwindigkeitsvisualisierung beim Curling . . . . . . . . . . . . . . . . . 596.4 Screenshot des Curling-Spiels bei der Begrenzung auf den Bildschirm. . . . . . . . . . . 616.5 Vergleich der Koordinaten des Sprites mit der Eisbahn und des Bildschirms . . . . . . . 616.6 Screenshot des Curling-Spiels mit Eisflache uber den Bildschirm hinaus . . . . . . . . . 626.7 Korrekte Ausfuhrung der Wischbewegung vor dem Stein . . . . . . . . . . . . . . . . . 626.8 Screenshot der Foto-Applikation mit aufgerufener Bildschirmtastatur. . . . . . . . . . . 646.9 Rotation eines Fotos beim Verschieben . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.10 Problematik des Grad-Sprungs von 0 auf 360 Grad und umgekehrt. . . . . . . . . . . . . 67

7.1 Vergleich der zwei Curling-Spiel-Umsetzungen . . . . . . . . . . . . . . . . . . . . . . . 707.2 Verdeckung eines Fotos durch das Objekt beim Skalieren . . . . . . . . . . . . . . . . . 72

Page 9: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Kapitel 1

Einleitung

1.1 Motivation

Die beruhrungssensitive Interaktion zwischen Anwender und Computer ohne die Verwendung vonStandard-Eingabegeraten, wie Tastatur oder Computermaus, gewinnt immer mehr an Popularitat.Durch Produkte wie das iPhone oder die Touchscreen-Unterstutzung von Windows 7 wurde dieTouchscreen-Technologie auch kommerziell bekannt. Gegenwartig nutzen bereits vielfaltige Gerate,wie zum Beispiel Navigationsgerate, PDAs, Smartphones, Tablet-PCs, Spielekonsolen wie NintendoDS und ebenfalls der Multitouch-Table die Technologie der intuitiven Eingabe, um eine neue Artder einfachen Interaktion mit einem Computersystem und dessen Anwendungen zu ermoglichen.Viele Anwendungen lassen sich intuitiv bedienen, selbst Benutzer ohne Vorwissen oder technischeEinweisung sind in der Lage, mit Touchsystemen zu arbeiten. Aufgrund dessen wird die Technologiedes Touchscreens auch bei vielen offentlich zuganglichen Systemen, wie Fahrkartenautomaten oderInformationsschaltern, verwendet.Im Fokus der Forschung und Entwicklung steht zur Zeit die Innovation Multitouch-Table, ein Einga-begerat in Form eines Tisches mit eigener Projektionsflache, auf dem sowohl die Fingerkuppen einesoder mehrerer Anwender, als auch Objekte mit speziellen Markierungen vom Gerat erkannt werdenkonnen. Große Popularitat erlangte der Multitouch-Table unter anderem durch die Prasentation vonMicrosoft Surface im Jahr 2007, einem Multitouch-Table mit Hard- und Software von Microsoft.Mittlerweile gibt es eine Vielzahl von Herstellern, die sich auf die Entwicklung von Multitouch-Tables und deren Software spezialisieren und ebenso mehrere Verfahren zur Realisierung eines mul-titouchfahigen Systems. Durch die Veroffentlichung von Open Source Frameworks zur Erkennungvon Beruhrungsdaten sowie Anleitungen zum Eigenbau eines Multitouch-Tables im Internet, konnendiese immer gunstiger hergestellt werden. Durch die damit verbundene Verbreitung der Hardwa-re des Multitouch-Tables entstanden weitere Anwendungen aufgrund von Forschungsprojekten anFachhochschulen und Universitaten, sowie durch Entwicklungen von Privatpersonen. Eine haufigumgesetzte Anwendung ist zum Beispiel eine Art Fotoalbum, der Benutzer kann durch Bewegungenseiner Finger Fotos verschieben, skalieren und sie rotieren lassen.

1

Page 10: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

1.2. Problemstellung und Zielsetzung 2

Abbildung 1.1: Interaktion mit einem Multitouch-Table. c©GestureTek

Bisher wurden die Optionen, welche die Interaktion mit einem Multitouch-Table ermoglicht, nochnicht ausgeschopft. Gleiche Konzepte werden nur immer wieder verwendet und wiederholt. Vor al-lem Geschwindigkeit und Beschleunigung von Fingern und Objekten auf der Oberflache des Tischeswurden bislang nur selten angewandt, obwohl sie mannigfaltige neue Moglichkeiten zur Interaktionbieten.Im Rahmen dieser Diplomarbeit wird zunachst die fur einen Multitouch-Table verfugbare Hard- undSoftware analysiert. Anschließend werden schon umgesetzten Konzepte zur Interaktion an einemMultitouch-Table gepruft, im besonderen Hinblick auf die Nutzung von Geschwindigkeit und Be-schleunigung einer Bewegung zur Bedienung von Multitouch-Anwendungen. Darauf folgend werdenneue Konzepte zur Interaktion entwickelt, die insbesondere die Moglichkeiten durch Geschwindig-keit und Beschleunigung einer Bewegung nutzen. Die entwickelten Konzepte werden exemplarischanhand von Beispielanwendungen uberpruft und bewertet.Fur die Entwicklung der Beispielanwendungen wird als technische Basis das durch Reactivision1 be-reitgestellte TUIO-Protokoll2 und auf Anwendungsseite die Entwicklungsumgebung Flash verwendet.

1.2 Problemstellung und Zielsetzung

Die beruhrungssensitive Interaktion zwischen Anwender und Computer bietet vollig neue Moglich-keiten zur Anwendungssteuerung, welche bisher jedoch noch nicht ausgeschopft wurden. Trotz dervielen Forschungsprojekte an Fachhochschulen und Universitaten, sowie Anwendungen von Unter-nehmen oder Privatpersonen, werden stets die gleichen Konzepte zur Interaktion in den Anwen-dungen genutzt. Vor allem Konzepte zur Interaktion durch Geschwindigkeit und Beschleunigungder Benutzereingaben werden selten umgesetzt und das Potential der Moglichkeiten kaum genutzt.Da meist die Intuitivitat bei der Bedienung von Touchscreen- Anwendungen im Vordergrund steht,

1http://reactivision.sourceforge.net/2http://tuio.org/

Page 11: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

1.3. Organisation der Arbeit 3

bietet sich bei vielen Anwendungsfeldern von Multitouch-Table-Software die Nutzung der Bewe-gungsgroßen an. Bei einem Großteil der Spiele bietet eine intuitive Steuerung durch Geschwindigkeitoder Beschleunigung Moglichkeiten fur ein vollig neues Spielerlebnis.Bisher werden vor allem die Koordinaten einer oder mehrerer Beruhrungen ausgelesen und zur Be-dienung einer Anwendung genutzt. Dies hat fur den Benutzer den Vorteil der leichteren Kontrolledieser Werte, da er den Touchscreen an exakt dieser Position beruhrt.Ein Problem bei der Bedienung einer Anwendung durch Geschwindigkeit und Beschleunigung einerBewegung stellt die Prazision der Steuerung dar. Der Benutzer kann nur ungenugend abschatzenoder wahrend der Eingabe erkennen, wie stark die Auswirkung der Geschwindigkeit oder Beschleu-nigung der aktuellen Bewegung ist. Zudem nehmen Menschen Geschwindigkeiten unterschiedlichwahr. Bei manchen Anwendungen ist eine physikalische Interaktion von Objekten von großer Bedeu-tung. Ein vom Benutzer beschleunigtes Objekt muss die ubergebene Geschwindigkeit auch wiederabbauen, da es sonst unendlich lange in Bewegung bleiben wurde. Dies erfordert die Simulationeiner Reibung. Des Weiteren ist eine Simulation der physikalischen Gesetzte fur die Kollision vonObjekten erforderlich. Das beinhaltet eine Steuerung der Objekte durch Benutzereingabe, sowie eineBeeinflussung des Verhaltens der Objekte durch eine Physik-Engine.Eine Uberprufung der bereits vorhandenen Konzepte zur Interaktion an einem Multitouch-Table sollerfolgen, um festzustellen, inwiefern die Bewegungsgroßen der Benutzereingaben zur Interaktion ge-nutzt werden. Ziel dieser Arbeit ist es, fur das bisher nicht genutzte Potential dieser Eingabemoglich-keiten neue Konzepte zur Interaktion zu entwickeln. Anschließend werden die entwickelten Konzeptein Flash mithilfe des TUIO-Protokolls in Beispielanwendungen exemplarisch umgesetzt und bewertet.

1.3 Organisation der Arbeit

In Kapitel 2 wird zunachst der Stand der Technik von Hard- und Software des Multitouch-Tablesanalysiert. Der technische Ansatz der verschiedenen Technologien zur Umsetzung eines Multitouch-Tables wird vorgestellt und auf Starken und Schwachen gepruft. Um eine Ubersicht uber die um-fangreich vorhandene Software zu schaffen, erfolgt eine Kategorisierung und Erlauterung der An-wendungsfelder von Multitouch-Table Software. In Kapitel 3 erfolgt die Uberprufung der bereitsumgesetzten Konzepte zur Interaktion in der vorhandenen Software. Hierbei wird der FoKus auf dieInteraktion durch die Nutzung der Bewegungsgroßen von Benutzereingaben gelegt. Kapitel 4 befasstsich mit der Entwicklung neuer Konzepte zur Benutzung der Bewegungsgroßen von Benutzereinga-ben zur Anwendungssteuerung. Zur exemplarischen Umsetzung der Konzepte wird in Kapitel 5 dasAuslesen und Verarbeiten der Beruhrungsdaten des TUIO-Protokolls dokumentiert. Mithilfe dieserDaten folgt in Kapitel 6 die exemplarische Umsetzung der Konzepte in Beispielanwendungen. DieKonzepte werden in Kapitel 7 bewertet, bevor eine abschließend Zusammenfassung der wichtigstenErgebnisse erfolgt.

Page 12: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

1.4. Zusammenfassung der wichtigsten Ergebnisse 4

1.4 Zusammenfassung der wichtigsten Ergebnisse

Bei der Uberprufung der Hard- und Software des Multitouch-Tables wurde deutlich, wie vielseitigeinsetzbar diese Technologie ist. Die Anzahl unterschiedlicher Softwarelosungen ist jedoch aufgrundder noch eingeschrankten Verbreitung des Systems begrenzt. Bei der Prufung der Konzepte zur In-teraktion an einem Multitouch-Table wurde deutlich, dass die Intuitivitat im Vordergrund steht. DieZahl unterschiedlicher Konzepte ist jedoch sehr beschrankt. Vor allem das Potential der Moglich-keiten zur Nutzung der Bewegungsgroßen von Benutzereingaben wird dabei nur ansatzweise undunzureichend genutzt. Auf der Grundlage der Ergebnisse wurden neue Konzepte mit Nutzung derGeschwindigkeit entwickelt:

• Geschwindigkeit einer Objektrotation

• Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung

• Geschwindigkeit einer Bewegung zur physikalischen Interaktion

Die Nutzung der Geschwindigkeit einer Objektrotation hat gegenuber dem bisherigen Konzept derRotationsausrichtung die Vorteile, dass keine Skala zur Orientierung um das Objekt benotigt wirdund somit keine 360 Grad Beschrankung der Eingabe besteht. Das Konzept ermoglicht es, großeund kleine Einstellungsschritte prazise und schneller umzusetzen. Daruber hinaus kann die Positiondes Objektes die auszufuhrende Aktion beeinflussen.Die Nutzung der Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung vervielfacht die An-zahl der Interaktionsmoglichkeiten. Mit der gleichen Bewegung, in unterschiedlicher Geschwindigkeitausgefuhrt, konnen so mehrere verschiedene Aktionen durchgefuhrt werden.Durch die Nutzung der Geschwindigkeit einer Bewegung zur physikalischen Interaktion konnenTouchscreen-Anwendungen noch realer wirken, was vor allem bei der Entwicklung neuer Spielkon-zepte von großer Bedeutung ist.Daruber hinaus erfolgte die Entwicklung eines Konzeptes zur Bewegungsdifferenzierung sowie einKonzept zur Geschwindigkeitsvisualisierung. Durch die Bewegungsdifferenzierung wird zwischen fort-laufenden und gestoppten Bewegungen unterschieden. Die Geschwindigkeitsvisualisierung soll demBenutzer ermoglichen, die Geschwindigkeit einer Bewegung besser abzuschatzen. Beide Konzeptesollen die Kontrolle der Geschwindigkeit in Anwendungen erleichtern.Die neu entwickelten Konzepte werden exemplarisch in Beispielanwendungen erprobt.Zur Umsetzung der Anwendungen in Flash wurden Bibliotheken zum Empfangen und Verarbeitendes von Reactivision gesendeten TUIO-Protokolls geschrieben. Zur Berechnung der Geschwindig-keit sowie zur Bewegungsdifferenzierung wurden die Daten erganzt. Die Umsetzung der Konzeptein einer Foto-Applikation und einem Curling-Spiel konnte mit Hilfe dieser Bibliotheken erfolgreichumgesetzt werden.Da sich die Fertigstellung eines Multitouch-Tables an der Fachhochschule verzogerte, erfolgte dieErprobung der Konzepte in den Anwendungen mit dem TUIO-Simulator.Die neuen Konzepte funktionieren bis auf kleine Schwierigkeiten wie in der Entwicklung vorgesehen.Allerdings stellen die unterschiedlichen Touchscreengroßen ein Problem bei der Definierung festerWerte dar.

Page 13: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Kapitel 2

Stand der Technik

Dieses Kapitel gibt einen Uberblick uber den aktuellen Stand der Technik des Multitouch-Tables. Eswerden die verschiedenen Technologien zur Umsetzung eines multitouchfahigen Systems vorgestellt,um zu prufen, welche technischen Moglichkeiten die unterschiedlichen Ansatze bieten. Anschließendwird sich mit der Software des Multitouch-Tables befasst. Die vorhandenen Softwarekonzepte werdenanhand ihrer Anwendungsbereiche vorgestellt. Diese Analyse dient als Grundlage fur die Prufung derin der Software umgesetzten Konzepte zur Interaktion.

2.1 Einleitung

Es erfolgt eine Analyse der vorhandenen Techniken des Multitouch-Tables. Nicht alle Technologi-en zur Realisierung eines Touchscreens eignen sich zur Umsetzung eines Multitouch-Tables. DerMultitouch-Table setzt die Moglichkeit mehrerer Eingaben gleichzeitig voraus. Technologien, dienicht mehr als einen Finger erkennen, werden deshalb nicht berucksichtigt. Die technischen Ansatze,die alle Anforderungen erfullen, werden vorgestellt und Vor- und Nachteile aufgezeigt.Anschließend erfolgt eine Analyse der Multitouch-Table Software. Da es eine große Anzahl vonApplikationen gibt, die sich jedoch in ihren Funktionen kaum unterscheiden, werden die verschie-denen Anwendungsbereiche der Software anhand von Beispielanwendungen exemplarisch vorgestellt.

2.2 Multitouch-Table Technologien

Eine Vielzahl verschiedener Technologien, die mehrere Beruhrungspunkte erkennen und verarbeitenkonnen, liegen zur Mensch-Computer-Interaktion vor.Hierbei wird zwischen folgenden technischen Ansatzen unterschieden:

• Elektrische SystemeDie resistive und kapazitive Technologie basiert auf der Messung von Spannung und Strom.

• Mechanische SystemeDie despersive signal Technologie basiert auf der Messung von Vibrationen.

5

Page 14: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.2. Multitouch-Table Technologien 6

• Akustische SystemeDie surface acoustic wave Technologie basiert auf der Messung von Ultraschallwellen.

• Optische SystemeDie Ansatze von diffused illumination, frustrated total internal reflection, diffused surfaceillumination, laser light Plane, IR-Lichtvorhang und IR-light plane basieren auf der Erkennungund Messung von Infrarot-Licht.

Neben dem technischen Hintergrund, werden die Vor- und Nachteile der Technologien beleuchtet.

2.2.1 Resistive Technologie

Bei resistiven Touchscreens ist der Monitor mit einer flexiblen, beruhrungsempfindlichen Schichtversehen, die auf Druck reagiert [SS08] [Cor07]. Diese Schicht besteht aus zwei leitfahigen, trans-parenten ITO (Indiumzinnoxid)-Schichten, welche durch Abstandhalter (spacer dots) voneinandergetrennt sind. An die untere Schicht wird eine Spannung in Richtung X und an die obere in RichtungY angelegt. Wird durch eine Beruhrung Druck ausgeubt, beruhren sich die Schichten und die Span-nung wird an Sensoren weitergeleitet. Anhand dieser Spannung konnen die X- und Y-Koordinatender Beruhrung errechnet werden. Die Leistungsfahigkeit des Systems hangt von der Anzahl der Sen-soren zur Messung der Spannung ab. Aus diesem Grund werden resistive Systeme nach der Anzahlder Sensoren benannt. Ein 4-Wire System verfugt beispielsweise nur uber vier Sensoren und ist so-mit nur singletouchfahig. Ein sogenanntes X-Wire System verfugt dahingegen uber eine Matrix auskleinen Sensoren und kann somit multitouchfahig sein. Nachteil dieser Technologie ist die geringeLichtdurchlassigkeit der beruhrungsempfindlichen Schicht. Resistive Touchscreens sind preislich sehrgunstig, sodass sie vorwiegend in mobilen Geraten wie PDAs, Navigationsgeraten, Tablet-PCs undHandys Verwendung finden.

Abbildung 2.1: Schematische Darstellung der Funktionsweise von resistiven Touchscreens. c©Visam

2.2.2 Kapazitive Technologie

Bei der kapazitiven Technologie wird auf einer Glasscheibe vor dem Display eine leitfahige Metalloxid-Schicht aufgetragen und an den vier Eckpunkten dieser Schicht eine Rechteckspannung angelegt

Page 15: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.2. Multitouch-Table Technologien 7

[Cor07] [UL09]. Hierdurch wird ein elektrisches Feld erzeugt, welches durch Beruhrung uber denmenschlichen Korper eine kapazitive Verbindung mit der Erde herstellt. Der hier entstehende La-dungstransport wird nun in Form von elektrischen Strom gemessen und ausgewertet. So konnendie X- und Y-Koordinaten der Beruhrung errechnet werden. Ein Nachteil dieser Technologie ist,dass sie nur Finger und dafur entwickelte Stifte erkennen kann. Von Vorteil ist, dass die Metalloxid-Schicht mit einem Sicherheitsglas geschutzt werden kann und diese Technologie hierdurch sehr wi-derstandsfahig gegenuber Beschadigungen wird. Sie wird haufig in mobilen Geraten wie dem iPhoneverwendet, kann aber auch in weitaus großeren Geraten Anwendung finden.

Abbildung 2.2: Schematische Darstellung der Funktionsweise von kapazitiven Touchscreens.c©Visam

2.2.3 Despersive signal Technologie (DST)

Bei der despersive signal Technologie werden auf der Ruckseite einer Glasplatte vor dem Bild-schirm Sensoren angebracht, welche Vibrationen erkennen und messen [Fas09]. Wird die Glasscheibeberuhrt, messen diese Sensoren die Vibration und wandeln die mechanische Energie in elektrischeEnergie um (siehe Abbildung 2.3). Diese Daten werden mit einer Dispersionsanalyse ausgewertetund ein Beruhrungspunkt errechnet. Bei dieser Technologie werden jedoch nur Beruhrungen undBewegungen erkannt, stillstehende Objekte und Finger werden nicht erfasst. Diese Technik eignetsich besonders fur große offentliche Systeme, da sie sehr stabil ist. Selbst Kratzer in der Glasscheibebeeinflussen nicht die Qualitat der Daten.

Page 16: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.2. Multitouch-Table Technologien 8

Abbildung 2.3: Schematische Darstellung der Funktionsweise der dispersive signal Technologie.[Fas09]

2.2.4 Surface acoustic wave (SAW)

Bei der Oberwellen-Technologie werden Ultraschallwellen von einem Controller sowohl horizontal alsauch vertikal in eine Glasplatte eingespeist [Cor07]. Auf der jeweils gegenuberliegenden Seite treffendiese Wellen auf einen Reflektorstreifen, der diese zu einem Sensor weiterleitet. Durch Beruhrungder Glasplatte wird ein Teil der Schallwellen absorbiert. Mittels Messung der Absorptionszeit konnendie X- und Y-Koordinaten der Beruhrung errechnet und mithilfe der Starke der Absorption derDruck einer Beruhrung gemessen werden. Da die Glasplatte keinerlei Beschichtungen benotigt, bietetdieses System optimale Transparenz. Durch die kompakte Bauweise wird diese Technologie sowohlin kleinen, als auch in großen Systeme eingesetzt.

Abbildung 2.4: Schematische Darstellung der Funktionsweise eines surface acoustic wave Touchs-creens. c©Visam

2.2.5 Diffused illumination (DI)

Diffused illumination ist eine der kostengunstigsten optischen Technologien fur ein multitouchfahi-ges System [UL09] [AT09] [Mul08]. Ein Projektor projiziert das Bild von unten auf eine matte

Page 17: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.2. Multitouch-Table Technologien 9

Acrylglasscheibe, die gleichmaßig von Infrarotstrahlern beleuchtet wird. Eine Infrarotkamera filmtnun die Platte und zeichnet das durch Annaherung oder Beruhrung der Acrylglasscheibe reflektierteInfrarotlicht auf. Die Daten der Kamera werden anschließend ausgewertet und somit die X- und Y-Koordinaten einer Beruhrung errechnet. Nicht gleichmaßige Bestrahlung durch Infrarotstrahler fuhrtzu Fehlern in der Bilderkennung. Da es keine sensorischen Einschrankungen gibt, ist es mit dieserTechnologie moglich, eine unbegrenzte Anzahl von Objekten und Fingern zu verfolgen. BeispielsweiseMicrosoft Surface nutzt diese Technologie.

Abbildung 2.5: Schematische Darstellung der Funktionsweise eines diffused illumination Touchs-creens. c©Palomavillegas

Die optischen Systeme diffused illumination, frustrated total internal reflection, diffused surface illu-mination sowie laser light plane, bei denen das Bild von einem Projektor auf eine Glasscheibe proji-ziert wird, mussen einen Mindestabstand zwischen Projektor und Projektionsflache einhalten. Daherergibt sich bei diesen Technologien die Form des Tisches (Multitouch-Table). Bei diesen optischenSystemen hangt die Qualitat der Tracking-Daten außerdem stark von der Auflosung und Bildrateder Kamera ab. Die Aufzeichnung des Infrarotlichtes kann durch hohe Anteile der Infrarotstrah-lung im Sonnenlicht gestort werden. Um die Storungen zu minimieren, ist eine vor Infrarotstrahlungschutzende Schicht notig. Optimal funktioniert diese Technologien in Raumen mit kunstlichem Lichtohne Infrarotanteile.

2.2.6 Frustrated total internal reflection (FTIR)

Die FTIR-Technologie ahnelt im Aufbau sehr der DI-Technologie, es wird jedoch keine matte, son-dern eine klare Acrylglasscheibe verwendet und diese auch auf eine andere Weise beleuchtet [UL09][AT09] [Mul08]. Die Scheibe wird nicht aus Richtung des Projektors, sondern seitlich der Acrylglas-scheibe durch Infrarotlicht von LEDs bestrahlt. Dieses seitlich eingestrahlte Licht verlasst die Glas-platte nicht, bedingt durch die entstehende Totalreflexion, die beim Ubergang von Licht aus einemoptisch dichterem zu einem optisch dunneren Medium entsteht. Treffen die Lichtstrahlen in einem

Page 18: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.2. Multitouch-Table Technologien 10

bestimmten Winkel auf die Grenzflache der Medien, werden diese vollstandig reflektiert. Durch eineBeruhrung der Acrylglasscheibe entsteht nun Streulicht, welches wie bei der DI-Technik von einerInfrarotkamera aufgenommen wird. Der Vorteil dieser Technologie gegenuber der DI-Technologie ist,dass sich Beruhrungen starker abheben und so besser erkannt und gefiltert werden konnen. Aufgrundder hohen Genauigkeit konnen Objekte praziser erkannt werden. Allerdings kann die lichtleitende kla-re Acrylglasscheibe nicht als Projektionsflache dienen, weshalb sie noch mit einer Projektionsschichtversehen werden muss. Eine sensorische Einschrankung ist, wie ebenfalls bei der DI-Technologie,nicht vorhanden. Da bei der FTIR-Technologie das Bauvolumen ahnlich dem DI System ist, eignetsich diese Technik ebenfalls nur fur große Displays.

Abbildung 2.6: Schematische Darstellung der Funktionsweise eines frustrated total internal reflec-tion Touchscreens. c©Palomavillegas

2.2.7 Diffused surface illumination (DSI)

Der Aufbau der DSI-Technologie ahnelt dem der DI- und FTIR-Technologie [AT09]. Es dient eben-falls ein Rahmen aus Infrarot-LEDs als Lichtquelle, es wird in diesen Rahmen keine Acrylglasscheibeeingesetzt, sondern eine spezielle endlighten Plexiglasscheibe. Endlighten bedeutet, dass sich inner-halb der Scheibe kleine Teilchen befinden, die sich wie tausende kleine Spiegel verhalten. Dadurchwird das in die Rander der Scheibe gestrahlte Infrarotlicht gleichmaßig innerhalb der Oberflacheverteilt (siehe Abbildung 2.7). Der Nachteil dieser Methode gegenuber der DI- und FTRI-Methodeist der schlechtere Kontrast der zu erkennenden Finger und Objekte, da in Richtung der Kamera In-frarotlicht durch die Teilchen im Glas gespiegelt wird. Dieses System kann ebenfalls eine unbegrenzteAnzahl von Fingern verfolgen und Objekte erkennen.

Page 19: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.2. Multitouch-Table Technologien 11

Abbildung 2.7: Schematische Darstellung der Funktionsweise eines diffused surface illuminationTouchscreens. [AT09]

2.2.8 Laser light plane (LLP)

LPP ist vom Aufbau dem DI-, FTIR- und DSI-System sehr ahnlich und unterscheidet sich ebenfallsnur in der Beleuchtung [UL09] [AT09]. Hier werden Lasermodule verwendet, die durch spezielleLinienlinsen eine Flache aus Infrarotlicht uber der Oberflache des Displays aufspannen. Wird dieseInfrarotflache durch eine Beruhrung durchbrochen, zeichnet eine Kamera die Infrarotstrahlen zurAuswertung auf. Ein Nachteil hierbei ist das mogliche Entstehen von Abschattungseffekten, die vorallem die Objekterkennung einschranken. Aufgrund der Bauweise ist auch dieses System nur furgroße Displays geeignet.

Abbildung 2.8: Schematische Darstellung der Funktionsweise eines laser light plane Touchscreens.c©NUI-Group

Page 20: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.2. Multitouch-Table Technologien 12

2.2.9 IR-Lichtvorhang

Bei diesem Verfahren wird durch LEDs an den beiden nicht gegenuberliegenden Seiten eine ArtLichtvorhang uber dem Display aufgespannt [UL09]. An der jeweils gegenuberliegenden Seite der LEDbefinden sich Infrarotlicht-Detektoren, die das gestrahlte Licht empfangen. Durch eine Beruhrungwird der Lichtfluss zu den Detektoren an dieser Stelle unterbrochen. Diese Detektoren ohne Lichtflussgeben die X- und Y-Koordinaten der Beruhrung an. Da großere Objekte mehr Dioden verdecken, kannsomit auch die Große von Objekten erkannt werden, jedoch ohne genaue Konturen. Ein gravierenderNachteil dieser Technologie ist, dass mehrere zeitgleiche und sich kreuzende Beruhrungen zu Fehlerndes Systems fuhren konnen, da die X- und Y-Koordinaten nicht mehr eindeutig zugeordnet werdenkonnen. Durch die kompakte Bauweise kann diese Technologie sowohl bei großen als auch bei kleinenDisplays verwendet werden. Ein weiterer Vorteil ist die problemlose Anbringung des IR- Lichtvorhangsan herkommliche Flachbildschirme.

Abbildung 2.9: Schematische Darstellung der Funktionsweise eines IR-Lichtvorhang Touchscreens.[UL09]

2.2.10 IR-light plane (IRLP)

Das IRLP-Verfahren funktioniert technisch ahnlich wie der IR-Lichtvorhang, unterscheidet sich imAufbau [UL09]. Zwei Sensor/Emitter-Module befinden sich in den gegenuberliegenden Seiten uberdem Display. Die Emitter spannen einen Lichtvorhang uber das Display und die Sensoren mes-sen Unterbrechungen durch Beruhrungen (siehe Abbildung 2.10). Aufgrund der Bauweise tritt eineVerzerrung auf, welche durch komplexe Algorithmen behoben wird. Wie bei der IR-Lichtvorhang-Technologie ist die Erkennung von Objekten ebenfalls nur eingeschrankt moglich. Die IR-Light Planekann, wie bereits der IR-Lichtvorhang, an großen und kleinen Flachbildschirmen angebracht werden.

Page 21: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.3. Multitouch-Table Software 13

Abbildung 2.10: Schematische Darstellung der Funktionsweise eines IR-light plane Touchscreens.Zu sehen ist der Lichtvorhang von zwei Sensor/Emitter-Modulen durchbrochen von einem Finger.c©Next Window

2.3 Multitouch-Table Software

Nachdem die verschiedenen Technologien und deren technische Moglichkeiten aufgezeigt wurden,beschaftigt sich der folgende Abschnitt mit der bisher zur Verfugung stehenden Software. Die Technikdes Multitouch-Tables wird fur viele verschiedene Zwecke mit unterschiedlicher Software eingesetzt.Um neue Konzepte zu entwickeln, ist es erforderlich einen Uberblick uber die bisher vorhandeneSoftware zu schaffen. Aufgrund der bereits umfangreich vorliegenden Software erfolgt eine Glie-derung in die Bereiche Betriebssysteme, Technologie-Demonstrationen, Informations-Visualisierungund -Bearbeitung, virtuelle Musikinstrumente sowie Grafik-Erstellung und -Bearbeitung. Des Wei-teren werden die vorhandene Software im Spielbereich und die Anwendungen im Terminalbereichuntersucht.

2.3.1 Betriebssysteme

Eine wesentliche Voraussetzung fur die Verbreitung des Multitouch-Tables sind die Betriebssy-steme [ct037] [PK55]. Sie erlauben es, Anwendungen uber standardisierte Schnittstellen mit derMultitouch-Hardware zusammenzufuhren, sofern die Treiber der Hardware vom Hersteller bereitge-stellt werden. Dadurch konnen Anwendungen indirekt uber das Betriebssystem auf die Multitouch-Hardware zugreifen.Bisher gibt es zwei Betriebssysteme fur einen Multitouch-Table: MPX Linux und Windows 7. MPXLinux ist Linux mit einer Multi-Point X Server (MPX)-Modifikation. Das Programm ist in der Lage,mehrere Mauszeiger oder mehrere Bewegungsquellen, wie bei einem Multitouch-Table, zu verwalten.Somit bietet MPX Linux eine Plattform fur Multitouch-Anwendungen, das Angebot an Software-und Hardware-Unterstutzung ist noch sehr begrenzt.Windows 7, das jungste Betriebssystem von Microsoft, verfugt ebenfalls uber Multitouch Un-terstutzung und enthalt zusatzlich Programme zur Nutzung von Multitouch. Anwendungen, wiebeispielsweise Wordpad, Paint oder auch der Internet Explorer, lassen sich mit Multitouch-Gestenbedienen (siehe Abbildung 2.11).

Page 22: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.3. Multitouch-Table Software 14

Abbildung 2.11: Verschieben von Objekten in Microsoft Windows 7 auf einem Touchscreen.c©Microsoft

2.3.2 Technologie-Demonstrationen

Es existierten eine Vielzahl von Anwendungen, die neben dem Demonstrieren der Interaktionsmoglich-keiten kein erkennbares Ziel verfolgen. Sie entstehen vorrangig als Ergebnis von Forschungsprojektenim Bereich Multitouch oder werden von Privatpersonen experimentell erstellt [UL09] [PK55].Eine der bekanntesten Technologiedemonstration ist das im Jahr 2006 erschienene Video des Teamsvon Jefferson Han1. Es zeigt eine Vielzahl von Anwendungen, die durch intuitive Bewegungen ge-steuert werden.

Abbildung 2.12: Bilder des Jefferson Han Technologie-Demonstrations-Videos. c©Jefferson Han

2.3.3 Informations-Visualisierung und -Bearbeitung

Ein weiterer Anwendungsbereich von Multitouch ist die Visualisierung und Bearbeitung von Daten-und Informationsmengen [UL09] [WB09]. Ein haufig umgesetztes Konzept der Informations-Visualisierungund -Bearbeitung ist das eines Photo Browsers, Bilder konnen durch Beruhrungen verschoben, ver-großert und gedreht werden. Eine ebenso vielfach umgesetztes Multitouch-Konzept ist die Globus-navigation, basierend auf dem Datenbestand von beispielsweise Google Earth. Bei dieser Anwendung

1http://cs.nyu.edu/%7Ejhan/

Page 23: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.3. Multitouch-Table Software 15

kann der Benutzer mit Beruhrungen durch eine dreidimensionale geografische Darstellung der Erdenavigieren.Daruber hinaus existieren zahlreiche Anwendungen fur Prasentationszwecke. Beispielsweise nutz-te der amerikanische Fernsehsender NBC bei der Prasidentenwahl 2008 Microsoft Surface, um dieWahlergebnisse fur den Zuschauer zu veranschaulichen.

Abbildung 2.13: Microsoft Surface bei der Prasidentenwahl auf dem Sender NBC. [WB09]

Daruber hinaus gibt es zahlreiche Terminal-Anwendungen zur Informations-Visualisierung und -Bearbeitung, auf die spater genauer eingegangen wird.

2.3.4 Virtuelle Musikinstrumente

Eine gangige Multitouch-Anwendung im Bereich der Musikinstrumente ist die Umsetzung einesPianos [UL09]. Auf dem Bildschirm werden die Tasten eines Pianos dargestellt und konnen durchBeruhrung des Bildschirms gespielt werden.Ein neuartiges, auf der Technologie des Multitouch-Table basierendes elektronisches Musikinstru-ment, ist der reacTable. Durch das Platzieren und Manipulieren von fiducials markierten Objektenauf dem reacTable konnen verschiedene Elemente, wie Synthesizer, Effekte, Loops oder Kontroll-elemente, zum Erzeugen von Musik gesteuert und miteinander verbunden werden (siehe Abbildung2.14).

Page 24: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.3. Multitouch-Table Software 16

Abbildung 2.14: Interaktionen mit dem reacTable durch die Manipulation von Objekten.c©reacTable

2.3.5 Grafik-Erstellung und -Bearbeitung

Zahlreiche Anwendungen zur Grafikerstellung fur Multitouch-Tables liegen bereits vor [UL09]. Uber-wiegend sind es Technik-Demos zum Malen in verschiedenen Farben durch Beruhrungen. Im De-monstrationsvideo von Jefferson Han ist eine Anwendung zu sehen, die zusatzlich aus verbundenenLinien Vektorgrafiken erstellte und diese an automatisch erstellten Bones durch Beruhrung bewegtwerden konnten.Das Projekt Shared Design Space der Fachhochschule Oberosterreich ermoglicht daruber hinaus dasZeichnen mit digitalen Stiften. Die Anwendung wurde fur einen uberdimensionalen Multitouch-Tablegeschrieben und ermoglicht das gleichzeitige Arbeiten mehrere Personen an einer Zeichnung odereinem Bild.Eine weitere nennenswerte Anwendung ist Photoshop MT. Photoshop MT ist ein Bildbearbeitungs-programm und wurde an der Hochschule fur Gestaltung in Schwabisch Gmund entwickelt. Nebendem Zeichnen bietet es zusatzlich eine Anzahl von Funktionen, die fur Bildbearbeitungssoftwaretypisch sind. Es steht nicht mit der gleichnamigen Software der Firma Adobe in Verbindung.

Abbildung 2.15: Bedienung von Photoshop MT durch langes Drucken. c©Envis-Precisely

Page 25: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.3. Multitouch-Table Software 17

2.3.6 Spiele

Im Bereich der Computerspiele finden sich weitere Einsatzgebiete des Multitouch-Tables [UL09][WF09]. Ein vor allem fur den Bereich der Spielerstellung genutzter Vorteil des Multitouch-Tablesgegenuber anderen Eingabegeraten ist die Multi-Benutzer-Fahigkeit. Sie ermoglicht das Zusammen-spielen mehrerer Personen an einem Tisch.Ein bekanntes Spiel, welches diese Moglichkeit nutzt, ist das von UI Centric auf den Multitouch-Table ubertragene Air Hockey. Es gewann große Popularitat, da es auf einem sehr großen 103 ZollPanasonic Plasma-TV mit U-Touch Overlay prasentiert wurde. Der Spieler schlagt mit einem virtu-ellen Schlager, welcher mit dem Finger gesteuert wird, einen ebenso virtuellen Puck. Ziel des Spielsist es, den Puck in das Tor des Gegenspielers zu stoßen und Treffer im eigenen Tor abzuwehren.Einen hohen Bekanntheitsgrad erreichte das Spiel RUSE der Firma Ubisoft. Es ist ein technischhochwertiges Strategiespiel, es kann mit Maus und Tastatur bedient werden und bietet daruberhinaus volle Multitouch-Unterstutzung. Bei RUSE handelt es sich um ein Strategiespiel, welchesdie Touchsteuerung nutzt, um, ahnlich der Globusnavigation, durch eine 3D Karte zu steuern undmilitarischen Einheiten Befehle zu erteilen.

Abbildung 2.16: Das Strategie-Spiel RUSE auf einem Multitouch-Table. c©Ubisoft

2.3.7 Terminal-Anwendungen

Terminal-Anwendungen unterscheiden sich von den bisher aufgefuhrten Anwendungsbereichen [UL09][WB09]. Ungelernte Benutzer sollen die Multitouch-Anwendungen bedienen konnen. Das impliziertdas Verstehen der Bedienung ohne Anleitung, auch Menschen, die den taglichen Umgang mit Com-putersystemen nicht praktizieren. Terminal-Anwendungen werden uberwiegend im Bereich der In-formationsstande genutzt. Diesen Anwendungsbereich dominiert Microsoft Surface. Grunde hierfursind die fuhrende Marktposition von Microsoft sowie der fruhe Start des Systems. AT & T Mobilitywendet Microsoft Surface an, um dem Kunden durch Auflegen von markierten Handys Informationenzu diesen auf dem Tisch zu prasentieren.BMW nutzte bereits Microsoft Surface zur Konfiguration seiner Fahrzeuge durch den Kunden. ImRio All-Suite Hotel sowie in Casinos konnen mit Microsoft Surface Getranke gemixt und bestelltwerden (siehe Abbildung 2.17). Die Einsatzmoglichkeiten von Multitouch-Terminals sind nahezugrenzenlos.

Page 26: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.4. Schlussfolgerung und Zusammenfassung 18

Abbildung 2.17: Microsoft Surface Terminal-Anwendung zum Bestellen von Essen und Getranken.c©Microsoft

2.4 Schlussfolgerung und Zusammenfassung

Im Kapitel Stand der Technik wurde ein Uberblick uber die vorhandene Hard- und Software desMultitouch-Tables geschaffen. Die vorhandenen Technologien zur Umsetzung eines multitouchfahi-gen Systems wurden vorgestellt.Die elektrischen Ansatze zur Umsetzung eines multitouchfahigen Systems basieren auf der Mes-sung von Spannung beziehungsweise Strom. Da diese Systeme kompakt sind und gunstig produ-ziert werden konnen, kommen sie hauptsachlich in mobilen Geraten zur Anwendung. Die kapazitiveTechnologie kann nur Finger und bestimmte Stifte erkennen. Sie ist widerstandsfahig gegenuberBeschadigungen. Nachteil der resistiven Technologie ist die geringe Lichtdurchlassigkeit.Der mechanische Ansatz der despersive signal Technologie basiert auf der Messung von Vibratio-nen. Hierbei konnen nur Beruhrungen und Bewegungen identifiziert werden. Stillstehende Objekteund Finger werden nicht erkannt. Diese Technologie wird hauptsachlich in offentlichen Systemenverwendet, da sie weitgehendst resistent gegenuber Beschadigungen ist.Der akustische Ansatz der surface acoustic wave Technologie basiert auf dem Messen von Schall-wellen. Hierdurch wird es moglich, den Druck einer Beruhrung zu messen. Dieses System schafftoptimale Transparenz.Eine große Auswahl an Technologien bietet der optische Ansatz zur Umsetzung eines multitouchfahi-gen Systems. Der Großteil dieser Systeme ist identisch aufgebaut und unterscheidet sich nur in derArt der Beleuchtung von Infrarotlicht, welches von einer Kamera aufgenommen und ausgewertetwird. Die Systeme unterscheiden sich im Kontrast der Beruhrungen und bei der Genauigkeit derObjekterkennung. Schwachen gegenuber Infraroteinstrahlung von außen sind bei beiden Systemenvorhanden. Alle hier vorgestellten Systemen konnen eine unbegrenzte Anzahl von Fingern gleich-zeitig erkennen, es gibt keine sensorischen Einschrankungen. Ein weiterer optischer Ansatz ist dieMessung des Infrarotlichts mit Sensoren. Systeme, die diesen Ansatz nutzen, konnen problemlos auf

Page 27: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

2.4. Schlussfolgerung und Zusammenfassung 19

vorhandene Bildschirmsysteme montiert werden.Die Wahl der Technologie fur einen Multitouch-Table sollte unter Berucksichtigung des Einsatzbe-reiches und der Große des Tisches getroffen werden.Anhand von Softwarebeispielen wurde eine Ubersicht uber die verschiedenen Anwendungsbereichedes Multitouch-Tables geschaffen. Trotz der vielfaltigen Anwendungsmoglichkeiten ist das Angebotan unterschiedlichen Softwarekonzepten fur den Multitouch Table, aufgrund der beschrankten Ver-breitung des Systems, bisher noch gering.Ein wesentlicher Faktor fur die Verbreitung der Technologie stellt die Verfugbarkeit von Betriebssy-stemen dar. Die Touchscreenunterstutzung von Windows 7 konnte die Verbreitung der Technologiebei Privatanwendern fordern. Im Bereich der Spiele zum Beispiel wurde durch Windows 7 die An-wendung RUSE der Firma Ubisoft mit Touchunterstutzung erst fur Privatanwender moglich.Viele der Anwendungen wurden zu Forschungs- oder Testzwecken an Universitaten und Fachhoch-schulen entwickelt und dienen der Technologiedemonstration. Auch Photoshop MT zur Grafik-Erstellung und -Bearbeitung wurde an einer Hochschule entwickelt. Der reacTable, ein neuartigesMusikinstrument, entstand im Rahmen eines Forschungsprojektes an einer spanischen Universitat.Ein großer Teil der Anwendungen wurde nur fur gewisse Prasentationszwecke geschrieben und nichtkommerziell vertrieben. Andere Anwendungen wiederum, wie beispielsweise Microsoft Surface, wer-den nur in Verbindung mit der entsprechenden Hardware verkauft.Kommerziell erfolgt die Nutzung des Multitouch-Table schon heute sehr erfolgreich. Die uberwiegendintuitive und beobachtbare Bedienung macht die Steuerung der Anwendungen einfach, verstandlichund nachvollziehbar. Dies sind optimale Vorraussetzungen zur Informationsvisualisierung, es wecktNeugier und ladt dazu ein, selbst aktiv zu werden. Daher wird der Multitouch-Table als Terminal-Anwendung haufig zur Produktwerbung oder Informationsverbreitung bereits eingesetzt.In jedem seiner vielfaltigen Einsatzbereiche ermoglicht der Multitouch-Table neue Erfahrungen dereinfachen Interaktion mit Computerprogrammen.

In Kapitel 3 werden die in den vorgestellten Anwendungsbereichen umgesetzten Konzepte zur Inter-aktion an einem Multitouch-Table analysiert. Es erfolgt eine Uberprufung, welche der vorhandenenKonzepte die Beschleunigung oder Geschwindigkeit einer Bewegung nutzen.

Page 28: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Kapitel 3

Konzepte zur Interaktion an einemMultitouch-Table

Im Kapitel Stand der Technik wurden die verschiedenen technischen Ansatze zur Umsetzung einesMultitouch-Tables sowie die vielseitigen Anwendungsbereiche der bereits vorhandenen Software fursolch ein System vorgestellt.Auf der Grundlage dieser Ergebnisse wird uberpruft, welche Konzepte zur Interaktion die Anwen-dungen fur den Multitouch-Table nutzen. Verschiedene Konzepte werden kategorisiert und derenAnwendung und Funktionsweise untersucht. Besonderes Augenmerk wird hier auf die Nutzung derBewegungsgroßen von Benutzereingaben gelegt, um zu prufen, in wie weit Beschleunigung oderGeschwindigkeit einer Bewegung zur Interaktion genutzt werden.

3.1 Einleitung

Die bereits umgesetzten Konzepte beruhrungsintensiver Interaktion zwischen Anwender und Com-puter werden in diesem Kapitel untersucht. Bereits vorhandene Konzepte und die dahinterstehendeAktion auf dem Touchscreen werden vorgestellt, sowie die genutzten Anwendungsmoglichkeiten derKonzepte erortert. Soweit moglich, folgt die Erlauterung der hinter dem Konzept stehenden Funk-tionsweise.Die Eingabemoglichkeiten werden in zwei Kategorien unterteilt. Die Interaktion durch Beruhrungdes Touchscreens mit einem oder mehrerer Finger und die Interaktion durch reale, mit fiducialsmarkierten Objekten.Die bisher genutzten Konzepte zur Interaktion an einem Multitouch-Table werden anhand vonkostenlosen Anwendungen und Demonstrationsvideos analysiert. Die Funktionsweisen der Inter-aktionsmoglichkeiten werden anhand des Quellcodes der touchlib Beispielanwendungen uberpruft.Touchlib ist eine von NUI-Group bereitgestellte Bibliothek zur Multitouch-Interaktion. Diese Biblio-thek enthalt mehrere beispielhafte Anwendungen, wie zum Beispiel eine Foto-Applikation.

20

Page 29: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

3.2. Finger 21

3.2 Finger

Das folgende Unterkapitel befasst sich mit den vorhandenen Interaktionskonzepten an einem Multitouch-Table durch Beruhrung mit einem oder mehreren Fingern. Vorweg ist anzumerken, dass in der StudieTouch it, move it, scale it - Multitouch festgestellt wurde, dass die Interaktion mit mehreren FingernBenutzern schwerer fallt als die Interaktion mit nur einem Finger [MB09].Nachfolgende Interaktionskonzepte zur Finger-Interaktion an einem Multitouch-Table wurden bereitsin Anwendungen umgesetzt:

• DruckenDas Drucken von Schaltflachen durch eine Beruhrung des Touchscreens, gefolgt vom Anhebendes oder der Finger.

• Ziehen und Fallenlassen (Drag & Drop)Die Bewegung von dargestellten Inhalten durch die Bewegung eines oder mehrerer Finger uberden Touchscreen.

• RotationDie Rotation eines dargestellten Objektes mit einem oder zwei Fingern. Bei der Rotation miteinem Finger wird durch eine Kreisbewegung um eine, in der Mitte des Objektes festgelegte,Achse rotiert. Bei der Rotation mit zwei Fingern kann diese Achse mit dem anderen Fingerfestgelegt werden.

• SkalierenDas Skalieren von dargestellten Inhalten durch Zusammenfuhren oder Auseinanderfuhren zwei-er Finger auf dem Touchscreen.

• Bildlauf (Scrolling)Die Bewegung innerhalb eines Bildschirminhaltes durch eine Bewegung entgegen der Scroll-richtung.

• StoßenDas Wegstoßen von dargestellten Objekten durch eine stoßartige Bewegung in eine Richtung.

• 3D NavigationDie Navigation durch dreidimensionale Welten durch leichte Abwandlung der Konzepte desBildlaufs, der Rotation und der Skalierung.

3.2.1 Drucken

Eine der einfachsten und am haufigsten genutzten Interaktionsmoglichkeiten ist das Drucken [WF09].Hierbei handelt es sich um eine Beruhrung des Touchscreens durch einen oder mehrere Finger, ge-folgt vom Anheben des Fingers, beziehungsweise der Finger.Hierbei gibt es verschiede Konzepte und Abstufungen. Haufig werden nur die X- und Y-Koordinatender Beruhrung des Bildschirms ausgelesen und das auf diesen Koordinaten liegende Element beimBeruhren oder Loslassen aktiviert. Manche Systeme lesen zusatzlich die Dauer der Beruhrung aus,um langen Beruhrungen der selben X- und Y-Koordinaten eine andere Funktion zuzuteilen. Dies wird

Page 30: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

3.2. Finger 22

beispielsweise bei Microsoft Windows 7 genutzt, um den schon durch andere Microsoft Produktebekannten Rechts-Klick zu ersetzen, welcher weitere Bedienungsmoglichkeiten einblendet.Kaum eine Anwendung kommt ohne das Drucken von auf dem Touchscreen dargestellten Schalt-flachen aus. Vor allem einfach aufgebaute System wie Navigationsgerate, Informationsterminals oderFahrkartenautomaten arbeiten ausschließlich mit dieser Eingabemoglichkeit.

Abbildung 3.1: Bedienung der Bildschirmtastatur durch Drucken. c©Mindflow

3.2.2 Ziehen und Fallenlassen (Drag & Drop)

Die Multitouch Betriebssysteme Windows 7, MPX Linux und andere Anwendungen, in denen Daten,wie beispielsweise Fotos oder Videos verwaltet werden, nutzen Drag & Drop zur intuitiven Steuerung[WF09] [Mul08]. Uberschneiden sich die Koordinaten einer Beruhrung mit einem auf dem Bildschirmdargestellten bewegbaren Objekt, folgt dieses dem Finger so lange die Beruhrung anhalt. JeglicheDifferenz der Koordinaten des Fingers wird auch auf die Koordinaten des Objektes ubertragen. Wirdder Finger wieder vom Touchscreen entfernt, bleibt das Objekt an der neuen Position stehen.

Abbildung 3.2: Verschieben von Fotos mit dem Finger durch Drag & Drop. c©Microsoft

Page 31: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

3.2. Finger 23

3.2.3 Rotation

Zur Rotation von Objekten werden zwei gangige Konzepte genutzt - zum Einen die Rotation einesObjektes mit einem Finger, welche auch bei manchen Anwendungen mit Drag & Drop zusammenverwendet wird und zum Anderen die Rotation mit zwei Fingern [Mos07] [Mul08] [WF09]. Bei beidenVarianten wird die atan2 Funktion genutzt, welche einen Winkel im Bogenmaß zuruck gibt, dessenTangens der Quotient zwei angegebener Zahlen ist.Bei der Rotation mit einem Finger werden die Koordinaten des Mittelpunktes des zu rotierendenObjektes von den Koordinaten des Fingers subtrahiert. Diese X- und Y-Differenzwerte werden mitHilfe der atan2 Funktion in einen Winkel umgerechnet. Wird dieser Winkel mit Pi/180 multipliziert,erhalt man den Winkel im Grad-Maß, der als Rotationswinkel verwendet werden kann. Ahnlich wieschon beim Drag & Drop-Verfahren wird jegliche Differenz dieses Winkels wahrend der Beruhrungauf die Rotation des Objektes ubertragen.

Abbildung 3.3: Atan2 Funktion bei der Rotation mit einem Finger.

Bei der Rotation eines Objektes mit zwei Fingern wird wie bei der Rotation mit einem Finger ver-fahren. Allerdings wird nicht mit der Distanz zum Mittelpunkt gerechnet, sondern mit der Distanzder beiden das Objekt beruhrenden Finger. Beide Verfahren finden Anwendungen in Applikationenzum Verwalten und Betrachten von Fotos.

3.2.4 Skalieren

Das Skalieren erfolgt bei Multitouch Anwendungen mit zwei oder mehr Fingern [Mos07] [Mul08][WF09]. Die Entfernung zweier Beruhrungspunkte wird mit dem aktuellen Zoomfaktor gleichgesetzt.Wird die dazwischen liegende Strecke durch Zusammenfuhren oder Auseinanderbewegen der Fingerverandert, wirkt sich dies auf den Zoomfaktor aus. Der Zoomfaktor wird in der Regel proportionalzur Differenz der Strecke zum vorherigen Messpunkt verandert.

Page 32: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

3.2. Finger 24

Ein weiterer Anwendungsbereich fur diese Technik ist die Verwendung bei Fotoverwaltungs- undFotovisualisierungs-Programmen, um die Große eines Bildes zu manipulieren. Hier wird die X-undY-Differenz der Beruhrungspunkte auf die X- und Y-Große des beruhrten Bildes ubertragen.

Abbildung 3.4: Skalierung eines Bildes mit zwei Fingern. c©Mindflow

3.2.5 Bildlauf (Scrolling)

Als Bildlauf wird das Bewegen innerhalb von Bildschirminhalten bezeichnet [WF09]. Was mit derComputermaus mithilfe eines Scrollbalkens am Rande der Anwendung gelost wird, funktioniert beiTouchanwendungen ohne diesen. Die zu scrollende Anwendung wird beruhrt und entgegen der Scroll-richtung bewegt.

Abbildung 3.5: Seitliches Scrollen bei einer Microsoft Surface Anwendung. c©Microsoft

Bewegt man den Finger von der Mitte des Bildschirms nach oben, bewegt sich der zu scrollendeInhalt ebenfalls mit nach oben und es wird nach unten gescrollt. Technisch wird hier wie beim Drag& Drop-Verfahren vorgegangen. Jegliche Differenz der Koordinaten des Fingers wird auf den zuscrollenden Inhalt ubertragen. Wenige Anwendungen, wie Microsoft Surface, nutzen hier zusatzlich

Page 33: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

3.2. Finger 25

die Geschwindigkeit einer Scrollbewegung, was bei großeren Scrollvorgangen von großem Vorteil ist.Nach einer schnellen Bewegung scrollt der Inhalt weiter und die Scrollgeschwindigkeit wird erst lang-sam, von einem festgelegten Wert ausgehend verringert. Die touchlib-Beispielanwendung Tangramnutzt ebenfalls dieses Konzept, um durch Inhalte zu scrollen.

3.2.6 Stoßen

Das Stoßen wurde bisher nur in einem Air-Hockey-Spiel der Firma UI Centric1 genutzt. Es wurdefur den damals großten Multitouch-Table der Welt entwickelt und erlangte große Popularitat. DerTisch basiert auf einem 103 Zoll Panasonic Plasma-TV mit einem U-Touch-Overlay. Air Hockey,ein Geschicklichkeitsspiel konzipiert fur zwei Spieler, wird herkommlich auf einer billardtischgroßen,ebenen Platte gespielt. Ziel des Spiels ist es, einen Puck mit Hilfe eines Schlager in das Tor desGegners zu spielen. Durch Locher im Tisch wird Luft geblasen, sodass unter dem Puck ein Luftkis-sen entsteht. Aufgrund dieses Luftkissens gleitet der Puck beinahe ohne Reibungswiderstand underreicht hohe Geschwindigkeiten. Das Spielprinzip wurde von UI Centric auf den Multitouch-Tableubertragen. Hier schlagt der Spieler mit einem virtuellen Schlager, welcher mit dem Finger gesteuertwird, den ebenso virtuellen Puck.Das Stoßen konnte in seiner Funktionsweise als einziges Konzept nicht uberpruft werden, da esbisher nur in UI Centrics Air Hockey umgesetzt wurde und der Quelltext dieser Anwendung nichtverfugbar ist.

Abbildung 3.6: UI Centrics Air Hocky auf einem 103 Zoll Panasonic Plasma-TV mit U-Touch-Overlay. c©UI-Centric

3.2.7 3D Navigation

Die 3D-Navigation findet vor allem bei der Globusnavigation Verwendung [Mul08]. Sowohl furGoogle-Earth als auch fur Nasa-World-Wind existieren bereits Multitouch-Interfaces. Bei diesenAnwendungen wird der Globus von oben betrachtet. Durch die schon bekannte Aktion des Skalie-rens kann der Zoomfaktor der Kamera beeinflusst werden. Die Erdkugel kann daruber hinaus durch

1http://www.uicentric.net/

Page 34: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

3.3. Fiducials (Objekte) 26

eine Rotation mit zwei Fingern oder durch eine dem Scrollvorgang sehr ahnliche Bewegung rotiertwerden. Zusatzlich erfolgt beim Rotieren der Erdkugel das Auslesen der Geschwindigkeit einer Be-wegung, um den Globus nach einer schnellen Rotationsbewegung noch weiter schwingen zu lassen.Dies ist bei großeren Rotationsvorgangen von Vorteil, sie werden beschleunigt und vereinfacht.

Abbildung 3.7: Nasa World Wind auf einem Multitouch-Table. c©NASA

3.3 Fiducials (Objekte)

Viele Multitouch-Tables konnen, neben den Bildschirm beruhrenden Fingern, auch Objekte erkennen.Durch bestimmte Markierungen an einem Gegenstand, sogenannte fiducials, kann dieser vom Systemeindeutig erkannt werden (siehe Abbildung 3.8). Zusatzlich zu den Positionsdaten konnen auch Datenuber die Rotation des Objektes anhand der Markierungen erkannt werden.

Abbildung 3.8: Von Reactivision verwendete Markierungen fur Objekte. c©Reactivision

Folgende Konzepte zur Objekt-Interaktion werden umgesetzt und untersucht:

• AuflegenDas Auslosen einer Aktion durch das Auflegen eines markierten Objektes auf den Touchscreen.

Page 35: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

3.3. Fiducials (Objekte) 27

• RotationsausrichtungDie Manipulation von Einstellungen durch die Rotationsausrichtung eines Objektes.

3.3.1 Auflegen

Durch das Auflegen eines Objektes mit einer bestimmten Markierung auf den Touchscreen wird eineAktion ausgefuhrt [WB09]. Microsoft Surface nutzt dies beispielsweise, um Informationen zu einemauf den Multitouch-Table gestellten Getrank durch eine Markierung am Glas zu liefern.Beim BMW-Product-Navigator, der ebenfalls auf Microsoft Surface basiert, wird die Farbe des Autosund der Inneneinrichtung durch das Auflegen von Objekten manipuliert. Die Farbe des Objektes dienthier als Muster fur die Farbanderung, die durch das Auflegen des Objektes erfolgt.

Abbildung 3.9: Farbauswahl beim BMW-Product-Navigator durch Auflegen des Musters. c©BMW

3.3.2 Rotationsausrichtung

In vielen Anwendung werden Einstellungen durch die Rotationsausrichtung eines aufgelegten Ob-jektes manipuliert [WB09]. Die Einstellung kann in diesem Fall Verschiedenes bedeuten. In einigenAnwendungen, wie dem Audi-Car-Configurator, werden Menupunkte, die um das aufgelegte Objekterscheinen, mithilfe der Rotation ausgewahlt (siehe Abbildung 3.10).Auch beim reacTable werden verschiedene Komponenten zum Musikerzeugen durch Rotationsaus-richtung manipuliert. Durch das Auflegen von Objekten konnen Komponenten zum Musikerzeu-gen hinzugefugt werden. Die Einstellungen der Komponenten werden durch Rotation des Objektesverandert und eine um das Objekt dargestellte Skala macht eine Orientierung moglich, sie zeigt diemomentane Einstellung.

Page 36: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

3.4. Schlussfolgerung und Zusammenfassung 28

Abbildung 3.10: Farbauswahl beim Audi Car Configurator durch Objektrotation. c©Audi

3.4 Schlussfolgerung und Zusammenfassung

In diesem Kapitel wurden die bereits umgesetzten Konzepte zur Interaktion an einem Multitouch-Table vorgestellt. Es wurde zwischen der Interaktion mit Fingern und Objekten unterschieden.Bei der Fingerinteraktion werden die Bewegungsgroßen der Benutzereingaben bisher selten genutzt.Das Konzept des Druckens verwendet die Koordinaten einer Beruhrung. In manchen Anwendungbestimmt zusatzlich die Dauer der Beruhrung die auszufuhrende Aktion.Bei den Konzepten des Drag & Drop, der Rotation und des Skalierens werden ebenfalls die Koordi-naten der Beruhrung verwendet. Jegliche Veranderung der Position eines Fingers wird hier, je nachKonzept auf unterschiedliche Weise, auf den beruhrten Bildschirminhalt ubertragen.Beim Konzept des Scrollens wird ebenfalls jegliche Veranderung der Position des Fingers auf denBildschirminhalt ubertragen. In wenigen Anwendungen erfolgt die Nutzung der Geschwindigkeit derBewegung, um das Scrollen durch große Inhalte zu erleichtern. Nach dem Loslassen des Fingers wirddie Geschwindigkeit der Bewegung an den zu scrollenden Inhalt ubertragen und erst langsam wiederabgebaut.Das Konzept des Stoßens basiert als einziges Konzept auf der Nutzung der Bewegungsgroßen vonBenutzereingaben. UI-Centric verwendet es, um das Spiel Air-Hockey auf den Multitouch-Table zuubertragen und schafft damit ein realistisches Spielgefuhl. Zur 3D-Navigation werden die Konzeptedes Skalierens, Scrollens und der Rotation in minimal abgeanderter Form verwendet. Da hier meistdurch sehr große Inhalte, wie beispielsweise die Erde, navigiert wird, erfolgt das Auslesen und Nutzender Geschwindigkeit. Das Zurucklegen von großen Strecken mit wenigen Bewegungen ist moglich.Mit Ausnahme des Konzepts des Stoßens dienen die Bewegungsgroßen bei der Fingerinteraktionbisher nur optional der Bewegung innerhalb großer Bildschirminhalte. Großere Veranderungsschrittekonnen hier durch weniger Bewegungen erledigt werden.Bei den Interaktionsmoglichkeiten mit Objekten erfolgte bisher keine Nutzung der Bewegungsgroßen.Die Interaktionsmoglichkeiten beschrankten sich auf das Platzieren und Ausrichten der Rotation aneiner um das Objekt dargestellten Skala.Bei der Untersuchung der Konzepte zeigte sich, dass trotz der bereits vielfaltigen verschiedenerAnwendungsbereiche des Multitouch-Tables bisher nur wenige unterschiedliche Konzepte zur Inter-

Page 37: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

3.4. Schlussfolgerung und Zusammenfassung 29

aktion vorliegen.Alle bisherigen Konzepte zur Interaktion bieten eine intuitive Bedienung. Die Konzepte der Finger-Interaktion bedienen sich dem beim Anwender bereits vorhandenen Wissen uber die Interaktion mitrealen Objekten. Zur Interaktion werden Gesten genutzt, die haufig im Alltag mit gleichem Effektausgefuhrt werden. Schon im Kindesalter wird beispielsweise das Drucken von Knopfen oder dasVerschieben von Gegenstanden erlernt. Eine Vielzahl der Touchscreen-Anwendungen simuliert ge-wissermaßen das Interagieren mit realen Objekten.Die Interaktion mit realen Objekten auf dem Touchscreen versucht, die reale und virtuelle Welt mit-einander zu verbinden. Beispielsweise ist die Manipulation durch den Rotationswinkel eines Objektesidentisch mit dem Drehen an einem Lautstarkeregler.Die Physik spielt bei der Interaktion mit realen Objekten eine große Rolle, die physikalischen Großender Beschleunigung und Geschwindigkeit einer Bewegung werden jedoch nur selten in Touchscreen-Anwendungen eingesetzt. UI-Centrics Air-Hockey fur den Multitouch-Table zeigt, dass durch Nut-zung der Bewegungsgroßen ein realistisches Spielgefuhl geschaffen werden kann. Bei vielen Spielenkonnte eine Steuerung durch Beschleunigung oder Geschwindigkeit einer Bewegung ein neues Spiel-gefuhl unterstutzen.Das Potential der Moglichkeiten zur Nutzung der Bewegungsgroßen von Benutzereingaben wird bis-her nur ansatzweise genutzt. In vielen Anwendungsbereichen des Multitouch-Tables bietet sich dasAuslesen der Beschleunigung oder Geschwindigkeit zur Interaktion an.

Im folgenden Kapitel werden neue Konzepte zur Interaktion an einem Multitouch-Table mit Nutzungder Bewegungsgroßen von Benutzereingaben entwickelt und anschließend in Beispielanwendungenumgesetzt und bewertet.

Page 38: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Kapitel 4

Konzeptentwicklung

Im vorherigen Kapitel erfolgte die Vorstellung der bereits umgesetzten Konzepte zur beruhrungssen-sitiven Interaktion an einem Multitouch-Table. Auf deren Funktionsweise und mogliche Anwendungs-bereiche wurde eingegangen. Hierbei zeigte sich, dass es kaum Konzepte gibt, die Geschwindigkeitoder Beschleunigung zur Anwendungssteuerung nutzen.Dieses Kapitel befasst sich mit der Entwicklung neuer Konzepte zur Interaktion mit einem Multitouch-Table, die auf der Nutzung der Bewegungsgroßen von Benutzereingaben basieren. Daruber hinauswerden Konzepte entwickelt, welche dem Benutzer die Geschwindigkeitskontrolle erleichtern sollen.Zusatzlich werden mogliche Anwendungsbeispiele zur Nutzung der neuen Konzepte benannt.

4.1 Einleitung

Die Intuitivitat steht bei Touchscreen-Anwendungen im Vordergrund. Auch die neuen Konzepte mitNutzung der Bewegungsgroßen der Benutzereingaben sollen diese Anforderung erfullen. Im bestenFall werden ahnliche Aktionen im Alltag durchgefuhrt und mit der Funktion in der Touchscreen-Anwendung assoziiert. Die Funktionsweisen der neuen Konzepte werden erlautert und Anwen-dungsmoglichkeiten in Applikationen fur den Multitouch-Table vorgestellt. Daruber hinaus befasstsich dieses Kapitel mit der Entwicklung von Konzepten, die den Umgang mit Geschwindigkeit er-leichtern sollen.Fur die Entwicklung neuer Konzepte mit Nutzung der Bewegungsgroßen von Benutzereingaben istes erforderlich, die Bewegungsgroßen Geschwindigkeit und Beschleunigung zu definieren [EH02].

GeschwindigkeitUnter Geschwindigkeit versteht man die zuruckgelegte Wegstrecke innerhalb einer bestimmten Zeit-spanne. Je großer die Geschwindigkeit, umso großer ist der zuruckgelegte Weg innerhalb diesesZeitraums. Die Geschwindigkeit berechnet sich, indem der zuruckgelegte Weg durch die benotig-te Zeit dividiert wird. Die Geschwindigkeit einer Bewegung entspricht demnach der zuruckgelegtenStrecke eines Fingers, dividiert durch die Zeitspanne, in der ein Finger den Bildschirm beruhrt.

Geschwindigkeit =X1−X2

Z1−Z2

30

Page 39: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

4.2. Konzepte mit Nutzung der Bewegungsgroßen 31

X1 = AnfangspositionX2 = EndpositionZ1 = Anfangszeit der BeruhrungZ2 = Endzeit der Beruhrung

BeschleunigungDie Beschleunigung definiert jegliche Anderung der Geschwindigkeit. Sie ist umso großer, je starkersich die Geschwindigkeit innerhalb einer Zeitspanne andert. Folglich kann die Beschleunigung alsDifferenz der Geschwindigkeit zu verschiedenen Zeitpunkten verstanden werden.

Beschleunigung = G1 − G2

G1 = Geschwindigkeit zum Zeitpunkt aG2 = Geschwindigkeit zum Zeitpunkt b

4.2 Konzepte mit Nutzung der Bewegungsgroßen

Nachdem die Bewegungsgroßen definiert wurden, folgt die Entwicklung neuer Konzepte mit derNutzung dieser Bewegungsgroßen. Die Intuitivitat und Funktion der Konzepte steht hierbei im Vor-dergrund.

4.2.1 Geschwindigkeit einer Objektrotation

Ein haufig umgesetztes Konzept ist die Bedienung einer Anwendung durch die Rotationsausrichtungeines auf den Display gelegten realen Objektes. Wie bei vielen Konzepten zur Multitouch-Interaktionwerden Bedienungselemente, die sich bewahrt haben, nachgeahmt. Als Beispiel sind die Regler einesMischpultes zu nennen.Die Geschwindigkeit der Rotation eines Objektes zur Manipulation von Einstellungen wird bereitsreal genutzt. Beispielsweise haben viele Musikverstarker zum Verstellen der Lautstarke keine Skalaam Rad (siehe Abbildung 4.1). Das Rad lasst sich beliebig ohne Anschlagspunkt in beide Richtungenrotieren, da sich die Skala nicht direkt am Rad befindet.Dieses Konzept lasst sich auf den Multitouch-Table ubertragen und noch erweitern. Die Manipula-tion von Einstellungen durch die Rotationsgeschwindigkeit eines auf den Display gestellten Objektesermoglicht eine intuitive und effiziente Steuerung. Große Einstellungsschritte konnen durch eineschnelle Rotation und kleine, prazise Einstellungsschritte durch eine langsame Rotation vorgenom-men werden. Die Rotation beschrankt sich dabei nicht auf eine 360 Grad-Anwendung. Der Vorteil beibesonders großen Einstellungsschritten besteht darin, dass durch die schnelle Rotation der Benutzernicht nachfzuassen braucht. Wunscht der Benutzer besonders kleine Veranderungsschritte, ist einein kleinsten Schritten mogliche Skalierung, ohne Berucksichtigung einer vorgegebenen Skalierungund Beschrankung auf 360 Grad, gegeben.

Page 40: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

4.2. Konzepte mit Nutzung der Bewegungsgroßen 32

Abbildung 4.1: Lautstarkeregler ohne Skala an einem Verstarker. c©Antec

Die Rotationsrichtung gibt an, ob es sich um eine positive oder negative Einstellungsveranderunghandelt. Die Rotationsgeschwindigkeit muss in kurzen Zeitabstanden gemessen werden. Die ange-strebte Veranderung wahrend der Aktion soll fortlaufend fur den Benutzer sichtbar sein. Ihm wirdhiermit die Moglichkeit gegeben, die erzielte Veranderung einzuschatzen, um sie gegebenenfalls kor-rigieren zu konnen. Das Berechnen der Geschwindigkeit erst am Ende der Rotation wurde hingegenzu einer Reaktion fuhren, die einmalig am Ende der Bewegung auftritt. Die fehlende Ruckmeldungwahrend der Aktion konnte den Anwender uber seine Aktion im Unklaren lassen.Ein weiterer Vorteil besteht in der Bedienung von Skalen, die immer prasent sein sollen, auch wenndas Objekt zum Bedienen sich nicht auf dem Multitouch-Table befindet. Dies ist zum Beispiel beider Darstellung eines komplexen Mischpultes mit sehr vielen Einstellungen der Fall.

Abbildung 4.2: Unterschiedliche Skalen bei einem Mischpult. c©Midas

Zum Verandern der Skalen mussen beim Konzept der Rotationsausrichtung die Einstellungen zweimal dargestellt werden. Zu der festen Skala wird eine weitere Skala um das Objekt zur Ausrich-tungsorientierung benotigt. Beim Konzept der Rotationsgeschwindigkeit hingegen muss mit demObjekt nach dem Auflegen nur eine schnelle oder langsame Rotation in die entsprechende Richtungausgefuhrt werden, um große oder kleine Einstellungsschritte vorzunehmen.Auch Einstellungen ohne sichtbare Skalen konnen durch dieses Konzept problemlos bedient werden.

Page 41: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

4.2. Konzepte mit Nutzung der Bewegungsgroßen 33

Das vorhandene Konzept des Skalierens fallt, wie bereits erwahnt, den Benutzern schwerer, als al-le anderen Interaktionskonzepte. Das Skalieren konnte in vielen Anwendungen durch das Konzeptder Geschwindigkeit einer Objektrotation gelost werden. Beispielsweise ware es moglich, bei der3D-Navigation, durch die Geschwindigkeit der Rotation, eines auf den Display gelegten Objektes,hinein- und herauszuzoomen. Die Vorteile des schnellen oder langsamen Rotierens waren auch hiervon großem Nutzen.Dieses Konzept konnte in Foto-Applikationen Anwendung finden. Da ein Objekt zusatzlich zu denRotationsdaten auch Positionsdaten liefert, ist der Benutzer, durch entsprechendes Positionieren desObjektes in der Lage, die auszufuhrende Aktion zu beeinflussen. Zum Einen kann er beim Vorgangdes Zoomen mit der gewahlten Position des Objektes den Fokus fur den Zoomvorgang bestim-men und zum Anderen wird das Skalieren von Fotos durch die Geschwindigkeit einer Objektrotationmoglich. Liegt eine Uberschneidung der Objektposition mit einem dargestellten Foto vor, kann durchdie Rotationsgeschwindigkeit das Foto skaliert werden.

4.2.2 Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung

Die Anzahl der Interaktionsmoglichkeiten kann durch die Nutzung der Bewegungsgroßen von Benut-zereingaben vervielfacht werden. Durch unterschiedliche Bewegungsgeschwindigkeiten ist es moglich,mit der gleichen Bewegung verschiedene Aktionen auszufuhren. Hierzu muss die Geschwindigkeit amEnde einer Bewegung gemessen und anschließend kategorisiert werden.In Foto-Applikationen kann so ein Bild durch eine mit einer bestimmten Geschwindigkeit ausgefuhr-ten Bewegung auf dem Touchscreen in Richtung Bildschirmrand vom Bildschirm entfernt werden.Dies wurde dem Herunterwerfen eines Bildes von einem Tisch ahneln. Ebenso ist denkbar, dass einFoto auf einem Multitouch-Table, verbunden mit einem Beamer, durch eine schnelle Bewegung inRichtung des Beamers auf diesen projiziert wird.In bestimmten Anwendungen konnte durch eine Bewegung mit einer vorgegebenen Geschwindigkeituber eine bestimmte Strecke die Bildschirmtastatur hervorgerufen werden. Dabei ist denkbar, durchdie Bewegungsrichtung den Winkel der aufgerufenen Tastatur zu bestimmen.

4.2.3 Geschwindigkeit einer Bewegung zur physikalischen Interaktion

Das Bewegen von Objekten auf einem Multitouch-Table durch Drag & Drop ahnelt dem Verschiebenvon Gegenstanden in der Realitat. Hierbei wurde bisher die physikalische Komponente der Geschwin-digkeit einer Bewegung vernachlassigt. Werden Gegenstande auf einer glatten Oberflache mit hoherGeschwindigkeit bewegt, gleiten diese in der Realitat so lange weiter, bis sie, bedingt durch dieReibung, zum Stillstand kommen. Dieses Verhalten konnte in Anwendungen genutzt werden, um dieInteraktion an einem Multitouch-Table noch realer wirken zu lassen. Hierzu muss die Geschwindigkeiteiner Bewegung am Ende der Beruhrung an das bewegte Objekt weitergegeben werden. Zusatzlichmuss eine Simulation der Reibung erfolgen, sonst wurde sich das bewegte Objekt unendlich mitdieser Geschwindigkeit weiterbewegen. Die Reibung kann dabei je nach Bedarf stark oder schwachdefiniert werden. Auch die physikalische Interaktion von bewegten Objekten untereinander tragt zurEchtheit der Simulation bei, wie beispielsweise beim Billard der Fall.

Page 42: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

4.2. Konzepte mit Nutzung der Bewegungsgroßen 34

In Computerspielen fur den Multitouch-Table bietet das Konzept der Nutzung von Geschwindigkeiteiner Bewegung eine intuitive und prazise Steuerung. Da Computerspiele gegenwartig in jeder denk-baren Form existieren, sind die Moglichkeiten zur Nutzung des Konzeptes nahezu grenzenlos. GroßeBedeutung konnte dieses Konzept in Spielen erhalten, in denen Objekte mit prazisen Geschwin-digkeiten, meist unter Berucksichtigung der physikalischen Interaktion, in bestimmte Richtungenbewegt werden mussen.In einem Golfspiel konnte so beispielsweise der Abschlag eines Balles simuliert werden. Geschwin-digkeit und Richtung wurde hierbei auf den Schlager ubertragen und somit die Flugbahn des Ballsbestimmt werden.Eine ahnliche Umsetzung ist auch beim Bowling-Spiel denkbar. Durch die Geschwindigkeit und Rich-tung einer Bewegung auf dem Touchscreen ließe sich die Geschwindigkeit und Richtung der Kugelbestimmen.Auch bei einem Curling-Spiel konnte dieses Konzept Anwendung finden. Richtung und Geschwindig-keit der Bewegung konnten ausgelesen werden, um den Curling-Stein prazise zu spielen. Zusatzlichist es denkbar, das Wischen mit diesem Konzept umzusetzen. Schnelles Wischen mit einem Besenkann beim Curling die Reibung des Steins verringern. Mit Hilfe der Messung der Geschwindigkeiteiner Auf- und Abbewegung vor dem Stein auf dem Touchscreen ware dies moglich.Dies bietet große Vorteile gegenuber herkommlichen Eingabegeraten. Die Vorgange werden bisherin Spielen meist durch zwei getrennte Aktionen behandelt - zum Einen das Bestimmen der Rich-tung und zum Anderen das Bestimmen der Geschwindigkeit. Die Geschwindigkeitsbestimmung wirdhierbei großtenteils mit Hilfe einer Skala umgesetzt. Ein Wert auf dieser Skala, meist dargestellt inForm eines Balkens, bewegt sich auf und ab. Der Spieler soll durch Drucken einer Taste im richtigenMoment die Geschwindigkeit bestimmen (siehe Abbildung 4.3). Dies ahnelt eher einem Glucksspiel.

Abbildung 4.3: Screenshot aus dem Spiel Tiger Woods PGA Tour 08. Rechts unten die Skala zumDosieren der Schlagkraft. c©Electronic Arts

Das Dosieren von Geschwindigkeit und die Bestimmung der Richtung durch eine Bewegung aufdem Touchscreen kommt hier der realen Aktion viel naher und ermoglicht eine weitaus prazisereBestimmung der Werte.

Page 43: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

4.3. Konzepte zur Steigerung der Benutzerfreundlichkeit 35

4.2.4 Beschleunigung der Benutzereingaben

Bei der Entwicklung von Konzepten mit Nutzung der Beschleunigung von Benutzereingaben tratfolgendes Problem auf.Die Beschleunigung definiert jegliche Anderung der Geschwindigkeit und liefert somit nur Werte beieiner Veranderung der Geschwindigkeit, anderenfalls betragt der Wert Null.Eine Bewegung, die vom Benutzer mit einer kontinuierlichen Geschwindigkeit ausgefuhrt wird, er-zeugt folglich nur am Anfang beim Beschleunigen auf die gewunschte Geschwindigkeit eine Verande-rung des Wertes (von dem Stillstand Null bis zur erreichten Geschwindigkeit). Fuhrt der Benutzer dieBewegung unverandert weiter, findet, da keine neuen Werte mehr ubermittelt werden, keine weitereBeschleunigung statt, die Aktion wird unterbrochen. Fur den Benutzer ist dies nicht nachvollzieh-bar. Da diese Reaktion im Konflikt mit der Intuitivitat der Multitouch-Bedienung steht, findet dieBeschleunigung einer Bewegung bei der Entwicklung der Konzepte keine weitere Berucksichtigung.

4.3 Konzepte zur Steigerung der Benutzerfreundlichkeit

Um die Benutzerfreundlichkeit der Konzepte von Geschwindigkeit zur physikalischen Interaktionund Geschwindigkeit zur Aktionsdifferenzierung zu erhohen, erfolgt eine Unterscheidung zwischenfortlaufenden und durch einen kurzen Stopp gebremsten Bewegungen. Zusatzlich wird die Geschwin-digkeit einer Objekt bewegenden Beruhrung visuell dargestellt, um dem Benutzern das Einschatzender Geschwindigkeit zu erleichtern.

4.3.1 Bewegungsdifferenzierung

Bei der Bewegungsdifferenzierung wird unterschieden, ob eine Bewegung aus einem Schwung her-aus beendet oder durch Stillhalten des Fingers gestoppt wird. Beim Stoppen des Fingers werdendie Anfangswerte der Geschwindigkeitsberechnung auf die aktuellen Werte zuruckgesetzt, es erfolgteine Berechnung der Geschwindigkeit von der neuen Position aus. Dies ermoglicht den Benutzerndie intuitive Steuerung der durch eine Bewegung aufgebauten Geschwindigkeit.Dem Benutzer wird die Moglichkeit gegeben, beim Konzept von Geschwindigkeit zur physikalischenInteraktion, selbst zu entscheiden, ob die aufgebaute Geschwindigkeit an das bewegte Objekt wei-tergegeben werden soll oder nicht. Dies ermoglich sowohl das kontrollierte Verschieben und genauePositionieren als auch das Wegstoßen von Objekten. Wurde diese Unterscheidung nicht vorgenom-men, hatte der Benutzer keinerlei Moglichkeiten, das Weiterbewegen eines Objektes nach dem Los-lassen zu verhindern. Das Bestimmen einer neuen Abstoßposition fur ein Objekt ohne Loslassen wirdebenfalls ermoglicht. Wurde der Geschwindigkeitsvektor durch Stoppen an der gewunschten Positi-on nicht zuruckgesetzt werden, entstande ein verfalschter Geschwindigkeitsvektor (siehe Abbildung4.4).

Page 44: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

4.3. Konzepte zur Steigerung der Benutzerfreundlichkeit 36

Abbildung 4.4: Entstehung eines falschen Geschwindigkeitsvektors beim Positionieren eines Objek-tes ohne Loslassen.

Das Unterscheiden zwischen fortlaufenden und durch einen kurzen Stopp gebremsten Bewegungenist beim Konzept von Geschwindigkeit zur Aktionsdifferenzierung ebenso von großem Vorteil. Wirdeine Bewegung zu schnell ausgefuhrt, kann durch kurzes Stoppen vor dem Loslassen des Bildschirmsdie Geschwindigkeit zuruckgesetzt werden. Dies verhindert das ungewollte Ausfuhren von geschwin-digkeitsabhangigen Funktionen.

4.3.2 Geschwindigkeitsvisualisierung

Da die Geschwindigkeit einer Bewegung fur Benutzer schwer einzuschatzen ist, ist es sinnvoll, dieGeschwindigkeit die bei der Bewegen eines Objektes aufgebaut wird, optisch darzustellen. Durch eineVerzogerung der Bewegung des Objektes beim Folgen des Fingers ist dies realisierbar. Je schnel-ler sich der Finger bewegt, desto weiter entfernt er sich vom Objekt und umso hoher wird dessenGeschwindigkeit. Somit kann der Benutzer anhand der Strecke zwischen Finger und Objekt die auf-gebaute Geschwindigkeit abschatzen.Dies steht mit dem Konzept der Bewegungsentscheidung im Einklang. Beim Stoppen einer Bewe-gung ruckt das Objekt der Position des Fingers naher. Verharrt der Finger so lange, bis die Positiondes Fingers mit der Position des Objektes identisch ist, entspricht die Stecke und die Geschwin-digkeit durch das Zurucksetzen dem Wert Null. Anderenfalls wurde der Benutzer durch Stillstanddes Fingers auf dem Bildschirm nur die Strecke zwischen und Finger und bewegten Objekt auf Nullverringern, aber nicht die Geschwindigkeit auf Null setzen.Zusatzlich kann durch diese Bedienung die Rotation eines Objektes wahrend der Bewegung beein-flusst werden. Die Anderung des Winkels zwischen Finger und Objekt kann auf die Rotation desObjektes ubertragen werden. Beim klassischen Drag & Drop Verfahren ist dies nicht moglich, dasich die Position des Fingers zum Objekt durch das Ubertragen jeglicher Positionsanderung nichtverandert, das heißt, die Bewegung des Fingers und des Objektes werden gleichgesetzt.Beim Konzept von Geschwindigkeit zur physikalische Interaktion hilft dies dem Benutzer, die aufge-baute Geschwindigkeit sowie das Zurucksetzen der Geschwindigkeit praziser einzuschatzen. Werdenbeim Konzept von Geschwindigkeit zur Aktionsdifferenzierung geschwindigkeitsabhangige Funktio-

Page 45: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

4.4. Wahl der Anwendungsbeispiele 37

nen beim Bewegen von Objekten ausgefuhrt, kann diese Hilfe auch hier verwendet werden, um dieGeschwindigkeit besser kontrollieren zu konnen. Das Rotieren beim Bewegen wird in den Anwen-dungen ebenfalls getestet.

4.4 Wahl der Anwendungsbeispiele

Das Konzept der Geschwindigkeit einer Objektrotation zur Anwendungssteuerung wird in einer Foto-Applikation umgesetzt und getestet. Durch die Rotationsrichtung und Rotationsgeschwindigkeit ei-nes auf den Display gestellten Objektes soll der Benutzer die Moglichkeit erhalten, den Zoomfaktorder Anwendung zu verandern und Fotos zu skalieren. Die Position des Objektes soll hierbei angeben,welche Aktion durchgefuhrt wird. Steht das Objekt wahrend der Rotation auf einem dargestell-ten Foto, soll dieses skaliert werden. Uberdeckt es kein Foto, soll das Zoomen durch die Rotationerfolgen. Im Rahmen dieser Testentwicklung kann die Genauigkeit und Intuitivitat des Konzeptesuberpruft werden.Des Weiteren erfolgt die Erprobung des Konzepts von Geschwindigkeit zur Aktionsdifferenzierung indieser Foto-Applikation. Die Bestimmung verschiedener Aktionen soll durch die Geschwindigkeit ei-ner Bewegung erfolgen, Fotos sollen wie auch bisher gewohnt mit dem Finger bewegt werden. Findeteine Bewegung des Fotos mit einer schnellen Bewegung in Richtung des oberen Bildschirmrandesstatt, soll dieses vom Touchscreen verschwinden und von einem Beamer projiziert werden. Hierbeiwird uberpruft, ob sich die Aktionen durch unterschiedlich schnelle Geschwindigkeiten komfortabelund intuitiv unterscheiden lassen. Des Weiteren soll das Aufrufen der Bildschirmtastatur durch dieGeschwindigkeit einer Bewegung realisiert werden. Hierzu soll zusatzlich die Position und Ausrich-tung der Bewegung die Position und Rotation der Tastatur bestimmen, eine weitere Uberprufungder Genauigkeit dieses Konzeptes kann hierdurch erfolgen.Das Konzept von Nutzung der Geschwindigkeit zur physikalischen Interaktion bietet in Spielen furden Multitouch-Table sehr viele Anwendungsmoglichkeiten. Das Konzept soll in der Umsetzung einesSpieles getestet werden, das bisher bereits als Computerspiel existiert und sich großer Beliebtheiterfreut. Es soll uberpruft werden, ob es den Spielspaß durch eine intuitive und prazisere Steuerungnoch weiter erhohen kann. Hierfur wurde Curling ausgewahlt. Je schneller sich der Finger bewegt,desto weiter entfernt er sich vom Objekt und umso hoher ist dessen Geschwindigkeit. Somit kann derBenutzer anhand der Strecke zwischen Finger und Objekt die erreichte Geschwindigkeit abschatzen.Beim Curling-Spiel sollen die Steine mit dem Finger bewegt und auf die Bahn geschleudert werden.Richtung und Geschwindigkeit der Bewegung werden durch Schnelligkeit der Bewegung des Fingersermittelt und im Moment des Loslassen an den Stein weitergegeben. Da beim Curling die Richtungund Geschwindigkeit von bewegten Objekten, den Steinen, spielentscheidend ist, kann optimal ge-testet werden, ob das Konzept eine intuitive und prazise Steuerung in Spielen ermoglicht.Die Konzepte der Bewegungsdifferenzierung und Geschwindigkeitsvisualisierung zur Benutzerfreund-lichkeit konnen in beiden Applikationen angewandt und uberpruft werden. Des Weiteren kann festge-stellt werden, inwiefern diese zur Funktionalitat und Kontrolle der auf Geschwindigkeit basierendenKonzepte der Fingerinteraktion beitragen. Beide Anwendungen eigenen sich fur die Uberprufung desAnspruches der Intuitivitat.

Page 46: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

4.5. Zusammenfassung 38

4.5 Zusammenfassung

Drei neue Konzepte mit Nutzung der Geschwindigkeit von Benutzereingaben wurden vorgestellt:

• Geschwindigkeit einer Objektrotation

• Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung

• Geschwindigkeit einer Bewegung zur physikalischen Interaktion

Diese neu entwickelten Konzepte konnen vielseitig in Multitouch-Anwendungen genutzt werden.Die Geschwindigkeit einer Objektrotation bietet eine intuitive Manipulation von Einstellungen. Be-nutzer werden rasch erkennen und verstehen konnen, dass eine schnelle Rotation große Einstellungs-schritte und eine langsame Rotation kleine Einstellungsschritte auslost. Die Rotationsrichtung gibtzusatzlich an, ob es sich um positive oder negative Einstellungsveranderung handelt. Die Positiondes Objektes auf dem Bildschirm kann die auszufuhrende Aktion beeinflussen. Die Uberprufung desKonzeptes findet in einer Foto-Applikation statt. Hier soll es dem Benutzer ermoglicht werden, durchdie Rotationsgeschwindigkeit eines auf den Display gestellten Objektes den Zoomfaktor zu verandernund Bilder zu skalieren.Die Nutzung der Geschwindigkeit von Bewegungen zur Aktionsdifferenzierung vervielfacht die un-terschiedlichen Eingabemoglichkeiten an einem Multitouch-Table. Es konnen durch die gleiche Be-wegung in verschiedenen Geschwindigkeiten unterschiedliche Aktionen ausgefuhrt werden. DiesesKonzept wird, wie schon das der Geschwindigkeit einer Objektrotation, in einer Foto-Anwendunggetestet. Durch eine schnelle Bewegung eines dargestellten Fotos in Richtung oberen Bildschirm-rands soll das Bild auf einen Projektor dargestellt werden. Das Aufrufen der Bildschirmtastatur sollebenfalls durch eine schnelle Bewegung gelost werden.Das Konzept zur Anwendung der Geschwindigkeit einer Bewegung zur physikalischen Interaktionkann dazu genutzt werden, Multitouch-Anwendungen noch realer wirken zu lassen. Wird eine Be-wegung ausgefuhrt, werden beim Enden der Beruhrung die X- und Y- Geschwindigkeiten ausgelesenund genutzt. Vor allem im Bereich der Spiele fur den Multitouch-Table ermoglicht es eine intuiti-ve und prazise Steuerung. Dies wird in einem Curling-Spiel erprobt. Der Benutzer soll durch eineBewegung mit dem Finger uber den Touchscreen Geschwindigkeit und Richtung der Curling Steinebestimmen. Außerdem wird versucht, das Konzept des Wischens durch die Geschwindigkeit einerBewegung zu realisieren.Daruber hinaus wurden zwei Konzept entwickelt, die es dem Benutzer erleichtern sollen, die Ge-schwindigkeit einer Bewegung mit dem Finger auf dem Touchscreen zu kontrollieren und ein-zuschatzen:

• Bewegungsdifferenzierung

• Geschwindigkeitsvisualisierung

Bei dem Konzept der Bewegungsdifferenzierung wird zwischen einer endenden Bewegung aus einemSchwung heraus und gestoppten Bewegungen unterschieden. Das Stoppen fuhrt zum Zurucksetztender Geschwindigkeit der Bewegung. Hierdurch soll der Benutzer Kontrolle uber die Geschwindig-keitsauswirkung seiner Aktionen erhalten.

Page 47: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

4.5. Zusammenfassung 39

Das Konzept der Geschwindigkeitsvisualisierung soll helfen, die aufgebaute Geschwindigkeit einerBewegung, die eine Objekt bewegt, einzuschatzen. Zusatzlich soll es zum Verstandnis und dadurchzur Kontrolle des Zurucksetzung der Geschwindigkeit durch die Bewegungsdifferenzierung dienen.Beide Konzepte werden in der Foto-Applikation sowie im Curling-Spiel umgesetzt, um zu prufen, obsie zur Benutzerfreundlichkeit beim Nutzen von Geschwindigkeit beitragen.Das Nutzen der Beschleunigung von Benutzereingaben stellte ein Problem dar. Da nur die Anderungder Geschwindigkeit gemessen wird, wurde eine Bewegung mit gleich bleibender Geschwindigkeit aufdem Touchscreen nur am Anfang einen Wert liefern. Obwohl der Benutzer seine Bewegung nichtverandert, wird nach der Anfangsbeschleunigung keine Veranderung mehr ausgelost. Dies konnte zueiner Verwirrung des Benutzers fuhren und steht im Gegensatz zur Intuitivitat des Multitouch-Tables.

Um die Konzepte zu realisieren, mussen Beruhrungsdaten empfangen und verarbeitet werden. Dasnachste Kapitel der technischen Umsetzung befasst sich mit diesem Thema. Nachdem auf die Kom-munikation zwischen Reactivision und Flash eingegangen wird, folgt die Dokumentation des Ausle-sens und Verarbeiten der Beruhrungsdaten in Flash.

Page 48: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Kapitel 5

Technische Umsetzung

Im vorherigen Kapitel wurden neue Konzepte mit Nutzung der Bewegungsgroßen zur Interaktionan einem Multitouch-Table entwickelt. Dieses Kapitel befasst sich mit der technischen Umsetzung.Zuerst erfolgt die Vermittlung eines Grundwissen uber das Framework zum Auslesen der Beruhrungs-daten und das TUIO-Protokoll zum Ubermitteln der Daten. Anschließend die Erklarung des Auslesensund Verarbeitens dieser Daten in Flash.

5.1 Einleitung

Die Anwendungen werden fur einen Multitouch-Table, basierend auf der FTIR-Technologie geschrie-ben. Zum Auslesen und Verarbeiten der Infrarotkamera-Daten wird das Open Source FrameworkReactivision verwendet, welches zur Datenubertragung das TUIO-Protokoll nutzt.Nach der Erlauterung des technischen Hintergrundes wird die Verarbeitung der TUIO-Daten in Flashbehandelt. Das Empfangen, Auslesen und Verarbeiten der Daten wird erlautert und die dazu benotig-ten Klassen werden vorgestellt.

5.2 Reactivision

Reactivision ist ein plattformunabhangiges Framework fur die schnelle und stabile Verfolgung vonmit fiducials markierten Objekten, welches daruber hinaus mehrere Finger verfolgen kann [AT09].Ursprunglich wurde dieses Framework in Spanien an der Universitat Pompeu Faba als Teil desreacTable Projektes entwickelt. Der reacTable ist ein neuartiges, elektronisches Musikinstrument,basierend auf der Technologie des Multitouch-Tables. Durch Platzieren und Manipulieren von mar-kierten Objekten auf dem reacTable konnen verschiedene Elemente, wie Synthesizer, Effekte, Loopsoder Kontrollelemente, gesteuert und miteinander verbunden werden, um so Musik zu erzeugen.Reactivision dient hierbei nur zur Erkennung und Verfolgung der Finger und Objekte und enthaltselbst keinerlei musikalische Effekte, wie Synthesizer oder ahnliches. Reactivision ist eine eigenstandi-ge Anwendung, die eine Open Sound Control (OSC) Nachricht uber User Datagram Protokoll (UDP)Port 3333 sendet. Es implementiert das TUIO-Protokoll zur Ubermittlung von Informationen wie

40

Page 49: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.2. Reactivision 41

Position, Rotation oder Geschwindigkeit von markierten Objekten und Fingern.Reactivision bezieht seine Informationen zu Fingern und Objekten uber den Echtzeit-Video-Streamder Infrarotkamera. Die Quellbilder werden mit Hilfe eines Algorithmus in Schwarz/Weiß-Bilder um-gewandelt. Danach werden diese Schwarz/Weiß-Bilder nach von den fiducials bekannten schwarzenund weißen Regionen abgesucht. Beim Erkennen einer bekannten Schwarz/Weiß-Kombination er-folgt anhand dieser die Zuweisung einer eindeutigen ID. Zusatzlich erhalt jedes erkannte Objekt eineSession ID, die von Sitzung zu Sitzung variieren kann.Wenn etwas den Touchscreen beruhrt und Reactivision keine bekannten Schwarz/Weiß-Kombinationdarin erkennen kann, erfolgt automatisch die Registrierung als Finger. Finger werden umgangssprach-lich als Blobs (deutsch: Klecks) bezeichnet, da sie auf dem Video-Stream nur als weiße Punkteerscheinen.

Abbildung 5.1: Funf Beruhrungspunkte von Fingern aufgenommen und gefiltert von Reactivision.c©Reactivision

Um die Anwendungsentwicklung auf herkommlichen Computersystemen zu ermoglichen, stellt Re-activision den TUIO-Simulator bereit.

Abbildung 5.2: Screenshot des TUIO-Simulators mit einem simulierten Finger und einem simuliertenObjekt auf dem Touchscreen. Der Finger und das Objekt wurden gekennzeichnet.

Der TUIO-Simulator ist eine Java-Software, die es ermoglicht Beruhrungsdaten, wie sie Reactivisionsenden wurde, zu simulieren. Mit der Computermaus konnen so in eine Java-Fenster Finger mit der

Page 50: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.3. TUIO-Protokoll 42

Maus simuliert werden. Auch Grafiken, welche mit Fiducials markierte Objekte darstellen, konnenmit der Maus bewegt und rotiert werden.

5.3 TUIO-Protokoll

Das TUIO-Protokoll dient als Kommunikationsinterface fur Multitouch-Table Interfaces und darun-ter liegende Applikationen. Es wurde entwickelt, um Informationen uber Objekte und Fingern anAnwendungen zu ubermitteln [MK05].Hierzu definiert das TUIO-Protokoll zwei Hauptklassen von Nachrichten: Set- und Alive-Nachrichten.Set-Nachrichten werden verwendet, um detaillierte Informationen, wie zum Beispiel Position oderAusrichtung uber Objekte und Cursor, zu senden. Die Alive-Nachrichten identifizieren mit Hilfevon Session IDs alle auf dem Touchscreen erkannten Finger und Objekte, auch wenn die Datenunveranderten bleiben. Zusatzlich gibt es noch fseq-Nachrichten, um jeden Aktualisierungsvorgangmit einer eindeutigen Frame Sequenz (fseq) ID zu kennzeichnen.Um schlechten Latenzen vorzubeugen, bedient sich das TUIO-Protokoll an dem UDP Transport zumSenden der Daten. Da hier die Moglichkeit eines Paketverlusts besteht, sendet TUIO redundanteDaten.

Generelle Syntax der Open Sound Control OSC - Nachrichten von TUIO:

/ t u i o / [ p ro f i l eName ] s o u r c e [ Add res s e ]/ t u i o / [ p ro f i l eName ] s e t s e s s i o n ID [ Parameter L i s t e ]/ t u i o / [ p ro f i l eName ] a l i v e [ L i s t e von a k t i v en s e s s i o n ID s ]/ t u i o / [ p ro f i l eName ] f s eq

Am Profilnamen kann erkannt werden, ob die folgenden Informationen einen Blob oder ein mit Fi-ducial markiertes Objekt betreffen. /tuio/2Dobj steht fur ein erkanntes Objekt. /tuio/2Dcur stehtfur einen Blob.

Eine Set-Nachricht enthalt folgende Informationen:

s Ses s i on ID , tempor a re Objekt IDi C l a s s en ID , F i d u c i a l IDx , y , z P o s i t i o n (0−1)a , b , c Winkel (0−2PI )X, Y ,Z Bewegungsvektor ( Bewegungsges chw ind i gke i t & Richtung )A, B, C Ro t a t i o n s v ek t o r ( R o t a t i o n s g e s c hw i n d i g k e i t & Richtung )m Bewegungsbesch leun igungr Ro t a t i o n s b e s ch l e u n i g ungP F r e i e r Parameter , Typ w i rd uber den OSC Paket Header d e f i n i e r t

Da die Kamera eine andere Auflosung als die Projektionsflache haben kann, werden die Positionsda-ten vor dem Senden durch die Sensorbreite dividiert. Somit werden ausschließlich Positionswerte vonNull bis Eins gesendet, die vor dem Verwenden mit der Projektionsbreite multipliziert werden mussen.

5.4 Kommunikation mit Flash

Reactivision sendet Open Sound Control Nachrichten mit dem TUIO-Protokoll [MK05] [Mul08].Dieses implementiert ein User Datagram Protokoll, welches alle Informationen der Objekte und Fin-

Page 51: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.4. Kommunikation mit Flash 43

ger auf dem Display enthalt.Flash ist jedoch nicht befahigt UDP-Pakete zu lesen. Eine Javasoftware namens Flosc1 hilft an die-ser Stelle die UDP-Pakete mit OSC Nachrichten in Transmission Control Protocol (TCP)-Paketemit Extensible Markup Language (XML)-Nachrichten umzuwandeln. In Flash konnen diese Paketeanschließend uber einem XML Socket empfangen werden. Der Flash XML Socket ermoglicht es,kontinuierliche TCP-Verbindungen herzustellen und XML Nachrichten uber diese zu senden und zuempfangen. Von Flash uber den XML Socket gesendete Paketen konnen mit Flosc auch wieder inUPD Pakete konvertiert werden.Mit Hilfe das DataHandler Event, der jedes mal, wenn der XML Socket Daten empfangt, ausgefuhrtwird, werden die eingehenden TCP-Pakete und deren XML Inhalt ausgelesen und analysiert.

Generelle Syntax der von flosc in XML umgewandelten Pakete:

<OSCPACKET ADDRESS=”127 .0 .0 .1” PORT=”1785” TIME=”−3548345445577129984”>

<MESSAGE NAME=”/ t u i o /2Dobj”><ARGUMENT TYPE=”s ” VALUE=” a l i v e ” /><ARGUMENT TYPE=” i ” VALUE=”49” /><MESSAGE NAME=”/ t u i o /2Dcur”><ARGUMENT TYPE=”s ” VALUE=” a l i v e ” /><ARGUMENT TYPE=” i ” VALUE=”1” /></MESSAGE>

An den Nachrichten Namen kann hier erkannt werden, dass es sich um ein Objekt und einen Fingerhandelt. Alive signalisiert, dass sie vom Sensor erkannt wurden. Das zweite Argument enthalt diesessionID des Objektes und des Finger und dient zur eindeutig zu identifizierung.

<MESSAGE NAME=”/ t u i o /2Dcur”><ARGUMENT TYPE=”s ” VALUE=”s e t ” /><ARGUMENT TYPE=” i ” VALUE=”1” /><ARGUMENT TYPE=”f ” VALUE=”0.540625” /><ARGUMENT TYPE=”f ” VALUE=”0.58125” /><ARGUMENT TYPE=”f ” VALUE=”7.937674E−13” /><ARGUMENT TYPE=”f ” VALUE=”7.937674E−13” /><ARGUMENT TYPE=”f ” VALUE=”0.0” /></MESSAGE>

</OSCPACKET>

Da hier der Nachrichten Name /tuio/2Dcur ist, handelt es sich um einen Blob. Set bedeutet, dasssich die Parameter dieses Blobs verandert haben. Nun konnen aus den Argumenten der Reihe nach dieParameter sessionID, x-Position, y-Position, x-Bewegungsvektor, y-Bewegungsvektor und Beschleu-nigung ausgelesen werden. Die x- und y-Werte mussen mit den Verhaltnissen der Projektionsflachemultipliziert werden. Der Argument Type zeigt den Datentyp der Information an: S fur String, i furInteger und f fur Float.In diesem Paket wird ubermittelt, dass ein Objekt mit der sID 49 sich noch unverandert auf demMultitouch-Table befindet und ein Finger mit der sID 1 sich uber den Tisch bewegt.

1http://www.benchun.net/flosc/

Page 52: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 44

5.5 Verarbeiten der TUIO-Protokoll Daten

Um eine Multitouch-Applikationen in Flash zu realisieren, mussen die von Flosc gesendeten Paketeuber einen XML-Socket empfangen werden. Die erhaltenen Pakete werden auf ihren Inhalt gepruft,ausgelesen und die Informationen uber den Touchscreen beruhrende Finger und Objekte gespeichert.Zur besseren Verarbeitung wird fur jeden erkannten Finger und jedes erkanntes Objekt eine Klasseinstanziert, die alle gesendeten Informationen speichert. Anhand der von Reactivision gesendeten ID,kann eine Beruhrung oder ein Objekt der zugehorigen Instanz zugeordnet werden. Die Eigenschafteneiner instanzierten Blob- oder Fiducial-Klasse werden standig mit den von Reactivision gesendetenDaten aktualisiert. Wird ein Finger oder ein Objekt wieder vom Touchscreen entfernt, erfolgt auchdie Loschung der dazugehorigen Instanz. Zusatzlich zu den von Reactivision gesendeten Informatio-nen konnen selbst erstellte Eigenschaften in den Klassen gespeichert und aktualisiert werden.Um die Kommunikation mit anderen Klassen zu vereinfachen, werden sogenannte Events definiert.Diese Events konnen in anderen Klassen initialisiert werden und fuhren eine Funktion aus, wennder Event eintritt. Werden neue Informationen zu einem Fingern oder Objekten gesendet, wird derdazugehorige Event ausgefuhrt. Zusatzlich erfolgt die Definierung von Events fur das Erscheinensowie das Verschwinden von Fingern oder Objekten.

5.5.1 Blobs

Eine Instanz der Blob-Klasse reprasentiert einen den Touchscreen beruhrenden Finger. Beim Auf-treten einer neuen Blob-ID in einem der von Reactivision gesendeten Pakete wird ein neues Objektder Blob-Klasse instanziert, in der alle von Reactivision gesendeten Informationen zu dem Fingergespeichert werden.Beim Erzeugen des Objektes werden die von Reactivision gesendeten Informationen dem Objekt alsEigenschaften ubergeben. Das Objekt wird der dazugehorigen Beruhrung anhand seiner ID zuge-ordnet. So lange die Beruhrung anhalt, werden die Informationen standig den empfangenen Datenangeglichen. Neben den von Reactivision gesendeten Informationen enthalt die Blob-Klasse eigensfestgelegte Eigenschaften zur Berechnung der Geschwindigkeit einer Bewegung, die wahrend derBeruhrung festgelegt und aktualisiert werden. Wobei Reactivision Bewegungsvektoren und Beschleu-nigungsvektoren liefert, bietet es sich an, diese Daten selbst zu errechnen, um sie besser nachzuvoll-ziehen und kontrollieren zu konnen.

Blob.as

package{

// Import de r MovieCl ip−K l a s s eimport f l a s h . d i s p l a y . Mov i eC l i p ;

p u b l i c c l a s s Blob{

p u b l i c va r i d : Number ; // ID des Blobsp u b l i c va r x : Number ; // A k t u e l l e X−Koord i na tep u b l i c va r y : Number ; // A k t u e l l e Y−Koord i na tep u b l i c va r X : Number ; // X−Bewegungsvektorp u b l i c va r Y : Number ; // Y−Bewegungsvektorp u b l i c va r m: Number ; // Bewegungsbesch leun igungp u b l i c va r i n i t X : Number ; // E r s t e X−Koord i na tep u b l i c va r i n i t Y : Number ; // E r s t e Y−Koord i na te

Page 53: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 45

p u b l i c va r oldX : Number ; // Vo r h e r i g e X−Koord i na tep u b l i c va r oldY : Number ; // Vo r h e r i g e Y−Koord i na tep u b l i c va r s ta r tT ime : Number ; // Z e i t zum Anfang der Beruhrungp u b l i c va r endTime : Number ; // Z e i t zum Ende der Beruhrungp u b l i c va r mc : Mov i eC l i p ; // Mov i e c l i p zu r D a r s t e l l u n g des Blobs

p u b l i c f u n c t i o n Blob ( i d : Number , x : Number , y : Number , X : Number , Y : Number , m: Number ){

// Va r i a b l e n beim Erzeugen des Ob jek te s d e f i n i e r e nt h i s . i d = i d ;va r d : Date = new Date ( ) ;t h i s . s ta r tT ime = d . t ime ;t h i s . i n i t X = x ;t h i s . i n i t Y = y ;t h i s . x = x ;t h i s . y = y ;t h i s .X = X;t h i s .Y = Y;t h i s .m = m;t h i s . o ldX = x ;t h i s . o ldY = y ;t h i s . endTime = d . t ime ;

}}

}

Eigenschaften eines Blob-Objektes

• IDDie ID entspricht der Session-ID des Blobs. An der ID kann ein Blob eindeutig erkannt werden.Die ID stimmt mit der des von Reactivision erkannten Fingers uberein. Die ID wird beimInstanzieren der Klasse festgelegt und nicht mehr verandert.

• x, yDie aktuellen X- und Y-Koordinaten der Beruhrung. Bei jeder Positionsveranderung des Fingerswerden diese Eigenschaft aktualisiert.

• X, YDer X- und Y-Bewegungsvektor einer Beruhrung wird bei jeder Positionsveranderung aktuali-siert.

• mDie Bewegungsbeschleunigung des Fingers wird standig aktualisiert.

• oldX, oldYDie vorherigen X- und -Y Koordinaten werden bei jeder Anderung der X- und Y-Koordinatenaktualisiert. Diese Eigenschaft wird definiert, um Aktionen zu unterscheiden.

• initX, initYDie ersten X- und Y-Koordinaten der Beruhrung werden beim Instanzieren des Objektes fest-gelegt. Diese Eigenschaften werden den Reactivision Daten angefugt.

• startTime, endTimeDiese definierten Kriterien geben den Zeitpunkt zum Anfang und zum Ende der Beruhrungan. Der Anfangszeitpunkt wird beim Instanzieren festgelegt. Der Endzeitpunkt wird beimVerschwinden des Objektes von Touchscreen festgelegt.

Page 54: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 46

• mcDer mc wurde als Merkmal hinzugefugt, um einfacher auf eine Grafik, die den Finger aufdem Display darstellt, zugreifen zu konnen. Somit kann die Grafik direkt dem Blob zugeordnetwerden.

Um das Konzept der Bewegungsunterscheidung zu realisieren ist es notig, die Eigenschaften oldX,oldY sowie initX, initY, startTime und endTime hinzuzufugen. Mit dem Konzept der Bewegungsun-terscheidung soll ermoglicht werden, die Geschwindigkeit durch das Stoppen der Bewegung zuruck-zusetzen. Um das Stoppen einer Bewegung zu erkennen, erfolgt ein Vergleich der zuletzt gesendetenPositionsdaten einer Beruhrung mit den aktuellen Daten. Die Eigenschaften oldX und oldY werdenmit den aktuellen X- und Y-Koordinaten einer Beruhrung verglichen. Sind diese identisch, wurdeder Finger eine kurze Zeit nicht bewegt, das Zurucksetzen der Geschwindigkeit erfolgt.Die fur die Geschwindigkeitsmessung notigen Variablen mussen eigens definiert werden. Da Informa-tionen in Flash nur empfangen und nicht gesendet werden konnen, funktioniert das Nullsetzen dervon Reactivision bereitgestellten Geschwindigkeitsvariablen nicht. Das Zurucksetzten der Reactivi-sion Daten in der dazugehorigen Blob-Instanz hatte nur einen kurzweiligen Effekt. Die Daten vonReactivision bleiben unverandert und uberschreiben bei der nachsten Aktualisierung die zuruckge-setzten Variablen mit den unberuhrten Geschwindigkeitsdaten.Die Eigenschaft mc dient nur dem leichteren Zugriff auf den die Beruhrung darstellenden Movieclip.Uber die Blob Instanz konnen direkt die Eigenschaften der Beruhrung auf den zugehorigen Movieclipubertragen werden.

5.5.2 Fiducials

Die Fiducial-Klasse reprasentiert auf den Touchscreen gestellte Objekte, die anhand von Markierun-gen erkannt werden konnen. Wie schon bei der Blob-Klasse wird ein neues Objekt der Fiducial-Klassebeim Auftreten einer neuen Fiducial-ID erzeugt. In der Fiducial-Klasse werden die gleichen Datenwie in der Blob-Klasse gespeichert. Zusatzlich zu den Informationen der Blob Klasse speichert dieFiducial Klasse Informationen zur Rotation des Objektes. Außerdem verfugt ein Fiducial Objekt uberzwei IDs, eine SessionID, welche die gleiche Funktion wie die ID des Blobs erfullt und eine ID, dieangibt, welches Objekt anhand der Markierung erkannt wurde. Eigene Eigenschaften werden hinzu-gefugt.

Fiducial.as

package{

// Import de r MovieCl ip−K l a s s eimport f l a s h . d i s p l a y . Mov i eC l i p ;

p u b l i c c l a s s F i d u c i a l{

p u b l i c va r s ID : Number ; // Se s s i o n ID des F i d u c i a l sp u b l i c va r i d : Number ; // ID des F i d u c i a l sp u b l i c va r x : Number ; // A k t u e l l e X−Koord i na tep u b l i c va r y : Number ; // A k t u e l l e Y−Koord i na tep u b l i c va r a : Number ; // Ro t a t i o n sw i n k e lp u b l i c va r o l da : Number ; // Vo r h e r i g e r Ro t a t i o n sw i n k e lp u b l i c va r i n i t A : Number ; // E r s t e r Ro t a t i o n sw i n k e lp u b l i c va r X : Number ; // X−Bewegungsvektor

Page 55: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 47

p u b l i c va r Y : Number ; // Y−Bewegungsvektorp u b l i c va r A : Number ; // Ro t a t i o n s v ek t o rp u b l i c va r m: Number ; // Bewegungsbesch leun igungp u b l i c va r r : Number ; // Ro t a t i o n s b e s ch l e u n i g ungp u b l i c va r s ta r tT ime : Number ; // Z e i t zum Anfang der Beruhrungp u b l i c va r endTime : Number ; // Z e i t zum Ende der Beruhrungp u b l i c va r mc : Mov i eC l i p ; // Mov i e c l i p zu r D a r s t e l l u n g des F i d u c i a l s

p u b l i c f u n c t i o n F i d u c i a l ( s ID : Number , i d : Number , x : Number , y : Number , a : Number , X : Number ,Y : Number , A : Number , m: Number , r : Number )

{// Va r i a b l e n beim Erzeugen des Ob jek te s d e f i n i e r e nt h i s . s ID = sID ;t h i s . i d = i d ;t h i s . x = x ;t h i s . y = y ;t h i s . a = a ;t h i s . o l da = a ;t h i s . i n i t A = a ;t h i s .X = X;t h i s .Y = Y;t h i s .A = A;t h i s .m = m;t h i s . r = r ;va r d : Date = new Date ( ) ;t h i s . s ta r tT ime = d . t ime ;t h i s . endTime = 0 ;

}}

}

Zusatzliche Eigenschaften eines Fiducial-Objektes

• IDAn der ID wird erkannt, welches Objekt auf den Touchscreen gestellt wurde. Diese Eigenschaftwird wie die SessionID nach dem Erzeugen nicht mehr verandert.

• aDer aktuelle Rotationswinkel des Objektes. Nach jeglicher Anderung erfolgt eine Aktualisie-rung.

• oldASpeicherung des vorherigen Rotationswinkel des Objektes, welcher bei jeder Anderung desRotationswinkels aktualisiert wird.

• ADer Rotationsvektor wird standig den Reactivision-Daten angeglichen.

• rDie Rotationsbeschleunigung wird permanent aktualisiert.

Neben der Eigenschaft oldA wurden alle beim Blob zusatzlich definierten Eigenschaften auch beimFiducial definiert.

5.5.3 Touch Events

Um die Kommunikation mit anderen Klassen zu vereinfachen, werden TouchEvents definiert. Diesestarten, wenn gewisse Ereignisse eintreten. Die Events konnen anderen Klassen hinzugefugt werden

Page 56: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 48

und fuhren dort bestimmte Funktionen aus, wenn sie eintreten. Die Events werden beim Auslesen dervon Reactivision gesendeten Daten aufgerufen. Sie enthalten in den Event-Daten die ID des Fingersoder Objektes, durch das sie aufgerufen wurden. Nachdem einer Klasse diese Events hinzugefugtwurden, konnen alle Beruhrungsinformationen dort empfangen werden.

TouchEvent.as

package{

// Import de r Event−K l a s s eimport f l a s h . e v en t s . ∗ ;

p u b l i c c l a s s TUIOEvent ex tends Event{

// D e f i n i t i o n B lobeven t sp u b l i c s t a t i c con s t BlobAdded : S t r i n g = ”BlobAdded ” ;p u b l i c s t a t i c con s t BlobOnScreen : S t r i n g = ”BlobOnScreen ” ;p u b l i c s t a t i c con s t BlobRemoved : S t r i n g = ”BlobRemoved ” ;// D e f i n i t i o n F i d u c i a l e v e n t sp u b l i c s t a t i c con s t F i duc i a lAdded : S t r i n g = ” F iduc i a lAdded ” ;p u b l i c s t a t i c con s t F i d u c i a lOnSc r e en : S t r i n g = ” F i d u c i a lOnSc r e en ” ;p u b l i c s t a t i c con s t Fiduc iaRemoved : S t r i n g = ”Fiduc iaRemoved ” ;

// Sp e i c h e r t d i e Eventdatenp u b l i c va r data ;

// Kons t ruk to rp u b l i c f u n c t i o n TUIOEvent ( type : S t r i ng , data ){

supe r ( type ) ;t h i s . data = data ;

}}

}

Definierte TouchEvents

• BlobAddedWird ausgefuhrt, wenn eine neue Beruhrung erkannt wird.

• BlobOnScreenWird ausgefuhrt, wenn sich die Position eines bereits erkannten Fingers andert.

• BlobRemovedWird ausgefuhrt, wenn ein Finger vom Display genommen wird.

• FiducialAddedWird ausgefuhrt, wenn ein neues Objekt erkannt wird.

• FiducialOnScreenWird ausgefuhrt, wenn sich die Position oder Rotation eines bereits bekannten Objektes andert.

• FiduciaRemovedWird ausgefuhrt, wenn ein Objekt vom Display entfernt wird.

5.5.4 Verarbeiten der Reactivision-Daten

Die von Flosc in XML umgewandelten Tracking-Daten werden uber einen XML-Socket in Flashempfangen und anschließend ausgelesen. Aus dem Namen der Nachricht wird ersichtlich, ob es sich

Page 57: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 49

um einen erkannten Finger oder ein erkanntes Objekt handelt. Ist die ID neu, wird eine dazugehori-ge Instanz der Blob- oder Fiducial-Klasse erstellt. Die Informationen der Reactivision Daten werdenin der Instanz gespeichert und standig anhand der ID aktualisiert. Die Instanzen der Blob- oderFiducial-Klassen werden jeweils in eine Array gespeichert. Dies dient der Ubersicht uber die denBildschirm beruhrende Finger und Objekte. Zusatzlich wird noch jeweils ein Array mit den Blob-und Fiducial-IDs, die momentan erkannt werden, erstellt. Wenn zu einer der ID im Array keine Datenmehr gesendet werden, wird das Objekt oder der Finger entfernt und die dazugehorige Instanz derFiducial- oder Blob-Klasse geloscht.Beim Auslesen der Tracking-Daten und dem Erstellen, Aktualisieren und Loschen der Blob- undFiducial-Instanzen werden die dazugehorigen TUIOEvents aufgerufen.

TUIO.as

package{

import f l a s h . net . XMLSocket ;import f l a s h . e v en t s . DataEvent ;import f l a s h . e v en t s . ∗ ;import TUIOEvent ;import Blob ;import F i d u c i a l ;

Die benotigten Klassen mussen importiert werden. Die XMLSocket-, DataEvent- und Event-Klassedienen zum Empfangen und Auslesen der Pakete. Ebenso werden die schon vorgestellten KlassenBlob, Fiducial und TUIOEvent importiert. Die Blob und Fiducial Klassen dienen zum Speichern derEigenschaften der Finger und Objekte auf dem Touchscreen. Die TUIOEvent Klasse wird benotigt,um festzulegen wann, die Events eintreten sollen.

p u b l i c c l a s s TUIO extends Even tD i spa tche r{

p r i v a t e va r TUIOsocket : XMLSocket ;p r i v a t e va r IPa dd r e s s : S t r i n g ;p r i v a t e va r po r t : Number ;p r i v a t e va r b l obAr ray : Array ;p r i v a t e va r b l ob IDs : Array ;p r i v a t e va r f i d u c i a l A r r a y : Array ;p r i v a t e va r f i d u c i a l I D s : Array ;p r i v a t e va r sWidth : Number ;p r i v a t e va r sHe i gh t : Number ;

Die Variablen fur den XML-Socket samt IP-Adresse und Port werden fur das Aufbauen der Verbin-dung zu Flosc deklariert. Das Blob- und Fiducial-Array dient der Speicherung aller den Bildschirmberuhrender Finger und Objekte. Alle Instanzen der Blob-Klasse werden im blobArray und alle In-stanzen der Fiducial-Klasse im fiducialArray gespeichert. Die Arrays blobIDs und fiducialIDs dienender Speicherung aller IDs der den Bildschirm beruhrenden Finger und Objekte. Die Variablen sWidthund sHeight werden fur die Speicherung der Dimensionen genutzt und beim Instanzieren der Klasseubergeben.

p u b l i c f u n c t i o n TUIO( stageWidth : Number , s t a g eHe i g h t : Number ){

sWidth = stageWidth ;sHe i gh t = s t a g eHe i g h t ;

b l obAr ra y = new Array ( ) ;

Page 58: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 50

b l ob IDs = new Array ( ) ;f i d u c i a l A r r a y = new Array ( ) ;f i d u c i a l I D s = new Array ( ) ;

I Pa dd r e s s = ” 1 27 . 0 . 0 . 1 ” ;po r t = 3000;

TUIOsocket = new XMLSocket ( ) ;TUIOsocket . a d dEven tL i s t e n e r ( DataEvent .DATA, da taHand l e r ) ;TUIOsocket . connect ( IPadd res s , po r t ) ;

}

Die beim Instanzieren ubergebenen Dimensionswerte der Anwendung werden in den Variablen sWidthund sHeight gespeichert. Die Erstellung der Arrays erfolgt und die IP-Adresse und der Port von Floscwerden in den dazugehorigen Variablen gespeichert. Nach der Erstellung des XML-Sockets muss derDataEvent zum Abfangen der Pakete hinzugefugt werden. Die Verbindung zu Flosc wird mit derfestgelegten IP-Adresse und dem Port uber den XML-Socket aufgebaut.

p u b l i c f u n c t i o n getBlobById ( i d : Number ) : Blob{

f o r ( va r i = 0 ; i<b l obAr ray . l e n g t h ; i++){

i f ( b l obAr ra y [ i ] . i d == i d ){r e t u r n b l obAr ray [ i ] ;}

}r e t u r n n u l l ;

}

p u b l i c f u n c t i o n g e t F i d u c i a l B y I d ( s ID : Number ) : F i d u c i a l{

f o r ( va r i = 0 ; i<f i d u c i a l A r r a y . l e n g t h ; i++){

i f ( f i d u c i a l A r r a y [ i ] . s ID == sID ){

r e t u r n f i d u c i a l A r r a y [ i ] ;}

}r e t u r n n u l l ;

}

Die Funktionen getBlobByID und getFiducialByID konnen mit Hilfe einer ID aufgerufen werden. Siedurchsuchen das dazugehorige Array nach einem Blob, beziehungsweise Fiducial mit dieser ID. Wirdder Blob oder das Fiducial gefunden, gibt die Funktion diesen zuruck. Bei erfolgloser Suche wird Nullzuruckgegeben. Diese Funktionen kann auch in der Hauptanwendung aufgerufen werden, um durchdie ID des Events die dazugehorige Instanz der Blob- oder Fiducial-Klasse mit allen Informationenzu holen.

p r i v a t e f u n c t i o n da taHand l e r ( e : DataEvent ){

pa r s eMes sages (XML( e . data ) ) ;}

p r i v a t e f u n c t i o n pa r s eMes sages (msg :XML){

va r node :XML;f o r each ( node i n msg .MESSAGE){

Die dataHandler Funktion fangt am XML-Socket ankommende TCP-Pakete ab und ruft zum Aus-lesen der XML-Daten die parseMasseges Funktion auf. Dort werden die einzelnen XML-Nachrichten

Page 59: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 51

und deren Inhalt mit einer for-Schleife untersucht.

i f ( node .@NAME == ”/ t u i o /2Dcur ”){

i f ( node .ARGUMENT[ 0 ] . @VALUE == ” s e t ”){

va r i d = node .ARGUMENT[ 1 ] . @VALUE ;va r x = Number ( node .ARGUMENT[ 2 ] . @VALUE)∗ sWidth ;va r y = Number ( node .ARGUMENT[ 3 ] . @VALUE)∗ sHe i gh t ;va r X = Number ( node .ARGUMENT[ 4 ] . @VALUE) ;va r Y = Number ( node .ARGUMENT[ 5 ] . @VALUE) ;va r m = Number ( node .ARGUMENT[ 6 ] . @VALUE) ;

Wenn der Name der Nachricht /tuio/2Dcur entspricht, handelt es sich um eine Information zu ei-nem Blob. Ist zusatzlich das erste Argument der Nachricht set, werden neue Daten zu dem Blobgesendet. Diese werden anschließend der Reihe nach ausgelesen und zwischengespeichert. An dieserStelle erfolgt auch die Nutzung der Variablen sWidth und sHeight. Somit kann eine Anpassung derempfangenen X- und Y-Koordinaten der Beruhrung, die in einem Verhaltnis zwischen Null und Einsgesendet werden, an das Verhaltnis der Hauptanwendung erfolgen.

va r t u i o b l o b : Blob = getBlobById ( i d ) ;i f ( t u i o b l o b == n u l l ){t u i o b l o b = new Blob ( id , x , y , X , Y , m) ;b l obAr ray . push ( t u i o b l o b ) ;d i s p a t chEven t ( new TUIOEvent (TUIOEvent . BlobAdded , i d ) ) ;

}

Mit der getBlobByID Funktion wird im blobArray nach einem schon gespeicherten Blob mit dergleichen ID gesucht. Befindet sich noch kein Blob mit dieser ID in dem Array, wird ein neuer Blobmit den zwischengespeicherten Daten erstellt und dem blobArray hinzugefugt. Zusatzlich wird derBlobAdded Event mit der ID des neuen Blobs ausgefuhrt.

e l s e{

t u i o b l o b . oldX = t u i o b l o b . x ;t u i o b l o b . oldY = t u i o b l o b . y ;t u i o b l o b . x = x ;t u i o b l o b . y = y ;t u i o b l o b .X = X;t u i o b l o b .Y = Y;t u i o b l o b .m = m;d i s p a t chEven t (new TUIOEvent ( TUIOEvent . BlobOnScreen , i d ) ) ;

}}

Bei Vorhandensein des Blobs im blobArray, folgt eine Aktualisierung der Daten durch die zwischen-gespeicherten Informationen zu dem Finger. Der BlobOnScreen Event wird an dieser Stelle mit derID des Blobs ausgefuhrt.

e l s e i f ( node .ARGUMENT[ 0 ] . @VALUE == ” a l i v e ”){

va r newblob IDs : Array = new Array ( ) ;va r i c o un t = 0 ;f o r each ( va r a l i v e I t e m :XML i n node .ARGUMENT. (@VALUE != ” a l i v e ” ) ){

newblob IDs [ i c o un t ] = ( a l i v e I t e m .@VALUE) ;

Page 60: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 52

i c o un t++;}i f ( b l ob IDs != n u l l ){

f o r ( va r n = 0 ; n < b l ob IDs . l e n g t h ; n++){

va r found = f a l s e ;f o r ( va r m = 0 ; m < i c o un t ; m++){

i f ( b l ob IDs [ n]==newblob IDs [m] ){

found = t r u e ;b r eak ;

}}i f ( found == f a l s e ){

va r t u i o b l o b : Blob = getBlobById ( b l ob IDs [ n ] ) ;va r d : Date = new Date ( ) ;t u i o b l o b . endTime = d . t ime ;d i s p a t chEven t ( new TUIOEvent (TUIOEvent . BlobRemoved , b l ob IDs [ n ] ) ) ;f o r ( va r i =0; i<b l obAr ray . l e n g t h ; i++){

i f ( b l obAr ra y [ i ] . i d == b lob IDs [ n ] ){

b l obAr ray . s p l i c e ( i , 1 ) ;}

}}

}}b l ob IDs = newblob IDs ;

}}

Wenn das erste Argument der Nachricht nicht set sondern alive ist, handelt es sich um einen erkann-ten Blob, der seine Position nicht verandert hat. Da das TUIO-Protokoll keine Information uber dasEntfernen von Fingern sendet, muss uberpruft werden, welche IDs nicht mehr vom Sensor erkanntwerden.Hierzu wird ein neues Array namens newblobIDs erstellt, in dem alle IDs der auf dem Display erkann-ten Finger gespeichert werden. Der Inhalt des blobIDs Array wird mit dem Inhalt des newblobIDsArray verglichen. Ist in dem blobIDs Array eine ID vorhanden, welche nicht mehr im newblobIDsArray vorhanden ist, wurde der Finger vom Display entfernt. Ist dies der Fall, erfolgt die Speicherungdes Endzeitpunkts der Beruhrung und der BlobRemoved Event wird mit der ID des Blobs ausgefuhrt.Anschließend wird der Blob aus dem blobArray entfernt und das BlobIDs Array mit dem newblobIDsArray uberschrieben.

i f ( node .@NAME == ”/ t u i o /2Dobj ”){

i f ( node .ARGUMENT[ 0 ] . @VALUE == ” s e t ”){

va r s ID = node .ARGUMENT[ 1 ] . @VALUE ;va r i d = node .ARGUMENT[ 2 ] . @VALUE ;va r x = Number ( node .ARGUMENT[ 3 ] . @VALUE)∗ sWidth ;va r y = Number ( node .ARGUMENT[ 4 ] . @VALUE)∗ sHe i gh t ;va r a = Number ( node .ARGUMENT[ 5 ] . @VALUE) ;va r X = Number ( node .ARGUMENT[ 6 ] . @VALUE) ;va r Y = Number ( node .ARGUMENT[ 7 ] . @VALUE) ;va r A = Number ( node .ARGUMENT[ 8 ] . @VALUE) ;va r m = node .ARGUMENT[ 9 ] . @VALUE ;va r r = node .ARGUMENT[ 1 0 ] .@VALUE ;

va r t u i o f i d u c i a l : F i d u c i a l = g e t F i d u c i a l B y I d ( s ID ) ;i f ( t u i o f i d u c i a l == n u l l ){

Page 61: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.5. Verarbeiten der TUIO-Protokoll Daten 53

t u i o f i d u c i a l = new F i d u c i a l ( sID , id , x , y , a , X , Y , A, m, r ) ;f i d u c i a l A r r a y . push ( t u i o f i d u c i a l ) ;d i s p a t chEven t (new TUIOEvent ( TUIOEvent . F i duc i a lAdded , s ID ) ) ;

}e l s e{

t u i o f i d u c i a l . o l da = t u i o f i d u c i a l . a ;t u i o f i d u c i a l . x = x ;t u i o f i d u c i a l . y = y ;t u i o f i d u c i a l . a = a ;t u i o f i d u c i a l .X = X;t u i o f i d u c i a l .Y = Y;t u i o f i d u c i a l .A = A;t u i o f i d u c i a l .m = m;t u i o f i d u c i a l . r = r ;d i s p a t chEven t (new TUIOEvent ( TUIOEvent . F i duc i a lOnScreen , s ID ) ) ;

}

}e l s e i f ( node .ARGUMENT[ 0 ] . @VALUE == ” a l i v e ”){

va r n ew f i d u c i a l I D s : Array = new Array ( ) ;va r i c o un t = 0 ;f o r each ( va r a l i v e I t e m :XML i n node .ARGUMENT. (@VALUE != ” a l i v e ” ) ){

n ew f i d u c i a l I D s [ i c o un t ] = ( a l i v e I t e m .@VALUE) ;i c o un t++;

}i f ( f i d u c i a l I D s != n u l l ){

f o r ( va r n = 0 ; n < f i d u c i a l I D s . l e n g t h ; n++){

va r found = f a l s e ;f o r ( va r m = 0 ; m < i c o un t ; m++){

i f ( f i d u c i a l I D s [ n]==ne w f i d u c i a l I D s [m] ){

found = t r u e ;b r eak ;

}}i f ( found == f a l s e ){

va r t u i o f i d u c i a l : F i d u c i a l = g e t F i d u c i a l B y I d ( f i d u c i a l I D s [ n ] ) ;va r d : Date = new Date ( ) ;t u i o f i d u c i a l . endTime = d . t ime ;d i s p a t chEven t ( new TUIOEvent (TUIOEvent . FiduciaRemoved , f i d u c i a l I D s [ n ] ) ) ;f o r ( va r i =0; i<f i d u c i a l A r r a y . l e n g t h ; i++){

i f ( f i d u c i a l A r r a y [ i ] . s ID == f i d u c i a l I D s [ n ] ){

f i d u c i a l A r r a y . s p l i c e ( i , 1 ) ;}

}}

}}f i d u c i a l I D s = ne w f i d u c i a l I D s ;

}}

}}

}}

Bei einem Fiducial ist der Name der Nachricht /tuio/2Dobj. Das Auslesen und Verarbeiten derDaten erfolgt wie bei den Daten des Blobs. Zusatzlich erfolgt die Speicherung und Verwaltung derDaten zur Rotation des Objektes.

Page 62: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

5.6. Zusammenfassung 54

5.6 Zusammenfassung

Die Vorgange vom Erkennen der Finger und Objekte bis hin zum Verarbeiten der Daten in Flashwurden aufgezeigt. Eine Infrarot-Kamera zeichnet das durch Finger und Objekte reflektierte Infrarot-Licht auf. Reactivision filtert die Bilder der Kamera und wertet diese aus.Jede Beruhrung durch ein Objekt oder Finger erhalt von Reactivision eine eindeutige SessionID.Die erhaltenen Informationen zu den Beruhrungen werden als UDP-Pakete mit OSC-Nachrichtengesendet. Das TUIO-Protokoll dient hierbei als Kommunikationsinterface. Es wurde entwickelt, umInformationen von Objekten und Fingern an Anwendungen zu ubermitteln. Da Flash nicht in derLage ist UDP-Pakete zu empfangen, werden die von Reactivision gesendeten Pakete mit Flosc inTCP-Pakete mit XML-Nachrichten umgewandelt. Die umgewandelten Pakete konnen von Flash ubereinen XML-Socket empfangen und ausgelesen werden.Zur Speicherung und Verwaltung der Informationen wird fur jeden Finger eine Instanz der Blob-Klasse und fur jedes Objekt eine Instanz der Fiducial-Klasse erzeugt. Die Speicherung aller vonReactivision gesendeten Informationen zu einem Display beruhrenden Finger oder Objekt findet inder zugehorigen Instanz statt. Die Instanz der Klasse wird anhand der ID der Beruhrung zugeordnet,die Informationen werden standig mit den von Reactivision gesendeten Daten abgeglichen.Zusatzlich ist es moglich, beim Erstellen, Aktualisieren sowie vor dem Loschen der Instanzen auchselbst erstellte Eigenschaften mit Werten zu versorgen. Dies ermoglicht, Informationen zu Fingernund Objekten zu speichern, welche nicht von Reactivision mitgeliefert werden. Somit konnen allebenotigten Informationen zu einem Finger oder Objekt direkt in der Instanz gespeichert und durchdiese auch wieder abgerufen werden.Zur Realisierung der Bewegungsdifferenzierung wurde diese Moglichkeit genutzt, um die vorherigePosition eines Fingers oder Objektes zu speichern. Zusatzliche Eigenschaften zur Geschwindigkeits-berechnung werden angefugt, um die Geschwindigkeit einer Bewegung zuruckzusetzen und um eigeneMessintervalle festzulegen.Zusatzlich wurden Events definiert. Bei jeder neuen Beruhrung oder dem Ende einer Beruhrung wirdder zugehorige Event ausgefuhrt. Auch fur das Empfangen neuer Informationen zu einer bestehendenBeruhrung existiert ein Event. Werden diese Events einer andern Klasse hinzugefugt, wird immer,wenn diese Events eintreten, eine dazugehorige Funktion ausgefuhrt.Durch Importieren dieser Bibliotheken und das Hinzufugen der Events konnen die von Reactivisiongesendeten Beruhrungsdaten in samtlichen Flash-Klassen genutzt werden.

Im folgenden Kapitel werden diese Daten genutzt, um die neu entwickelten Konzepte zur Inter-aktion an einem Multitouch-Table mit Nutzung der Bewegungsgroßen umzusetzen. Die Konzeptewerden in einem Curling-Spiel und einer Foto-Applikation erprobt.

Page 63: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Kapitel 6

Konzeptumsetzung

Im Kapitel Technische Umsetzung wurde das Empfangen und Verarbeiten von Beruhrungsdatenbehandelt. Flash-Bibliotheken, welche die Speicherung und Aktualisierung der Informationen zu Fin-gern und Objekten ubernehmen, wurden entwickelt. Daruber hinaus wurden Events definiert, dieuber jegliche Veranderung der Objekte und Finger auf dem Touchscreen informieren.Mit Hilfe dieser Bibliotheken erfolgt in diesem Kapitel die Umsetzung der neu entwickelten Konzepte.

6.1 Einleitung

Die neu entwickelten Konzepte werden in Anwendungen uberpruft. Hierzu wird die Implementierungder bereits vorgestellten Bibliotheken und deren Anwendung zum Empfangen der Beruhrungsdatenerklart.Es folgt eine Erlauterung der Umsetzung der fur die Benutzerfreundlichkeit beitragenden Konzeptevon Bewegungsdifferenzierung und Geschwindigkeitsvisualisierung.Anschließend erfolgt die Dokumentation der Umsetzung der Beispielanwendungen. In einem Curling-Spiel soll das Konzept von Nutzung der Geschwindigkeit einer Bewegung zur physikalischen Interakti-on erprobt werden. Durch die Geschwindigkeit und Richtung einer Bewegung sollen die Curling-Steinebewegt werden. Zusatzlich wird versucht, die Geschwindigkeit einer Bewegung zur Umsetzung desWischens zu nutzen. Ziel ist es, hiermit eine intuitive und prazise Steuerung des Spiels zu erreichen.Die Konzepte von Nutzung der Geschwindigkeit einer Objektrotation und Geschwindigkeit einer Be-wegung zur Aktionsdifferenzierung sollen in einer Foto-Applikation realisiert werden. Es gibt bereitseine Vielzahl von Foto-Applikationen, in denen jedoch immer nur die gleichen Konzepte zur Interak-tion genutzt werden. Das Konzept der Geschwindigkeit einer Bewegung zur Aktionsdifferenzierungsoll genutzt werden, um die Bildschirmtastatur aufzurufen. Dies wurde bisher vorwiegend durch dasDrucken einer auf dem Bildschirm dargestellten Schaltflache umgesetzt. Zusatzlich soll bei einerschnellen Bewegung eines Bildes in Richtung des oberen Bildschirmrandes, das Bild vom Bildschirmentfernt und von einem Beamer projiziert werden. Mithilfe der Geschwindigkeit einer Objektrotationsoll das Konzept des Skalierens ersetzt werden, da dies den Benutzern schwerer fallt als alle bishervorhandenen Interaktionskonzepte.

55

Page 64: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.2. Grundgerust 56

6.2 Grundgerust

Das Importieren der im Kapitel Technische Umsetzung vorgestellten Klassen TUIO, TUIOEvent,Blob und Fiducial ist zum Empfangen der Beruhrungsdaten notig. Die TUIO-Klasse wird mit derAuflosung der Anwendung instanziert. Die TUIOEvents mussen der Instanz hinzugefugt werden, umalle Informationen zu den Bildschirm beruhrenden Finger und Objekten zu empfangen. Tritt einerder Events ein, konnen in der dazugehorigen Funktion durch die getBlobByID oder getFiducialByIDFunktion, aufgerufen mit der im Event gelieferten ID, alle Informationen zu dem Blob oder Fiducialabgerufen werden. Die Blob- und Fiducial-Klassen dienen an dieser Stelle der Speicherung und Ver-waltung der Informationen.In der BlobAdded und FiducialAdded Funktion wird ein Movieclip erstellt, der die Position des Fin-gers oder Objektes auf dem Bildschirm darstellt. Die Position der Grafik wird der Position des Fingersund des Objektes angepasst. Eine Speicherung der Grafik in der Eigenschaft mc des dazugehorigenObjektes erfolgt. In der BlobOnScreen und FiducialOnScreen Funktion wird die Position des Movie-clips der neuen Position des Fingers oder Objektes angepasst. Beim Verschwinden des Fingers oderObjektes wird auch der Movieclip in der BlobRemoved und FiducialRemoved Funktion geloscht.Mit dem Aufbau dieses Grundgerustes konnen die in Kapitel 5 entwickelten Bibliotheken in An-wendungen genutzt werden. Das Empfangen und Verarbeiten aller Informationen zu Fingern undObjekten in den Events ist somit moglich. Auch Grafiken fur Finger und Objekte werden dargestellt.

6.3 Bewegungsdifferenzierung

Die Differenzierung zwischen fortlaufenden und durch einen kurzen Stopp gebremsten Bewegungenerfolgt in der BlobOnScreen Funktion. Ein Vergleich der vorherigen und aktuellen Koordinaten einerBeruhrung findet statt. Sind die Koordinaten identisch, wurde der Finger eine kurze Zeit nicht be-wegt. Die Identifizierung einer abgebremsten Bewegung ist moglich. Die ersten Koordinaten und dieStartzeit der Beruhrung werden auf die aktuellen Werte gesetzt. Hierdurch erfolgt ein Zurucksetzender Geschwindigkeit.Sind die vorherigen und aktuellen Koordinaten einer Beruhrung unterschiedlich, ist von einer fortlau-fenden Bewegung auszugehen und die Variablen zur Geschwindigkeitsberechnung bleiben unberuhrt.Die Bewegungsdifferenzierung wird sowohl beim Curling zum Positionieren der Steine vor demSchleudern auf die Bahn als auch in der Foto-Applikation zum Verhindern des ungewollten Ausfuhrensgeschwindigkeitsabhangiger Funktionen eingesetzt.

6.4 Geschwindigkeitsvisualisierung

Um die durch eine Bewegung ausgeubte Geschwindigkeit fur den Benutzer transparent darzustellen,sollen bewegte Objekte den Finger mit einer Verzogerung folgen. Die Strecke zwischen Finger undObjekt soll mit steigender Geschwindigkeit großer werden und mit sinkender Geschwindigkeit sichverkleinern.Um dies zu realisieren erfolgt in der BlobAdded Funktion, welche beim Auftreten eines neuen Fin-

Page 65: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.5. Curling 57

gers aufgerufen wird, eine Abfrage, ob die Koordinaten des Fingers sich mit den Koordinaten einesObjektes uberschneiden. Ist dies der Fall, wird das Folgen des Objektes jeden Frame der Anwendungberechnet. Die Differenz zwischen Finger und Objekt muss errechnet und durch den Verzogerungs-wert dividiert werden. Ein großerer Wert stellt eine großere Verzogerung dar. Es folgt eine Additionder dividierten X- und Y-Differenzwerte zu den X- und Y- Koordinaten des Objektes.Die Aktualisierung muss jeden Frame erfolgen, da eine Berechnung im BlobOnScreen Event, wiebeim Drag & Drop Verfahren ublich, beim Stillhalten des Fingers zu Fehlern fuhren wurde. DasSenden von neuen Positionsdaten wurde in diesem Fall ausbleiben, somit der Event nicht aufgerufenund das Naherrucken des Objektes nicht mehr umgesetzt werden.Die Rotationsveranderung des Objektes kann auch berechnet werden. Es erfolgt eine Berechnungdes Winkels zwischen Finger und Objekt. Die Positionsdifferenzwerte werden, vor dem Dividierenmit den Verzogerungswerten, mit der atan2 Funktion in einen Winkel umgerechnet. Durch Multipli-kation dieses Winkels mit Pi/180 erfolgt eine Umrechnung in Gradmaß. Jegliche Veranderung desWinkels bei der Bewegung wird nun vom aktuellen Rotationswinkel des Objektes subtrahiert. Diesentspricht dem Konzeptes der Rotation mit einem Finger.Die Geschwindigkeitsvisualisierung sowie die Rotation beim Bewegen eines Objektes werden in bei-den Konzepten angewandt.

6.5 Curling

Curling ist ein Spiel auf einer Eisflache zwischen zwei Mannschaften mit je vier Spielern [cur08].Jeder Spieler der Mannschaften lasst zwei Granitsteine uber das Eis gleiten. Beide Mannschaftenwechseln sich mit ihren Spielzugen ab und versuchen mit den Steinen dem Zentrum eines zweifarbigenZielkreises so nahe wie moglich zu kommen (siehe Abbildung 6.1). Fur jeden Stein, der zum Endedes Durchgangs am Mittelpunkt des Zielkreises naher liegt als der Stein des Gegners, erhalt dieMannschaft einen Punkt.

Abbildung 6.1: Curling Zielkreis mit gespielten Steinen beider Mannschaften. c©Deutsches Gene-ralkonsulat Vancouver

Es durfen Steine, die von der gegnerischen Mannschaft bereits gespielt wurden, mit eigenen Steinenweggestoßen werden. Nach neun Durchgangen werden die Punkte der Mannschaften addiert undder Gewinner wird ermittelt.

Page 66: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.5. Curling 58

Curling ist uberwiegend ein taktisches Spiel. Neben der Richtung des gespielten Steins ist die Bestim-mung der Geschwindigkeit ein wesentlicher Faktor. Mochte man einen Stein des Gegners wegstoßen,muss der Stein mit hoher Geschwindigkeit auf die Bahn geschleudert werden. Um wiederum denStein im Zielkreis zu positionieren, ist die exakte Dosierung der Geschwindigkeit wichtig, um denStillstand des Steins am richtigen Punkt zu erreichen. Die Geschwindigkeit eines Steines kann, nachdem der Stein abgespielt wurde, nur noch durch Wischen beeinflusst werden (siehe Abbildung 6.2).Das Wischen der Eisflache mit einem Besen bewirkt eine Erhitzung der Eisflache, die entstehen-de Reibung mit dem Stein wird verringert. Durch schnelles Wischen der Flache kann somit derGeschwindigkeitsverlust des Steines vermindert werden.

Abbildung 6.2: Wischen mit dem Besen vor einem gespielten Curlingstein. c©Deutsches General-konsulat Vancouver

Da die Geschwindigkeit der gespielten Steine mit spielentscheidend ist, wurde eine Umsetzung desCurling zum Erproben des Konzeptes von Nutzung der Geschwindigkeit zur physikalischen Interak-tion gewahlt. Es existieren bereits Curling-Spiele fur Computer und Konsolen mit herkommlichenEingabegeraten. Es liegt jedoch noch keine Umsetzung fur den Multitouch-Table beziehungsweisefur ein Touchscreen-System vor. Durch die Touchscreen-Bedienung und vor allem das Nutzen derGeschwindigkeit einer Bewegung konnte die Steuerung des Spiels um ein vielfaches intuitiver undpraziser gestalten werden als mit herkommlichen Eingabegeraten.Zur Umsetzung auf den Multitouch-Table werden die Regeln vereinfacht, damit das Spiel nicht zukomplex gestaltet wird. Die Dauer des Spieles ist mit neun Durchgangen fur ein Spiel auf demMultitouch-Table zu langatmig. Daher wird auf das Durchfuhren mehrerer Durchgange verzichtet.Der Benutzer soll nicht gezwungen werden, bei jedem Spiel neun Runden spielen zu mussen. Eineso mogliche fruhere Revanche erhoht den Spielspaß. Zwei Spieler durfen je vier Steine spielen UmSpannung beim Spielen aufzubauen, erreicht jeder Stein je nach Position Punkte, unabhangig davon,

Page 67: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.5. Curling 59

ob er naher am Mittelpunkt des Zielkreises ist als ein Stein des Gegners.Die Curling-Steine werden mit dem Konzept der Geschwindigkeitsvisualisierung bewegt. Auch dasKonzept der Bewegungsdifferenzierung wird angewendet, um das exakte Positionieren der Steine zuermoglichen. Bei Entfernung des Fingers erfolgt die Berechnung der Geschwindigkeit aus der Dauerder Beruhrung und der zuruckgelegten Strecke. Wenn der Stein uber den vorgegebenen Bereichhinaus gespielt wird, in dem der Spieler den Stein bewegen darf, wird er so behandelt, als ob derSpieler den Stein losgelassen hatte.Die berechnete Geschwindigkeit wird an den Stein weiter gegeben und durch eine simulierte Reibungverringert. Durch eine schnelle Auf- und Abbewegung vor dem gleitendem Stein erfolgt eine Verrin-gerung der Reibung. Schnelle Wischbewegung vermindern hierbei die Reibung starker als langsame.Das Konzept des Wischens soll durch die Geschwindigkeit einer Bewegung umgesetzt werden.Neben der Reibung wird das Verhalten gegeneinander gestoßener Steine simuliert. Um zu verhindern,dass zu stark beschleunigte Steine aus dem Bildschirm rutschen, wird an den Seiten die Bandenkolli-sion berucksichtigt. Am Ende der Eisflache wird darauf verzichtet, da sonst zu schnell gespielte Steineabprallen und eventuell Punkte geben wurden, obwohl sie eigentlich im Aus gelandet sind. Verlasstein Stein die Bahn hinter dem Zielkreis, wird dieser Stein somit entfernt. Es erfolgt eine Festlegungder Reihenfolge der Spielzuge und eine Errechnung der Punkte, um das Spiel interessant zu gestalten.

6.5.1 Geschwindigkeit einer Bewegung zur physikalischen Interaktion

Die Eisflache und Curling-Steine der Spieler sind Grafiken. Die Curling-Steine werden als Objekt-Instanzen erstellt, um zusatzliche Informationen zu den Steinen zu speichern. Neben dem Movieclipwerden die Eigenschaften xSpeed und ySpeed definiert, welche die Geschwindigkeit eines bewegtenSteins speichern.Zur besseren Abfrage der Position und Geschwindigkeit aller Steine in einer for-Schleife, werden alleObjekt-Instanzen der Steine in einem Array gespeichert. Das abwechselnde Hinzufugen der Steinevon Spieler Eins und Spieler Zwei erleichtert das Abfragen der Spielzuge und der Punkte im Array.Eine Variable, deren Wert beim Start des Programms Null entspricht, wird jedes Mal, wenn einStein auf der Bahn gespielt wird, um den Wert Eins erhoht. Nur wenn diese Variable der Positioneines Steines im Array entspricht, kann der Stein, wie im Konzept der Geschwindigkeitsvisualisierungbeschrieben, bewegt werden.

Abbildung 6.3: Strecke zwischen der Beruhrung und dem Stein dient als Geschwindigkeitsindikator,hier rot gekennzeichnet. Links langsame Bewegung. Rechts schnelle Bewegung.

Page 68: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.5. Curling 60

Das Konzept der Bewegungsunterscheidung hilft die Position des Steines zu bestimmen, bevor diesergespielt wird.Die Berechnung der Geschwindigkeit erfolgt im BlobRemoved Event. Die getBlobByID Funktionverschafft alle Daten zu dem Event ausfuhrenden Blob. Die Geschwindigkeitsberechnung erfolgt erstam Ende einer Beruhrung, damit die gegebenenfalls durch das Konzept der Bewegungsdifferenzie-rung zuruckgesetzten Werte genutzt werden konnen. Die Differenz der im Blob gespeicherten erstenund aktuellen Koordinaten stellt die zuruckgelegte Strecke dar. Die benotigte Zeit stellt die Differenzzwischen dem Anfangszeitpunkt der Messung und der aktuellen Zeit dar. Durch das Dividieren derStrecke durch Zeit wird die Geschwindigkeit berechnet. Die X- und Y-Geschwindigkeitswerte werdenin der Instanz der bewegten Objekte gespeichert.Im BlobOnScreen Event erfolgt eine Uberprufung, ob die X-Position des Steins einen gewissen Wertubersteigt, da der Stein nur bis zu einem gewissen Punkt bewegt werden darf. Wird dieser Wertbeim Bewegen uberschritten, werden die gleichen Aktionen wie im BlobRemoved Event ausgefuhrt.Beruhrt ein Stein einen Anderen, erfolgt die Berechnung der Kollision. Mit Hilfe des Satzes des Py-thagoras kann aus den X-und Y-Abstanden der Steine die Strecke zwischen diesen errechnet werden.Betragt die Strecke zwischen den Steinen weniger als der Umfang der beiden Steine dividiert durchzwei, tritt eine Kollision ein. Die neu berechneten Geschwindigkeitswerte werden in den Instanzender Steine gespeichert.Mit einer for-Schleife werden die X- und Y-Geschwindigkeitswerte aller im Array der bewegbaren Ob-jekte gespeicherten Instanzen jeden Frame der Anwendung uberpruft. Ist der Geschwindigkeitswertungleich Null, erfolgt die Addition der gespeicherten Geschwindigkeit zur Position des Objektes. Vordem Addieren wird jedoch der Geschwindigkeitswert temporar durch 50 dividiert, da die Anwendungmit 50 Bildern pro Sekunde lauft. Nach dem Addieren der Geschwindigkeit werden die Geschwin-digkeitswerte des Objektes um die festgelegte Reibung verringert.Fur den Fall, dass ein Stein durch zu hohe Geschwindigkeit die Eisflache verlassen wurde, erfolgt dieAbfrage einer Bandenkollision. Falls ein Stein in X-Richtung die Bahn verlassen wurde, erfolgt eineUmkehrung der X-Geschwindigkeit der dazugehorigen Objekt-Instanz. Verlasst der Stein die Bahnin Y-Richtung hinter dem Zielkreis, wird dieser entfernt.Die Punkte der Spieler werden mit Hilfe der atan2 Funktion berechnet. Durch die atan2 Funktionkann die Entfernung zum Mittelpunkt der Zielscheibe errechnet und somit die Punkte vergebenwerden. Ist die Position des Steins im Array durch zwei teilbar, handelt es sich um einen Stein vonSpieler Eins. Ist dies nicht der Fall, ist es ein Stein von Spieler Zwei. Die Punkte werden jeden Frameder Anwendung aktualisiert und in Textfeldern ausgegeben. Sind alle Spielzuge ausgefuhrt und dieGeschwindigkeit aller Steine betragt Null, wird der Gewinner anhand der Punkte ermittelt.

6.5.2 Bildschirmbegrenzung

Bei der Begrenzung des Curling-Spielfeldes auf nur den Bildschirm konnen bei kleinen TouchscreensProbleme auftreten. Durch wenig Platz zum Bewegen der Objekte sind die Moglichkeiten zur Dosie-rung der Geschwindigkeit eingeschrankt (siehe Abbildung 6.4). Je großer die Flache zum Bewegendes Objektes ist, umso genauer kann die Geschwindigkeit im Laufe der Bewegung korrigiert werden.Ist die Flache zur Bewegung der Objekte allerdings zu groß, bleibt kaum noch Platz fur das Spielfeldund somit auch kaum Freiraum fur die Bewegung des Steins durch die mitgegebene Geschwindigkeit.

Page 69: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.5. Curling 61

Durch eine kurze Strecke nach dem Loslassen des Steins wird auch das fur Curling typische Wischenrelativ unbedeutend.

Abbildung 6.4: Screenshot des Curling-Spiels bei der Begrenzung auf den Bildschirm.

Um diese Probleme zu beheben, muss die Eisflache uber den Bildschirm hinaus gehen. Diese wird inFlash mit Hilfe eines Sprites erledigt. Ein Sprite ist eine Art Container, in dem Movieclips gespeichertwerden konnen. Dem Sprite werden die Movieclips einer Eisbahn, die uber den Bildschirm hinausgeht, sowie die Movieclips der Curling-Steine hinzugefugt. Der Sprite mit den Elementen des Spielskann nun uber den Bildschirm bewegt werden, um den momentan interessanten Teil des Spielfeldeszu zeigen. Ein Problem tritt hierbei auf, da die Koordinaten des Bildschirms von den Koordinatender Inhalte des Sprites abweichen.

Abbildung 6.5: Vergleich der Koordinaten des Sprites mit der Eisbahn und des Bildschirms. Schwarzdie Koordinaten des Sprites. Rot die Koordinaten des Bildschirms.

Die von Flash gelieferten Funktionen globalToLocal und localToGlobal helfen bei diesem Problem.Mit diesen Funktionen konnen lokale Koordinaten eines Punktes, die des Sprites, in globale Koordi-naten, die der Buhne, und umgekehrt umgerechnet werden. Dies beinhaltet, dass jedes Mal, wenn

Page 70: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.5. Curling 62

die Koordinaten des Blobs auf der Buhne mit den Koordinaten der Curling-Steine auf dem Spritesinteragieren, diese umgerechnet werden mussen.Da bei dieser Variante das Ende der Eisbahn mit der Zielscheibe wahrend der Spielzuge nicht zusehen ist, wird zum Planen des nachsten Zuges eine Ubersicht benotigt. Hierzu wird ein weitererSprite mit dem Spielfeld und den Curling-Steinen im Verhaltnis 1:20 erstellt. Die Positionsdaten derSteine in der Ubersicht werden standig mit den Koordinaten der Steine auf dem Feld abgeglichen.Zur Umrechnung in das Verhaltnis der Ubersicht mussen diese mit dem Faktor 0,2 multipliziertwerden.

Abbildung 6.6: Screenshot des Curling-Spiels mit Eisflache uber den Bildschirm hinaus und hinzu-gefugter Ubersicht.

6.5.3 Wischen

Die Umsetzung des Wischens erfolgt in der BlobOnScreen Funktion. Verlasst der aktuell gespielteStein den Bereich in dem er bewegt werden darf, kann der Benutzer durch eine schnelle Auf- undAbbewegung die Reibung des Steins verringern. Es erfolgt eine Abfrage der Position des Fingers.Bei jeder Auf- und Abbewegung des Fingers, welche die Y-Koordinate des Steins schneidet, erfolgtfur einen kurzen Moment das Verringern der Reibung des Steines.

Abbildung 6.7: Korrekte Ausfuhrung der Wischbewegung vor dem Stein, hier blau gekennzeichnet.

Page 71: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.6. Foto-Applikation 63

Die Umsetzung des Wischens durch die Geschwindigkeit einer Bewegung konnte im Rahmen dieserDiplomarbeit jedoch nicht umgesetzt werden, da folgende Probleme deutlich wurden. Neben derGeschwindigkeit einer Bewegung ist die Position und Richtungsanderung fur den Effekt des Wischensvon großer Bedeutung. Wurde der Effekt des Wischens durch die Geschwindigkeit einer Bewegungerrechnet werden, konnte der Benutzer uberall auf dem Bildschirm den Finger auf und abbewegen,um die Reibung zu verringern. Schnelle Bewegungen ohne starke Richtungsanderung wurden ebensoden gleichen Effekt erzielen.

6.6 Foto-Applikation

Es existieren bereits sehr viele Foto-Applikationen, jedoch werden fast ausschließlich die gleichenKonzepte zur Interaktion umgesetzt. Durch die Konzepte von Drag & Drop, der Rotation und desSkalierens erhalt der Benutzer die Moglichkeit dargestellte Bilder zu manipulieren. In manchen An-wendungen kann zusatzlich durch Drucken einer dargestellten Schaltflache die Bildschirmtastaturhervorgerufen werden.Die entwickelte Foto-Applikation unterscheidet sich von diesen Konzepten. Das den Benutzernschwer fallende Konzept des Skalierens zum Hinein- und Herauszoomen und Skalieren von Bil-dern wird durch das Konzept von Nutzung der Geschwindigkeit einer Objektrotation ersetzt.Durch das Plazieren und Rotieren eines auf den Display gestellten Objektes kann der Benutzer zoo-men. Uberschneiden sich die Koordinaten des Objektes mit einem dargestellten Foto, wird das Bilddurch die Rotationsgeschwindigkeit skaliert. Die Richtung der Rotation gibt hierbei an, ob vergroßertoder verkleinert werden soll. Das Nutzen der Geschwindigkeit soll den Vorteil bieten, dass sowohlkleine als auch große Skalierungsvorgange schnell und intuitiv erledigt werden konnen.Daruber hinaus wird das Konzept von Geschwindigkeit einer Bewegung zur Aktionsdifferenzierunggenutzt. Der Benutzer kann mit einer Aktion, in verschiedenen Geschwindigkeiten ausgefuhrt, un-terschiedliche Effekte erzielen.Das Aufrufen der Bildschirmtastatur wird durch dieses Konzept gelost. Die Tastatur erscheint,wenn eine Bewegung in einer bestimmten Geschwindigkeit uber den Bildschirm ausgefuhrt wird.Die Anfangs- und Endkoordinaten dieser Bewegung bestimmen hierbei die Position und Rotationder Tastatur.Daruber hinaus wird eine noch nie umgesetzte Aktion mit Hilfe dieses Konzeptes realisiert. Wird einBild mit dem bei der Geschwindigkeitsvisualisierung beschriebenen Verfahren mit einer festgelegtenGeschwindigkeit in Richtung des oberen Bildschirmrandes bewegt, wird dieses vom Bildschirm ent-fernt und von einem Beamer projiziert. Damit dies nicht ungewollt geschieht, kann der Benutzerdurch kurzes Verharren mit dem Finger an einer Position die Geschwindigkeit der Bewegung zuruck-setzen.Um die Anwendung zu vervollstandigen, ist neben dem Bewegen der Fotos mit dem Finger auch dieRotation mit zwei Fingern moglich. Das Verschieben des gesamten Bildschirminhalts wird in dieserAnwendung ebenfalls realisiert. Dies nicht wie ublich mit einem Finger, da sonst beim Aufrufen derBildschirmtastatur immer der gesamte Bildschirminhalt verschoben wurde. Der Benutzer muss dieFlache zwischen den Fotos mit zwei Fingern beruhren, um alle Inhalte zu verschieben.

Page 72: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.6. Foto-Applikation 64

Abbildung 6.8: Screenshot der Foto-Applikation mit aufgerufener Bildschirmtastatur.

6.6.1 Rahmendbedingungen

Um das Zoomen in der Anwendung zu ermoglichen, mussen in Flash die Bildschirminhalte skaliertwerden. Haufig wird dies in Flash-Foto-Applikationen durch Skalieren der Buhne realisiert. Alle aufdem Bildschirm dargestellten Elemente werden skaliert. Dies bringt das Problem mit sich, dass nebenden Bildern auch die Bildschirmtastatur und die Grafiken zur Darstellung der Blobs und Fiducialsskaliert werden. Um dies zu verhindern, wird, wie bereits bei der Umsetzung des Curling-Spieles,ein Sprite verwendet. Alle Bilder werden diesem hinzugefugt und nur der Sprite wird skaliert. Dadie Koordinaten der Inhalte des Sprites von den Koordinaten des Bildschirmes abweichen, ist eineUmrechnung von lokalen zu globalen und globalen zu lokalen Koordinaten notig, wenn die Positi-onsdaten der Finger mit den Positionsdaten der dargestellten Objekte interagieren. Zusatzlich isteine Multiplizierung der lokalen Koordinaten mit dem Skalierfaktor erforderlich. Hierzu werden Va-riablen definiert, welche die aktuelle Skalierung des Sprites speichern. Diese werden beim Start derAnwendung auf 1 gesetzt.In der Foto-Applikation werden die bewegbaren Bilder, wie schon beim Curling, als Objekt-Instanzmit dem Movieclip und den Eigenschaften xSpeed und ySpeed zur Speicherung der Geschwindigkeiterstellt. Die Foto-Objekt-Instanzen werden auch hier zur besseren Abfrage einem Array hinzugefugt.Die Position des Objektes im Array entspricht einer eindeutigen Foto-ID.Da in der Anwendung mehrere Singletouchaktionen gleichzeitig und Multitouchaktionen moglichsein sollen, wird den Blobs eine zusatzliche Eigenschaft angefugt. Die zusatzliche Eigenschaft Ob-jekt gibt an, welches Objekt der Blob beruhrt. Die Eigenschaft wird beim Erstellen des Blobs auf 100gesetzt, da das Array der Fotos diese Lange nicht erreicht. In der BlobOnScreen Funktion, welchebeim Auftreten eines neuen Fingers aufgerufen wird, erfolgt eine Uberprufung, ob die Koordinateneines Fingers sich mit denen eines dargestellten Fotos uberschneiden. Ist dies der Fall, folgt in derObjekt-Eigenschaft des Blobs eine Speicherung der Position des Bildes im dazugehorigen Array. So-mit kann uber die Objekt-Eigenschaft eines Blobs direkt auf das beruhrende Bild zugegriffen werden.Ist die Eigenschaft unverandert 100, wird keines der Bilder beruhrt.Da in der Foto-Applikation Single- und Multitouchaktionen moglich sein sollen, ist die Unterschei-

Page 73: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.6. Foto-Applikation 65

dung dieser notwendig. Hierzu werden alle Blobs beim ersten Auftreten einem Array hinzugefugtund beim Verschwinden wieder entfernt. An der Lange des Arrays kann die Anzahl der den Displayberuhrenden Finger bestimmt werden. Wird nur eine Beruhrung erkannt, handelt es sich um eineSingletouch Aktion. Ist die Lange des Arrays großer Eins muss unterschieden werden, ob es sich ummehrere Singletouchaktionen oder Multitouchaktionen handelt. Hierzu erfolgt anhand der Objekt-Eigenschaft der Blobs eine Uberprufung, ob mehrere Finger das gleiche Objekt beruhren. In diesemFall ist von einer Multitouchaktion auszugehen. Zur Verarbeitung werden die Singletouchaktionenund Multitouchaktionen in getrennte Arrays gespeichert. Die Kategorisierung von Single- und Mul-titouchaktionen wird jeden Frame der Anwendung wiederholt.Ist die Lange des Arrays der Singletouchaktionen großer eins, werden die dort gespeicherten Blobsnach dem Konzept der Geschwindigkeitsvisualisierung verarbeitet um das in der Objekt-Eigenschaftgespeicherte Bild zu verschieben und zu rotieren.

Abbildung 6.9: Rotation eines Fotos beim Verschieben, Position des Fingers rot gekennzeichnet.

Ist die Lange des Arrays der Multitouchaktionen großer Zwei, werden die Multitouchaktionen verar-beitet. Die Rotation des in der Objekt-Eigenschaft der Blobs gespeicherten Bildes erfolgt nach demKonzept der Rotation mit zwei Fingern. Anhand der Differenz zwischen den beiden Fingern wirdmit der atan2 Funktion der Winkel zwischen den Beruhrungen bestimmt. Jede Veranderung diesesWinkels wird auf das beruhrte Bild ubertragen. Ist der Wert der Objekt-Eigenschaft 100, wird keinObjekt beruhrt. In diesem Fall wird das Bewegen des gesamten Sprites umgesetzt, indem jeglicheVeranderung der Koordinaten einer der Beruhrungen, wie beim Drag & Drop, auf den Sprite ubert-ragen wird.Die Uberprufung und Kategorisierung der Beruhrungen wird standig wiederholt, da aus Singletouch-aktionen durch Hinzufugen eines weiteren Fingers Multitouchaktionen werden konnen. Umgekehrtkann durch das Entfernen eines Fingers aus einer Multitouchaktion eine Singletouchaktion werden.Die Arrays der Single- und Multitouchaktionen werden nach dem Ausfuhren der Aktion geleert underst beim neuen Kategorisieren wieder gefullt.Wurde die Bildschirmtastatur aufgerufen, erfolgt in der BlobOnScreen Funktion die Abfrage, ob eineUberschneidung der Koordinaten der Tastatur und des Fingers vorliegt. Ist dies der Fall, folgt eine

Page 74: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.6. Foto-Applikation 66

weitere Uberschneidungsabfrage zwischen den Koordinaten des Fingers und den einzelnen Tasten.Liegt auch hier eine Uberschneidung vor, wird die entsprechende Taste gedruckt. Liegt eine Uber-schneidung mit der Tastatur und keiner der Tasten vor, kann die Tastatur per Drag & Drop bewegtwerden. Das Konzept zur Bewegungsdifferenzierung wird auch in dieser Anwendung angewendet.

6.6.2 Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung

In der BlobRemoved Funktion wird die X- und Y-Geschwindigkeit einer Bewegung berechnet. Esfolgt eine Abfrage der Eigenschaft Objekt der Blob Instanz.Entspricht der Wert 100, beruhrt der Finger kein Objekt. Ist dies der Fall, werden die X- und Y-Geschwindigkeiten der Bewegung addiert. Negative Geschwindigkeitswerte werden vorher in positiveumgewandelt, um Verfalschungen des Wertes zu verhindern. Uberschreitet die Summe der X-undY-Geschwindigkeiten einen festgelegten Wert, wird der Winkel zwischen den ersten und letzten Ko-ordinaten der Beruhrung mit der atan2 Funktion berechnet. Die Rotation der Bildschirmtastaturwird diesem Winkel angepasst und die Position der Tastatur den letzen Koordinaten der Beruhrungangeglichen. Zuletzt wird die Grafik der Bildschirmtastatur sichtbar gestellt.Enthalt die Eigenschaft objekt der Blob Instanz hingegen die Position eines Bild-Objektes im dazu-gehorigem Array, wird ein Bild bewegt. Zur Uberprufung, ob das Bild mit der benotigten Geschwin-digkeit in Richtung des oberen Bildschirmrandes bewegt wurde, erfolgt der Abruf des Wertes derY-Geschwindigkeit. Tritt dieser Fall ein, erfolgt eine Speicherung der Geschwindigkeitswerte in derInstanz des Bild-Objektes.Die Position des Bildes im Array wird in einer Variable gespeichert, deren Standardwert 100 ent-spricht, da das Bilder Array diese Langer nicht ereicht. Der Inhalt dieser Variable wird jeden Frameuberpruft. Weicht der Wert vom Standardwert ab, wird ein Bild zum Beamer bewegt. Der Wertder Variable entspricht in diesem Fall der Position des zu projizierendem Bildes im Bilder-Array.Das Bild wird mit der in der Objekt Instanz gespeicherten Geschwindigkeit so lange bewegt, bis esden Bildschirm verlasst und von einem Beamer projiziert wird. Der Wert der Variable wird hiernachwieder auf den Standardwert zuruckgesetzt.

6.6.3 Nutzung der Geschwindigkeit einer Objektrotation

Die Skalierung durch die Geschwindigkeit einer Objektrotation findet in der FiducialOnScreen Funk-tion statt. Diese Funktion wird immer dann aufgerufen, wenn neue Informationen zu einem bereitserkannten Fiducial gesendet werden. Durch die getFiducialByID Funktion werden alle Informationenzu dem Event ausfuhrendem Objekt beschafft. Um Verzogerungen zwischen der Interaktion des Be-nutzers und der Aktion in der Applikation zu vermeiden, erfolgt die Geschwindigkeitsmessung beijeder Aktualisierung der Daten. Hierzu wird die Eigenschaft des Startzeitpunktes der Messung beijedem Aufruf als letzte Handlung auf die aktuelle Zeit gesetzt.Hiervor erfolgt ein Vergleich des aktuellen und vorherigen Rotationswinkels des Objektes. Sind dieWinkel unterschiedlich, wurde das Objekt bewegt und es erfolgt die Berechnung der Rotationsge-schwindigkeit. Zuerst wird die Differenz der Winkel berechnet. Da ein Sprung von 360 auf 0 Gradund umgekehrt moglich ist, folgt eine Uberprufung, ob die Rotation -300 oder 300 Grad ubersteigt

Page 75: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.7. Zusammenfassung 67

(siehe Abbildung 6.10). Ist diesem Fall wird je nach Ergebnis 360 zum Wert addiert oder vom Wertsubtrahiert.

Abbildung 6.10: Problematik des Grad-Sprungs von 0 auf 360 Grad und umgekehrt.

Anschließend wird der Endzeitpunkt der Messung mit der aktuellen Zeit definiert. Die Berechnungder Rotationsgeschwindigkeit erfolgt durch das Dividieren der Rotationsveranderung durch die Zeitzwischen den Messungen. Um einen neuen Skalierungsfaktor zu berechnen, wird die Rotationsge-schwindigkeit vom alten Skalierungsfaktor abgezogen. Der Wert wird subtrahiert, da eine Rotationnach links eine Vergroßerung des Skalierungsfaktors bewirken soll.Bei der Skalierung zeigt sich ein weiterer Vorteil der Nutzung des Sprites. Da der Sprite im Gegensatzzur Buhne verschoben werden kann, ist es moglich, zu einem festgelegten Punkt zu skalieren. Somitkann die Position des rotierten Objektes den Fokus fur den Zoom definieren. Bevor die Skalierungstattfindet, wird hierzu die Matrix des Sprites zu den lokalen Koordinaten des Fiducials verschoben,erst danach skaliert und wieder zuruck verschoben. Die Variablen des Skalierungsfaktors werden denneuen Skalierungsfaktoren angeglichen.Uberschneiden sich jedoch die Koordinaten des Objektes mit den Koordinaten eines Bildes, wird derSkalierfaktor des Bildes um die Rotationsgeschwindigkeit erhoht.

6.7 Zusammenfassung

In diesem Kapitel wurde die Umsetzung der entwickelten Konzepte dokumentiert. Hierzu erfolgtezuerst die Implementierung der im Kapitel der technischen Umsetzung vorgestellten Klassen zumEmpfangen und Verarbeiten der Beruhrungsdaten. Das Grundgerust der Anwendungen wurde vor-gestellt, welches auch das Darstellen von Beruhrungen und Objekten, die den Bildschirm beruhren,beinhaltet.Es erfolgte die Realisierung der Konzepte zur Benutzerfreundlichkeit. Die Geschwindigkeitsvisuali-sierung und Bewegungsdifferenzierung, mit Hilfe der eigens definierten Variablen, konnte sowohl indem Curling-Spiel als auch in der Foto-Applikation erfolgreich umgesetzt werden.Die Umsetzung des Konzeptes von Geschwindigkeit zur physikalischen Interaktion erfolgte im Curling-Spiel. Hierzu wurde die Geschwindigkeit einer Bewegung beim Enden einer Beruhrung ausgelesen

Page 76: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

6.7. Zusammenfassung 68

und an das bewegte Objekt ubergeben. Zusatzliche folgte die Erstellung physikalischer Rahmen-bedingungen wie Reibung und Kollision von Objekten. Fur den Ablauf des Spiels wurden Regelnfestgelegt sowie Punkte anhand der Position gespielter Steine berechnet.Da auf kleinen Touchsystemen die Begrenzung des Spielfeldes auf nur den Bildschirm den Spielspaßbeeintrachtigt und das fur das Curling ubliche Wischen an Bedeutung verliert, wurde eine zweiteVariante des Spiels realisiert. Hierbei ragt das Spielfeld uber den Bildschirmrand hinaus, es wird nurder interessante und entscheidende Teil des Spiels gezeigt. Um den Uberblick zu gewahren, wurdeeine Ubersicht der gesamten Eisflache hinzugefugt.Das Wischen konnte durch die Geschwindigkeit einer Bewegung nicht realisiert werden, da die Po-sition des auf- und abbewegenden Fingers bedeutender als die Geschwindigkeit der Bewegung ist.Um die Konzepte von Geschwindigkeit zur Aktionsdifferenzierung und Geschwindigkeit einer Objek-trotation in einer Foto-Applikation umzusetzen, wurden die fur solch eine Anwendung vertrautenKonzepte realisiert. Die Bewegung durch den Bildschirminhalt muss durch zwei Finger erfolgen,sonst treten durch das Konzept der Aktionsdifferenzierung zum Aufrufen der BildschirmtastaturFehler auf.Das Auslesen der Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung erfolgt, wie schonbeim Curling, am Ende einer Beruhrung. Die Geschwindigkeit einer Objektrotation wird hingegenbei jeglicher Anderung der Rotation eines Objektes gemessen.

Nachdem die neu entwickelten Konzepte erfolgreich in Beispielanwendungen realisiert wurden, er-folgt im anschließenden Kapitel dessen Bewertung.

Page 77: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Kapitel 7

Konzeptbewertung

Das vorherige Kapitel dokumentierte die exemplarische Umsetzung der entwickelten Konzepte inBeispielanwendungen. Das Konzept von Nutzung der Geschwindigkeit einer Bewegung zur phy-sikalischen Interaktion wurde in einem Curling-Spiel getestet. Die Erprobung der Konzepte vonNutzung der Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung und Geschwindigkeit ei-ner Objektrotation fand in einer Foto-Applikation statt. Daruber hinaus wurden die Konzepte derBewegungsunterscheidung und Geschwindigkeitsvisualisierung zur Benutzerfreundlichkeit bei der Ge-schwindigkeitsbestimmung von Fingerbewegungen realisiert und in den Anwendungen verwendet.Eine Bewertung der umgesetzten Konzepte erfolgt in diesem Kapitel. Im Fokus steht neben derFunktionalitat die fur den Multitouch-Table gangige Intuitivitat der Konzepte.

7.1 Einleitung

Der folgende Abschnitt bewertet die in den Anwendungen umgesetzten Konzepte. Die Fertigstellungeines Multitouch-Tables an der Fachhochschule hat sich verzogert. Aufgrund dessen musste auf eineErprobung der Konzepte auf einem Multitouch-Table verzichtet werden, sodass die Erprobung nurin Verbindung mit dem TUIO-Simulator erfolgen konnte. Auf die Durchfuhrung einer Evaluationmit Testpersonen zur Bewertung des Umgangs von Benutzern mit diesen Konzepten musste ebensoverzichtet werden.Als Grundlage dieser Bewertung dienen somit die Erfahrungen im Umgang mit den umgesetztenKonzepten durch Bedienung auf der Grundlage des TUIO-Simulators.

7.2 Geschwindigkeit einer Bewegung zur physikalischen Interaktion

Das Konzept von Nutzung der Geschwindigkeit einer Bewegung zur physikalischen Interaktion konn-te in einem Curling-Spiel erfolgreich umgesetzt werden. Das Ubertragen der Geschwindigkeit an einbewegtes Objekt am Ende einer Beruhrung funktioniert einwandfrei. Es ist leicht zu erkennen undnachzuvollziehen, dass die aufgebaute Geschwindigkeit beim Bewegen des Objektes mit dem Finger

69

Page 78: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

7.2. Geschwindigkeit einer Bewegung zur physikalischen Interaktion 70

an das Objekt weitergegeben wird. Benutzer, die mit den Prinzipien des Curlings vertraut sind, durf-ten die Bedienung intuitiv und ohne Einweisung schon nach kurzem Kontakt mit der Anwendungverstehen.Auch die physikalische Interaktion durfte positiv wahrgenommen werden. Durch die Nutzung derphysikalischen Große Geschwindigkeit scheint auch das physikalische Verhalten des Objektes nachdem Loslassen des Fingers plausibel. Eine Reibung, die das Objekt abbremst, sowie die Interaktionmit anderen Objekten erfolgt wie erfahrungsgemaß erwartet.Die Dosierung der Geschwindigkeit funktioniert zufriedenstellend. Ohne Ubung fallt es schwer dieWirkung der Geschwindigkeit richtig einzuschatzen. Es bedarf einer gewissen Erfahrung, wie die Um-setzung der Geschwindigkeit erfolgt und in welchem Maße die Reibung den Stein abbremst. Nachwenigen Probelaufen mit der Anwendung fallt die richtige Einschatzung der Wirkung einer Bewe-gung immer leichter. In der Umsetzung von Spielen durfte dies jedoch nicht weiter storend sein, dasowohl in realen Spielen als auch in Computersimulationen erwartet wird, dass sich die Leistung desSpielers erst nach und nach steigert. Aus diesem Grund wird bei fast allen Computerspielen mit demErreichen eines hoheren Levels auch der Schwierigkeitsgrad gesteigert.Die Optimierung der Anwendung fur Multitouch-Tables in den verschiedensten Großen erweist sichbei diesem Konzept als problematisch. Bei uberdimensionalen Touchscreens, wie beispielsweise zurUmsetzung von UI Centrics Air Hockey genutzt, konnen Spiele problemlos auf dem Bildschirm darge-stellt werden. Bei kleinen Multitouch-Tables wird dies jedoch problematisch. Die Flache, die benotigtwird, um Geschwindigkeit durch eine Bewegung aufzubauen, darf nicht zu klein sein, da sonst diePrazision der Bedienung leidet. Außerdem erforder die Flache zum Abbauen der Geschwindigkeiteines losgelassenen Objektes eine gewisse Große des Spielfeldes, damit die Geschwindigkeit nicht anBedeutung verliert und der Spielspass erhalten bleibt.Dieses Problem trat bei der Umsetzung der Curling-Anwendung auf. Beim Begrenzen der Eisflacheauf dem Bildschirm wird die Strecke, die der Stein nach dem Loslassen auf dem Eis gleiten kann,sehr kurz. Hierdurch kann das Konzept des Wischens den Spielverlauf kaum noch beeinflussen undverliert somit an Bedeutung.Um dieses Problem zu beheben, wurde folgender Losungsweg gewahlt: Die komplette Eisflache wirdnicht dargestellt und ragt virtuell uber den Bildschirmrand hinaus. Der bewegte Stein wird inner-halb des moglichen Ausschnittes fokussiert. Damit dem Benutzer ein Uberblick uber das gesamteSpielfeld moglich ist, erfolgt eine Darstellung des gesamten Spielfeldes am rechten Rand.

Abbildung 7.1: Vergleich der Lange der Eisbahnen der zwei Curling-Spiel-Umsetzungen. Links mitBegrenzung auf den Bildschirm. Rechts mit virtueller Erweiterung uber den Bildschirm hinaus.

Page 79: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

7.3. Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung 71

Voraussetzung fur diese Losung ist jedoch, dass die Spieler abwechselnd ihre Spielzuge durchfuhren.In Spielen, in denen mehrere Benutzer gleichzeitig interagieren oder sich gegenuberstehen, ist dieNutzung nicht moglich.

7.3 Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung

Das Konzept von Nutzung der Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung wurdein einer Foto-Applikation getestet. Dabei erwies sich das Abfragen der Geschwindigkeit beim Endeneiner Beruhrung am benutzerfreundlichsten.Die Differenzierung zwischen der Bewegung eines Bildes und der Aktion zum Projizieren eines Bildesauf einem Beamer funktioniert hervorragend. Dass eine hohe Geschwindigkeit, die ausschließlich ineine bestimmte Richtung ausgefuhrt wird, diese Aktion auslost, hilft zusatzlich beim Differenzie-ren. Das Bewegen des Fotos bis zum Loslassen des Fingers tragt zur Intuitivitat des Konzeptes beiund uberzeugt damit, dass das Foto durch den Schwung der Bewegung auf die Projektionsflachebefordert wird.Sowohl das Aufrufen der Bildschirmtastatur als auch die Bestimmung der Rotation und Position derTastatur durch die Position der Bewegung konnte gut umgesetzt werden. Durch den Zeitpunkt desLoslassen konnen diese Daten kontrolliert werden.Ublicherweise kann mit einem Finger der gesamte Bildschirminhalt in einer Foto-Applikation bewegtwerden. Zur Differenzierung der Aktionen muss in dieser Anwendung mit zwei Fingern erfolgen,da sonst beim Aufrufen der Bildschirmtastatur immer eine Verschiebeaktion durchgefuhrt werdenwurde. Die geschwindigkeitsabhangige Funktion darf sich nicht mit einer anderen nicht zusam-menhangenden Aktion uberschneiden, da bis zum Berechnen der Geschwindigkeit immer die andereAktion ausgefuhrt wird.Die Intuitivitat vom Konzept der Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung hangtvon der geschwindigkeitsabhangigen Funktion ab. Das Projizieren des Fotos wirkt sehr intuitiv. DasAufrufen der Bildschirmtastatur hingegen steht in keinem Zusammenhang mit der ausgefuhrten Be-wegung.

7.4 Geschwindigkeit einer Objektrotation

Des Weiteren wurde das Konzept zur Nutzung der Geschwindigkeit einer Objektrotation in der Foto-Applikation erprobt. Dies ermoglicht Benutzern durch die Rotationsgeschwindigkeit eines auf denDisplay gelegten Objektes kleine und große Einstellungsschritte durch eine Bewegung vorzunehmen.Hierbei erweist es sich am benutzerfreundlichsten die Geschwindigkeit bei jeder Anderung auszule-sen, da jegliche Veranderung der Geschwindigkeit direkt ubertragen wird. Das Auslesen erst am Endeeiner Rotationsbewegung wurde zu Verzogerungen fuhren und es somit dem Benutzer erschweren,den erzielten Effekt einzuschatzen.Dass die Rotationsrichtung fur die Anderung entscheidend ist, kann intuitiv wahrgenommen undumgesetzt werden, da dies auch beim Konzept der Rotationsausrichtung der Fall ist.Das Zoomen durch die Rotationsgeschwindigkeit funktioniert sehr prazise. Durch das direkte Feed-

Page 80: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

7.5. Bewegungsdifferenzierung 72

back kann die Wirkung der Manipulation gut abgeschatzt werden. Sowohl kleine als auch großeSchritte konnen problemlos durchgefuhrt werden. Das Definieren des Fokus fur den Zoomvorgangdurch die Position des Objektes ist schnell begreifbar und kann sehr prazise erfolgen.Hierdurch ist fur den Benutzer nachvollziehbar, dass die Position des Objektes fur die Aktion ent-scheidend ist. Ebenso wird dem Benutzer ohne Schwierigkeiten klar, dass Bilder durch das selbeObjekt skaliert werden konnen. Bei der Skalierung eines Bildes wird jedoch ein Teil des Bildes durchdas Objekt verdeckt. Dies kann beim Vergroßern eines sehr kleinen Bildes zur kompletten Verdeckungfuhren.

Abbildung 7.2: Screenshot der Foto-Applikation. Das rote Objekt verdeckt das Foto beim Skalieren.

Allgemein ist zu hinterfragen, ob die Intuitivitat der Interaktion durch Objekte gegeben ist. OhneVorwissen wird eine Interaktion mit einer Anwendung nicht mit der Manipulation eines realen Objek-tes assoziiert. Um die Intuitivitat des Konzeptes zu fordern konnte es sinnvoll sein auf den ObjektenSymbole darzustellen, welche die Funktion der Objekte beschreiben.

7.5 Bewegungsdifferenzierung

Durch die Bewegungsdifferenzierung wird zwischen fortlaufenden und gestoppten Bewegungen unter-schieden. Dies geschieht durch Uberprufung und Vergleich der vorherigen und aktuellen Koordinateneiner Beruhrung. Stimmen diese uberein, wird die Geschwindigkeit zuruckgesetzt. Bei der Nutzungder Geschwindigkeit erweist sich das Konzept dieser Bewegungsdifferenzierung als essentiell.Bei der Nutzung der Geschwindigkeit zur physikalischen Interaktion wird hierdurch, neben demWegstoßen von Objekten, die genaue Positionierung eines bewegbaren Objektes erst moglich. Oh-ne dieses Konzept ware es zum Beispiel sehr schwierig beim Curling-Spiel Steine zu positionieren,da sie sich nach dem Loslassen immer weiter bewegen wurden. Außerdem wurden Fehler bei derGeschwindigkeitsberechnung entstehen, falls ein Benutzer versucht, einen Stein ohne Loslassen zupositionieren.Auch beim Konzept von Geschwindigkeit zur Aktionsdifferenzierung erweist sich die Moglichkeit der

Page 81: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

7.6. Geschwindigkeitsvisualisierung 73

Bewegungsdifferenzierung als sinnvoll. Durch das Messen der Geschwindigkeit am Ende einer Aktionkann mit diesem Konzept die Geschwindigkeit von zu schnell ausgefuhrten Bewegungen zuruck-gesetzt werden, sodass das Ausfuhren ungewollter geschwindigkeitsabhangiger Aktionen verhindertwird.

7.6 Geschwindigkeitsvisualisierung

Bei der Geschwindigkeitsvisualisierung folgt ein Objekt dem bewegendem Finger. Die Strecke zwi-schen Finger und Objekt dient der Einschatzung der aufgebauten Geschwindigkeit.Die Geschwindigkeitsvisualisierung erweist sich in beiden Anwendungsbeispielen als sehr vorteilhaft.Durch das Liefern eines optischen Feedbacks zur aufgebauten Geschwindigkeit wird diese schnell alsein Bestandteil der Anwendung wahrgenommen und genutzt.Bei der Foto-Anwendung wird der Benutzer hierdurch fur die geschwindigkeitsabhangigen Aktionensensibilisiert.Im Curling Spiel kann nach nur wenigen Ubungen die Geschwindigkeit des Steines besser abgeschatztwerden. Aufgrund der Differenz der Strecke zwischen Stein und dem Finger des Benutzers wird dieskalkulierbar.Mit dem Konzept der Geschwindigkeitsvisualisierung ist das Konzept der Bewegungsdifferenzierungleicht nachzuvollziehen. Durch das Verharren mit dem Finger an einer Position verringert sich dieStrecke zwischen Objekt und Finger bis zur Uberschneidung. Somit ist die Strecke zwischen Fingerund Objekt Null und die Geschwindigkeit ist durch die Bewegungsdifferenzierung ebenfalls Null.Anderenfalls wurde der Benutzer durch Stillstand des Fingers auf dem Bildschirm nur die Streckezwischen Finger und bewegtem Objekt auf Null verringern, nicht jedoch die Geschwindigkeit aufNull setzen.Daher ist es erforderlich bei Nutzung des Konzeptes der Geschwindigkeitsvisualisierung das Konzeptder Bewegungsdifferenzierung einzusetzen.

7.7 Probleme bei der Geschwindigkeitsmessung einer Bewegung

Da die Zeitkomponente bei der Geschwindigkeitsmessung auf verschiedenen Bildschirmgroßen vari-iert, stellt die Nutzung von Geschwindigkeit bei der Definition von festen Werten ein Problem dar.Wird eine Anwendung beispielsweise auf einem 103 Zoll Bildschirm ausgefuhrt, muss ein Fingercirca 261,5 cm bewegt werden, um den Sensor vollstandig diagonal zu durchlaufen. Um den Sensorauf einem 32 Zoll Bildschirm diagonal zu durchlaufen, muss der Finger nur circa 81,5 cm bewegtwerden.Die Positionsdaten werden immer im Verhaltnis Null bis Eins geliefert und mit der Auflosung derAnwendung multipliziert. Zur Geschwindigkeitsberechnung wird die zuruckgelegte Strecke in der An-wendung durch die dafur benotigte Zeit dividiert. Der Benutzer benotigt jedoch fur das Zurucklegeneiner Strecke von circa 261,5 cm eine andere Zeit als fur die Strecke von circa 81,5 cm. Somit wer-den bei zwei verschiedenen Bildschirmgroßen zwei unterschiedliche Geschwindigkeitswerte errechnet.Unterschiedliche Moglichkeiten sind denkbar, um dieses Problem zu beheben.

Page 82: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

7.8. Zusammenfassung 74

• Anwendungen, wie beispielsweise solche von Microsoft Surface, werden nur fur einen be-stimmten Tisch optimiert. Somit kann eine Anpassung der Werte an das verwendete Systemvorgenommen werden.

• Eine andere Losung ware das Definieren unterschiedlicher Werte fur verschiedene Bildschirm-großen. Der Benutzer muss hier beim Start der Anwendung die Große seines Touchscreenseinstellen, um die Werte dem verwendeten System anzupassen.

7.8 Zusammenfassung

Das Konzept von Geschwindigkeit einer Bewegung zur physikalischen Interaktion kann als Erfolgbetrachtet werden. In Kombination mit den Konzepten zur Bewegungsdifferenzierung und Geschwin-digkeitsvisualisierung wurde eine prazise, gut kontrollierbare und intuitive Steuerung geschaffen. ImOptimalfall wird das Konzept auf großen Touchsystemen genutzt, da auf kleinen Systemen dieMoglichkeiten eingeschrankt sind und nicht voll genutzt werden konnen.Die Bestimmung von Aktionen durch die Geschwindigkeit einer Bewegung funktioniert gut. DasAuslesen und Abfragen der Geschwindigkeit am Ende einer Beruhrung erweist sich als beste Va-riante. Die Konzepte der Bewegungsdifferenzierung und Geschwindigkeitsvisualisierung helfen demBenutzer die Geschwindigkeit abzuschatzen und zu kontrollieren. Das ungewollte Ausfuhren vongeschwindigkeitsabhangigen Funktionen kann verhindert werden. Bei der Uberschneidung von ge-schwindigkeitsunabhangigen und -abhangigen Aktionen ist zu berucksichtigen, dass diese in einemZusammenhang stehen sollten. Die Intuitivitat des Konzeptes hangt von der durch die Geschwin-digkeit bestimmten Funktion ab.Das Manipulieren von Einstellungen durch die Geschwindigkeit einer Objektrotation fallt leicht. Dasstandige Abfragen und Umsetzen der Geschwindigkeit erweist sich als benutzerfreundlichste Losung.Die Realisierung von großen und kleinen Einstellungssprungen mit nur einer Bewegung wird mitdiesem Konzept ermoglicht. Das Bestimmen der Aktion durch die Position des Objektes kann zuProblemen fuhren, da in manchen Fallen die Verdeckung durch das Objekt suboptimal ist. Um dieIntuitivitat des Konzeptes zu steigern, konnen Symbole auf Objekten deren Funktion beschreiben.Ein Problem bei der Bestimmung von Werten bei der Geschwindigkeitsmessung stellen die unter-schiedlichen Großen der Touchsysteme dar.

Page 83: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Kapitel 8

Zusammenfassung und Ausblick

Im Rahmen dieser Diplomarbeit sollte untersucht werden, wo und wie Geschwindigkeit und Be-schleunigung einer Bewegung zur Bedienung von Multitouch-Anwendungen gegenwartige genutztwird. Auf der Grundlage dieses Wissens sollten neue Konzepte zur Interaktion entwickelt werden,insbesondere unter Berucksichtigung der Auswertung und Nutzung von Bewegungsgroßen von Be-nutzereingaben. Diese entwickelten Konzepte sollten exemplarisch anhand von Beispielanwendungenuberpruft und bewertet werden.Um sich einen Grundwissen uber die technischen Moglichkeiten des Multitouch-Tables zu verschaf-fen, wurden die unterschiedlichen Ansatze zur Umsetzung eines multitouchfahigen System unter-sucht. Anschließend erfolgte die Analyse der mit dieser Technologie umgesetzten Softwarekonzepte.Es zeigte sich die Vielfaltigkeit der Einsatzbereiche des Multitouch-Tables, ebenso jedoch auch dieBegrenzung der Anzahl unterschiedlicher Softwarelosungen fur solch ein System.Nach der Untersuchung der unterschiedlichen Anwendungsbereiche der Software folgte die Prufungder dort umgesetzten Konzepte. Hierbei wurde unterschieden zwischen der Interaktion durch Beruhrungmit Fingern und der Interaktion mit realen Objekten, die den Bildschirm beruhren. Trotz der vielenbereits vorhandene Einsatzmoglichkeiten des Multitouch-Tables existieren bisher nur wenige unter-schiedliche Konzepte zur Interaktion. In allen vorliegenden Konzepten wurde die Umsetzung einerintuitiven Bedienung deutlich. Das Potential der Moglichkeiten zur Nutzung der Bewegungsgroßenvon Benutzereingaben wurde dabei nur ansatzweise und unzureichend genutzt.Auf der Grundlage der Ergebnisse wurden neue Konzepte mit Nutzung der Geschwindigkeit ent-wickelt:

• Geschwindigkeit einer Objektrotation

• Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung

• Geschwindigkeit einer Bewegung zur physikalischen Interaktion

Die Nutzung der Geschwindigkeit einer Objektrotation bringt gegenuber dem bisherigen Konzeptder Rotationsausrichtung Vorteile. Es wird keine Skala zur Orientierung um das Objekt benotigtund somit besteht keine 360 Grad Beschrankung der Eingabe. Große und kleine Einstellungsschrittekonnen prazise und schneller umzusetzen. Die Position des Objektes kann die auszufuhrende Aktionbeeinflussen. Zur exemplarischen Uberprufung soll das Zoomen und Skalieren von Fotos in einer

75

Page 84: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Zusammenfassung und Ausblick 76

Foto-Applikation mit diesem Konzept realisiert werden.Die Nutzung der Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung vervielfacht die An-zahl der Interaktionsmoglichkeiten. Mit der gleichen Bewegung, in unterschiedlicher Geschwindigkeitausgefuhrt, konnen mehrere verschiedene Aktionen durchgefuhrt werden. Ebenfalls in einer Foto-Applikation soll das Konzept zum Aufrufen der Bildschirmtastatur sowie zum Projizieren von Bildernmit Hilfe eines Beamers erprobt werden.Durch die Nutzung der Geschwindigkeit einer Bewegung zur physikalischen Interaktion konnenTouchscreen-Anwendungen noch realer wirken. Dies konnte vor allem bei der Entwicklung neuerSpielkonzepte von großer Bedeutung sein, deshalb erfolgt die Uberprufung anhand eines Curling-Spiels.Daruber hinaus erfolgte die Entwicklung eines Konzeptes zur Bewegungsdifferenzierung sowie einKonzept zur Geschwindigkeitsvisualisierung. Durch die Bewegungsdifferenzierung wird zwischen fort-laufenden und gestoppten Bewegungen unterschieden. Bei der Geschwindigkeitsvisualisierung folgtein Objekt dem bewegenden Finger, die Strecke zwischen Finger und Objekt dient der Einschatzungder aufgebauten Geschwindigkeit. Diese beiden Konzepte erganzen sich gegenseitig in ihrer Funk-tion. Daher ist es erforderlich, bei Nutzung des Konzeptes der Geschwindigkeitsvisualisierung dasKonzept der Bewegungsdifferenzierung einzusetzen. Dies soll den Benutzer eine besser Kontrolleund Einschatzung der Geschwindigkeit einer Bewegung ermoglichen. Die Konzepte werden sowohlin der Foto-Applikation als auch im Curling-Spiel getestet.Da die Beschleunigung mit der Intuitivitat der Touchscreen-Bedienung des Multitouch-Tables imKonflikt steht, wurde sie bei der Konzeptentwicklung nicht berucksichtigt.Die Anwendungen wurden fur einen Multitouch-Table, basierend auf der FTIR-Technologie ent-wickelt. Zum Auslesen und Verarbeiten der Infrarotkamera-Daten wurde das Open Source FrameworkReactivion verwendet, welches zur Datenubertragung das TUIO-Protokoll nutzt. Zur Umsetzung derAnwendungen in Flash wurden Bibliotheken zum Empfangen und Verarbeiten der Reaktivion-Datengeschrieben, zur Berechnung der Geschwindigkeit sowie zur Bewegungsdifferenzierung die Datenerganzt.Die Umsetzung der Konzepte konnte mit Hilfe dieser Bibliotheken erfolgreich umgesetzt werden.Bei den Konzepten Geschwindigkeit einer Bewegung zur physikalischen Interaktion und Geschwin-digkeit einer Bewegung zur Aktionsdifferenzierung,erwies sich die Messung und Errechnung derGeschwindigkeit am Ende einer Beruhrung als erfolgreiche Losung. Zur Realisierung des Konzeptesder Geschwindigkeit einer Objektrotation wurde die Geschwindigkeit bei jeder Aktualisierung gemes-sen und errechnet. Die Konzepte Geschwindigkeitsvisualisierung und Bewegungsdifferenzierung zurBenutzerfreundlichkeit konnten mit Hilfe der eigens definierten Variablen realisiert und in beidenAnwendungen umgesetzt werden.Da sich die Fertigstellung eines Multitouch-Tables an der Fachhochschule verzogerte, erfolgte dieErprobung der Konzepte in den Anwendungen mit dem TUIO-Simulator.Die Anderung des Zoomfaktors durch das Konzept der Geschwindigkeit einer Objektrotation in einerFoto-Applikation ermoglicht die Realisierung von großen und kleinen Einstellungssprungen mit nureiner Bewegung. Beim Skalieren der Fotos kann jedoch in manchen Fallen das Objekt große Teiledes Bildes verdecken.Das Konzept Geschwindigkeit einer Bewegung zur Aktionsdifferenzierung konnte erfolgreich in derFoto-Applikation erprobt werden. Die Differenzierung zwischen der Bewegung eines Bildes und derAktion zum Projizieren eines Bildes auf einem Beamer funktioniert hervorragend. Vorteil hierbei

Page 85: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

8.1. Ausblick 77

ist, dass nur eine hohe Geschwindigkeit, ausschließlich in eine bestimmte Richtung ausgefuhrt, die-se Aktion auslost. Das Bewegen des Fotos bis zum Loslassen tragt zur Intuitivitat des Konzeptesbei. Bei der Uberschneidung von geschwindigkeitsunabhangigen und -abhangigen Aktionen ist zuberucksichtigen, dass diese in einem Zusammenhang stehen sollten. Sowohl das Aufrufen der Bild-schirmtastatur als auch die Bestimmung der Rotation und Position der Tastatur durch die Positionder Bewegung funktioniert gut. Allerdings musste hier eine sich uberschneidende Aktion abgeandertwerden.Das Konzept Geschwindigkeit zur physikalischen Interaktion in einem Curlingspiel bietet eine intuiti-ve und prazise Bedienung. Auch die physikalische Interaktion durfte positiv wahrgenommen werden.Nach wenigen Probelaufen fallt die Einschatzung der Wirkung einer Bewegung immer leichter. InSpiel-Umsetzungen ist dies jedoch nicht weiter storend, da eine Leistungssteigerung des Spielers erstnach und nach erwartet wird. Bei der Umsetzung des Konzeptes muss berucksichtigt werden, dassdie Flache, die benotigt wird, um Geschwindigkeit durch eine Bewegung aufzubauen, nicht zu kleinsein darf, die Prazision der Bedienung leidet sonst. Die Flache zum Abbauen der Geschwindigkeiteines losgelassenen Objektes erfordert eine gewisse Große, damit die Geschwindigkeit nicht an Be-deutung verliert.Die Konzepte der Bewegungsdifferenzierung und Geschwindigkeitsvisualisierung erweisen sich in bei-den Anwendungsbeispielen als sehr vorteilhaft. Durch die Kombination der Konzepte wird das in-tuitive, fehlerfreie und genaue Platzieren von Objekten beim Konzept von Geschwindigkeit zur phy-sikalischen Interaktion erst moglich, da der Benutzer Kontrolle und Feedback uber die Weitergabeder Geschwindigkeit erhalt. Beim Konzept der Aktionsdifferenzierung kann mit diesen Konzeptendas Ausfuhren ungewollter geschwindigkeitsabhangiger Aktionen verhindert werden.Die Zeitkomponente bei der Geschwindigkeitsmessung auf verschiedenen Bildschirmgroßen variiert.Dies stellt ein Problem bei der Nutzung von Geschwindigkeit und der Definition von festen Wertendar.

8.1 Ausblick

In dieser Arbeit wurde aufgezeigt, dass die Interaktionsmoglichkeiten an einem Multitouch-Tabledurch Auslesen der Geschwindigkeit bisher nur unzureichend genutzt werden. Vielfaltig anwendbareneue Konzepte wurden entwickelt, die im Einklang mit den vorhandenen Konzepten stehen und invielen Fallen als Erganzung gesehen werden konnen. Die bisher noch relativ eingeschrankte Anzahlunterschiedlicher Konzepte zur Interaktion an einem Multitouch-Table konnte durch die Nutzungder Geschwindigkeit um ein Vielfaches erweitert werden.Die Uberprufung konnte nur mithilfe des TUIO-Simulators erfolgen. Eine Uberprufung der angewen-deten Konzepte auf einem Multitouch-Table steht zur endgultigen Bewertung noch aus. Aufgrundder vielfaltigen Moglichkeiten der neuen Konzepte wird eine umfassende Evaluation empfohlen, umden Umgang der potentiellen Benutzer mit den Konzepten zu uberprufen. Hierbei sollte vor al-lem die Benutzerfreundlichkeit in der praktischen Anwendung getestet werden. Ebenso sollte eineUberprufung der Intuitivitat der Konzepte erfolgen.

Page 86: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Glossar

Array In einem Array konnen mehrere Elemente, die verschiedene Da-teitypen darstellen, gespeichert und einzelne Elemente durcheine Zahl, die die Position des Elements im Array angibt, auf-gerufen werden.

Atan2 Funktion Die Atan2 Funktion gibt einen Winkel im Bogenmaß zuruck,dessen Tangens der Quotient zwei angegebener Zahlen ist.

Blob Von einem Touchsystem erkannte Finger (deutsch: Klecks).

Drag & Drop Das Verschieben von Objekten mit einem Zeigegerat auf einergrafischen Benutzeroberflache.

Endlighten Endlighten beschreibt den Zustand, wenn sich innerhalb einerScheibe kleine Teilchen befinden, die sich wie tausende kleineSpiegel verhalten.

Events Ereignisbehandlungsroutinen in der Programmierung.

Extensible Markup Language XML ist eine Auszeichnungssprache zur Ubertragung struktu-rierter Datensatze.

Fiducials Fiducials sind Markierungen an einem Objekt, die von einemTouchsystem eindeutig erkannt werden konnen.

Flash Flash ist eine Entwicklungsumgebung der Firma Adobe.

Flosc Ein Java Server zum Umwandeln von UDP- in TCP-Pakete.

Framework Ein Framework bietet Rahmenbedingungen fur die Erstellungvon Software.

Instanz Ein Objekt, welches zur Laufzeit aus einer Klasse erzeugt wird.

78

Page 87: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Glossar 79

Interface Eine Schnittstelle zur Kommunikation.

Microsoft Surface Ein Multitouch-Table von Microsoft.

Movieclip Ein Grafikobjekt, das uber eine Zeitline verfugt.

Open Sound Control OSC ist ein nachrichtenbasiertes Kommunikationsprotokoll, dasvor allem in der Echtzeitverarbeitung von Multimediainstalla-tionen Anwendung findet.

Open Source Software mit einem frei verfugbaren offentlichen Quelltext.

Physik Engine Teil einer Software, der zur Simulation physikalischer Prozessedient.

reacTable Ein neuartiges Musikinstrument, basierend auf einemMultitouch-Table.

Reactivision Reactivision ist ein plattformunabhangiges Framework zur Er-kennung und Verarbeitung von Beruhrungsdaten.

Scrollen Das Bewegen innerhalb von Bildschirminhalten.

Socket Ein Software-Modul zum Datenaustausch.

Sprite Ein Container fur Grafiken.

touchlib Touchlib ist eine von NUI-Group bereitgestellte Bibliothek zurMultitouch-Interaktion.

Transmission Control Protocol TCP ist ein paketbasierendes Protokoll zum verbindungsorien-tierten Datenaustausch.

TUIO-Protokoll Das TUIO-Protokoll dient als Kommunikationsinterface furMultitouch-Table Interfaces und darunter liegende Applikatio-nen.

TUIO-Simulator Eine Java-Software, die es ermoglicht Beruhrungsdaten, wie sieReactivision senden wurde, zu simulieren.

User Datagram Protocol UDP ist ein verbindungsloses Netzwerkprotokoll zur Da-tenubertragung.

Page 88: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Literaturverzeichnis

[AT09] C. Yanc C. Moore D. Solms G. Cetin J. Riggio N. Ramseyer L. Muller R. Khoshabeh R. BediM. Bintahir T. Hansen T. Roth S. Sandler A. Teiche, A. Rai. Multi-Touch Technologies.NUI Group, 2009.

[Cor07] Densitron Corporation. White Paper: Introduction to Touch Solutions. 2007.

[ct037] Windows 7 mit Multitouch-Oberflaeche. Heise Verlag, Ct Ausgabe 12/08, S.37.

[cur08] The Rules of Curling - For General Play. Canadian Curling Association, 2008.

[EH02] M. Stohrer E. Hering, R. Martin. Physik fur Ingenieure. Springer Verlag, ISBN: 3-540-42964-6, 2002.

[Fas09] F. Fasoglio. Interaktive Displays machen Informationen anschaulich. Polyscope, Ausgabe3, 2009.

[MB09] C. Hoflacher M. Burmester, F. Koller. Touch it, move it, scale it - Multitouch. Hochschuleder Medien Stuttgart und User Interface Design GmbH (UID), 2009.

[MK05] R. Bencina E. Costanza M. Kaltenbrunner, T. Bovermann. TUIO: A Protocol for Table-Top Tangible User Interfaces. Ergebnisse des 6. Internationalen Workshops in Gesture inHuman-Computer Interaction and Simulation, 2005.

[Mos07] T. Moscovich. Principles and Applications of Multi-touch Interaction. New York University,2007.

[Mul08] L. Muller. Multi-touch displays: design, applications and performance evaluation. Univer-sitat Amsterdam, 2008.

[PK55] Ulrike Kuhlmann Peter Konig. Finger-fertig? Multitouch: Wunsch und Wirklichkeit. HeiseVerlag, Ct Ausgabe 14/08 S.150-155.

[SS08] Inc. SiMa Systems. White Paper: X-wire resistive multi-touch screens. 2008.

[UL09] J. Link A. Ardilio A. Schuller J. Bierkant U. Laufs, M. Block. Studie Multitouch: Tech-nologie, Hard-/Software und deren Anwendungszenarien. Fraunhofer-Institut fur Arbeits-wirtschaft und Organisation (IAO), 2009.

80

Page 89: Interaktionsm¨oglichkeiten an einem Multitouch-Table durch ...digdok.bib.thm.de/volltexte/2010/4197/pdf/Kai_Neumann_Diplomarbeit.pdf · k¨onnen. Große Popularit ¨at erlangte der

Literaturverzeichnis 81

[WB09] R. Witzsche W. Bollhoefer, K. Meyer. White Paper: Microsoft Surface und das NaturalUser Interface (NUI). Pixelpark, 2009.

[WF09] P. v. d. Vet A. Nijholt W. Fikkert, M. Hakvoort. Experiences with interactive multi-touchtables. University of Twente, 2009.