Drawfinity

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche
Drawfinity logo.png
Drawfinity video 1.gif


Drawfinity

Bei diesem Projekt wurde eine interaktive Leinwand geschaffen, auf der eine visuelle und grafische Ausgabe mittels Tracking geschaffen wird. Dabei ist das Erlebnis jedes mal anders und immer beeinndruckend.


Umsetzung

Tracking

Im Bereich der Hardware haben wir uns für eine Kinect, eine Steuerung der Videospielkonsole Xbox 360, entschieden. Diese besitzt nähmlich eine Tiefenkamera, welche zum Tracken wichtig ist. Auch die Handhabung und das Arbeiten mit der Kinect funktionieren sehr gut.

Drawfinity kinect.png

Am Anfang wurde mit den Schwellenwerten experementiert, um den Bereich einzugrenzen, in dem die interagierende Person sich befindet. Nach der Abgrenzung des entsprechenden Bereichs, haben wir das Grauwert-Bild genommen und die Werte binarisiert, damit es deutlich ist was getrackt werden soll.

Drawfinity Treshold.png Drawfinity Tiefenwerte.png

OpenFrameworks

Wir haben uns für OpenFrameworks in Visual Studio entschieden und zusätzlich das AddOn: Contour Finder verwendet. Durch den Contour Finder konnten wir eine Kontur um das erfasste Objekt, welches durch die Binarisierung gut vom Hintergrund abgegrenzt ist, zeichnen lassen. Als nächstes wird der Schwerpunkt( centroid() ) vom Objekt berechnet und in ein angelegtes Array( blob ) gespeichert. Zusätzlich setzt man den größten Schwerpunkt an erster Stelle. Der aktuelle Schwerpunkt wird nun in an das Array punkte[] übergeben, welches für das Zeichnen selbst dient. Damit es zu keinen Fehlern kommt, haben wir auch eine Abfrage eingebaut, ob überhaut ein Schwerpunkt vorhanden ist.

Drawfinity schwerpunkte.png

In unserem Fall wird dann durch einen Zähler bestimmt, dass jede 10 Frames, also 6x pro Sekunde, ein Strich auf der Position des Schwerpunktes gezeichnet werden soll. Da die Auflösung von der Kinect und unserem Monitor verschieden sind, mussten noch entsprechend die Koordinaten angepasst werden.

Drawfinity Striche nicht verschoben.png

Als zusätzliches Feature werden die Striche zur Mitte hin bewegt, sodass ein Tunneleffekt entsteht. Dies wurde durch die Veränderung der Koordinaten der Punkte, welche schon gezeichnet wurden, erzeugt.

Drawfinity tunneleffekt.png

Das Design

Die Farbe und der Blink-Effekt von den Strichen wird durch einen Radom Color Generator erzeugt, wodurch auch der unverwechselbare Disco-Flavour auftritt.

Drawfinity Color.png


Aufbau

An der Wand, auf der die Projektion stattfinden soll, wird unter die Kinect hingestellt. Diese wird an einem Rechner mit dem Drawfinity Programm angeschlossen. Ein Beamer, welcher auch mit dem Rechner verbunden wird, sollte möglichst hoch aufgebaut werden, damit Personen nicht das Bild stören.

Drawfinity aufbau.png

Der Bereich in dem Getrackt wird, kann individuell angepasst werden. Bei uns, liegt dieser ca. 2,5m von der Projektion entfernt, damit man eine gute Übersicht hat.


Zukunftsausblick

Mehrere verschiedene Hintergründe wurden versucht in das Programm zu integrieren, aber leider musste es aus Zeitgründen wieder verworgen werden. Weiter Ideen wären, dass man andere Formen zeichnet und diese auch miteinander verbindet und ganze Zeichnungen entstehen.


Links

Quellcode&Video