Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Magic Table
Interaktiver Tisch mit projection mapping system als Augmented Reality Installation.
Verwendungszwecke
- Entwicklungsumgebung für projection mapping
- Gaming Table
- Table Top (TBD)
- Visuelle Programmierumgebung für die Früherziehung von Softwarentwicklung
Installation im Lab
Rechner, Beamer und Kamera sind über dem mittleren Tisch vor der Küchenzeile montiert.
Der Rechner hat die IP 192.168.1.95 und den Hostnamen magictable.flka.space.
Username: fabi
Password: <Standard>
The project is installed at /home/fabi/projects/magic-table
Programmierumgebung
Quellen
Architektur
CV-Server
Der CV-Server nutzt eine kalibrierte Webcam um Marker mittels OpenCV zu erfassen und sendet deren Positionen und Orientierungen relativ zur Kamera via Websocket an alle verbundenen clients.
Content Engine
Die Content Engine ist ein Client für den CV-Server. Sie stellt einen Webserver bereit welcher eine Webapp bereitstellt die sich via Websocket an den CV-Server verbindet und anhand der Daten ein Bild generiert welches mittels Kalibriertem Beamer wieder projeziert wird.
CV-Server Websocket Interface
Interface um marker updates zu übermitteln. Clients die sich mit dem Server verbinden bekommen messages mit dem folgenden Format:
[ { ids: number[]; marker: number[][][]; transform: number[][]; }, ... ]
Das JSON-Array enhält eine Liste aller Messages die auf einmal vom Server verschickt wurden (sollte meistens genau eine Nachricht enthalten).
Jedes Objekt darin hat
ids - Liste aller Marker ids in dieser message. Eine Marker ID ist eine nummer von 1-255 welche im Marker eindeutig encodiert ist.
marker - Liste aller Eckpunkt-Koordinaten der Marker ([<marker index>][<eckpunkt index>][x, y]
)
transform Liste der Marker Matrizen welche die Orientierung der Marker im dreidimensionalen Raum relativ zur Kameraposition beschreiben.
Web Interface (HTTP)
Die Content Engine veröffentlicht eine Webapp die mit einem Browser erreichbar ist.
Visuelle Programmierumgebung
Table Top Gaming
TBD