BACK
Generative art is a way of unconventional art where the user uses a system, such as a set of natural language** rules (our everyday speech), a computer program, the machine, or other which is set into motion contributing to or resulting in a completed work of art.
**Computers can't understand the natural language such as draw a circle! Instead, you need to tell it:
ellipse(x, y, width, height)
Processing is the software where you enter code and see the outcome depending on the algorithms you set.
THE ENVIRONMENT
TYPES OF GENERATIVE ART -research
Looping Noise
Reaction Diffusion
Cellular Automata
Space Filling Curves
Audio Reactive Visuals
Interactive Media
Flocking (Boids)
Below are a few techniques that I explored in my first week while learning the language and its capabilities. For each type, I share an example of how they look. I planed on creating visuals from tutorials for a number of these topics in the coming days that I had.
geometry arranged in pseudo-random loops
simulation of two virtual chemicals reacting and diffusing
a grid of cells which change each frame based on a
set
of simple rules
curves which pass through every point in a unit square
the visuals are controlled by signals from audio
using a sensor which can detect finger positions along with gestures
simulate the flocking behavior or birds.
Processing is the application and Java is the programming language that you write the algorithm. This algorithm is a way to tell a computer to make shapes. There are other ways to make generative art but they were more complex to me. One of the things I wanted was to make sure that trying these sketches were as simple and painless as possible due to the time frame given. For this reason, I recreated the majority of the tutorials in order to learn.
As seen from the types of generative art on your left, there are many ways and techniques. Beforehand I had no idea that there are many programming languages being involved such as Python(!). I still wanted to try Processing that uses Java since I had a former experience so it was looking familiar to me but the degree of complexity was still big.
This is my process condensed :
Tutorial → analysing the terms → browsing processing.org reference (if necessary) → remake → save in a specific folder →post.
I usually spent about 30 mins to 2 hours per sketch or so per day without taking into account the amount of time I need to learn an unknown function or terminology. For this reason, I was using the reference of processing or youtube the most of the times and it was taking the most of the time. Sometimes I do things really quickly but this time I wanted to fully concentrate on a tutorial or idea and keep pushing it throughout the day.
Here's a peek of how I was making a sketch that was involving unknown terms that I didn't know what they mean and what they do. This is like I would have done with a dictionary for a world that I don't know in another language:
From http://processingjs.org/reference/
What happens if there is a syntax error?
When it comes to an error in syntax, the program is unable to run. For this reason, I had to find first why the code doesn't work and what kind of error it is. After I have found what does an error mean and how I can fix it I can continue with my sketch.
From https://stackoverflow.com/
Making visuals with code was a very fun and interesting project. I had the chance to learn something new and at the same time to make my old knowledge of processing a bit better. Here's how I understood it:
1. You can make generative art with many programming languages such as Python, C++, Java, HTML, CSS, and so on, all do incredibly cool things and have changed the way our media looks and behaves.
2. Going back to High School math. Our screens have pixels, those pixels make up a grid. This grid has coordinates that they are needed from you in order to make the computer understand in which axis of this grid specifically to design the ellipse you will tell it to make. Here's why knowing sine and cosine is useful.
3. There are many opportunities with generative art. From interactive media to scientific models.
4. It can be frustrating sometimes.
5. Another important part of my process is keeping track of resources and inspiration. Whenever I come across an interesting resource I make a bookmark for later. This includes another artist’s work I find inspiring, a topic to explore, tutorials. Personally, I use Instagram for organizing these resources.