Kreativität durch Algorithmen: Generative Gestaltung
Die Verschmelzung von Kunst und Programmierung zur Schaffung dynamischer Designs

Generative Gestaltung ist ein kreativer Ansatz, bei dem Algorithmen und computergestützte Prozesse genutzt werden, um visuelle Designs, Muster oder Kunstwerke zu erzeugen. Dabei werden nicht einzelne Details manuell gestaltet, sondern Regeln und Parameter definiert, die den kreativen Prozess steuern. Das Resultat ist oft dynamisch und kann sich basierend auf den vorgegebenen Algorithmen oder Zufallsfaktoren ständig ändern.

Diese Methode verbindet Programmierung und Design, um einzigartige, oft komplexe und ästhetisch ansprechende Werke zu schaffen. Sie wird in verschiedenen Bereichen eingesetzt, darunter Grafikdesign, Animation, Datenvisualisierung und sogar Architektur.

Meeresblüte_in_Rot

 

Dieses Kunstwerk, „Meeresblüte in Rot“, ist das Ergebnis eines handgeschriebenen Algorithmus, der über mehrere Iterationen entwickelt wurde. Der Algorithmus erzeugt faszinierende Muster und Formen, die die Lebendigkeit des Ozeans nachahmen.

Mit kraftvollen Rot- und Schwarztönen, die wie eine Welle über die Leinwand fließen, entsteht ein Spiel aus Struktur und Bewegung. Die organischen Formen erinnern an exotische Unterwasserlandschaften, in denen Korallenblüten in leuchtendem Türkis erstrahlen.

Das Kunstwerk basiert auf einem komplexen Algorithmus, der über 6000 digitale Partikel generiert und ihre Bewegung in organischen Bahnen steuert.

 

Generative Gestaltung im Studium

Im Rahmen meines Studiums der Interaktionsgestaltung hatte ich die Möglichkeit, unter der Leitung von Professor Bonacker in das faszinierende Feld der generativen Gestaltung einzutauchen. Während dieser Zeit habe ich nicht nur die grundlegenden Prinzipien dieses Ansatzes gelernt, sondern auch eigene Algorithmen entwickelt und künstlerische Projekte umgesetzt.

Beispiele meiner Arbeiten

Im Folgenden möchte ich einige meiner Arbeiten vorstellen, die durch generative Programmierung entstanden sind. Die unten gezeigten Bilder wurden mit der Programmiersprache p5.js, einer JavaScript-Bibliothek speziell für kreatives Programmieren, erstellt. Hier ein Beispielcode, der ein dynamisches Muster erzeugt:

let circleSize, circleCount;
let fixedColor = 'rgb(255, 0, 0)'; // Feste Farbe (Rot)

function setup() {
  createCanvas(900, 1200); // Erstelle eine Leinwand
  background(0); // Setze den Hintergrund auf Schwarz
  strokeWeight(3); // Linienstärke für die Bögen
  strokeCap(SQUARE); // Eckige Enden für Linien
  noLoop(); // Keine automatische Wiederholung
}

function draw() {
  generatePattern(); // Generiere das Muster
}

function generatePattern() {
  circleCount = int(random(3, 5)); // Anzahl der Kreise pro Block
  circleSize = int(random(20, 40)); // Größe der Blöcke

  fill(fixedColor); // Fülle mit der festen Farbe
  rect(0, 0, width, height); // Zeichne den Hintergrund

  // Iteriere über die y-Positionen
  for (let y = circleSize / 2; y < height + circleSize / 2; y += circleSize) {
    // Iteriere über die x-Positionen
    for (let x = circleSize / 2; x < width + circleSize / 2; x += circleSize) {
      drawRotatedPattern(x, y); // Zeichne ein rotiertes Muster an jeder Position
    }
  }
}

// Zeichnet ein rotiertes Muster an einer bestimmten Position
function drawRotatedPattern(x, y) {
  push(); // Speichert den aktuellen Zustand des Koordinatensystems
  translate(x, y); // Verschiebe Ursprung zum aktuellen Block
  rotate(HALF_PI * int(random(4))); // Rotiere zufällig um 0, 90, 180 oder 270 Grad
  drawArcs(-circleSize / 2, -circleSize / 2); // Zeichne die ersten Viertelkreise
  drawArcs(-circleSize / 2 + circleSize, -circleSize / 2 + circleSize, PI); // Zeichne die gegenüberliegenden Viertelkreise
  pop(); // Wiederherstellen des ursprünglichen Zustands des Koordinatensystems
}

// Zeichnet Viertelkreise an der angegebenen Position
function drawArcs(x, y, startAngle = 0) {
  for (let layer = circleCount; layer > 0; layer--) {
    let diameter = (circleSize * 2 * layer) / (circleCount + 1); // Durchmesser basierend auf der Ebene
    fill(fixedColor); // Fülle mit der festen Farbe
    arc(x, y, diameter, diameter, startAngle, startAngle + HALF_PI); // Zeichne den Viertelkreis
  }
}
 

Die Geometrie des Regens

𝗪𝗜𝗘 𝗘𝗡𝗧𝗦𝗧𝗘𝗛𝗧 𝗗𝗔𝗦 𝗞𝗨𝗡𝗦𝗧𝗪𝗘𝗥𝗞?

Der Algorithmus beginnt damit, ein großes Gitter auf der Leinwand zu erstellen. Jede Zelle in diesem Gitter wird dann mit einem einfachen geometrischen Muster gefüllt. Dieses Muster besteht aus Kurven und Linien, die miteinander verbunden sind, um eine interessante Form zu schaffen.

