julia - make a plot a Julia set

julia-helporjulia[-widthinteger][-heightinteger][-maxitinteger][-levelsinteger][-baildouble][-ulxdouble][-ulydouble][-llydouble][-crdouble][-cidou-ble][-boxinteger][-bulxdouble][-bulydouble][-bllydouble][-idivinteger][-rev][-inv][-maginteger][-termstring]

A Julia set is drawn according to the specified parame- ters. The image is computed by iterating the complex equation z(t) = (z(t-1))^2 + c, where c = (cr + ci) is the complex point that determines which Julia set is being computed and z = (x + yi) corresponds to an (x, y) screen coordinate with the initial value ofz(0)= 0. If the system 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.

-widthintegerWidth of the plot in pixels.-heightintegerHeight of the plot in pixels.-maxitintegerMaximum number of iterations before automatic bail- out.-levelsintegerNumber of plot (gray) levels to use.-baildoubleValue of |z| to end iteration, i.e., the bailout value.-ulxdoubleUpper-left corner x-coordinate.-ulydoubleUpper-left corner y-coordinate.-llydoubleLower-left corner y-coordinate.-crdoubleReal component of c.-cidoubleimaginary component of c.-boxintegerLine width for a box. If zero, no box is drawn.-bulxdoubleBox's upper-left x-coordinate.-bulydoubleBox's upper-left y-coordinate.-bllydoubleBox's lower-left y-coordinate.-idivintegerIteration divisor. When greater than one, this creates a banding effect.-revReverse all colors but first?-invInvert all colors?-magintegerMagnification factor.-termstringhow to plot points

The four permutations of using or not using -rev and -inv will yield four different coloring schemes. Try it and see.

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 work similarly.

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.

Man(1) output converted with man2html