Der Hauptaugenmerk liegt bei diesem Projekt nicht bei der softwartechnischen Umsetzung, sondern von der Praktischen. Wir beide hatten vorher noch nie eine Augmented Reality in dieser Rangordnung Installation umgesetzt.
Technische Umsetzung
Wir haben uns im Vorfeld dafür entschieden, dass wir alles mit Infrarot (IR) Licht umsetzen werden. Infrarotes Licht kann mithilfe von roten und grünen Farbfolien erzeugt werden (welche wir großzügiger Weise von KeyWi zur Verfügung gestellt bekommen haben). Die roten und grünen Farbfolien werden übereinandergelegt und lassen lediglich für das menschliche Auge nicht sichtbare IR Licht durch.
Jetzt muss das IR Licht von einer Kamera gesehen werden. Jede Handelsübliche Videokamera besitz einen IR Filter. Wir bekamen die Sony Playstation Eye 3 von der FH zur Verfügung gestellt. Bei dieser galt es mal den IR Filter zu entfernen, was sich zu einem wesentlich schwierigerem Unterfangen gestalten soll als ursprünglich angenommen. Schlussendlich wurde der IR-Filter entfernt. Jedoch wurde das Bild dadurch unscharf, weil der IR-Filter ein Prisma ist, wodurch sich der Brennpunkt verschoben hat. Dieses Problem wurde umgangen, indem man das Objektiv durch abschleifen kürzer machte. Mit der Kamera war es also möglich IR-Licht zu sehen. Um nur noch IR-Licht zu sehen wurde vor der Kamera auch rote und grüne Farbfolie gegeben.
Für die Flutung mit IR-Licht wurden ursorünglich 500 Watt Baustellenscheinwerfer verwendet. Die Folien, welche direkt vor der Lichtquelle gewesen sind, fingen leicht zu schmelzen an. Deswegen entschieden wir uns für Dedolights, da diese nur wenig Wärme erzeugten.
In das Diabolo wurden Lichtreflektoren geklebt. Diese bestehen aus Katzenaugen, welche das Licht genau da zurückreflektieren, von wo es hergekommen ist. Deswegen ist es notwendig die Dedolichter direkte bei der Kamera positioniert sind.
Was jetzt noch benötigt wird ist ein Mac auf dem die Software läuft und ein Beamer. Der Aufbau ist soweit fertig und weiters wird alles Softwaretechnisch umgesetzt.
Softwareumsetzung
Programmiert wurde alles mit C++ unter Verwendung von OpenFrameworks. Es werden einzelne States verwendet um zwischen den einzelnen Effekten hin und herzuschalten. Um die einzelnen Blobs zu suchen wird OpenCV. Es wird lediglich der "nullte" Blob, d.h. der größte Blob verwendet. Dadurch werden Fehler vermieden (Störeinflüsse). Von diesem Blob wird der Mittelpunkt berechnet, welcher logisch der Mittelpunkt unseres Diabolos ist.
Ribbons
Adaptiert wurde dieser Effekt von einem vorgefertigtem Example von der OpenFrameworks Community.
Particels
Hierbei wird eine von Edwin geschriebene Klasse verwendet, welche so geschriebenwurde, dass sie wiederverwendbar ist.
Fluids
Diese Klassen sind von der OpenFrameworks Community (Memo) und wurden nur für unsere Zwecke verändert.
Soundsteuerung
Für soundslikevision wurde eigens ein Soundtrack komponiert. Dieser besteht aus 6 Soundchannels, welche einzeln gespeichert wurden und anschließend in Open Frameworks geladen. Dadurch kann jeder Soundchannel einzeln angesprochen und verändert werden. Zur Soundsteuerung werden die getrackten X und Y Werte zur Steuerung von Pan und Volume verwendet.