Konstruktion und Programmierung eines Multitouch-Tables

Aus Winfwiki

Wechseln zu: Navigation, Suche
Name des Autors: Benjamin Schlösser
Titel der Arbeit: Konstruktion und Programmierung eines Multitouch-Tables
Hochschule und Studienort: FOM Neuss


Inhaltsverzeichnis


1 Einleitung

Eingabegeräte spielen bei der Interaktion mit Computern eine große Rolle. Die heute am meisten verwendeten HIDs (Human Input Device) sind Maus und Tastatur. Dabei ist diese Art der Interaktion nicht sehr intuitiv. Um den Zeiger zu bewegen, ist es nötig erst die Maus zu bewegen, durch welche wiederum der Zeiger in Bewegung versetzt wird. Intuitiver ist es, mit dem Finger direkt auf dem Anzeigemedium mit Zeiger oder anderen Objekten zu interagieren.

Ich möchte in dieser Seminararbeit zeigen, dass die Konstruktion und Programmierung eines Multitouch Tables nicht nur von Firmen mit einem großen Budget realisiert werden kann. Zudem möchte ich auf die Funktionsweise der Multitouch Technologie eingehen, und deren Ursprünge aufzeigen.

2 Geschichte

Abb.1: Plato IV Touch Screen Terminal
Abb.1: Plato IV Touch Screen Terminal

Der geschichtliche Anfang der Multitouch Tables (MTT) beginnt in der zweiten Hälfte der 60er Jahre, als die ersten Touch-Interfaces entwickelt wurden. Im Jahre 1972 entstand daraus an der University of Illinois das erste berührungsempfindliche Display, welches in Verbindung mit dem PLATO IV Computer eingesetzt wurde. Die damalige Implementation konnte auf der gesamten Fläche nur zwischen 256 verschiedenen Berührungspunkten unterscheiden.


Das erste Multitouch Eingabegerät für Computer wurde 1982 von Nimish Mehta an der University of Toronto entwickelt. Die damals eingesetzte Technik ähnelt der in modernen Multitouch-Tables. Es wurde eine Kamera hinter ein weiß-milchiges Glas platziert, welches bei Berührung durch den Finger an den entsprechenden Stellen Schwarz wurde. Durch unterschiedlichen Druck auf die Glasfläche, wurde auch der daraus resultierende Schwarze Punkt größer oder kleiner. Das System ist also auch das erste druckempfindliche Multitouch Eingabegerät.


Im Jahr 1985 entwickelte Bob Boie, welcher zu diesem Zeitpunkt bei den Bell Labs angestellt war, das erste Multitouch Display. Es bestand im Grunde aus einer Anordnung von durchsichtigen, berührungsempfindlichen Sensoren, die auf einem normalen CRT Monitor angebracht waren.


Den ersten wirklichen Multitouch Table der sowohl Ausgabe- wie auch Eingabegerät ist, wurde 1991 von Pierre Wellner entwickelt. Der Aufbau erinnert stark an heutige MTTs. Er setzte einen Projektor und eine Kamera ein, das Bild wird dann per Image Processing ausgewertet und in entsprechende Reaktionen der Maus umgewandelt. Allerdings befinden sich in seinem Aufbau diese Geräte über dem Tisch. Als Oberfläche konnte jeder helle Tisch verwendet werden, auf dem der nötige Aufbau installiert werden konnte. Er zeigt in einem Video[1] nicht nur wie er einen projizierten Taschenrechner bedient, sondern auch wie er Inhalte aus einem normalen Buch durch markieren und rüber ziehen übernimmt, oder wie man durch Multitouch Gesten Grafiken erstellen kann.



In den Jahren zwischen 1991 und 2007 gab es viele neue Entwicklungen im Bereich der Touch Eingabegeräte. Einen richtigen Boom erlebten diese aber erst als Apple im Jahr 2007 das iPhone vorstellte. Damit brachte Apple eine Multitouch Oberfläche in ein Gerät, welches von einem Großteil der Bevölkerung genutzt wird. Die Steuerung der Grafischen Oberfläche mit Gesten war in diesem Bereich eine Revolution. Im gleichen Jahr stellte auch Microsoft ihren MTT vor. Der Surface genannte Tisch war nicht nur fähig zwischen einzelnen Fingern zu unterscheiden, sondern konnte auch verschieden Objekte erkennen die auf die Oberfläche gestellt wurden.


