Paper + Salt Solution + Electricity = Art
I was at Musecon this last weekend – both as an attendee and as a presenter. For more, see Musecon 2013 Creatives Convention. One of the programs I attended was Stand Back, I'm Going To Try Science! taught by Todd Johnson. One of the demonstrations Todd gave was of brushing a salt water solution on matboard in a path that connected two electrodes. He then turned on the electricity and the audience watched as a fractal-like path was burned into the paper by the electric current. Todd was able to exercise some control over the process by adjusting the amount of current being delivered and by using water to cool down hot spots. I found the pattern and coloring this process created to be fascinating. The photograph used to illustrate this article (above) is of one of Todd's creations. Todd is perhaps best known for using a particle accelerator to zap acrylic blocks with millions of volts of electricity and then freeing the trapped electrons thus creating Lichtenberg figures.
As I watched Todd creating these fascinating figures it occurred to me to try and create an algorithmic art version of what I was seeing. The solution that immediately came to mind was to use a diffusion limited aggregation (DLA) algorithm. Diffusion Limited Aggregation (DLA) is an algorithm for the simulation of the formation of structures by particles that are diffusing (moving) in some medium, in this case the medium being the surface of a virtual canvas. Such algorithms can be simple or complex. For example, in a more sophisticated DLA algorithm the particles can be made to interact with one another as they move. With respect to the medium, gravity and/or currents can be introduced to further influence the particle's behavior. The rules by which particles create structure can also be defined in various ways with the precise nature of the resulting structure being governed by the full interplay of the system's rules and parameters.
I used the Processing programming language to implement my idea. The basic operation of the program allowed for:
- the creation and destruction of particles;
- variable opacity for the structure with opacity determined by the number of times a point was "hit" by a particle;
- the ability for the user to create particle emitters to inject new particles into the system and to control where those particles appear;
- the ability to globally modify particle velocity (note that velocity is a vector having both speed and direction);
- the ability for the user to create seeding points for the structure by drawing with the mouse.
The picture below is the first image created after completing program debugging – which surprisingly was less of a hair-pulling experience than I expected it to be. Note that I used Adobe Photoshop to add a layer style that added a border stroke, a drop shadow, and a color overlay to enhance the appearance of the structure.
Diffusion Limited Aggregation algorithmic art example
As you can see, the structure created using my DLA algorithm is much more bushy than the structure created by Todd. One key difference between our two methods is that Todd's creation process builds structure from the inside-out while the DLA process I used builds structure from the outside-in.
To see other examples of images created using diffusion limited aggregation, I suggest doing an image search using the term "diffusion limited aggregation". You will see a high degree of sameness to images created using this technique.
And the algorithm's future…
I'm uncertain at this point as to what further development work I will do on this program. There are algorithmic alternatives to the diffusion limited aggregation approach I used. There are also many modifications I could make to my DLA implementation that would alter its behavior.
In closing I'll leave you with this thought. Speaking as a programmer it is said that Ideas are cheap. Code isn't. Speaking as a digital artist I can say Code is cheap. Ideas aren't. The truth of either statement really depends on your perspective.