Für jede Zelle im Gitter entscheidet der Algorithmus zufällig, wie das Muster gedreht oder gespiegelt werden soll. Dadurch entsteht ein abwechslungsreiches und dynamisches Bild, bei dem sich die Muster scheinbar zufällig, aber dennoch harmonisch aneinanderreihen.

 

Orbitale Harmonie

𝗪𝗜𝗘 𝗘𝗡𝗧𝗦𝗧𝗘𝗛𝗧 𝗗𝗔𝗦 𝗞𝗨𝗡𝗦𝗧𝗪𝗘𝗥𝗞?

Der Algorithmus beginnt mit der Festlegung grundlegender Parameter wie der Anzahl und Größe der Kreise, die in jedem Abschnitt des Bildes erscheinen. Diese Parameter werden zufällig innerhalb eines bestimmten Rahmens ausgewählt, sodass jedes Kunstwerk seine eigene, unverwechselbare Struktur erhält.

Anschließend werden die Kreise in einem Raster über die gesamte Leinwand verteilt. Für jede Position wählt der Algorithmus zufällig eine Drehung, wodurch das Muster noch komplexer und dynamischer wird. Die Farben stammen aus einer ausgewählten Palette, die ebenfalls zufällig angeordnet wird, um sicherzustellen, dass jede Farbkomposition einzigartig ist.

 

Bonbon-Twist

𝗗𝗜𝗘 𝗪𝗔𝗛𝗥𝗦𝗖𝗛𝗘𝗜𝗡𝗟𝗜𝗖𝗛𝗞𝗘𝗜𝗧 𝗘𝗜𝗡𝗘𝗥 𝗪𝗜𝗘𝗗𝗘𝗥𝗛𝗢𝗟𝗨𝗡𝗚

Ein besonders spannender Aspekt dieser Kunstwerke ist die schier unglaubliche Anzahl an möglichen Kombinationen, die der Algorithmus erzeugen kann. Die Wahrscheinlichkeit, genau dieses eine Muster nochmals zufällig zu generieren, ist extrem gering – fast ausgeschlossen. Selbst wenn der Algorithmus ununterbrochen über viele Jahre laufen würde, wäre die Wahrscheinlichkeit, dass genau dieses spezifische Muster erneut erscheint, verschwindend gering. Dies macht Ihr Kunstwerk zu einem wahren Unikat, das in seiner Einzigartigkeit nicht wiederholt werden kann.

 

Kunstwerk "Verwobene Füße"

Das Kunstwerk mit dem Titel Verwobene Füße: Generative Linienkunst ist das Ergebnis eines kreativen Codierungsprozesses. Der Code, der dieses Muster erzeugt, wurde über mehrere Wochen hinweg in einem iterativen Prozess entwickelt. Jedes Bild wird durch das Zusammenspiel von Parametern und Rauschen animiert, wodurch dynamische Formen und Muster entstehen. Der Algorithmus steuert dabei etwa 80.000 intelligente Agenten, die sich auf einer 2D-Fläche (17824 × 25200 Pixel) bewegen. Ihr Verhalten wird durch bestimmte Regeln bestimmt, die ihnen eine gewisse Freiheit geben, ihre Bewegungen zu koordinieren.

Die Agenten erschaffen das Bild, indem sie sich allmählich durch den Raum bewegen und dabei Spuren hinterlassen, die sich mit der Zeit auflösen. Dort, wo sich mehrere Agenten treffen, entstehen Verdichtungen, die zusätzliche Komplexität und Tiefe schaffen. Dieser Einsatz von 80.000 Agenten ist rechenintensiv und stellt eine große Herausforderung für die Hardware dar, was den Aufwand und die Einzigartigkeit des Kunstwerks unterstreicht. Jedes Bild ist ein Unikat, da der Prozess nicht reproduzierbar ist. Als Programmierer lege ich nur die Regeln fest, die Agenten selbst bestimmen das Bild. Das Ergebnis ist ein einzigartiges und unverwechselbares Kunstwerk.

 

Meeresblüte in Rot Video

 

Fazit: Die Unendliche Vielfalt der Generativen Kunst

Generative Gestaltung eröffnet neue Möglichkeiten, indem sie die Programmierung nutzt, um visuelle Werke zu schaffen, die von Zufall, Komplexität und regelmäßigen Mustern geprägt sind. Mit dieser Methode entsteht eine große Vielfalt an Formen und Designs, die sich ständig verändern können. Jedes Kunstwerk ist das Ergebnis eines dynamischen Prozesses, der immer einzigartig bleibt und nie wiederholt werden kann.

Die Verbindung von Kunst und Technologie zeigt, dass Kreativität keine festen Grenzen hat. Jedes generierte Kunstwerk ist nicht nur ein ästhetisches Objekt, sondern auch das Ergebnis eines Dialogs zwischen Algorithmus und Kreativität, der zu immer neuen, unerwarteten Ergebnissen führt.

Durch die Arbeit mit generativer Gestaltung und kreativer Programmierung habe ich Erfahrungen im Umgang mit Algorithmen und Programmiersprachen wie JavaScript (insbesondere p5.js) gesammelt. Diese Fähigkeiten ermöglichen es mir, kreative Prozesse zu steuern und visuelle, dynamische Werke zu schaffen, die sich durch ihre Einzigartigkeit und Komplexität auszeichnen.

Zurück
Zurück

Protection Armour

Weiter
Weiter

BadRobot