3 Verwendungszwecke

Abb.9: Wireless Shutterbrille
Abb.9: Wireless Shutterbrille
Im Gegensatz zu Multitouch Flüssigkristallbildschirm sind MTTs aufgrund ihrer größeren Bauform und Funktionsweise für kooperative Zusammenarbeit mehrere Individuen prädestiniert. Das dies nicht bei allen Anwendungsfällen funktioniert wird deutlich, wenn versucht wird mit Texten zu arbeiten, die nicht auf die eigene Person ausgerichtet sind. Denkbar wäre hier eine Lösung mit Shutterbrillen, wie diese bei 3D Displays eingesetzt werden. Diese werden heute schon Wireless synchronisiert und sind nicht schwerer als eine normale Brille. Das Bild würde abwechselnd Bild für Bild umgedreht werden, und durch die Shutterbrillen könnte jeder den Text in der richtigen Ausrichtung sehen. Bei einer ausreichend hohen Frequenz ab 240Hz, sollte dies für alle 4 Seiten des MTTs realisierbar sein.


Anwendungsgebiete gibt es in allen Bereichen, in denen keine komplexen Eingaben benötigt werden. In der Medizin kann ein MTT die Diagnose von Patienten beschleunigen[2], beim Militär dem Kommandeur bei seiner Entscheidungsfindung unterstützen. Im Schulungsbereich können komplexe Zusammenhänge aufgezeigt werden, hier ist auch eine Kombination mit Augmented Reality möglich[3]. In einigen Jahren könnten MTTs im Entertaining Bereich für Zuhause erhältlich sein. Die Brettspiel Industrie hat in den vergangen Jahren schon damit begonnen, elektronische Gimmicks in ihre Spieletitel zu integrieren. Ein MTT würde eine Reihe neuer Spiele ermöglichen. Aktuell werden die Tische aber primär für Marketingzwecke eingesetzt. Diese Zielsetzung zeigte Microsoft besonders bei der Entwicklung des Surface Table, welche auf diesen Einsatz optimiert wurde. Dies wird besonders ersichtlich durch seine Fähigkeit Objekte zu erkennen. So können Kunden ein Produkt nehmen, und es auf den Tisch legen, um weitere Informationen zu erhalten. Einer der ersten Partner von Microsoft, welcher diese Funktion nutzt ist T-Mobile USA[4]. Kunden können dort Handys auf dem Tisch platzieren um Informationen über Preis und Funktionsumfang zu erhalten. Darüber hinaus ist es möglich mehrere Handys zu vergleichen, wenn diese näher aneinander gelegt werden. Im Rio Hotel in Las Vegas gibt es in der iBar statt normalen Tischen nur noch Microsofts Surfaces[5]. Das Hauptaugenmerk liegt hier auf der Bestellung von Getränken, das Spielen von Minigames, und dem Flirten mit Gästen an anderen Tischen. Diese neue Technologie wird hierbei als ein Event eingesetzt, und soll dem Gast etwas Neues und bisher noch nicht gesehenes bieten.


Auch bei der Entwicklung von Software rückt der MT (Multitouch) Aspekt immer weiter in den Vordergrund. Der freie Opensource Browser Firefox von Mozilla ist seit Version 3.5 MT fähig[6]. Adobes Experience Design Team, welches für das Unternehmen zukünftige Trends erkennt, und dementsprechend Technologien entwickelt, arbeitet ebenfalls an einer MT Integration in ihre Produkte[7]. Mit Ruse arbeitet Ubisoft am ersten Echtzeit-Strategie Spiel, welches über Gesten steuerbar sein wird[8]. Im Trailer[9] wird gezeigt, wie 2 sich an einem MTT gegenüber sitzende Personen gegeneinander spielen.

4 Funktionsweise

4.1 Totalreflexion

