James Murphy McCaleb

CS 293 Ð Mathematical Graphics

Spring 2003

The first program we looked at dealt with the conditions under which chaotic results would appear in a two dimensional graph: chaos.cpp

Next, we experimented with the mechanics of creating a fractal known as the Sierpinksi gasket in C++: gasket.cpp

Our investigation of the Lorenz attractor and butterfly focused on this program, which was our first opportunity to deal with 3-dimensional graphs (using binocular vision): lorenz.cpp

We investigated the construction of iterated fractal systems using various programs, including turtle.cpp, which uses a system like the old ÒLogoÓ programs to draw fractals, and fracs.cpp, which draws the fractals in a more conventional manner.

The program that we examined, which I later evolved and tweaked to become my final project, was that of a 3-dimensional torus spinning around in space. First, I made the torus become wavy, so that it was not a perfect tube all the way around. It had five bumps on it, looking like a star. Then, I created two more torii, and wrote an autotimer that had the three torii progressively get bigger and smaller, and move around the other torii in a manner that when one was large, it was around one that was small. The overall effect was that the three torii were in a self-contained system that kept looping. Using 14 of these self-contained systems, I then made a sphere. In the autotimer function, I then walked the program through the miscellaneous variables that I had allowed the user to control, including the number of bumps on the torii and the actual number of torii in each self-contained system: illiskel.cpp