Lecturer: Tobias Zimmer
Credits: 6 ECTS, 4 SWS
Date: Friday, 13:30 – 16:45
Venue: Marienstraße 7b, Raum 102
Description
Waiting at traffic lights, shopping online, finding a new partner, baking a cake - noticed or unnoticed, everyone is in contact with algorithms each day.
In the class Algorithmic Art we will focus on graphical algorithms and generative art, to learn how to think like a machine. The programming language Processing offers artists and designers the chance to go beyond predefined and often limiting software and allows them to create their very own tools for 2D or 3D graphics production, interactive installations, data manipulation and more. With a simplified syntax, Processing takes down high entry barriers that are usually associated with programming languages. Simple visual results are possible with just a few lines of code, with an open end to more complex output and rule systems.
We will orient ourselves to the pioneering work of early computer artists (”Algorists”) like Vera Molnar, Manfred Mohr or Frieder Nake and use a pen-plotter (self built in class or a ready-made one) to materialize the algorithms we develop in homeworks or in class. Treated topics and programming basics include: 2D shapes and geometry, variables, arrays, loops, randomness, noise, interaction, animation, functions, object orientation, working with data (image, sound, text),...
Further topics depending on interest:webcam interaction, openCV, working with libraries and API’s, 3D graphics, communication (OSC), projection mapping,…
Introductory Algorithm
Student Works
- Tobias Zimmer
- Christopher Heiden
- Baiyao Lin
- Ozan Akkoyun
- Grayson Daniel Bailey
- Leon Billerbeck
- Manuel Hartmann
- Yasmin Mukino
- Hilde Karin Braunschweig
- Joel Schäfer
- Lorenz Gunreben
- Lucia Schmidt
- Michael Wilde
- F a b i a n K r z i c h
- Jonas Obertüfer
Resources
- Processing Reference
- Processing Cheatsheet [1] [2]
- 25 Life Saving Tips for Processing [3] [4]
Treated Topics
12.10.18
- Sol LeWitt | Wall Drawings
- Casey Reas | Notation
19.10.18
- Concrete Art Manifesto
- 2D Geometry
26.10.18
- Variables
- Iteration / Animation
- For Loops
- Nested For Loops
02.11.18
Art without author!? / Artists working with randomness
- Jackson Pollock
- Gerhard Richter | Colour Charts | 4096 Colors
- Henri Michaux | Mescaline Drawings
- John Cage | Music of Changes | I Ching (1) | I Ching (2)
- RAND Corporation | 1.000.000 Million Random Digits
- Global Consciousness Project - Meaningful Correlations in Random Data | Website
- Studio Nand | The Known Unknowns
- translate()
- scale()
- rotate()
- random()
- Arrays
09.11.18
- Anastasis Germanidis | Randomly Generated Social Interactions
- noise() – 1D, 2D
- sin(), cos() – adressing points in a circular coordinate system
- map()
16.11.18
Drawing Machines by...
- Jean Tuingely
- Tim Knowles
- David Bowen
- Olafur Eliasson
- Karina Smigla-Bobinski
- Sougwen Chung
- Die Helmholtz Kurven | Improved Myograph / Frog Drawing Machine
- Getting started with the Plotter (HP7475A)
- HPGL library
23.11.18
30.11.18
07.12.18
14.12.18
21.12.18
11.01.18
18.01.18
25.01.18
01.02.18
Future Topics
- PVector
- Export svg files
- noise() – 3D
- lerp()
- Objects and Classes
- Arraylists
- Working with images
- Working with sound
- Working with text
- Working with the webcam
- 3D
- OSC
- Recursion
- L-Systems