Abb.10: Totalreflexion eines Laserstrahls
Abb.10: Totalreflexion eines Laserstrahls
Den Effekt der Totalreflexion lässt sich an optisch transparenten Materialien mit unterschiedlichen Brechungsindex beobachten. Beim Übergang von einem optisch dichteren in ein optisch dünneres Medium wird der Lichtstrahl in einen reflektierten und in einen durchgehenden Anteil aufgespalten. Der Anteil des reflektierten Lichts steigt mit der Größe des Einfallswinkel, bis die Totalreflexion erreicht ist. In diesem Bereich wirkt die Grenzfläche wie ein Spiegel. Der Grenzwinkel, bei dem der Effekt der Totalreflexion eintritt, ist abhängig von der Dichte der beiden Medien. Dieses Applet[10] verdeutlicht den Effekt.


Abb.11: Diffuse Reflexion
Abb.11: Diffuse Reflexion
Wenn nun eine Acrylglas-Platte von einem Finger berührt wird, verändern sich an dieser Stelle für das Infrarote (IR) Licht die Bedingungen. Die optisch dünnere Luft wurde verdrängt und durch einen optisch sehr dichten Finger ersetzt. Damit sind die Bedingungen der Totalreflexion nicht mehr länger gegeben. Das IR Licht wird nun von der unebenen und rauhen Haut diffus reflektiert.


Abb.12: Totalreflexion mit punktueller diffuser Reflexion
Abb.12: Totalreflexion mit punktueller diffuser Reflexion

5 Aufbau

5.1 Benötigte Komponenten

  • Multitouch Komponenten
    • Acrylglas Platte
    • IR-Leds
    • Spiegel
    • IR-Kamera
    • Beamer
    • Computer
  • Halterungs Komponenten
    • Holz
    • Kugelgelenk
    • Kleber / Schrauben


Die verwendeten Maße sind nur zum illustratorischen Zweck angegeben und können auf die Bedürfnisse angepasst werden.

5.2 Konstruktion des unteren Aufbaus

Als erstes wird der untere Aufbau gebaut, auf dem später die Acrylglas Halterung montiert wird. Die Bodenplatte ist 73cm*58cm*2cm groß. An den vier Ecken der Bodenplatte werden 58cm lange und 4cm*4cm grosse Beine festgeschraubt. Die Halterung für den Beamer und die Kamera muss auf die Größe der Geräte angepasst werden. Ausgehend von einem Beamer mit den Dimensionen von 23cm*30cm*8cm und 5cm*6cm*8cm für die Kamera, wird die Platte 26cm*38cm groß. Dies sichert einen Spielraum für die spätere Positionierung und Justierung des Bildes. Die Installation des Spiegels ist ebenfalls von den Beamer Dimensionen und der Linsenposition abhängig. Dieser wurde hier in einer Höhe von 17cm an einem Kugelgelenk befestigt. Das Erleichert die Erst- Installation und es ist ein späteres nachjustieren möglich. Zum Schluss wird noch die Kamera rechts neben dem Beamer mit Ausrichtung nach oben befestigt und der Computer installiert.


Abb.13: Seitenansicht
Abb.13: Seitenansicht
Abb.14: Frontalansicht
Abb.14: Frontalansicht


5.3 Konstruktion der Acrylglas Halterung

Die Halterung für die Acrylglas-Platte und IR-Leds besteht aus 3 Schichten. Auf die erste Schicht werden die Leds und die Acrylglas-Platte befestigt. Die zweite Schicht sorgt für Stabilität von der Seite, damit weder die Projektionsfläche, noch die Strahler verrutschen können. Die dritte und letzte Schicht schützt die Leds vor Beschädigungen und verhindert ebenfalls die Sicht auf die Technik.


5.3.1 Schicht 1

Abb.15: Basis
Abb.15: Basis
Für die erste Schicht benötigen wir die vertikalen A-Bretter im Format 58cm*6cm, und die Horizontalen B-Bretter im Format 61cm*6cm. Diese werden so zusammengebaut, das sich innerhalb des Rechtecks ein Freiraum mit einem Seitenverhältnis von 4:3 bildet.

5.3.2 Schicht 2

