Generative Gestaltung

Kurs im Modul «Designing Futures 1» // Code & Context // Wintersemester 24/25

Über den Kurs

Lesezeit: ~ 1 min Bearbeiten

Dieser Kurs dreht sich um die klassischen Grundlagen der visuellen Gestaltung: Punkt, Linie, Fläche, Farbe und Form. Nagut, vielleicht kommt noch ein bisschen Typographie, Animation und Interaktion dazu, doch im Kern werden wir uns auf die basalen Elemente reduzieren. Zur gestalterischen Auseinandersetzung nutzen wir in diesem Kurs Algorithmen. Das macht Spaß, ist sehr interessant, fordert heraus, trainiert sowohl Gestaltungs- als auch Coding Skills und führt manchmal zu Lösungen und Ergebnissen, mit denen man anfangs überhaupt nicht gerechnet hätte.

Kursidee & Kursinhalte

Die erste Woche gibt Raum für die Auseinandersetzung mit grundlegenden gestalterischen Fragestellungen und Themen wie Bildorganisation, Verdichtung und Auflösung, Figur und Grund, Ordnung und Unordung, Farbe, Form, Ausrichtung, Symmetrie, Textur, Permutation, etc. Alle Kompositionen werden algorithmisch mit sehr einfachen Elementen wie Punkten oder Linien erzeugt. Dadurch findet automatisch eine Auseinandersetzung mit den Gestaltungsparametern der jeweiligen Elemente statt. Diese Parameter, wie Position, Größe, Ausrichtung, Tonwert, werden dann systematisch variiert und später an verschiedene Eingabequellen gebunden.

In der zweiten Woche spielen Eingabequellen und externe Datenquellen eine zunehmend größere Rolle, verbunden mit der Frage, wie sich mit den jeweiligen Eingabewerten interessante und vielleicht auch nutzbringende Kompositionen erzeugen lassen.

Die folgenden Learning Outcomes werden adressiert:

Die Teilnehmer*innen des Kurses können eigene Konzepte und Code für regelbasierte und generierte Artefakte analysieren und entwickeln, indem sie

  • einen Überblick über die gestalterischen Möglichkeiten kennen lernen
  • Tools und Techniken kennen und einsetzen können
  • die Grundprinzipien Wiederholung, Zufall und Logik verstehen und anwenden können

so dass sie Generative Gestaltung im Entwurfsprozess nutzen zu können.

Beispielhafte Themen und Inhalte

Punkt

Punkt

Das einfachste und kleinste Gestaltungselement ist der Punkt. Mathematisch betrachtet ist er unendlich klein. Das hilft uns aber wenig, darum setzen wir uns darüber hinweg. Ein Punkt steht nicht im Nichts, sondern er steht auf irgendeiner begrenzten Fläche, dem Format. Zunächst nutzen wir nur den Gestaltungsparamater Position. Später nutzen wir auch Größe, Anzahl, Tonwert sowie Deckkraft und versuchen Grundlagen der Räumlichkeit auf unsere Kompositionen anzuwenden.
Punkte im Raster

Punkte im Raster

Jetzt entwickeln wir größere Formationen aus Punkten, die wir in verschiedenen Rastern anordnen. Neben unterschiedlichen Rastervarianten spielen hier die Themen Ordnung vs. Unordnung sowie Verdichtung und Auflösung meistens eine Rolle. Jetzt binden wir aber auch vermehrt Parameter an verschiedene externe Gegebenheiten, z.B. die Viewportgröße oder Zeigerposition.
Farbe

Farbe

Jetzt wird es bunt. Wir bleiben immer noch beim Punkt als Gestaltungselement, aber nehmen jetzt etwas systematischer Farbe und Transparenz hinzu. Wie befassen und kurz mit den verschiedenen Farbssystemen und Farbwahrnehmung und lassen dann verschiedene Regeln rund um die farbige Welt in unseren Code einfließen.
Linie

Linie

