Programmierte Bilder
(msc) NodeBox ist ein spannendes Programm für Programmierer und Bilder-Tüftler. Es gehört in die Kategorie der bilderzeugenden Programme, die wir im Beitrag «Pixelkunst aus dem Elektronenhirn» ausführlich vorgestellt haben (Publisher 4-06 auf Seite 58/59).
Bei NodeBox werden Bilder «programmiert». Sprich: Sie entstehen aus einigen Zeilen Programmcode. Bei dem kostenlosen Programm für Mac OS X wird die in der Open-Source-Welt weit verbreitete Sprache Python verwendet. Sie ist zwar nicht eben selbsterklärend, wer aber über Erfahrung mit JavaScript, PHP, Basic, Pascal oder C verfügt, kommt mit Python recht schnell klar. Dokumentiert ist sie unter www.python.org.
Die grössere Herausforderung besteht darin, sich mit den speziellen Sprachelementen zur Steuerung der Bilderzeugung vertraut zu machen. Dabei helfen die vielen mitgelieferten Beispiele und die NodeBox-Galery unter www.nodebox.net/code/index.php/Gallery.
Es gibt im Sprachumfang von NodeBox Elemente zum Erzeugen von geometrischen Formen, zur Bearbeitung von Vektorpfaden, zur Manipulation von Textelementen und zur Steuerung der Farbe. Elemente können transformiert, also verschoben, gedreht, skaliert, gestaucht und gedehnt werden. Auch die Verfremdung von Pixelbildern ist möglich, und es gibt Methoden zur Erzeugung von Animationen oder interaktiven Kreationsvorgängen.
Ein simples Beispiel soll erläutern, wie ein solches NodeBox-Programm funktioniert. Der folgende Code zeigt einige der Möglichkeiten:
for i in range(10):
for y in range(10):
rotate(2,4)
fill(random(), 0, 0)
rect(i*15+5, y*15+5, 10, 10)
Die beiden Variablen x und y sind dazu da, auf zehn Zeilen und zehn Spalten hundert Quadrate (rect) anzuordnen. Diese haben eine Kantenlänge von zehn Pixeln und werden im Abstand von 15 Pixeln platziert. Damit etwas Spannung in die Sache kommt, wird jedes Rechteck um einige Grad gedreht (rotate). Die Farbe wird dabei durch einen Zufallswert bestimmt (fill random), der jedoch nur den Rotkanal beeinflusst. Das Resultat ist abgebildet.
Es zeigt zwei Dinge: Zum einen kann man mit kurzen Programmen – im Beispiel fünf Zeilen Code – aufwändige Ergebnisse erzielen, die von Hand viel Arbeit machen würden. Man spart, je nach Aufgabe, mit Python sehr viel Zeit. Zum anderen kann man durch gezielten Einsatz des Zufallsgenerators per Mausklick beliebig viele Varianten eines Bildes erzeugen und die schönste oder interessanteste herauspicken. Das Beispiel mit dem Spinnweben-verhangenen Schriftzug ist zugegebenermassen etwas anspruchsvoller. Der Schwierigkeitsgrad ist aber auch nicht höher, als etwa bei fortgeschrittenen Photoshop-Techniken. Und die Resultate sind allemal etwas Tüfteln und einige Klimmzüge mit Python wert.
[Mac] > Shareware > NodeBox-1.8.5.dmg, 1,6 MB
[Mac] > Shareware > coreimage.zip (Bibliotheken zur Bildbearbeitung), 1,4 MB
Die Spinnweben hat NodeBox gewoben. Man beachte: Jeder Buchstabe hat sein eigenes, separat berechnetes Netz.
Fünf Zeilen Code ergeben hundert wunschgemäss aufgereihte Quadrate.