Abb.16: Zweite Schicht
Abb.16: Zweite Schicht
Die zweite Schicht benötigt für die Vertikale die C-Bretter im Format 58cm*5cm, und die D-Bretter im Format 61cm*3cm für die Horizontale. Beim Montieren auf die erste Schicht ergeben sich am Linken und Rechten Rand jeweils ein 1 cm große Aufliegeflächen für das Acrylglas. Oben und Unten ergeben sich zusätzlich noch jeweils 2cm für die Led-Leiste.
5.3.2.1 IR-Led Leisten
Abb.17: IR-Led Leiste
Abb.17: IR-Led Leiste
Um eine gleichmäßige IR Ausleuchtung zu gewährleisten, und die für das IR-Licht zurückzulegenden Strecke so kurz wie möglich zu halten, werden die IR-Leisten an den längeren Seiten der Acrylglas-Platte montiert. Die Länge von 63cm und Breite von 2cm je Leiste wird benötigt um ein Verrutschen zu verhindern. Um eine gleichmäßige Ausleuchtung zu gewährleisten, müssen die Leds in einem Abstand von 1,5cm auf der Leiste angebracht werden. Daraus ergibt sich pro Leiste eine Anzahl von 42 Leds. Die Stromversorgung des Computer-Netzteils kann verwendet werden, wenn bei Benutzung von 1,5V Leds 8 Stück in Reihe geschaltet werden. Dies ergibt dann die üblichen 12V. Bei einem Abstand von 1,5cm ergibt das eine Gesamtanzahl von 84 Leds. Um alle Leds an das Netzteil anschließen zu können, wird der Abstand auf 1,43cm verringert. Daraus ergibt sich nun eine Gesamtzahl von 88 Leds.


5.3.2.2 Acryglas-Platte
Abb.18: Acrylglas Platte einsetzen
Abb.18: Acrylglas Platte einsetzen
Vor dem Einlegen der Acrylglas-Platte in die Konstruktion sind 2 wichtige Punkte zu beachten. Zunächst müssen die Seiten der Platte, welche zu den IR-Leds zeigen, poliert werden, um dem IR-Licht einen möglichst ungehinderten Zugang in die Platte zu gewähren. Zusätzlich ist für den Beamer eine Projektionsfläche nötig, damit das Bild auf dem Acrylglas und nicht an der Decke sichtbar wird. D-C-Fix Selbstklebefolie ist ungeeignet da es zu Transparent ist, Transparentpapier bietet ein gutes Bild, lässt aber kaum IR-Licht durch. Geeignet sind Fensterfolie und das Behandeln der Oberfläche mit 800er Schleifpapier.

5.3.3 Schicht 3

Abb.19: Dritte Schicht
Abb.19: Dritte Schicht
Für die dritte Schicht werden die gleichen Maße wie bei der ersten Schicht benötigt. Die D-Bretter benötigen 58cm*6cm, und die F-Bretter 61cm*6cm. Diese werden dann auf die zweite Schicht geschraubt, damit bei Wartungsarbeiten leicht auf das innere zugegriffen werden kann.


Abb.20: Fertige Halterung
Abb.20: Fertige Halterung


6 Software

6.1 Bild Vorbereitung

Bevor die eigentliche Detection Engine das Bild der Kamera analysiert, wird dieses mit einigen Filtern im Pre Processing vorbereitet. Diese Filter sind für jede Konstruktion individuell zu konfigurieren. Ein Austausch der Kamera oder das Verändern des Aufstellungsplatzes kann ebenfalls eine Rekonfiguration erfordern.

6.1.1 Hintergrund Entfernung

Als erster Filter wird das Entfernen des Hintergrunds angewendet. Dabei wird versucht das aktuelle Kamera-Bild mit einem zuvor abgespeicherten Hintergrundbild zu vergleichen. Je nach Variante wird das Bild Pixel für Pixel oder Block für Block verglichen. Da Kameras keine konstanten Bilder aufnehmen, wird beim Vergleich die Ähnlichkeit der Pixel oder Blöcke errechnet. Bis zu einem vorher festgelegten Grenzwert (Threshold) wird der verglichene Teil als unverändert betrachtet und dem entsprechend markiert.


Abb.21: Hintergrund Entfernung
Abb.21: Hintergrund Entfernung

6.1.2 Highpass Filter

Als zweite Stufe wird der Highpass Filter angewendet. Die Vorgehensweise ist nicht mit dem in der Elektronik eingesetzten Filter zu vergleichen, da sowohl die Dunklen als auch die Hellen Regionen deutlich in ihrer Intensität verringert werden.

