*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> mandel (6)              


MANDEL(6D)							    MANDEL(6D)

NAME    [Toc]    [Back]

     mandel - display of Mandelbrot and	Julia set images

SYNOPSIS    [Toc]    [Back]

     mandel [-fjmopv] [-c <coord>] [-i max_iterations]
     [-n num_local_processes] [fname]


DESCRIPTION    [Toc]    [Back]

     Mandel is a program for exploring the Mandelbrot set and displaying
     Mandelbrot	and Julia images.  The demo consists of	two executables:
     mandel and	mandelzoom.  The mandel	program	does mandelbrot	calculations
     and also displays the resulting images.  By default, it does this on a
     single host.  However, mandel is capable of connecting to remote hosts
     which can contribute to the calculations.	For this to happen, the
     mandelzoom	program	must exist on the desired remote host(s).  mandel can
     then cause	the remote mandelzoom programs to start	executing, and it can
     connect to	them.

   Resource File    [Toc]    [Back]
     When mandel executes, it looks for	a file named '.mandelrc,' first	in the
     current working directory and then	in the home directory.	This file
     contains a	list of	host names and directory names where mandelzoom	can be
     found, and	also the values	of some	other options.	See the
     mandelrc.sample file in the /usr/demos/General_Demos/mandel directory as
     a sample.

     If	no .mandelrc file exists, mandel simply	creates	one or more processes
     on	the local machine to do	the calculations, and it connects to these
     process using unix	pipes.	The number of processes	depends	on the number
     of	cpus.

     Within the	.mandelrc file you may specify initial values for some of the
     options used by the mandel	program. Allowable types of lines are as

     1.	  zoomdir:  dirname

	  "dirname" is the directory name where	mandelzoom resides.  The
	  default zoomdir is /usr/demos/General_Demos/mandel.

     2.	  logname: lname

	  "lname" will be used as the default login name when making
	  connections to hosts.

     3.	  passwd: defpasswd

	  This specifies the default passwd to be used with the	default	login
	  name.	 Two quotes ("") denote	an empty string.

									Page 1

MANDEL(6D)							    MANDEL(6D)

	  (Currently passwd is ignored.)

     4.	  remhosts: hostname [-l loginname] [-p	passwd]	[dirname]

	  mandelzoom is	expected to reside in "dirname"	on the host
	  "hostname."  If a directory name is not specified, then zoomdir is

     5.	  color	dir: dirname

	  "dirname" is the pathname of the directory containing	mandel color

     6.	  row delta: <n>

     7.	  rows per farmout: <n>

     8.	  interpolate data: "yes" or "no"

     9.	  sparse rows: "yes" or	"no" or	"use threshold"

     10.  sparse thresh: <n>

     11.  num local procs: <n>

	  This is the number of	local process created to do mandel/julia
	  calculations.	 This is done entirely within mandel.  This count does
	  not include any mandelzoom executions.

     12.  rexec	timeout: <n>

	  This is the maximum number of	seconds	mandel will take in starting
	  up a mandelzoom execution before it gives up.

     13.  color	distrib: "linear" or "maximize [n]"

	  where	n is 1,	2, or 3	(or n may be omitted).

     Default values are	used if	none of	the above are given.

     14.  A comment line, denoted by a "#" as the first	character in a line.

     The mandelzoom program can	be placed on up	to MAXHOSTS remote hosts.
     MAXHOSTS is initialized to	be 50.	For those users	who installed the demo
     source, MAXHOSTS is defined in mangfx.h.

   Options    [Toc]    [Back]
     The mandel	program	may take options and arguments.

     mandel options

									Page 2

MANDEL(6D)							    MANDEL(6D)

     -c	 <coord>   A coordinate	is to follow instead of	fname.

		   Coord format: xcorner ycorner side [seedr seedi]

		   xcorner, ycorner (xcorner, ycorner) = complex coordinate of
		   the lower left corner of the	rectangle.  In screen (pixel)
		   coordinates,	the rectangle has corners (0, ymin) and
		   (xmax-1, ymax-1).

		   side	side = horizontal length of the	complex	rectangle.

		   seedr, seedi	(seedr,	seedi) = coordinate of the (Julia)
		   seed	point.	seedr &	seedi exist only in the	"extended
		   format" implied by the -j option.

     -f		   Use a fixed-size window.  fname is displayed	with the same
		   size	as when	it was saved.

     -i	 <n>	   Specify number of iterations	to use for calculations.

     -j		   Do Julia calculations instead of Mandelbrot.	 Only
		   applicable if coordinate is given.  Also, implies that
		   coord is an "extended coordinate" containing	a seed point.

     -m		   max-precision floating point	(128-bits).

     -n	 <n>	   Number of local (non-network) processes mandel uses for

     -o		   Compatibility with some old IRIS GL programs	which use
		   color cells 256 - 640.

     -p		   Calculation processes will send compressed data.  (Useful
		   if network bandwith is a limitation).

     -v		   Variable-size window.

     fname	   Name	of file	containing mandelbrot data.  If	fname is
		   omitted, the	image will be generated.

     mandelzoom	options

     The mandelzoom program does not take any command line options.  However,
     it	reads various commands from stdin, and it writes mandelbrot data to

   Operation    [Toc]    [Back]
     The left mouse button is used to drag out a rectangular area which	will
     be	zoomed.	 (This operation may be	cancelled by pressing either middle
     mouse or the ESCAPE key while left	mouse is still down.)

									Page 3

