Proposal for Final Project

March 8, 2001

For my final project I would like to work on enhancing the already existing Lorenz Mask. I would like to add some features to the code to make it more interactive, and to be able to learn more about that dynamical system. To make it more interactive, I can make many of the parameters that are currently constants variables, and enable the user to change them from the keyboard. Those values and other options that the user can utilize should be printed to the display window in the "graffiti" fashion.
Another improvement to the program is to make the program into a movie -- have it go through loops and continue changing as the parameters are changing, without having the user explicitly wipe the screen every time. The movie makes it significantly easier to present the system without much outside interference; only the first and perhaps the last states need to be specified. That could make for some interesting and perhaps unexpected results since the mask does not stop drawing itself to the screen. Thus as the parameters are changed in the middle of the execution, the mask will be changing and evolving and the new one will be drawn on top of the old one.
Another interesting improvement is to have the mask change colors due to certain conditions. That could be used for educational value, for example for demonstrating the bifurcation numbers -- the values at which a small additional change in a parameter changes the behavior of the system dramatically. The mask could change colors as it approaches the bifurcation numbers. Overall these improvements would make the mask more user-friendly, and make learning about it much simpler.

Go to first update

First Update

March 25, 2001

I have started adding certain features to the Lorenz mask, such as the graffiti function. The printing currently works for one parameter -- bifurcation -- but adding more parameters is very simple; it is just a matter of adding extra functions that I want printed to the screen. Unfortunately, at this time, I cannot change the values of the parameters from the keyboard (for a yet unknown to me reason that does not work, but I'm hoping to fix it in the nearest future.)
I am also working on replacing the single buffer of the Lorenz mask with a circular buffer. The point of this is to draw a set number of points (let us say 500) all at once from a 2-D array of 500x3 (500 points, each has 3 coordinates), then update them all simultaneously, and draw them all again. This way, there are only 500 points at once on the screen, and the picture is significantly less dense. The circular buffer is also "infinite" because once the last space in it is filled up, the next point replaces the very first point, and so on. The problem with this approach is that there may be flickering on the screen since the picture will be continuously erased and drawn again, and to fix that, I may have to use the SwapBuffers command (with two buffers). One will be the "screen" where all the current points are displayed, and the other will be drawn in the background. The buffers are swapped, and there should be much less delay (and flickering) that way.
Several ideas to work on in the future are to finish the graffiti function and to begin implementing Lorenz in 3-D.

Back to the proposal

Go to the second update

Second Update

April 2, 2001

InterLor -- Interactive Strange Attractors


Abstract:
For my final project I would like to work on enhancing the already existing Lorenz Mask. I would like to add some features to the code to make it more interactive, and to be able to learn more about that dynamical system. To make it more interactive, I can make many of the parameters that are currently constants variables, and enable the user to change them from the keyboard. Those values and other options that the user can utilize should be printed to the display window in the "graffiti" fashion. This part is already basically done.
Another improvement to the program is to make the program into a movie -- have it go through loops and continue changing as the parameters are changing, without having the user explicitly wipe the screen every time. The movie makes it significantly easier to present the system without much outside interference; only the first and perhaps the last states need to be specified. The "movie" feature does not work completely on its own right now, but it is possible to watch the mask change as a certain parameter (or combination of parameters) is changed from the keyboard.
I am currently working on implementing the "circular buffer" feature, which still does not work properly. In the nearest future I would like to finish that, combine the "graffiti" with the "movie," and work on changing the "movie" feature to work independently. Two long-term goals are to make the mask three-dimensional and to have it change colors.

Bibliography:
Math 198 Course Notes The Lorenz Equations: Bifurcations, Chaos, and Strange Attractors by Colin Sparrow; King's College, Cambridge, U.K. 1982. www.zeuscat.com/andrew/chaos/lorenz.html by Andrew Ho. OpenGL Programming Guide by Mason Woo, Jackie Neider, and Tom Davis; Massachusetts, 1997.

Back to the proposal

Back to the first update

Home