void CPUImageFilter::highpass ( float blur1, float blur2 ) {
    
    // Schritt 1
    if(blur1 > 0)
    cvSmooth( cvImage, cvImageTemp, CV_BLUR , (blur1 * 2) + 1);
    
    // Schritt 2
    cvSub( cvImage, cvImageTemp, cvImageTemp );
    
    // Schritt 3
    if(blur2 > 0)
    cvSmooth( cvImageTemp, cvImageTemp, CV_BLUR , (blur2 * 2) + 1);
    
    swapTemp();
    flagImageChanged();
}

Im ersten Schritt wird ein weichgezeichnetes Bild des Originals erstellt. Im zweiten Schritt wird dieses vom Original subtrahiert. Da beim CV_BLUR Mittelwerte berechnet werden, sind bei der Subtraktion dunkle Regionen stärker betroffen als helle. Anschließend wird in Schritt drei nochmal ein Blur auf das Highpass Bild durchgeführt, um die durch die Subtraktion entstandene Störung zu minimieren.


Abb.22: Highpassfilter
Abb.22: Highpassfilter

6.1.3 Amplify Filter

In der dritten Stufe durchläuft das Bild den Amplify Filter. Dieser erhöht die Helligkeit aller Pixel, welche in den vorherigen Schritten durch das Hintergrun-Entfernen und den Highpass-Filter abgenommen haben.

void CPUImageFilter::amplify ( CPUImageFilter& mom, float level ) {
    
    float scalef = level / 128.0f;
    
    cvMul( mom.getCvImage(), mom.getCvImage(), cvImageTemp, scalef );
    swapTemp();
    flagImageChanged();
}

Zum Verstärken der Helligkeit wird das Bild mit sich selbst multipliziert, das daraus resultierende Produkt wird mit dem Wert von scalef erneut multiplitiert. Daraus ergibt sich für ein Pixel mit dem Wert 20, und einem Level von 30:

float scalef = level / 128.0f;           // 30 / 128 = 0,234375
float neuerWert = alterWert*alterWert    // 20*20 = 400;
neuerWert *= scalef;                     // 400 * 0,234375 = 93,75;

Bei Konfiguration des Levels mit dem Wert 30, würde also jeder Pixel mit einer Helligkeit größer oder gleich 33 den maximalen 8-Bit Wert von 255 erreichen.


Abb.23: Amplify
Abb.23: Amplify

6.1.4 Grenzwert Filter

img.threshold(threshold);

Zum Schluss werden alle Pixel auf 0 zurückgesetzt die unter einem bestimmten Grenzwert liegen.

6.2 Berührungserkennung

6.2.1 Konturen Finden

Als erstes wird das gesamte Bild nach Konturen abgesucht, dazu wird das Bild vorher in ein Monochromes Bild umgewandelt. Dies bedeutet das ein Pixel entweder den Wert 1 oder 0 hat. Ab der Berührungserkennung ist es nun nicht mehr wichtig wie hell ein Punkt ist, da im letzten Schritt der Bild-Vorbereitung alles unter einem Grenzwert zurückgesetzt wurde. Es wird von nun an alles als möglicher Berührungspunkt erkannt.

Der Algorithmus geht dazu das Bild Pixel für Pixel durch und sucht nach einem Bereich mit dem Wert 1. Für jeden gefunden Pixel, wird in der Nachbarschaft nach einem weiteren Positiven Wert gesucht. Dies wird solange durchgeführt, bis in alle Richtugen der Rand der Kontur erreicht wurde.

6.2.2 Auswertung der Konturen

In der Auswertung wird entschieden ob eine Kontur ein Berührungspunkt ist oder nicht. Dazu wird erstmal geprüft ob die Kontur im inneren einen größeren Bereich hat, welcher mit dem Wert 0 belegt ist. Falls die Loch Größe einen Grenzwert überschreitet, wird die Kontur aus der Liste gelöscht.


Als nächstes wird für jede Kontur die Größe einer Elipse ermittelt, welche die Kontur zum größten Teil beinhalten könnte. Die Länge und Breite die Elipse wird wieder mit einem Grenzwert verglichen. Bei Unterschreitung einer der beiden Werte wird die Kontur ebenfalls entfernt. Nun sind in der Liste nur noch Konturen die wir als Berührungspunkte bewerten.


