« December 2005 | Main | February 2006 »

January 2006 Archives

January 22, 2006

Dreamhost Discount Coupon

This site is hosted by Dreamhost - use the promo code LESS55 to get $55 off any plan costing over $100, like two years of 20GB/1TB for only $7.95/mo, and $27.50 off of less expensive plans.

January 23, 2006

Modeling Chaos with Iterative Simulation

Chua Oscillator Applet (requires the JSyn browser plugin)
Previous Chua Work (includes video, photos of circuit, etc.)

Analog Chua Attractor X-Y plot of one of the Chua Attractors, created with analog circuitry

Perhaps the first tenet of chaos theory is that complex behavior need not arise from a complex source. More specifically, systems of relatively simple differential equations, impossible to solve classically, can be iterated in software or hardware to bring to life their nuanced behavior.

In my previous work, I used an analog circuit to solve Chua's equations, using the output as audio to act as a synthesizer for music and sound design work. I am currently investigating new interfaces for this system to make it more playable. My first vision is to track both of the users hands in three dimensions and to use each hand-dimension as a control input, allowing six parameters to be controlled simultaneously. In order to simplify the design, I intend to first realize the actual chaotic synthesis system in software, using iterative solutions, because achieving the finely-grained control of circuit parameters under microcontroller control necessary in the analog circuit will be a quite difficult problem in and of itself.

I am currently experimenting in Java and Processing with software realizations of Chua's equations and also intend to investigate the usability of other similar systems of equations. The screenshot below is from a first generation Processing applet, available here (requires the JSyn browser plugin). Move the mouse around to change parameters and control the system. If it runs out of bounds or stops, click the mouse button to reset it.

Digital Chua Attractor
X-Y plot of one of the Chua Attractors, created with Processing (applet) (code)

January 24, 2006

Research a Generative Artist -- Benoit B. Mandelbrot and Stephen Wolfram

For this initial assignment I have chosen a couple of researchers who would potentially be called scientists rather than artists by many people. However, like Leonardo DaVinci or Albert Einstein, I disagree that these two categories are separate and distinct entities, but rather two ways of approaching the same goal, a deeper understanding of life and Nature. Mandelbrot in fact directly addresses this fact in his book, saying that "clearly, competing with artists is not at all a purpose of this essay," but much as in the case of Daniel Rozin, who also has said that he did not set out in the beginning with the goal of being an artist, I think Mandelbrot is an artist of the best kind, an accidental artist.

