What happens when you perform a simple mathematical operation many times?
For example, Newton's method for finding the zeros of the polynomial Z3=1 repeatedly applies a simple function to
refine your first guess.
Zn+1 = Zn - (Zn3 - 1)/(3 Zn2) + C, starting from Z0 = 1.
If C is zero, this is Newton's method.
Z may either converge to a solution or bounce around unendingly between several separate points.
What it does depends (in an infinitely-detailed way) on the starting point Z0.
Adding the constant C produces the Nova Set, which is defined as the set of all values of C for which the iteration does not converge when Z0 = 1.
The image is of the C plane: points within the set are black, others are coloured according to how quickly
they converge. Moving the mouse over the image will produce white dots showing the trajectory of Z as it evolves.
Other controls allow you to navigate the plane and zoom in to see progressively more detail.
The Julia set is closely related. It is defined by the same equations but uses a fixed parameter C and variable starting value Z0, and the filled Julia set is the set of values of Z0 for which the iteration does not converge. The Julia set is plotted by first clicking a point in the Mandelbrot set to choose C, then switching to the Julia display.
The program uses several tricks to make it (reasonably) fast, but using Javascript there are limits to how far it can go. The deeper you zoom, the slower it will be, especially if much of the image is black, and at very high zoom levels the image will start to lose detail as the floating point numbers run out of precision.
(Note that the zoom levels are logarithmic - level 0 just allows the entire figure to fit on the page, and each
increase of 1 unit doubles the magnification.
Zoom level 32 is a magnification of 4294967296 times.)
Click | to get information about a point. |
---|---|
Drag | to pan the image. |
Scroll | to zoom in and out at a point. |
Control-click | to zoom out. |
Shift-drag | to select a region and zoom to it. |
Reset | Scale the display to show the entire set |
---|---|
Move to | Move the last tapped point to the centre |
Zoom in | Increase magnification |
Zoom out | Decrease magnification |
Stop | Stop the current operation |
Calculate | Show data for the centre point |
Orbit | Show orbit for the centre point |
Julia | Switch to/from the Julia set with the last tapped point as its parameter |
Help | Show this information |
This animation is really designed for desktop computers with a mouse, but it can still be used on mobile devices, though some devices may scale it wrongly. Without a mouse it can't show continuously-updated coordinates or orbits, but tapping 'Move to' will move the last point tapped to the centre, and the 'Calculate' or 'Orbit' button will display the escape count or orbit of the centre point.
Tap | to get information about a point. |
---|---|
Drag | to view orbits |
Drag with two fingers | to pan. |
Pinch | to zoom. |