To: Lawrie's home page

The Lorenz Strange Attractor

The Lorenz Strange Attractor is a curve in 3-dimensional phase- space which represents the locus of solutions of a set of differential equations as time progresses.

In his book "Fractal Programming in C" (M&T Books 1989), Roger Stevens describes the origins of the discovery of the Lorenz Strange Attractor. He also gives a C program to display this and photographs of the results. His program produces static pictures of projections of the curve on various planes. In order to add interest and to attempt to add some visual clues he cycles through a palette of colours each time the y-value of the solution changes sign. Elsewhere in the book he describes and shows projections of three-dimensional fern-like structures produced using Barnsley's 'Iterated Function Systems.

Recently, in the Newsgroup: comp.lang.vrml, I came across some VRML representations of the Barnsley fern produced by Yvgeny Demidov. The fern is composed of a large number of points in 3-dimensional space. In Demidov's presentation the fern rotates slowly about the vertical axis. Demidov's model first led me to reread a section of one of my graphics teaching texts on fractals, then to reread Stevens' book. As an exercise, I converted his code for the Lorenz Strange Attractor, written in Borland C for DOS, into Visual C++ for Windows. Since the Lorenz Strange Attractor is essentially a three-dimensional curve, it occurred to me that this was also an ideal subject for VRML representation. Demidov's models use Java to do the main mathematics so this was also an opportunity to learn Java and the Java scripting interface to VRML. Up until now I had only used JavaScript where scripting was needed.

Of course, now that I have more or less completed the project I discover that Demidov has done this as well.

My VRML construction of the Attractor

Java Script code

To: Lawrie's home page