AIPS HELP file for MANDL in 31DEC22
As of Fri Dec 1 11:57:23 2023
MANDL: Create a sub-section of the MANDLEBROT Set
OBJECT Source name
IMSIZE Output image size (cells)
CELLSIZE Cellsize (0=Fill X-Y Range)
OUTNAME Output image name (name)
OUTCLASS Output image name (class)
OUTSEQ -1.0 9999.0 Output image name (seq. #)
OUTDISK 0.0 9.0 Output image disk unit #.
CPARM Set Region selection,
5:Max Value for Set (0=> 256)
Task: Mandelbrot set capability for AIPS. Can make an image as
large as is desired, but is limited by the dynamic range
of floating point numbers.
Note: Setting all numeric parameters to zero causes the whole
set to be calculated.
Glen Langstion, MPIfR and MIT, October 1987
IMSIZE.....Desired image size in cells.
CELLSIZE...Desired cell spacing, currently assumes sec.
The mandelbrot set is only interesting in the -2
to 1 range in x and -1 to 1 in y, so for a 256x256
image, 0.012 gives the whole region. For
CELLSIZE=0, the X and Y min and max are used to
calculate the CELLSIZE.
OUTNAME....Output image name (name). Standard behavior
with default = 'MANDELBRO'.
OUTCLASS...Output image name (class). Standard defaults.
OUTSEQ.....Output image name (seq. #). 0 => highest unique.
OUTDISK....Disk drive # of output image. 0 => highest number
with sufficient space.
CPARM......1:XMin, 2:YMin, 3:XMax, 4:YMax
Used in combination with cells to calculate the map
center and scale
MANDL: Task which creates and fills an AIPS catalogue image
file with a section of the Mandelbrot Set.
DOCUMENTOR: Glen Langston, MPIfR and MIT
MANDL is designed as a thought provoking display of a very
simple mathmatical function. The algorthym is a very simple
recursive calculation, using the initial coordinate of the
point at each set of the calculation.
The algorithm is as follows:
For each point, (x,y), in the desired section of the
plane, calculate the complex square of this point.
If the magnitude is greater than 2, stop at this
If it is not, add the inital x,y coordinate and
repeat until tired. (Here 256)
In Coded Form:
z1 = 0
z2 = 0
FOR I = 1 to 256
z1 = z1 + x
z2 = z2 + y
znext1 = z1*z1 - z2*z2
z2 = 2*z1*z2
z1 = znext1
zmag = sqrt(z1*z1+z2*z2)
if (zmag .gt. 2) return i