Bernhard Häussner

Malen mit Planetenpartikeln

23.05.2009, 19:35
„Processing Red“
„Processing Red“

Nachdem ich mit Processing nach erstaunlich kurzer Zeit einen kleinen Planeten, der um die Maus kreist, hin bekommen habe, der immer mit einer Kraft proportional zur Wurzel der Entfernung angezogen wird, dachte ich mir, dass man dieses Prinzip noch etwas ausbauen kann.

Zunächst hatte ich nur den einen Planeten, dann wurden es 10. Eigentlich habe ich ihnen nur eine „Spur“ verpassen wollen, doch dann habe ich beschlossen, den Bildschirm einfach nicht nach jedem Frame zu löschen (oder z.B. mit 20% weiß zu über pinseln, sodass die Partikel eine Spur hinterlassen) sondern die Partikel einfach weiter ohne löschen zu rendern, wodurch dann Linien entstehen.

Da die ganzen Planeten/Partikel dann schwierig zu kontrollieren waren, habe ich noch die Funktion hinzugefügt, dass sie vor der Maus fliehen, wenn ich die Maustaste drücke und dann ihr Gravitationsverhalten so geändert, dass sie einen Widerstand erfahren, ähnlich Luftreibung, und nicht direkt von der Maus angezogen werden, sondern auf einem Ring in einem kleinen Abstand bleiben, damit sie nicht irgendwann alle auf der Mausposition landen, denn dann ließen sie sich nicht mehr trennen. Das sah dann so aus:

„Processing Gravity“ einer der ersten Versuche
„Processing Gravity“ einer der ersten Versuche

Jetzt wurde es Zeit etwas mehr Komplexität hinzuzufügen. Also habe ich den Hauptpartikeln noch andere Partikel delegiert, die wiederum den Hauptpartikel mit ähnlichem Gravitationsverhalten folgen. Und diese wurden dann wieder von anderen Partikeln verfolgt usw. Zuletzt hatte ich 75 Partikel die sich auf unübersichtliche Weise gegenseitig verfolgen, aber im Endeffekt immer der Maus folgen.

Außerdem haben meine Partikel noch verschiedene Renderer zugeordnet bekommen. Die Hauptpartikel blieben große schwarze Punkte (allerdings habe ich die Transparenz erhöht), die Trabanten der Hauptpartikel wurden klein und schwarz und diese wurden wiederum von hellgrünen bzw. hellroten Partikeln verfolgt.

Diese farbigen Partikel werden dann noch von Spezialpartikeln verfolgt, die sich ihre letzte Position merken und dann eine Linie zu ihrer aktuellen Position zeichnen, sodass ganz feine Linien möglich sind.

Dann musste ich noch eine Geschwindigkeitsbegrenzung einführen. Denn sonst fliegen die Trabanten zweiter und dritter Ordnung nach kurzer Zeit so schnell, dass sie nicht nur den Bildschirm weit verlassen, sondern auch keine schönen Linien mehr zeichnen. Außerdem habe ich die Startpositionen von einer einfachen Aufreihung am Bildschirmrand zu einem Raster in der Mitte der Zeichenfläche geändert, sodass der Start nicht immer zu sehen ist. Dann konnte ich anfangen zu malen:

Interessant ist auch, dass manche Kreationen trotzt reinem 2D-Rendering einen räumlichen Eindruck hinterlassen.

Die Ästhetik wird entscheidend von der Mausführung des Künstlers geprägt.

Irgendwann wurde grün langweilig...

Ich weiß natürlich dass mancher ähnliche generative Algortihmen auch mit Musik steuert o.ä. aber mit Processing auch wirklich Daten (außer der Mausbewegung) zu visualisieren, damit beschäftigt sich mein nächster Blogpost (Der Algorithmus ist schon fertig, aber ich darf erst am Donnerstag wieder ein HD-Video zu vimeo hoch laden...).

Kurze URL http://1-co.de/b/15. Post to twitter

Kommentare

keine





 
Χρόνογραφ
© 2008-2017 by Bernhard Häussner - Impressum - Login
Kurz-Link zu dieser Seite: http://1-co.de/b/15