In reading about development of the generative mathematical theories upon which much of generative art is based upon, the accident seems to be the most important aspect. Dr. Edward Norton Lorenz, one of the founders of chaos theory as we know it, stumbled upon his initial discovery in the field completely by accident, noticing that rounding errors in a punch-card based computer weather simulation were causing drastically different results, countering common rationale of the day. Upon further research he realized that he had discovered the notion of the strange attractor and coined the term butterfly effect, which says that tiny, immeasurable effects in the atmosphere (such as the flap of a butterfly's wings) have the ability to cause huge changes in the future, due to the chaotic nature of the environment.
Many scientists study these systems for practical gain, attempting to predict the weather or the trends of the financial markets, but both Mandelbrot and Wolfram are fascinated, if not obsessed, with the idea of using new types of mathematics to better describe Nature for what seem to be more fundamental, purely scientific and artistic reasons. This science is science for art's sake.

What does this mean for us? Well first of all, that complex and beautiful behavior can be modeled by comparatively simple rules and programs. Wolfram posits that most of traditional mathematics is aimed at shortcutting the computational needs of simulating relatively simple behavior. Need to predict the trajectory of a ball in space, neglecting air resistance. Then you can use simple formulas or perhaps derive your own with some simple integration. As soon as things start to get interesting, however, these techniques break down and other techniques are required, usually involving more brute-force computer simulation. The interesting thing though is that often the mathematical requirements aren't that steep, but what is needed is simply more CPU time to run the same code over and over again.

Take for instance Chua's oscillator. The complex behavior shown in the pictures and in the applet is the result of the simple code below, run over and over on its own result, in a sort of feedback arrangement:

public void iterate() {
lastX = x;
lastY = y;
lastZ = z;
x = lastX + dt * (k * alpha * (lastY - lastX - f()));
y = lastY + dt * (k * lastX - lastY + lastZ);
z = lastZ + dt * (k * (-beta * lastY - gamma * lastZ));
if(x > maxX) {
maxX = x;
if(x < maxNegX) {
maxNegX = x;

public float f() {
float retval = 0f;
retval = (b * x) + (.5f * (a - b) * (abs(x+1) - abs(x-1)));
return retval;

How does the behavior arise from simple arithmetic applied over and over again to its own result? I don't know, and to my knowledge, neither does anyone else, save God or whatever name you like to call him who must have invented this whole mess. Or perhaps if you don't believe that, maybe the notion is equivalent to some simple equation running up in the sky. Who knows? As Wolfram puts it:

It seems so easy for nature to produce forms of great beauty. Yet in the past art has mostly just had to be content to imitate such forms. But now, with the discovery that simple programs can capture the essential mechanisms for all sorts of complex behavior in nature, one can imagine just sampling such programs to explore generalizations of the forms we see in nature. Traditional scientific intuition--and early computer art--might lead one to assume that simple programs would always produce pictures to simple and rigid to be of artistic interest. But looking through this book it becomes clear that even a program that may have extremely simple rules will often be able to generate picture that have striking aesthetic qualities--sometimes reminiscent of nature, but often unlike anything ever seen before.

In any case, this New Kind of Science is a fascinating artistic resource that is still mostly untapped, and the next great mistake lies waiting around each corner. Working on these types of problems from any perspective certainly feels more like an exploration of an unknown land than studying or working through mathematical proofs. I am looking forward to experimenting further with these systems both for art and understanding.

A New Kind of Science
, by Stephen Wolfram

    The Fractal Geometry of Nature
    , by Benoit B. Mandelbrot

    January 25, 2006

    Living Art, Week 2

    In this session (my first in the class) we discussed the definition of "generative art" and saw examples brought in from other students in the class of what they believed to be generative artists, discussing whether or not we agreed with their assessment. It was a very useful session, as I left with a much broader view of the field, encompassing many projects beyond the traditional fractals, cellular automata, and the like. As such, I decided to forego my presentation of Wolfram and Mandelbrot in favor of a quick demo of my previous work with Chua's oscillator as art form.

    For the class, I hope to execute a simulation of the northern lights (Aurora Borealis) for my father's streetlamp art piece.

    Aurora Borealis

    Aurora Borealis

    The lamp globe from my father's piece

    January 30, 2006


    For this week's Nature of Code assignment I am working on an applet called Attraction, a simple simulation of forces of attraction. Each type of object is attracted to objects of the other type and repelled from its own type. By clicking the mouse in the applet, you can reseed the world with a new random population.

    I am considering the idea of expanding and adapting the simulation to be a visualization of genetic algorithms in action. Each being's size and attractive force would then become proportional to its fitness ratio so the user can see the evolution taking place, possibly clicking or mousing over to see details of the available solution. The forces would likely be manipulated somewhat to encourage more diversity in the breeding process. More to come...(maybe).

    Recommended Reading - Chaos: Making a New Science

    This book
    was the beginning of my fascination with chaos theory and related topics. Not overly technical, it focuses more on history of the field and why it is relevant for the future. Definitely a recommended read.

    Simulating the Auroras - UCalgary Research

    This work from the University of Calgary outlines a scientific approach for simulating the visuals of the Aurora Borealis. It is too computationally intense to run on PIC hardware, but the procedure can probably be simplified somewhat or else possibly it can run on an embedded PC system that talks to a PIC which controls the LED drivers. In any case the site, and particularly this Technical Report, is a good starting point and source of info about the simulation.

    Simulated Aurora
    Simultated images of Aurora Borealis

    Living Art Instructions

    Roll one die (if you roll a 6, then roll again)
    - Take the corresponding word off the board.

    Roll the other die (if you roll a 6 or the same number as you rolled before, then roll again)
    - Take the corresponding word off the board. Then either put the two words back as they were, or exchange their positions.

    Pass the action to the person sitting next to you.
    Declare the phrase completed.


    Where am I?

    Recent Photos

    Powered by
    Movable Type 3.35