The Lyapunov Exponent: Executable or Text Version

Certain mathematical equations vary in their reaction to errors in initial conditions. The Lyapunov Exponent provides a way to map this susceptibility graphically. Alexander Lyapunov was a Russian mathematician who died in 1918. Sensitivity to errors is one of the hallmarks of mathematical chaos, along with repeated cycles and "mixing" behaviour.

The simplest situation showing a very complex pattern of chaotic / non-chaotic behaviour is recursive application of the Logistic Equation:

P(X) = p.X.(a-X)

Those interested in the detailed mathematics explained accessibly should read the article Extracting Beauty from Chaos by Cambridge University researcher Andy Burbanks. Just as Andy Burbanks does, my program uses TWO versions of the above Logistic Equation, P(X) and Q(X), with a 2-D picture plotted of p versus q.

The Life Program: Executable or Text Version

The so-called Life Program was a common topic for BASIC programmers back in the 1970's before PCs arrived on the scene.
My program shows how complex patterns will emerge from an initial random distribution of "cells", coloured according to their age. The rules for development are extremely simple. For example, cells may reproduce when there are two of them together, and they die at a fixed age.

I have COMPLETELY REWRITTEN this program in September 2017 to use a 500x500 bitmap, using the blue channel to track the age of cells.


3-D Fractal: Executable or Text Version

Using a sequence two affine transformations which are chosen according to pre-set probabilities, this program generates fully 3-D fractals. Sometimes they look a bit like ferns or lichen growths, other times somewhat outlandish 3-D splashes of colour.

Once the fractal has been generated, the resultant 3-D pixel-map is rotated in full 3-D perspective, to provide a proper feeling of 3-dimensional depth.

Prim Algorithm: Executable or Text Version

I have used the feature of BB4W Procedures to recursively call the same Procedure in order to drastically speed up my implementation of the Prim Algorithm for finding a Minimum Spanning Tree.

PrimMove: Executable or Text Version

Implements a MOVING version of the Prim Algorithm whereby the minimum spanning tree is continually updated, as the initial points move around.

Return to Top Page

Next Page