Chaos Game Representation (CGR) is a method of converting a long one-dimensional sequence, e.g. English text or genetic sequences, into a graphical form. It's essentially the application of non-random input to an iterated function system, and was developed by H. Joel Jeffrey.

These CGRs are based on an alphabet containing ASCII characters from code 32 through 126, which consists of the alphabet in upper and lower case and punctuation. The characters are arranged in a circle, with consecutive characters about 90 degrees apart.

Random digits 0-9 with a uniform distribution. The square shape is due to the digits being clustered in four places 90 degrees apart on the circle.

Random digits 0-9, non-uniform distribution; Digits 0-4 are twice as likely as 5-9.

Lisp source code. Lots of dashes, semicolons, parentheses and spaces.

C source code.

Email text.

Random text, letters [A-Za-z] and spaces, with spaces making up one tenth of the text.

Random text, letters [A-Za-z] and spaces, spaces comprising one third of the text.

Random text, letters [A-Za-z] and spaces, where spaces make up two thirds of the text.

These CGRs folded their input alphabet into only 4 characters, arranged at the vertices of a square--which was enough to distinguish highly structured input from unstructured input.

Random digits 0-3, uniform distribution | Lisp source |

C++ source code | Email folder text |

- cgr.lisp, the Macintosh Common Lisp code
that created most of the images on this page.
- Chaos
Game Java applet at the Dynamical Systems and Technology
Project at Boston University. They have other
information on the chaos game too.
- Automatic
Generation of Iterated Function Systems.
- Discombobulating
Sierpienski triangle (700K, 4:1 compressible, non-streaming).

John Wiseman / wiseman@inetmi.com
July 12, 1998 |