Abb.24: Kontur Größe
Abb.24: Kontur Größe

6.2.3 Zuordnung von Berührungspunkten

Nach erfolgter Auswertung alle Konturen ist nun eine Zuordnung zu bereits aus dem letzten Bild bekannten Berührungspunkten notwendig, um dem MT Programm mitteilen zu können, ob dies eine neue Berührung oder ein Halten ist. Dazu wird für jede erkannte Kontur nach einem passenden Gegenstück in der alten Liste gesucht. Die Entfernung, die eine Kontur zwischen zwei Bilder zurücklegen kann, hängt von der Bildanzahl ab, die pro Sekunde von der Kamera aufgenommen und vom System verarbeitet werden kann.

Abb.25: Ergebniss
Abb.25: Ergebniss

6.3 Weitergabe an Software

6.3.1 Windows Message System

Microsoft hat für die Windows 7 Mulit Touch Funktionalität zwei neue Nachrichten eingeführt, die WM_TOUCH und die WM_GESTURE. Standardmäßig bekommt jeder Prozess die WM_GESTURE Nachricht geschickt, wenn ein Multitouch Gerät am System angeschlossen ist und die Aktion von diesem ausging. Die wichtigen Felder sind dwID, ptsLocation und ullArgument. dwID enthält die Art der Geste, wie zum Beispiel GID_ZOOM oder GID_ROTATE. ptsLocation gibt an, wo sich diese Geste auf dem Bildschrim befindet. ullArgument enthält zusätliche Informationen die zum Auswerten notwendig sind, zum Beispiel enthält diese bei einer GID_ROTATE Nachricht die Größe der Winkeländerung seit Rotationsbeginn.

typedef struct _GESTUREINFO {
 UINT      cbSize;
 DWORD     dwFlags;
 DWORD     dwID;
 HWND      hwndTarget;
 POINTS    ptsLocation;
 DWORD     dwInstanceID;
 DWORD     dwSequenceID;
 ULONGLONG ullArguments;
 UINT      cbExtraArgs;
}GESTUREINFO, *PGESTUREINFO;


Nach dem Aufruf der RegisterTouchWindow Funktion bekommt das Fenster keine WM_GESTURE sondern WM_TOUCH Nachrichten. Somit bekommt es nun keine ausgewerteten Gesten mehr, sondern nur die vom MT Gerät zurückgelieferten Roh-Daten. Die wichtigen Felder sind in diesem Fall x, y, dwID, dwTime, cxContact und cyContact. X und Y sind das equivalent zu ptsLocation, der einzige Unterschied ist, dass diese jetzt direkt in der Struktur vorhanden sind. dwID enthält die ID der Kontur, die diese beibehalten wird, solange der Berührungspunkt existiert. Dies ist also zum Nachverfolgen von Berührungen sehr wichtig. cxContact und cyContact geben die Höhe sowie Breite an, da die Scanauflösung des MT Gerätes größer als die Ausgabeauflösung sein kann, entsprechen 100 Einheiten in diesen beiden Feldern einem Pixel auf dem Bildschirm.

typedef struct _TOUCHINPUT {
 LONG      x;
 LONG      y;
 HANDLE    hSource;
 DWORD     dwID;
 DWORD     dwFlags;
 DWORD     dwMask;
 DWORD     dwTime;
 ULONG_PTR dwExtraInfo;
 DWORD     cxContact;
 DWORD     cyContact;
}TOUCHINPUT, *PTOUCHINPUT;

6.3.2 TUIO Protokoll

Das TUIO Protokoll kombiniert Microsofts WM_TOUCH und WM_GESTURE Nachricht. Die Kommunikation findert über das UDP, TCP oder FLC (Flash Local Connection) Protokoll statt. Hinzugekommen sind bei TUIO Felder, welche die Geschwindigkeit, Beschleunigung und Richtung einer Bewegung oder Drehung enhalten.

