Künstlerische Bildeffekte mit Snap!

Im Kurs „From Media Computation to Data Science“ stellen Jens Mönig und Jadga Huegle verschiedene Aspekte der Datenverarbeitung anhand von Bild und Musik vor. Unter anderem zeigen sie, wie ein Foto mit wenigen Snap!-Befehlen in ein kleines Kunstwerk im Stil des Pointilismus verwandelt werden kann.

Pointilismus

Dazu werden die Werte einzelner Pixel eines Fotos ausgelesen und anschliessend an der Originalstelle ein kleiner Kreis (Konfetti) gezeichnet. Je nach Grösse und Transparenz dieser Kreise entstehen so bereits interessante Bildeffekte.

Ein Foto wird durch das Auftragen von transparenten Kreisen im Stil des Pointilismus dargestellt.

Um ein solches Bild zu erzeugen, braucht man nur wenige Befehle, die viele Male wiederholt werden.

Zentraler Befehlsblock zum Erzeugen von Bildern im Stil des Pointilismus

Innerhalb einer Schlaufe werden die folgenden Befehle abgearbeitet:

  1. Der Zeichenstift wird vom Bild entfernt und über einem zufälligen Pixel platziert.
  2. Die Farbwerte des Pixels werden im HSV-Farbmodell ausgelesen.
  3. Der Stift wird auf die Zeichenfläche gesetzt und zeichnet dort einen Punkt mit vorher gewählter Grösse.

Farbstiftzeichnung

Während die erste Variante eher an ein Aquarell erinnert, kann die Kreisform auch durch Striche ersetzt werden, wodurch der Eindruck einer Farbstiftzeichnung entsteht.

Die Ausrichtung der einzelnen Striche kann über einen Richtungsparameter beeinflusst werden.

Diesen Effekt erzielt man in der Programmierung dadurch, dass man die Spitze des Stifts verkleinert und den Stift eine gewisse Strecke über die Zeichenfläche streichen lässt.

Mit nur wenigen Änderungen werden aus Punkten Farbstriche.

Gegenüber dem ursprünglichen Block (hier mit der umschliessenden Schlaufe dargestellt), verändert sich nur die Strichdicke und die Länge der Striche (von 0 auf 5 gesetzt), wobei alle Striche im 45° Winkel gezeichnet werden.

Der Farbton steuert die Richtung

Interessant wird es, wenn man die Richtung der einzelnen Striche vom Farbton eines Pixels abhängig macht. Dadurch entstehen an Farbübergängen interessante Effekte.

Bei diesem Bild entstehen insbesondere im Hintergrund interessante Strukturen.

Dieser Effekt wirkt bei Fotos mit kräftigen Farben besonders gut.

Die kräftigen Farben des Pfaffenhütchens in Verbindung mit den grünen Blättern und dem blauen Himmel akzentuieren die verschiedenen Strichrichtungen.

Ordnung und Zufall

Um noch etwas mehr Dynamik in solche Bilder zu bringen, kann man die Strichrichtung zusätzlich innerhalb von bestimmten Grenzen zufällig von der durch den Farbton gegebenen Richtung abweichen lassen.

Oft wirkt die Kombination von Ordnung und Chaos besonders reizvoll.

Die Programmierung

Die gesamte Programmierung für einen solchen Effekt, besteht aus drei Befehlsblöcken für den Hintergrund, die Verwaltung der Bilddateien und den eigentlichen künstlerischen Filter.

Zuerst wird der Hintergrund auf weiss gesetzt, wobei bei einigen Bildern ein schwarzer oder farbiger Hintergrund besser wirken mag. Ausserdem werden möglicherweise früher gesetzte Grafikeinstellungen zurückgesetzt.

Für die Einrichtung der Umgebung werden nur wenige Befehle verwendet.

Gleichzeitig wird eines von mehreren Bildern zufällig ausgewählt.

Einem Objekt (Sprite) können in Snap! mehrere Kostüme zugeordnet werden. Eines davon wird zufällig ausgewählt.

Der eigentliche künstlerische Filter unterscheidet sich von den bereits vorgestellten wieder nur durch kleine Anpassungen.

Der Filter selbst kann mithilfe verschiedener Parameter angepasst werden.

Kreative Freiheit durch Parameter

Durch das Anpassen der verschiedenen Parameter (Transparenz, Anzahl, Dicke und Länge der einzelnen Striche) können beliebige Fotografien dem eigenen Stilempfinden angepasst werden.

Mit jeder Generation von Snap! entpuppt sich die blockbasierte Programmierumgebung als universelleres Werkzeug, mit dem Konzepte der Informatik in ansprechender Weise veranschaulicht werden können.

Quelle aller Originalfotos: Ernst Giger

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert