Goran Vlahoviæ, november 2004.
Concept of Chaos
Everyone should know something about chaos by now. Whether it's butterfly effect, Mandelbrot set, Lorenz's Attractor, fractals or just something simply chaotic. On the following pictures you can see some examples of fractals (Julia set and Mandelbrot set) and Lorenz's Attractor:



So, what's it all about? Edward Lorenz, professor at Massachusetts Institute of Technology (MIT), played with climatic models on computer in 1960s. In his program he would enter initial parameters of meteorological conditions (wind speed and direction, temperature, humidity, pressure..) and watch changes through time. One day in 1961 he wanted to give a closer look to one data sequence. Computers were very slow in those days, so in order to cut down some calculation time, he started new calculation from the middle of the sequence. He took the numbers from an earlier printout and typed them down as starting parameters. When he came back some hour later, he found something unexpected. New sequence had to repeat the old one. However, although he rewrote numbers correctly, the curve that represented the result, started to deviate from the original sequence pretty fast. Soon, he discovered what seem to be the problem. The numbers inside computer memory are stored with six decimal places, while there were only three on the paper. Lorenz entered short, rounded numbers, assuming that the difference, smaller then one in a thousand, isn't significant. That was a reasonable assumption. Meteorological stations can't achieve that kind of precision. That little miscalculation was like a breeze and who would expect breeze to change the behavior of a tornado. Nevertheless, it seems that it does. In short, this is in fact where "butterfly effect" idea came from.
Lorenz Waterwheel Simulator
One model of chaotic behavior suggested by Lorenz, represents special type of waterwheel, later known as Lorenzian Waterwheel. It is a simple device showing strangely complicated motion. Let's imagine a wheel with buckets filled with water attached. Every bucket has a hole for water to drain. Water is purring from the top at constant rate. When the buckets are starting to fill up, friction is overcome and the weight of a bucket starts to turn the wheel. But, small change in starting parameters may in time generate totally different behaviors of a waterwheel.
For my project in windows programming a chose to create a simulation of that chaotic waterwheel. It's written in C++ language, using MS Visual Studio .NET and MFC class library. You can download program here:
Download: Lorenz Waterwheel (290 kb zip) .
Apart from .exe itself, you'll probably need something else so you can download needed dlls from this locations. Dlls have to be in system folder or in the same folder with Waterwheel.
In my simulation you can find all 4 possible models of behavior:
- it can stop rotating
- it can rotate constantly on one side
- it can rotate periodically on one side then on other etc.
- it can rotate totally chaotically
You can change parameters of friction and water flow, size of a buckets and density of graph showing speed and rotation direction. Experiment as you like. Interface is very simple and looks like this:
References & links
source code:
books:
links: