mandel - make a plot the Mandelbrot set
mandel [-width integer] [-height integer] [-maxit integer]
[-levels integer] [-bail double] [-ulx double]
[-uly double] [-lly double] [-box integer] [-bulx
double] [-buly double] [-blly double] [-idiv inte-
ger] [-rev] [-inv] [-mag integer] [-term string]
The Mandelbrot set is drawn according to the specified
parameters. The image is computed by iterating the com-
plex equation z(t) = (z(t-1))^2 + c, where c is the com-
plex point (x + yi) that corresponds to an (x, y) screen
coordinate and the initial value of z(0) = 0. If the sys-
tem diverges at time k (i.e., |z(k)| > BAIL) then a point
at (x, y) is plotted with the grayscale color (k / IDIV +
(k % IDIV) * (LEVELS / IDIV)) % LEVELS), which reduces to
(k % LEVELS) with an IDIV of 1.
Width of the plot in pixels.
Height of the plot in pixels.
Maximum number of iterations before automatic bail-
Number of plot (gray) levels to use.
Value of |z| to end iteration, i.e., the bailout
Upper-left corner x-coordinate.
Upper-left corner y-coordinate.
Lower-left corner y-coordinate.
Line width for a box. If zero, no box is drawn.
Box's upper-left x-coordinate.
Box's upper-left y-coordinate.
Box's lower-left y-coordinate.
Iteration divisor. When greater than one, this
creates a banding effect.
-rev Reverse all colors but first?
-inv Invert all colors?
How to plot points.
The four permutations of using or not using -rev and -inv
will yield four different coloring schemes. Try it and
The method for choosing the viewable region may seem
counter-intuitive at first, but it has some nice proper-
ties. In particular, selecting the exact (x, y) coordi-
nates for the upper-left corner and only selecting the
lower right y coordinate forces both the x and y scales to
be identical since all scales are uniquely determined by
these values along with the plot width and height. If you
then change the width or height of the plot, the relative
scales will still match up. The options for making a box
No sanity checks are performed to make sure that any of
the options make sense. In particular, the bounding cor-
ners can be screwed up, and division by zero can occur
with a malicious setting of IDIV.
Copyright (c) 1997, Gary William Flake.
Permission granted for any use according to the standard
GNU ``copyleft'' agreement provided that the author's com-
ments are neither modified nor removed. No warranty is
given or implied.