# week3

#### Code

• G6610 older class -- this has a good disussion (with purty pictures even!) of the "fractal reflection" exercise we did in class. Again, some of the links are a little old... the link to the RTcmix STEREO instrument documentation is older, and use the xmountains.tar.gz package linked below here for Mac OSX.
• reflect.tar.gz -- the code for our 'fractal reflection' exercise (described in the "G6610 older class" link above)
• mandel.tar.gz -- the Mandelbrot set application, zoom in and realize as a frequency vs. time graph (decribed briefly below)
• xmountains.tar.gz -- Mac OSX (under X11.app) version of the fractal mountain-making program. I think this will also compile ok on Linux "as is", otherwise visit the "G6610 older class" link above for the Linux version.

The first thing we did in class was to play some examples of Real Live Fractal Music, which did indeed sound very fractal indeed it did sound very very fractal indeed it sounded very very very very fractal indeed it did indeed sound very very very very very very very very fractal...

One thing to keep in mind with a lot of these algorithmic topics is that many of them are related. For example, when we discuss L-systems later in the term, they are often seen as a good example of a procedure which can generate a fractal boundary (basically a fractal has a 'fractional dimension' as defined by Benoit Mandebrot in his class book The Fractal Geomtery of Nature -- a "wiggliness" that causes the boundary to lie between two dicrete measure of dimension. For example, an infinitely crinkled line can't really be thought of as lying entirely in 1 dimension, but it really isn't a 2-dimensional object either; a fractal).

#### Reflections from a Fractal Boundary

Instead of using fractal techniques to control an unfolding melodic line (as in many of the fractal music examples), we explored the use of fractal data in another area -- the creation of time-delay values to simulate the reflection of sound from an invented mountain or canyon wall. The G6610 older class web page has a good explanation of what we did, complete with goofy pictures of sound bouncing from a fake-looking fractal boundary.

#### Interpreting the Mandelbrot Set

Next we looked at a simple little application that graphed the Mandelbrot set (shown in basic form above). The Mandelbrot set is generated using the simple-looking equation
znew   =   zprevious2   -   c
The hidden trickiness comes from the fact that z and c are complex variables containing two components, a real and an imaginary part. The graph above was plotted by interpreting the real and imaginary components as x and y dimensions for the plot. The set is created by iterating the above equation a number of times. the values of z will do one of two things: the iterated output of the equation will bounce around inside the Mandelbrot set boundary (the blue part above), or the output will eventually "fly off" to infinity.

We can make a more dramatic-looking graph by measuring how quickly points outside the Mandelbrot boundary go to infinity and using this to change the coloring of each initial point:

Adding the ability to select an "zoom in" to different sections of the Mandelbrot set (like the Fractal Microscope) allos us to generate a wide range of different images:

As with the Henon attractor application in last week's fun, we can interpret these images as extended frequency/time graphs. The brightness of the color of each pixel represents the amplitude of the particular frequency mapped to that pixel row.

Here are several example sounds created by interpreting the horizontal axis as time (25 second span) and the vertical axis as frequency (70 Hz -- 2570 Hz):

These were generated using the "mandel2" application. "mandel2" writes out RTcmix scorefiles to the standard output. Be careful, though, because this application can generate a very large scorefile. It will take some time to render, i.e. it won't realize the sound in real-time.