This is the first release of "fastmapmap", a program I wrote that plots 2D chaotic maps.
A discrete chaotic map will take the point (x,y) to a new (x_, y_) based on a function.
For example, the Henon map takes the point (x,y) to (y+1-a*x*x, b*x), where a and b are constants.
One can draw a "portrait" of a map by choosing an (x0, y0) and repeatedly evaluating the function,
shading in each point that is landed on.
Depending on the values of a and b, sometimes the point moves off to become very large, or sometimes
the point alternates jumping between two or more values. Other times, the points shade in a region in a complicated way,
never repeating, which is a chaotic orbit.
The program fastmapmap can draw these portraits in real time. (I put some effort into optimization). The parameters a and b can be quickly changed
with the arrow keys. The plot can be easily navigated; hold alt and drag the mouse to zoom in on a region.
The program is called fastmapmap because an additional plot can be drawn that is a
"map" of the behavior of the map. The x axis represents the constant a and the y axis is b.
In this plot, black areas are periodic, red areas escape to infinity, and colored areas are chaotic.
So, the plot can depict which parameter values may be interesting to observe.
It's cross-platform, tested in Windows and Ubuntu. Try it!
Download Windows | Source (GPL)
A short tutorial:
Tap the right arrow a bit to change the value of a.
Press Ctrl-s, type 'test', and press Enter to save as test.cfg
Ctrl-click on the shape to zoom in, Shift-click to zoom out
Press Ctrl-o, type 'test' and press Enter to open our test.cfg
Press Alt-b and watch the shapes move
Press Alt-b again to stop movement
Click the cross-hairs icon to show the diagram. Click in the diagram.
Click the "..." icon to read what else can be done.
The program can easily create animations. Hit Alt-B and watch the shapes start to move. Use Ctrl-F1 through Ctrl-F9 to set a keyframe. Refer to
readme.txt for all of the other features.
I came up with other drawing modes. In the following, x and y represent x0 and y0, and the color is chosen according to the value after 20 iterations.
Assigning colors based on quadrant:
I invented this drawing method originally as way of depicting the action of the Henon map.