Weiter geht es zur Linie. Auch hier nutzen wir Raster in denen wir gerade Linien zunächst horizontal und vertikal anordnen. Danach experimentieren wir mit Lage und Farbe der Linien. Schlussendlich befassen wir uns mit Kurven und Schwingungsfiguren.

Vorbereitung

Wir legen am ersten Tag direkt los. Somit ist es unabdingbar, dass Sie sich und ihr Arbeitsgerät ein wenig vorbereiten.

Starten wir mit dem Arbeitsgerät.

Im Kurs nutzen wir p5.js als Javascript Library. Somit sollte Ihre Editor/ IDE idealerweise Code Coloring für Javascript unterstützen. Code Completion ist auch praktisch und für verschiedene Editoren wie Atom oder Visual Studio Code verfügbar.

Javascript

P5 ist eine Javascript Library. Daher sind Kenntnisse in dieser populären Scriptsprache äußerst praktisch. Eine der aktuell besten Dokumentation dazu, ist die JavaScript — Dynamic client-side scripting des Mozilla Developer Networks.

The Coding Train

Daniel Shiffmann stellt eine wirklich schöne Tutorialserie zum Thema Code! Programming with p5.js auf Youtube bereit. Diese richtet sich eigentlich an absolute Programmiernovizen, aber wegen des hohen Unterhaltungswertes von Daniel ist die Serie uneingeschränkt zu empfehlen!

The Nature of Code

Vom gleichen Autor gibt es das Buch The Nature of Code, was für einen äußerst günstigen Kurs als E-Book erhältlich ist. Dies führt als Vorbereitung sicherlich schon etwas zu weit, ist aber trotzdem sehr interessant und inspirierend.

Generative Gestaltung

Last but not least ist das Buch «Generative Gestaltung» und die zugehörige Website von Benedikt Groß, Hartmut Bohnacker, Julia Laub und Claudius Lazzeroni absolut empfehlenswert. Auf der Website gibt es jede Menge gute Beispiele und den dazu gehörigen Code. Das Buch ist bei uns in der Bibliothek mehrfach vorhanden.

Startercode & weitere Repos

Für die einzelnen Aufgaben liegt ein Startercode Paket im CoCo Gitlab. Dieses bitte forken und clonen.

Den Startercode für das Gestaltungsportfolio finden Sie auf der Infosteite zum Gestaltungsportfolio.

Vorbereitung

01 // Kurze Einführung in den Kurs und ins Startercode Repo.


02 // Demo des Startercode Repos.

03 // Lösung der ersten Aufgabe.

Durchführung

Onsite Sessions

Die Sessions finden überwiegend vor Ort im Open Space in der S22 statt. Im Zeitplan finden Sie Infos zu den Sessions und dem Ort, an dem sie statt finden. Zur Laufzeit der Veranstaltung gibt es einen Mattermost Kanal, der für Fragen, Anmerkungen u.v.m. genutzt werden kann.

Prüfung

Der Kurs wird benotet. Die Note wird auf Basis eine Gestaltungsporfolios gebildet. Ein Artefakt aus dem Portfolio wird am letzten Tag des Workshops präsentiert, argumentiert und reflektiert.

Die Bewertung erfolgt entlang eines Niveaustufenmodells. Hier finden Sie weitere Informationen zum Portfolio und dessen Bewertung.

Weitere Informationen

Kursbeschreibung

Die grundlegenden Informationen zum Kurs finden Sie auch in der Kursbeschreibung zum Modul.

Einbettung des Kurses

Der Kurs ist Teil des Moduls «Designing Futures 1». Weitere Informationen zum Modul finden Sie in der Modulbeschreibung. Das Modul ist wiederum Teil des Kompetenzclusters Creative Coding.

Javascript

Wir nutzen im Kurs p5.js und somit im Wesentlichen Javascript. Warum? Es ist recht einfach (am Anfang), weit verbreitet, gut dokumentiert und vor allem: wir können unsere Ergebnisse direkt im Web-Browser ausführen und somit auch direkt publizieren. Gute Sache!

Folgende Links könnten Ihnen hier helfen: