Swarm Legacy - Interactive swarm

Swarm Legacy is a interactive Table-Interface, which enables you to operate a generative fish pond with three different swarms. It allows you to add and remove boids, to create obstacles and change the behavior itself.

Schwarmverhalten

Nach Craig Reynolds orientiert sich das Verhalten von Schwarmmitgliedern an drei Grundregeln: 
  • Bewege dich in Richtung des Mittelpunkts derer, die du in deinem Umfeld siehst (Kohäsion).
  • Bewege dich weg, sobald dir jemand zu nahe kommt (Separation).
  • Bewege dich in etwa in dieselbe Richtung wie deine Nachbarn (Alignment).
 

Die Aufgabe

Einen oder mehrere programmierte Schwärme unter einem beliebigen Grundkonzept auf einem Touchtisch interaktiv erfahrbar und manipulierbar machen. Verwendet werden sollte Processing und Fiducials mit Reactivision sowie (mehrere) Fingerinteraktionen.
 

Die Idee

Grundsätzlich wollten wir einen Fischteich generativ umsetzen. Nach der Recherchephase war klar, dass die Darstellung von Wasseroberflächen, zu komplex und vorallem mit konstater Framerate mit Processing nicht machbar sind.

Außerdem wollten wir dem User die Möglichkeit geben, mit dem Tisch zu spielen und diesen zu erkunden. Somit ist die Möglichkeit gegeben, die Anzahl von einem der drei verschiedenen Fischschwärmen zu ändern, sowie mit Steinen auf dem Tisch zu interagieren. Die Idee mit den Steinen, kam, als wir uns Gedanken über natürliche Verhaltensmuster machten, d.h. wenn jemand einen Stein in einen Teich wirft, schwimmen die Fische weg bzw. weichen aus.

 Generativer Fischschwarm

Generativer Fischschwarm 2

Interaktion

Es gibt wie gesagt ein Table Interface, mit dem der Benutzer via Fingertouch die Anzahl des jeweiligen Fischschwarms verändern kann.

Hierbei gibt es pro Schwarm einen Balken. Diese Interaktion wurde links unten angeordnet.

Table InterfaceTable Interface 2

Die zweite Interaktion, ist die der Fiducials. Wir nahmen als Objekte Steine, da sie den nötigen Bezug zum natürlichen Verhalten geben. Mit diesen Objekten, die man irgendwo auf dem Tisch plazieren kann, kann man alle Fischschwärme steuern. Sie erkennen immer das Objekt und weichen aus, schwimmen drum herum. Somit kann man auch Schwärme einfangen, abschirmen oder ähnliches.

 

Fiducials

 

 

Schwärme

Es sind drei verschiedene Schwärme vorhanden. Der Größte Fisch ist der, den wir "Predator" getauft haben. Er hat die Eigenschaft, sich stets auf der Jagd nach den kleineren zu befinden. Er selbst hat keine natürlichen Feinde. Der Zweite Schwarm, ist der der mittleren Größe. Dieser "Goldfisch" wird vom Predator gejagt und jagt selbst die noch kleineren. Er ist stehts in mittlerer Anzahl vorhanden und symbolisiert den Durchschnittsfisch. Der kleinste Fisch, repräsentiert das Schwarmverhalten am besten, da er sich stets in den größten Schwärmen fortbewegt.

 

Übersicht

Umsetzung

 

Alles wurde in Processing programmiert. Die kleinen und mittleren Fische sind mit bezier kurven gezeichnet. Der Predator ist aufweniger in einer Klasse entwickelt worden. Es wurde mit der Libary controlP5.
und processing.opengl. gearbeitet.

Unterhalb der Steine sind Fiducials aufgeklebt, das Tracking läuft über Reactivision.

 

Zusätzlich haben wir ein Plakat gestaltet (unten angehängt) und ein kleines Video gemacht.