Table of Contents "Algorithmic Art & A.I."


Algorithmic Art & Growing Circles

Hes Siemelink

These days I attend Remko Scha's class on Algorithmic Art and Artificial Intelligence.

Let me first briefly sketch what it is about, that algorithmic art. The idea is to build some deterministic or random machinery that produces some output (e.g sound, paint or pixels) according to a certain set of rules. 

For example, you can take an artist that creates takes a grid (like a chess board) and flips a coin. If the coin lands on heads, she paints the first square black, if it is tails, she paints it white. And so on for all the squares in the grid.

A possible outcome would be something like:

# # # # # _ # _ 
_ # _ # _ # # # 
# # _ _ # _ # # 
# _ # _ # # _ # 
# # # # _ _ # # 
# _ _ # # # # _ 
# _ # _ _ # # _ 
# # # _ # _ _ # 

This is called "chance art" and quite a number of artists did this in the sixties and early seventies. When the computer came it all became less interesting because it was so easy to make, and worse, the computer proved with ruthless efficiency that such exercises are really quite pointless and dull. (The above exercise took me two minutes to program and is trivially scalable to chess boards that span the entire world... So it is no longer art, but has become a (not-so) clever trick)

So, artists started bending the rules a little bit, making it not completely random for example, or varying in the output media. Say, buckets of paint in stead of chess boards. 

One thing you have to take into account is that in itself, the work that is produced (e.g the chess board) isn't really the work of art, it is more the producing system (and the underlying logic) that constitutes the work of art.

This is Remko's interest and this is more or less what the classes are about: interesting systems (usually computer programs), that start running and create something unexpected. (Which is hopefully less dull than the chess board exercise.)

 

Circles & Moiré

To quickly sketch what I did: I made a little grid (still a grid, yes) of lamp bulbs that slowly glowed on and off. The glowing, however is slightly out of phase. One bulb flashes very slightly faster than its neighbour. The differences are really small, but they cause the bulbs to get "out of phase" over time. After a short while patterns emerge because of the phase difference. I programmed it in such way that you will see a circle:

Imagine all the bulbs slowly flashing on and off, in such a way that the circle grows larger. After a while, the phase difference has increased further and another circle becomes visible:

And then a third, and a fourth, etc... At a certain point the circles overcrowd the screen and strange interference patterns emerge. This is the Moiré effect.  

I've prepared some applets that show the idea in motion. Note: you need a recent version of Java to run this. If the applets do not display properly, try downloading the latest Java version from http://www.java.com.

  1. Slow -- shows how the bulbs are in phase at first but slowly start to differ in intensity
  2. Medium -- to show more and more circles emerge 
  3. Fast -- shows the emergence of the Moiré patterns
  4. Long -- shows the result of a very slow setup that has been running for a while

It is interesting to note which factors influence our perception in thinking that we see circles. After all, the resolution of the grid of bulbs is not enough to draw a convincing circle. 

If you turn off the smooth flashing, the circles become less round. 

 
Click the picture to see the animation

The smoothness of the animation also adds to the illusion of perfect circles. 

And even color has an influence; the circles and Moiré patterns may be even better viewable in reversed colors.


Click the picture to see the animation

And, instead of circles, we can also use lines. This gives a quite different effect.

 

Experimenting

If you want to experiment with the settings, you can do the following.

Download the files Knipperraam.jar and Knipper.parameters in the same directory. The latter file is a text file with all the settings. Edit it, save it and double-click Knipperraam.jar to see the results. (This will only work if you have Java 2 installed.)

If you know Java, you can also download the source and play with it. It includes a JBuilder project file. 

 

I hope you liked it, if you have any questions, you can send an email to hes @siemelink.net.

 

Bellenblaas

Here's a screenshot of another applet I made. Click on it to see it in action!