MANDEL(6D)							    MANDEL(6D)

     The right mouse button brings up the menu.	 The menu items	are as

     generate	   allows you to re-generate the current picture (either
		   zoomed or not), or to re-generate the previous image.  From
		   this	menu, selecting	current	causes the current picture to
		   be re-generated.  Previous re-creates the previously
		   displayed picture.  First pic displays the first image.
		   Home	displays the initial mandelbrot	set.  Zoom out allows
		   you to zoom out from	the current image by one of a given
		   range of zoom values.

     change colors allows you to select	one of several color ramps.

     color distribution
		   specifies how mandel	maps the number	of colors from the
		   mandel data onto the	number of display colors.  The choices

			maximize colors	1
			maximize colors	2
			maximize colors	3.

		   If there are	32768 mandel data colors and, say, 4096
		   display colors, then	linear causes the first	8 colors 0 - 7
		   to be mapped	to color 0 of the display, colors 8 - 15 to be
		   mapped to display color 1, etc.  Unfortunately, the mandel
		   data	for a small rectangle might contain only some of the
		   possible values 0 - 32767, and then the image displayed can
		   appear to be	mostly all the same color.  Choosing one of
		   the maximize	colors selections remedies this	situation.
		   Internally, a histogram is created from the mandel data,
		   and then the	data is	mapped to the display such that	the
		   resulting picture should have a good	distribution of
		   colors.  As n increases in "maximize	colors n", the less
		   skewed the distribution of colors.

		   Note	that the various "maximize colors n" selections	behave
		   differently only if the number of distinct values in	the
		   mandel data is less than the	number of display colors used
		   by the mandel program.  (If the hardware has	more than 8
		   bit planes, mandel does 12-bit color-index drawing, and
		   uses	somewhat less than the 4096 entries in the colormap.)
		   So, ... if an image was generated with a large iteration
		   count, and if that image contains lots of different color
		   values, then	the 3 "maximize	colors"	selections will	all do
		   the same thing, which will still be different than the
		   "linear" selection.

									Page 4

