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
Working with the Plotter
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
- Constantin Noack
- Ahmad Hafez
- Felix Seiboth
Consultations
Thursday 31.01.19 13:00 - 13:30 (put your name here) 13:30 - 14:00 Lucia 14:00 - 14:30 (put your name here) 14:30 - 15:00 (put your name here) 15:00 - 15:30 (put your name here) 15:30 - 16:00 (put your name here) 16:00 - 16:30 Yasmin
Friday 01.02.19 13:00 - 13:30 ozan 13:30 - 14:00 hilde 14:00 - 14:30 Constantin 14:30 - 15:00 Joel 15:00 - 15:30 (put your name here) 15:30 - 16:00 (put your name here) 16:00 - 16:30 (put your name here)
Resources
Processing
- Processing Reference
- Processing Examples you can also conveniently find these in the Processing IDE)
- Processing Cheatsheet [1] [2]
- 25 Life Saving Tips for Processing [3] [4]
Relevant Texts
- The Algorists, Roman Versotko
- Ten theses about software art, Florian Cramer english, german
- Do it, Hans Ulrich Obrist (you can find the book in the library)
- Art by instruction and the pre-history of do it, Bruce Altshuler
Early Computer Artists
Other artists working with code
- Casey Reas
- Anders Hoff
- tbc...
Inspirations
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
- Classes (balloons and particles reacting to two dimensional noise)
- ArrayList
30.11.18
- Working with images
- PImage
- get(x,y), get(x,y,w,h), brightness(), saturation(), red(), green(), blue()
07.12.18
14.12.18
21.12.18
- OSC
- FaceOSC
11.01.18
- Motion Detection
- OpenCV & Face Detection
18.01.18
- loading data from files and visualizing texts
25.01.18
01.02.18
Future Topics
- PVector
- Export svg files
- noise() – 3D
- Working with images
- Working with sound
- Working with text
- Recursion
- L-Systems