Session ID (temporary object ID)
Class ID (e.g. marker ID
Position
Angle
Dimension
Area, Volume 
Velocity vector (motion speed & direction)
Rotation velocity vector (rotation speed & direction)
Motion acceleration
Rotation acceleration

7 Fazit

Als ich mich für dieses Thema entschieden habe, bin ich davon ausgegangen, die Algorithmen zur Reinigung des Bildes und Erkennung der Kontur selber schreiben zu müssen. Während meiner Recherchen bin ich dann auf diverse quelloffene Bibliotheken gestoßen, welche schon in einigen Multitouch Projekten verwendet werden. Die OpenCV (Open Source Computer Vision) Library als Beispiel, bietet viele ausgereifte Funktionen an, die auch in ihrer Laufzeit optimiert wurden. Verwendet wird diese unter anderem in CCV (Community Core Vision), einer Software die Bilder aufnimmt, analysiert und per TUIO an die gewünschte Software schickt. Durch die geleistete Vorarbeit sind MTTs, welche beim Erwerb viele Tausend Euro kosten, heute von jeder Privatperson mit einem Budget von 500 Euro selber konstruierbar. Der Aufwand lohnt sich zum aktuellen Zeitpunkt nur, wenn für den Zweck vom MTT schon eine Software existiert oder durch Eigenleistung erarbeitet wird. Im momentanen Alltag gibt es noch zu wenige Programme, die diese neue und wachsende Technologie unterstützen. Ich setze persönlich große Hoffnungen in Multitouch, da diese den Umgang mit Software deutlich erleichtern kann. Dazu muss aber erst mal ein Großteil der heute eingesetzten Software angepasst werden. Da auch große Firmen wie Microsoft Interesse an der Technik haben, bin ich mir sicher, dass sich in den nächsten Jahren in diesem Bereich viel verändern wird.



8 Abbildungsverzeichnis

AbbildungBeschreibung
1Plato IV Touch Screen Terminal
2MTT von Pierre Wellner: Kamera und Projektor
3MTT von Pierre Wellner: Projizierter Taschenrechner
4MTT von Pierre Wellner: Copy+Paste aus einem Buch
5MTT von Pierre Wellner: Duplizieren von Grafiken
6MTT von Pierre Wellner: Radieren
7Appel iPhone
8Microsoft Surface Computing
9Wireless Shutterbrille
10Totalreflexion eines Laserstrahls
11Diffuse Reflexion
12Totalreflexion mit punktueller diffuser Reflexion
13Unterer Aufbau: Seitenansicht
14Unterer Aufbau: Frontalansicht
15Acrylglas Halterung: Basis
16Acrylglas Halterung: Zweite Schicht
17Acrylglas Halterung: IR-Led Leiste
18Acrylglas Halterung: Acrylglas einsetzen
19Acrylglas Halterung: Dritte Schicht
20Acrylglas Halterung: Fertige Halterung
21Bild Vorbereitung: Hintergrund Entfernung
22Bild Vorbereitung: High Pass Filter
23Bild Vorbereitung: Amplify Filter
24Bild Vorbereitung: Kontur Größe
25Berührungserkennung: Ergebniss

9 Abkürzungsverzeichnis

AbkürzungBedeutung
MTMultitouch
MTTMultitouch Table
IRInfrarot

10 Einzelnachweise

  1. http://video.google.com/videoplay?docid=5772530828816089246#
  2. http://www.visualiseringscenter.se/autopsy
  3. http://winfwiki.wi-fom.de/index.php/Einsatzpotentiale_von_Augmented_/_Virtual_Reality_im_Rahmen_technischer_Schulungen#Augmented_.2F_Virtual_Reality_im_Schulungsumfeld
  4. http://www.microsoft.com/presspass/press/2007/may07/05-29MSSurfacePR.mspx
  5. http://www.riolasvegas.com/casinos/rio/casino-entertainment/i-bar-rio-detail-detail.shtml
  6. http://www.golem.de/0908/69264.html
  7. https://xd.adobe.com/#/featured/video/160
  8. http://ruse.de.ubi.com/index.php?page=about&action=faq
  9. http://www.golem.de/0903/66139.html
  10. http://leifi.physik.uni-muenchen.de/web_ph07_g8/simulationen/02totalreflexion/index.html

11 Literaturverzeichnis

Persönliche Werkzeuge