Perturbed quadratic maps.

ALT="The applet screen"> Java does not seem to be supported on this machine.

What these pictures mean

This fractal drawing applet finds points of the complex plane C that do not escape to infinity under the iteration of a perturbed quadratic map. The general formula for a perturbed quadratic map is f_E(z)=z^2+C+(E/(z-D)). E is usually a small number, hence the name: the map is obtained from a usual quadratic map by adding a perturbation. You can specify the value of E by typing it in the top field between the two screens.

To produce the picture on the left-hand screen, the given rectangular region of C is covered with a mesh 300 points wide and 300 points high. Each of those points is iterated until the iterates become relatively large in absolute value (so the orbit escapes to infinity), or until N iterations have been performed, whichever comes first. The point is then colored according to the number of iterations it took it to escape to infinity. The lighter the color of the point, the sooner it escapes. The points that do not escape to infinity after N iterations are colored black.

You can change N in the "Max.iterations" field under the left-hand screen. Increasing N will improve the precision of the picture; however, it will also make the computations more formidable, so increasing N is not recommended on slow machines.

The right-hand screen displays the set of values of E for which at least one critical point of the map does not escape to infinity. It is the equivalent of the Mandelbrot set for quadratic maps: for all values of E outside the pitch-black set, the map cannot have any attracting periodic cycles.

The picture is produced in much the same way as the picture on the left-hand screen. A rectangular region in C is again covered with a 300x300 mesh of points, but this time each point corresponds to a value of E. For that value of E, each of the three critical points of f_E(z) is iterated until it escapes or until M iterations pass, whichever comes first. In this way the applet gets three numbers corresponding to three critical points. The point of the screen is colored according to the maximum of those numbers. (E.g. if the first critical point escapes after 18 iterations; the second one, after 23; and the third one, after 11, then the point is painted with color 23.)

The critical number of iterations M for the right-hand screen can be changed in the "Max. iterations" field under that screen.


How to use this applet

Zooming in or out

You can change the zoom either "by hand" or with a mouse.

To zoom "by hand":

  1. Enter the coordinates of the desired rectangular region in the text fields labeled "Lower left corner" and "Upper right corner" under the z-screen or E-screen.
  2. Press the "Redraw" button.

To zoom in with a mouse on a rectangular region in either of the screens:

  1. Position the mouse at one corner of the desired region.
  2. Press the left mouse button and drag the cursor to the opposite corner of the region without releasing the button.
  3. Release the left mouse button. A white rectangle on the screen will show the chosen region, and the region's coordinates will also show in the text fields marked "Lower left corner" and "Upper right corner".
  4. If you want to change the region, simply repeat the process.
  5. Press the "Redraw" button.

Note that zooming out can only be performed "by hand". Here is a good rule of thumb for zooming out: for reasonably small values of parameters the square |x|<2, |y|<2 will contain the entire fractal in the z-plane, while the square |x|<1, |y|<1 will contain the fractal in the E-plane.

You can also click the "Restore defaults" button to return to the default zoom. However, this will also restore the default values of the function parameters.

Changing the parameters of the iterated function:

  1. Enter the desired values of parameters in the corresponding text fields.
  2. Press the "Redraw" button.

Viewing the orbit of a point

To view the orbit of a point, you should first select that point. That can be done either by clicking it once on the z-screen, or by entering its coordinates in the text fields marked "Iterate point". Note that the selected point is not displayed on the z-screen.

Once the point has been selected, enter the desired number of iterations and press the "Iterate" button. The iterates of the selected point will be displayed as white squares on the z-screen. Also, a list of their coordinates will appear under the "Iterate" button.

The iteration process stops if one of the iterates is larger than 100 in absolute value. (For all reasonable values of the parameters, that means that the orbit escapes to infinity).

You can also double-click a point on the z-screen to view its orbit. Double-clicking a point works the same way as clicking it once and pressing the "Iterate" button.

Choosing a value of E from the E-screen

You can select a value of E from the E-screen by clicking it once. Its coordinates will show in the text area marked "E=", and the point will be marked by a white square on the E-screen. The z-fractal is not recalculated for that value of E, unless you press the "Redraw" button or double-click that value.

Preparing and displaying animations

The applet allows you to watch how the z-fractal depends on the changes of E. To do that, you should define a path in the E-plane; the applet will then display the change in the z-fractal as E travels along the chosen path. Follow these guidelines to define a path:

  1. The path is always a polyline, and it cannot contain more than nine segments. The values of E connected by the path are displayed on the E-screen, and also shown in the list marked "Sequence of E-s for animation."
  2. To add a value at the end of the list, either select it on the E-plane or enter it in the text field for E, and then press the "Add current E" button. (If you enter the value in the text field, it will not show on the E-plane until you press the button).
  3. To remove a value, select it in the list by clicking once on it, and click the "Remove" button.
To produce an animation for the chosen path (which has to contain at least one segment), click the "Animate" button. The applet will make eight frames for each segment, so the calculation can take a while, especially if you are running the applet on a slow machine. The progress will be displayed under the "Animate" button. Once all frames are completed, they are displayed one by one at the rate of four frames per second.

To replay the animation, click the "Animate" button. If you have not changed zoom in the z-plane, and have not edited the path since the last animation, the applet will start displaying the frames immediately, so you do not have to wait.

The golden rule

The golden rule is: this applet is not an idiot-proof program. Given enough skill and patience, one can easily make it crush. If that is not your goal, do not torture it with indigestible input. That is, do not enter letters, Roman numbers, arithmetic operations etc. in the text fields, and do not enter non-integer numbers in the field for the number of iterations. Also, do not click buttons, change entries, etc. while the applet is computing the frames for animation: such actions can also cause it to become unstable. Finally, some problems have been observed with this applet when the system is restoring from "Stand by" mode. So, if your computer has just awakened and the applet does not work, it is best to re-start the applet (just by reloading the page containing it).