MANDEL(6D)							    MANDEL(6D)

     #iterations   selects the number of iterations to be performed from a
		   range of values.

     save	   allows you to save the current image	in one of 2 formats:
		   mandel format or SGI	RGB format.  A file saved in the
		   "mandel format" contains coordinate data, and if such a
		   file	is given as an argument	to mandel, mandel will allow
		   further zoom-in operations, etc., to	be done	on the
		   displayed picture.  Alternatively, the coordinate data for
		   the current picture can be saved to a file.	(If the	latter
		   is done, the	picture	can be re-generated with

			mandel -c `cat fname`

		   where fname is the name of the file containing the
		   coordinate data.)

     mode	   selects Mandelbrot or Julia set.  If	Julia is selected, a
		   crosshair cursor appears for	selecting the seed point.  Use
		   the left mouse button to pick a point.

     floating pt prec
		   Choose between double precision floating point (64-bit) or
		   long	double (128-bit).

     configuration allows the user to select from the following	submenu.

		   interpolate.	If row delta (see below) is > n, the picture
		   is generated	in n passes.  Eventually, every	scanline of
		   the picture is generated.  However, each pass contains only
		   1/n-th (approx.) of the total scanlines, and	up till	the
		   final pass, there are gaps in the picture.  As a scanline
		   is generated, if there is a gap between that	scanline and
		   the one below or above it, and if interpolate is set	to
		   "yes," this causes the gaps to be filled in with
		   "reasonable"	mandelbrot data	(by interpolating between the
		   filled-in scanlines).

		   row delta. If delta = 1, then rows are computed in the
		   order ymin, ymin+1, ymin+2, ...  However, if	delta >	1,
		   then	rows are computed in the order ymin, ymin + d, ymin +
		   d*2,	..., followed by ymin +	k, ymin	+ d + k, ymin +	d*2 +
		   k, ...  for appropriate k's until the picture is done.

		   (Note:  If row delta	> 1 and	"interpolate" is "yes,"	this
		   allows an approximately accurate picture to be generated n
		   times faster	than by	generating the entire picture with no

		   rows	per farmout specifies the number of rows at a time
		   which each host is given to calculate.  If equal to 1, the
		   computation is most equally divided among the hosts;

									Page 5

MANDEL(6D)							    MANDEL(6D)

		   however, this causes	more network overhead, since mandel
		   has to send out a command (to some remote host) for every

		   sparse passes. If "sparse passes" is	"yes," this causes the
		   first pass (and only	the first pass)	to be split into 2
		   "sparse" passes, where each sparse pass is done by
		   computing every other pixel of the scanline.	 For example,
		   with	row delta = 2 and "sparse rows"	set to "yes", we have:

			pass 1a	- every	even pixel of scanlines	1, 3, 5, ...
			pass 1b	- every	odd pixel of scanlines 1, 3, 5,	...
			pass 2	- scanlines 2, 4, 6, ...

		   The default is that the first pass is split into two	sparse
		   passes only if

		       (#pixels	per scanline) *	(max iterations	per pixel) >=

		   where "threshold" = 1,000,000.  The idea is that the
		   threshold will be exceeded only if the picture becomes
		   large and computationally expensive to generate.  The
		   default threshold can be modified by	specifying an
		   alternate value in the .mandelrc file.

     stop drawing  causes the processes	doing calculations to stop, and	causes
		   the current image to	stop drawing.

     exit	   quits the program.

   Error Handling    [Toc]    [Back]
     When mandel encounters an error when reading data from a remote host, it
     will stop reading from that host for the duration of the current picture
     generation, but will try to use that host again next time,	for the	next

   Color files    [Toc]    [Back]
     mandel contains several default color maps, but it	will look for
     alternate or additional color maps	in data	files beginning	with the name
     "color".  If you have a file named	"colorxy," then	"xy" will show up in
     the colors	menu.

     By	default	these color files are searched for in the directory named
     "colors", but you may specify a different directory name by having	a
     "color dir" entry in .mandelrc.

     Each line in a "color" file specifies a color by

	     <red intensity>  <blue intensity>	<blue intensity>

     with intensities ranging from 0 to	255.  Intensities may be delimited by

									Page 6

MANDEL(6D)							    MANDEL(6D)

     commas, spaces, or	tabs.

     The first color is	that of	the mandelbrot set and is usually black
     (0,0,0).  Smooth ramps are	made between the remaining colors, and the
     non-black part of the picture is drawn using those	ramps.

     Example of	color file contents:
	     0 0 0
	     40	0 0
	     240 0 0
	     240, 240, 0
	     240, 240, 240

   Region Selections with the Mouse    [Toc]    [Back]
     After a picture is	displayed, the left mouse button can be	used to	select
     a new region to zoom in on.  If the "Julia" mode is selected after	first
     displaying	a mandelbrot image, then the left mouse	button is used for
     selecting a seed point for	the Julia calculations.

     When the left mouse button	is being used to select	a region or seed
     point, the	selection can be aborted by depressing either the middle or
     right mouse buttons or the	escape key.

   Building    [Toc]    [Back]
     If	you chose to install the demo source, you will have received the
     source code for the mandelzoom program and	a generic Makefile to build
     the binary.  The mandelzoom source	files are very portable	(except	for
     assumptions about sizes of	certain	data types). If	you copy the
     mandelzoom	source files (*), along	with Makefile.generic, to just about
     any unix machine, and type
	     make -f Makefile.generic mandelzoom
     the resulting mandelzoom program should work.
     (*) The file "zoomsrc" contains a list of the mandelzoom source files.

AUTHOR    [Toc]    [Back]

     Dave Spalding

									PPPPaaaaggggeeee 7777
[ Back ]
 Similar pages
Name OS Title
bitmap IRIX Images that display two colors
photo IRIX Full-color images
image IRIX Create and manipulate images
dmSetImageDefaults IRIX parameters for digital-media images
capture IRIX record movies, images, or sounds
gcore FreeBSD get core images of running process
pnch IRIX file format for card images
bzlogo IRIX convert SGI images to the logo format for bz
ipaint IRIX Paint using bitmap images as brushes
fxMovieRenderImage IRIX transfer images between movies and special effects
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service