Informatik

Un Deux Trois

Vera Molnár (1924–2023) war eine ungarisch-französische Malerin und eine der ersten Frauen, die mit dem Computer Kunst gemacht haben. Lange bevor sie einen Computer benutzen durfte, arbeitete sie schon wie einer: Sie dachte sich Regeln aus und führte sie von Hand aus. Sie nannte das ihre „maschine imaginaire“ – ihre eingebildete Maschine.

Das Bild Un Deux Trois („eins, zwei, drei“) ist einer ihrer Arbeiten nachempfunden. In jeder Zelle eines Gitters liegt ein Bündel aus Strichen, jedes zufällig gedreht. Im oberen Drittel ist es ein Strich, in der Mitte sind es zwei, unten drei. Das Bild wird nach unten hin dichter und dunkler.

Vorwissen: eindimensionale Felder, die Methode linie aus Tiled Lines und das Drehen eines Punktes aus Cubic Disarray.

Striche in Zellen

Wie viele Striche in einer Zelle liegen und wo, beschreiben wir mit einem Feld von Positionen. Jede Position ist ein Anteil der Zellenbreite: 0 ist der linke Rand, 1 der rechte, 0.5 die Mitte.

Drittel Feld Striche
oben {0.5} einer in der Mitte
Mitte {0.2, 0.8} zwei, nahe an den Rändern
unten {0.1, 0.5, 0.9} drei, gleichmäßig verteilt

Die Methode zeichne bekommt das passende Feld als Parameter und zieht für jede Position einen senkrechten Strich durch die Zelle. Sie muss dafür nicht wissen, wie viele Striche es sind – pPositionen.length verrät es ihr.

a) Ohne Drehung ist das Bild langweilig, aber man erkennt das Prinzip. Wie viele Zellen hat das Gitter, und wie viele Striche werden gezeichnet?

b) Lege ein viertes Feld vier an und teile die Leinwand in Viertel statt in Drittel.

c) Die äußere Schleife zählt y herunter. Warum ist y die obere und nicht die untere Kante der Zelle?

Jede Zelle dreht sich

Jetzt bekommt jede Zelle einen zufälligen Winkel, und alle ihre Striche drehen sich gemeinsam um die Mitte der Zelle. Das ist genau das Verfahren aus Cubic Disarray: Wir rechnen die Endpunkte jedes Strichs zuerst relativ zur Zellenmitte aus, drehen sie um den Ursprung und verschieben sie danach an die richtige Stelle.

Diesmal stecken die beiden Formeln in eigenen Methoden drehX und drehY. Der Winkel ist schon im Bogenmaß: Math.random() * 5 ergibt einen Winkel zwischen 0 und 5, und 5 im Bogenmaß sind fast eine volle Umdrehung.

a) In zeichne steht (pPositionen[i] - 0.5) * pGroesse. Was berechnet dieser Ausdruck? Welche Werte kommen für die Positionen 0.1, 0.5 und 0.9 bei einer Zellengröße von 20 heraus?

b) Ersetze Math.random() * 5 durch Math.random() * 0.3. Wie verändert sich die Stimmung des Bildes?

c) Lass den Winkel von oben nach unten wachsen: oben fast 0, unten bis zu 5. Jetzt wird das Bild nach unten nicht nur dichter, sondern auch unruhiger.

Tipp zu a)

Die Drehung geschieht um den Ursprung. Damit sie um die Mitte der Zelle geschieht, muss die Zellenmitte vorübergehend der Ursprung sein. Eine Position von 0.5 muss also 0 ergeben.

Weiterspielen

Vier, fünf, sechs. Erweitere die Reihe. Statt die Felder von Hand anzulegen, kannst du sie auch ausrechnen: Bei n Strichen liegt Strich k bei (k + 0.5) / n.

Zwei Achsen. Lass die Anzahl der Striche von oben nach unten wachsen und die Drehung von links nach rechts. Links ist alles gerade, rechts chaotisch.

Molnárs Farben. Vera Molnár hat oft nur eine einzige Farbe neben Schwarz benutzt. Färbe in jeder Zelle mit einer kleinen Wahrscheinlichkeit, etwa 5 %, alle Striche rot.


Nach dem Tutorial Un Deux Trois von Generative Artistry.

Un Deux Trois

Teilbare URL erstellen

Abschnitte auswählen