Interaktives Bällebad

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche


Idee

Die Idee des Projektes „Interaktives Bällebad“ entstand aus der Vorstellungsrunde der einzelnen Ideen zu den im Praktikum umzusetzenden Projekten. Die Grundidee bestand darin, Luftballons, welche in öffentlichen Räumen auf den Boden projektiert werden durch darüber laufende Passanten weg fliegen zu lassen. Diese Luftballons wurden allerdings letztendlich zu einem Bällebad, welches durch mehrere kleine Bälle deutlich agiler und anschaulicher reagierte. Dies sollte durch eine Hand bedient werden können.


Umsetzung

Für die Realisierung war eine graphische Lösung notwendig, welche die Bälle mit seinen Begrenzungen und physikalischen Eigenschaften über einen Beamer an eine Wand projektiert. Zudem musste die Hand, auf welche die Bälle reagieren sollen erfasst werden und mit der graphischen Lösung verbunden werden. Hierzu wurde sich für die Kinect entschieden, da diese Tiefenkamera auch auf den Abstand zu ihr reagiert und somit die Steuerung deutlich präziser macht. Für die Implementierung wurde das Tool „OpenFrameworks“ verwendet.


Kinect

Bei der Implementierung der Kinect wurde das Addon ofxKinectV2 verwendet. Hierdurch sind alle wichtigen Parameter der Kinect zugänglich und nutzbar. Für das Projekt wurde allerdings nur der Erfassungsraum des Tiefenbildes eingestellt, wie in der Darstellung gezeigt:

Kinect1.JPG


Für die Erkennung der Hand wurde dann das Addon „ofxOpenCV“ zusätzlich hinzugefügt. Dieses erlaubt es durch die Funktion „findContours“ die Zahl der zu erfassenden Blobs, deren Mindestgröße und Maximalgröße einzustellen.

Kinect2.JPG


Dadurch wird das größte, innerhalb der Begrenzungen befindliche Objekt erkannt und dessen Schwerpunkt wieder zurückgegeben.


Graphische Implementierung

Die Grundlage für die graphische Implementierung liefert die Beispielimplementierung „example-ParticleSystem“ im Addon „ofxBox2d“. Der Beispielcode wurde dahingehend modifiziert, dass die Partikel keiner Gravitation mehr unterliegen, die gesamten Farben und die Anzahl der Partikel angepasst und das Addon „ofxBox2d“ mit dem Addon „ofxOpenCV“ verknüpft worden sind. Dies erfolgte durch Übernahme der bereitgestellten X- und Y-Koordinate der Hand auf die Koordinaten des Kreises in der Darstellung.


Resultat

Durch die Getrennte Realisierung war eine saubere Implementierung beider Teilprojekte möglich. Somit erkennt die Kinect das größte Objekt und gibt dessen Schwerpunkt an die Graphik. Durch die Kinect sind auch diverse Erweiterungsmöglichkeiten vorhanden.


Links

http://www.opencv.org/

http://www.openframeworks.cc/

http://www.opensoundcontrol.org

Eigener Sourcecode: Code