********************************** *................................* *. .* *. .* *. A Guide to Using .* *. .* *. FRACTINT .* *. .* *. PART II .* *. .* *. .* *. (for Version 15.1) .* *. .* *. .* *................................* ********************************** A TOY FOR PEOPLE WHO THINK (brought to you by the Ideal Studies BBS) ------------------------------------------------------- NONLINEAR DYNAMICS, FRACTAL GEOMETRY, CELLULAR AUTOMATA Worcester, MA (508) 757-1806 Sysop: Peter Longo ------------------------------------------------------- (and by reed/write & Company) February, 1991 Version 1.0 ======================= = = = Table of Contents = = = ======================= ADAPTER=c|e|m 4 AMBIENT=nnn (0 - 100) 5 ASKVIDEO=y|n 7 BAILOUT=nnn 8 BATCH=y 10 BATCH=config 13 BIOMORPH=nnn 22 BRIGHT=nn/nn 24 CENTER-MAG=Xctr/Yctr/Mag 26 COMPORT=port/baud/options 27 CONVERGE=nn 28 CORNERS=xmin/xmax/ymin/ymax[/x3rd/y3rd] 29 CROP=nn/nn/nn/nn 33 CYCLELIMIT=nnn 34 DECOMP=2|4|8|16|32|64|128|256 35 DISTEST=nnn 37 EPSF=1|2|3 39 EXITMODE=nn 40 FILENAME=name 41 FILLTYPE=nn 43 FINATTRACT=y 44 FLOAT=y 46 FORMULAFILE=formulafilename 48 FULLCOLOR=y|1 62 FUNCTION=sin|cos|sinh|cosh|exp|log|sqr 63 GIF87a=y 66 HALFTONE=freq/angle/style 67 HAZE=nnn (0 - 100) 68 HERTZ=nnn 69 IFS=filename 70 IFSCODES=N/a/b/c/d/e/f/g/h 75 INITORBIT=nnn/nnn 76 INSIDE=0|-1|nnn|bof60|bof61 87 INTEROCULAR=nn 91 INVERT=radius/xcenter/ycenter 92 Table of Contents (Continued) ITERINCR=nnn 94 LATITUDE=nn/nn 95 LFILE=lsystemfile 97 LNAME=lsystemname 97 LIGHTNAME= 105 LIGHTSOURCE=xx/yy/zz 107 LOGMAP=y|old|n 109 LONGITUDE=nn/nn 111 MAP=filename 112 MAXITER=nnn 115 OUTSIDE=nnn 116 OVERWRITE=n|y 117 PARAMS=n/n/n/n... 118 PASSES=1|2|g|b 121 PERIODICITY=no|show|nnn|-nnn 123 PERSPECTIVE=nn 124 POTENTIAL=maxcolor[/slope[/modulus[/16bit]]] 126 PREVIEW=y 129 PRINTER=type[/resolution[/port#]] 130 RADIUS=nn 135 RANDOMIZE=n 136 ROTATION=xrot[/yrot[/zrot]] 137 ROUGHNESS=nn 138 RSEED=nnnn 139 SAVENAME=name 140 SAVETIME=nnn 141 SCALEZYZ=nn/nn/nn 142 @SET 143 SHIFT=xshift/yshift 144 SMOOTHING=nn 145 SOUND=off|x|y|z 146 SPHERE=y 147 STEREO=n 148 SYMMETRY=xxx 149 TEXTCOLORS=aa/bb/cc/... 150 TEXTSAFE=y|n 153 3D=y 154 TITLE=y 157 TRANSLATE=y|-n|n 158 TRANSPARENT=min/max 159 TYPE=typename 160 VIDEO=xxx 161 WARN=y|n 162 WATERLINE=nn 163 XYADJUST=nn/nn 164 XYSHIFT=nn/nn 164 Preface This is basically a draft of Part II of this Guide. It has NOT been reviewed by the folks who are part of the Stone Soup Group on CompuServe, mainly because none of them has the time to work on a project of this size. However, Part II is more than 95% accurate and at any rate there are no critical points where an error will cause you severe problems. The point of Fractint is to have fun and the purpose of this manual is to help you to do so by making all of the options understandable and therefore available for your use. Please, please get back to us with any suggested changes of any kind. ====================================================================== A Guide to Fractint: Part II ====================================================================== This volume of the Guide will cover all of Fractint's options. These will be presented in order by the name which is used to set or select the option in batch mode. Any options which have no corresponding batch parameter will be inserted in alphabetic order with a comment stating that there is no batch argument. A batch argument is one which may be used on the DOS command line when Fractint is executed. For example, fractint map=chroma will execute fractint and set the initial palette to that in the file named "chroma.map". In this case "map" is a batch option and "chroma" is its parameter (or argument). The reason that these are called "batch" options is because if you are displaying a fractal image and press the key then a fractint command line is written to a file named frabatch.bat which contains all of the options and parameters needed to re-create that fractal. You can then create it by entering-- frabatch at the DOS prompt. For example, if you press while the default M-set fractal is displayed then the contents of frabatch.bat will be: fractint type=mandel corners=-2.5/1.5/-1.5/1.5 For further information about these batch options, see the descriptions of "type" and "corners" below. Many of the options take an argument which is a keyword such as "yes" or "no". Fractint only uses the first letter of the argument and ignores the rest, thus you can use either "option=y" or "option=yes" as you wish. You cannot use spaces on either side of the "=" sign, thus if you use "option = y" then this will not be interpreted correctly. You can, if you wish, use ":=" instead of "=", therefore entering "option:=yes" is okay. The colon is simply ignored. Page 1 A Guide to Fractint: Part II Some options take more than one argument and these are separated by slashes as in "option=one/two/three/four". You can omit arguments from the right completely (as in "option=one/two/three" in which the fourth argument is omitted) but if you omit an argument which is not at the right then you must include its position as indicated by the slash (as in "option=/one//three/four" in which the second argument is omitted). Thus, if you want to enter only the fourth argument then you would use "option=////four". When you use more than one option they should be separated by one or more spaces and not by commas or any other punctuation. The entire command must occur on one line and cannot have carriage returns in it. You can enter the options on the command line or you can place them in a file. For example, you can define a file named "set" which contains the following-- video=SF1 textsafe=y inside=0 and reference it when you execute, thus: fractint @set This tells Fractint to obtain the options from a file named "set". You can name the option file any name you wish. The net result of executing the command above is that when Fractint comes up it will display the default M-set immediately without presenting the credits screen, main menu, or select video modes screens. The VIDEO option sets the to SF1. The TEXTSAFE option suppresses the credits screen and prevents Fractint from flickering when it first comes up (it does this while it is checking your video board). This option should only be used after you know that Fractint runs properly on your computer. The INSIDE option sets the default inside color to black which it should be by system default, but isn't. If you regularly use more than one video mode then you can define several option files, for example: fractint @ega fractint @vga256 fractint @vga16 Page 2 A Guide to Fractint: Part II and so forth. Each of these defines a different and associated options. There are many, many other possibilities. For example, you can define an option file so that Fractint automatically comes up using the small window rather than the fullscreen window. You can set which colors you want on the Main Menu (and all of the parameters boxes, etc.) with the TEXTCOLORS option. Command files cannot be nested. However, you can have reference to more than one option file on the command line and you can mix it with other options, for example: fractint @set type=julia @colors Page 3 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ADAPTER=c|e|m oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Normally, Fractint detects which kind of video board you have in your system automatically as it comes up. In rare instances this auto- detection procedure does not operate correctly. If Fractint will not come up at all on your system you could try using this option. The meaning of the argument is: c = cga e = ega m = mcga The default is a VGA adapter. There is no "v" argument--if you have a VGA monitor then you can indicate this by not using this option. This option should only be used if you are having problems with Fractint's auto-detection of your video type. For example, your system may hangup when you first start Fractint. This option can only be set when executing Fractint--it cannot be changed from within the program. Note that when you use the ADAPTER option you may not be able to use the very highest resolution modes supported by that adapter. If using the ADAPTER option does indeed solve the problem and Fractint comes up normally then you should put the ADAPTER statement in a file named SSTOOLS.INI. For details, see the alphabetic entry under SSTOOLS.INI in this manual. Page 4 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo AMBIENT=nnn (0 - 100) oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used when making fractal landscapes. It alters the amount of contrast in the image by changing the depths of the shadows when using the FULLCOLOR and LIGHTSOURCE options. This option is used to control the degree of ambient lighting in full color landscapes which are created as Targa-24 files. Unless you have a Targa board you must convert the output file to a GIF file before viewing it. This cannot be done by Fractint. The PICLAB program can convert a .TGA (Targa file) to a .GIF (Graphics Interchange Format) file. PICLAB (by Lee Crocker) is a freeware image manipulation utility available from Compuserve in PICS Lib 14, as PICLAB.EXE. PICLAB can do very sophisticated resizing and color manipulation of GIF and TGA files. It can be used to reduce 24-bit TGA files to GIF files. From within PICLAB, the commands to convert from a .TGA to a .GIF file are: SET PALETTE 256 SET CREZ 8 TLOAD yourfile.tga MAKEPAL MAP GSAVE yourfile.gif EXIT A value of AMBIENT=0 disables this feature. Values from 1 to 100 lower the amount of contrast, thus 100 is the lowest possible contrast. If you are using the LIGHTSOURCE option to define the direction from which light is being cast upon your landscape and the result looks like the surface of the moon (i.e. it is monochrome and has very dark shadows) then you can correct for this with the AMBIENT option. Page 5 A Guide to Fractint: Part II The AMBIENT option defines the intensity of light from the lightsource, a value of 0 is the most intense and causes the blackest shadows and a value of 100 is least intense and causes the weakest shadows. You can set this option while Fractint is running. First, press the <3> key to get the Select File for 3D Transform list. Or, alternatively you can select this choice from the Main Menu. On the list, select a file to be displayed in 3D and press . You will get the Select Video Modes screen. Usually you would simply press unless you want to change the mode--the one displayed is the one the file was saved in. You will next get the 3D Mode Selection menu. Press and you will get the Select 3D Fill Type screen. Move down to the bottom of the list of options and select one or both of: light source before tranformation light source after transformation and press . You will get a screen on which you are requested to enter the name of the MAP file to be used. If you want to use the same map as the source image file used then simply press . You will then get the Planar 3D Parameters screen. Press and you will get the Light Source Parameters screen. On the Light Source Parameters screen, move the highlight down to the item which is-- Ambient Light (0-100, '0' = 'black' shadows) The default value is 20. To change it, overwrite the default value and press . The screen will go completely black and the disk light will blink. After a short delay the image will begin to be painted on the screen. The image you see on the screen represents the amount of light being reflected by each point in the image, not the colors in the final image. Don't be disturbed if the colors look weird, they are an artifact of the process being used. The image being created in the lightfile won't look like the screen. By default, the Targa-24 created has the name light001.tga. This filename increments to light002.tga if you create another Targa file. A file with an extension of .tga is called a lightfile. You can change the root name of the lightfile with the LIGHTNAME option. If you have a Targa-24 video board then you can view the lightfile by recalling it the same way you would a .GIF file. See also: FULLCOLOR, RANDOMIZE, MAP, 3D, FILLTYPE Page 6 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ASKVIDEO=y|n oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo If you set ASKVIDEO=n this eliminates the prompt asking you if a file to be restored is OK for your video hardware. The default is yes. If all of the fractal images files you restore are those which you created yourself then you really don't need Fractint to bring up the Select Video Modes screen for confirmation that the videomode is okay for your computer so you can suppress this. Do not set this option to NO if there is any chance that you could try to bring up an image which has a resolution too high for your computer to handle. This could happen if you try to display a regular GIF picture (which, perhaps, you downloaded from a BBS or CompuServe) without being positive of its resolution. You also might have problems if you have two monitors and create images for both. If you place an ASKVIDEO=n option in a command file then you should probably delete it when first trying out a new version of Fractint until you are sure everything is okay. This is particularly true if you are using one of the SVGA modes. In some cases the meanings of the videomodes may change between Fractint versions. Thus, an image could be stored as (for example) videomode CF6 but with a new version of Fractint the CF6 videomode calls for a higher resolution than before. This isn't common, but it does occur. Thus, it is safest to temporarily remove this option from your command files when first using a new version. If you have a CGA monitor (or a Hercules 2-color monochrome monitor) then it is now possible for you to make 3D projection images. Invoke Fractint, making sure you have set ASKVIDEO=y. Use a diskvideo mode to create a 256-color fractal. You might want to edit the fractint.cfg file to make a diskvideo mode with the same pixel dimensions as your normal video (see the description of the BATCH option for how to create fractint.cfg). Using the <3> command, enter the file name of the saved 256 color file, say "no" to the "Legal for this machine?" prompt, selecting instead your 2- or 4-color mode, and answer the other 3D prompts. You will then see a 3D projection of the fractal. This option can only be set when executing Fractint--it cannot be changed from within the program. See also: VIDEO Page 7 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo BAILOUT=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The BAILOUT option has no effect on regular fractals. However, when you use the decomposition option (DECOMP) then it has a rather strong effect on the result. Try bringing up the default M-set and pressing the key. Enter 128 as the Decomposition value. Return and re- generate the image. It will be quite different. This is with the default Bailout Value of 4. Changing the Bailout Value can change the resulting fractal image considerably. You can only decompose fractals of the Mandelbrot and Julia families of fractal types. You cannot change the Bailout Value by itself from within Fractint (as you could in Version 14.0). You must exit back to DOS and re-execute Fractint using the BAILOUT=nnn option to change this value. On the screen there is a field named Bailout Value but changing it alone has no effect--you must also change the Potential Value and the result of doing this not what you want. When you set the BAILOUT option you are overriding the default bailout value which Fractint automatically sets for each fractal type. For fractals computed using integer arithmetic the bailout value may be between 1 and 127 (if you enter a higher value it then 127 will be used). For fractals computed using floating point then the bailout value can be between 1 and 256. On the command line, Fractint will accept bailout values from 4 to 32000. You can change the Bailout Value on the screen and would probably do it far more frequently that way than using the execution option. Fractals are computed iteratively. In the most simplistic terms, the computation is z1 = f(x) this produces a result which is z1. The formula is then calculated again, using z1 as input and producing z2 as the result. Z2 is then used to create z3 etc. Page 8 A Guide to Fractint: Part II Thus, iterations two through five are: z2 = f(z1) z3 = f(z2) z4 = f(z3) z5 = f(z4) and so forth. Obviously, the number of iterations could go on for infinity (at least mathematically, in practice computers do not handle infinite numbers well). Therefore, a method is needed to determine when to stop iterating. Actually, several methods are used. One is to count the number of iterations. When n iterations have occurred then the final result has been achieved. The other method is to examine the value of the output--when it exceeds some numeric value then iteration also stops. In either case, a fixed number of iterations of the formula are performed. The last iteration is the FIV (Final Iteration Value). For the example above, the FIV is 5. Iteration is also stopped whenever the calculation becomes a periodic loop. The FIV is used to determine what color to assign the pixel for which the calculation was performed. Many of Fractint's fractals involve the iteration of functions of complex numbers until some "bailout" value is exceeded, then coloring the associated pixel according to the number of iterations performed. This process identifies which values tend to infinity when iterated, and gives us a rough measure of how "quickly" they get there. For the Mandelbrot fractal the formula which is iterated is (written in the same style as above) is: z1 = sqr(z0) + z0 Written in the style which Fractint understands internally, this formula is: Mandelbrot(XAXIS) { z = Pixel: z = sqr(z) + pixel, |z| <= 4 } Here, the 4 is the Bailout Value. Thus, whenever the value of the z created during the last iteration is greater than 4 then iteration stops and the last iteration value becomes the FIV and determines the color of the pixel at that point. This implies that any iteration of the formula which produces a value greater than the Bailout Value has the same color. Page 9 A Guide to Fractint: Part II Therefore, changing the Bailout Value will change the colors which are assigned to each point in the fractal being generated. For some fractal types this can have a major effect on the appearance of the fractal image. If you are also using the DECOMP option then setting the Bailout Value higher will produce a more accurate plot. For a Mandelbrot or Julia fractal which is decomposed, the Bailout Value should be set to 50 or higher for the best results. However, the higher you set the Bailout Value the longer it takes to compute the fractal. In computing a decomposed fractal, Fractint performs a number of iterations equal to the Bailout Value and then assigns a color according to where the actual final value falls on the complex plane. Related to binary decomposition are the "biomorphs" invented by Clifford Pickover, and discussed by A. K. Dewdney in the July 1989 "Scientific American", page 110. These are so-named because this coloring scheme makes many fractals look like one-celled animals. The idea is simple. The escape-time algorithm terminates an iterating formula when the size of the orbit value exceeds a predetermined bailout value. The term "escape-time algorithm" is a fancy way of saying the method used to determine when to stop iterating the formula. The term "orbit" is explained in the description of the INITORBIT option. Normally the pixel corresponding to that orbit is colored according to the iteration when bailout happened. To create biomorphs, this is modified so that if: either the real OR the imaginary component is LESS than the bailout value then the pixel is set to the "biomorph" color. In the formulas given above the value "z" is a complex number. As such, it has both a real and an imaginary component, both of which are compared to the Bailout Value to determine the color to assign to the current pixel position. When creating biomorphs, effect is a bit better with higher bailout values: the bailout is automatically set to 100 when the BIOMORPH option is used. You can try other bailout values with the BAILOUT option. Most fractal types have both a fast integer math and a floating point version. The faster (but sometimes less accurate) integer version is the default. If you have an 80486 (or a very fast 80386) machine with a math coprocessor and you are using the POTENTIAL option then you should set the Bailout Value high. If you try this with a slower machine you may be waiting until the fat lady sings before getting any results. Note that when you use the POTENTIAL option that one of its arguments is the Bailout Value to use, so you do not have to set it with the BAILOUT option. See also: POTENTIAL, INITORBIT, BIOMORPH, DECOMP Page 10 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo BATCH=y oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used when you are creating a fractal which takes a very long time to develop. It can also be used to convert a file from a 2D image to a 3D image; to change the video mode of a file; to produce a .GIF file from a .FRA files, and otherwise act as a filter. One advantage is that Fractint can automatically make periodic saves of the developing image so that even if the power is lost only a small amount of development time is lost. For example, you can save every 30 minutes and therefore cannot lose more than this amount of time. Usually, when creating a slow fractal you would start it running late at night and let it cook while you are asleep (or otherwise occupied). Thus, you could lose up to eight hours worth of fractal should a mishap occur. Another advantage is that the fractal is automatically saved whenever any key is struck and Fractint returns to DOS. This can be useful if there is the possibility that someone other than yourself may be the next person at the keyboard. When the fractal has finished developing, Fractint automatically saves it and returns to DOS. If you enter a command such as the following at the DOS prompt: fractint myfract batch=y then Fractint will display the image in myfract.gif. If the fractal is incomplete then it will continue development automatically. The next time any key is pressed then the current image will be saved and you will be returned directly back to DOS. Page 11 A Guide to Fractint: Part II By default, the image will be saved into a file named fract001.gif. Actually, it will go into fractnnn.gif where nnn is the next available, unused number. Therefore, if fract001.gif already exists then fract002.gif will be used. You can specify a different name to be used to save the file under, for example: fractint myfract savename=newfract batch=y and now the file newfract.gif will be written when any key is pressed. You can also save to no file whatsoever with: fractint myfract savename=nul batch=y When the next key is pressed and the file is saved it will be written to the special DOS device named nul which is a null device. Therefore nothing is saved to disk. Assuming that you recall a partial image which takes a long time to develop, you can specify that automatic saves be performed at regular intervals, thus: fractint myfract savetime=30 batch=y This will automatically save the file to fract001 every 30 minutes. The same filename will be used over and over again. If you also specify the filename, as in: fractint myfract savename=newname savetime=60 batch=y then the save will be to the newname.gif file every 60 minutes. You can also enter other parameters on the command line, for example: fractint myfract 3d=y savename=newname batch=y This will save a 3D image of myfract.gif in a file named newname.gif. If you have any .FRA files created by earlier versions of Fractint you can convert them as follows: fractint fractal.fra savename=fractal.gif batch=y Technically, you can also use batch=n but since this is the default and is essentially meaningingless, there is no need to do this. See also: BATCH=config, SAVENAME, SAVETIME Page 12 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo BATCH=config oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo If you run Fractint with this option, as in: fractint batch=config then the only thing which will happen is that the hard disk light will go on for a few seconds and then you will return to the DOS prompt. All that Fractint has done is to create a file named "fractint.cfg". The content of the file is quite similar to the table you see when you are on the Select Video Modes screen. Once the fractint.cfg file exists then Fractint will use it to obtain the list of video modes rather than its internal version of the table of video modes. The file can be anywhere in your path and it will be found. You can edit the fractint.cfg file so that the list shown on the Select Video Modes screen contains only those videomodes which your system is capable of using (or only those you wish to use). You can assign specific videomodes to the keys. You can change the default videomode. One reason to create the configuration file and edit it is to remove all of the entries which are of no use to you whatsoever. Thus, unless you have a TARGA board then all of the TARGA entries are meaningless. If you have a 256K VGA system then all of the SVGA video modes are not usable. Another reason to edit it is to create an entry for a new video mode. If you edit the configuration file (using any ASCII editor) and insert either a or a at the first position on a line then Fractint will not include that line when the Select Video Modes screen is displayed within Fractint. You can also simply delete video mode lines which are irrelevant on your system. Doing this can cut down the list of video modes down to the half dozen or so which you might actually use. In practice, most people probably never use more than 2-3 different video modes. Page 13 A Guide to Fractint: Part II Fractint assigns the first active videomode in the config file to the key. Here, "active" means a line which has not been disabled by having a blank or tab in the first position. The next videomode is assigned to the key, and so forth. After has been assigned then the next videomodes are assigned to - through - , and so forth. Thus, the association of a videomode with a function key is determined by the position of the active videomodes in the configuration file. If you take the videomode which you use most frequently and move it so that it is the second active videomode in the config file then it will be associated with the key. When the Select Video Modes screen comes up the highlight is on the position by default, thus you need only press to select this mode. Note that if you edit the config file you may also need to modify your batch option file, if you have one. For example, if you use a batch option file named "set" which contains the following: video=SF1 textsafe=y inside=0 askvideo=n so that when you execute Fractint with the command-- fractint @set then the videomode associated with the - key will be used. If you edit the config file so that this mode has been moved to the second active line then you should alter your options file so that it is now: video=F3 textsafe=y inside=0 askvideo=n This has exactly the same effect assuming that the videomode which was at the ninth position in the file (and therefore associated with -) is moved to the second position and is now associated with the key. The following shows the first few lines of the default configuration file, as it is produced after you initially create it by using the batch=config option: Page 14 A Guide to Fractint: Part II Full FRACTINT.CFG File, built by a 'fractint batch=config' command name of adapter/mode | AX | BX | CX | DX |mode| x | y |clrs| cmt ====================================================================== IBM 16-Color EGA , 10, 0, 0, 0, 2, 640, 350, 16, cmt1 IBM 256-Color VGA/MCGA , 13, 0, 0, 0, 3, 320, 200, 256, cmt2 IBM 16-Color VGA , 12, 0, 0, 0, 2, 640, 480, 16, cmt3 IBM 4-Color CGA , 4, 0, 0, 0, 13, 320, 200, 4, cmt4 comment1 = Standard EGA hi-res mode comment2 = Quick and LOTS of colors comment3 = Nice high resolution comment4 = (Ugh - Yuck - Bleah) This display has been modified slightly. In the fractint.cfg file each of the videomode lines ends with a descriptive comment. There is not room for the comment in this text so they are given on a separate line. Thus, "cmt1" means that "comment1" goes here and so forth. The meanings of the columns of this table are: --------------------------------------------------------------------- name of adapter/mode This is a text description. Maximum of 25 characterers. Leading blanks are not allowed. --------------------------------------------------------------------- AX BX CX DX These four are the contents of these four hardware registers at the time that the INT 10H interrupt is called. The values entered in these fields must be in hexadecimal. The default entries for the IBM VGA entries labeled "tweaked" and "non standard" have AX = BX = CX = 0, and DX = some other number. Those are special flags to custom-program the VGA adapter, and are NOT undocumented BIOS calls. Maybe they should be, but they aren't. --------------------------------------------------------------------- Page 15 A Guide to Fractint: Part II --------------------------------------------------------------------- mode This is a special code which specifies how to write to video memory. The codes are: 1 Use the BIOS (INT 10H, AH=12/13, AL=color) See Note 1 2 Pretend it's a (perhaps super-res) EGA/VGA 3 Pretend it's an MCGA 4 SuperVGA 256-Color mode for Tseng Labs chipset 5 SuperVGA 256-Color mode for Paradise chipset 6 SuperVGA 256-Color mode for Video-7 chipset 7 Non-Standard IBM VGA 360 x 480 x 256-Color mode 8 SuperVGA 1024x768x16 mode for Everex chipset 9 TARGA video modes 10 HERCULES video mode 11 Non-Video, i.e. "disk-video" 12 8514/A video modes 13 CGA 320x200x4-color and 640x200x2-color modes 14 Reserved for Tandy 1000 video modes 15 SuperVGA 256-Color mode for Trident chipset 16 SuperVGA 256-Color mode for Chips & Tech chipset 17 SuperVGA 256-Color mode for ATI VGA Wonder chipset 18 SuperVGA 256-Color mode for EVEREX chipset 19 Roll-your-own video mode (defined in YOURVID.C) 20 SuperVGA 1024x768x16 mode for ATI VGA Wonder chipset 21 SuperVGA 1024x768x16 mode for Tseng Labs chipset 22 SuperVGA 1024x768x16 mode for Trident chipset 23 SuperVGA 1024x768x16 mode for Video 7 chipset 24 SuperVGA 1024x768x16 mode for Paradise chipset 25 SuperVGA 1024x768x16 mode for Chips & Tech chipset 26 SuperVGA 1024x768x16 mode for Everex Chipset 27 SuperVGA Auto-Detect mode (look for your adapter) 28 VESA modes Note: 1 Very slow -------------------------------------------------------------------- x y x = number of pixels across the screen y = number of pixels down the screen Both of these must be in the range from 160 to 2,048 pixels. -------------------------------------------------------------------- Page 16 A Guide to Fractint: Part II --------------------------------------------------------------------- cls The number of available colors (2, 4, 16, or 256). --------------------------------------------------------------------- cmt Text comment about the mode. Maximum of 25 characters. Leading blanks are allowed. Humor is verboten. Fractint uses a video adapter table in the "C" program for everything it needs to know about any particular adapter/mode combination. This table can contain information for up to 98 adapter/mode combinations, and is automatically tied to 84 keys (F2-F10, their Shift/Control/Alt variants, and many Alt-x keypad combos) when the program is running. This table makes adding support for various third-party video cards and their modes much easier, at least for the ones that pretend to be a standard adapter with more dots and/or colors. There is even a special "roll-your-own" video mode (mode 19) enabling those of you with "C" compilers and a copy of the Fractint source to generate video modes supporting whatever adapter you may have. You can customize the table using the external configuration file FRACTINT.CFG, described below. The Fractint source file contains a program called "yourvid.c" which is the skeleton around which you can build a custom video mode. For further details, see the comments within that file. The table as currently distributed begins with nine standard and several non-standard IBM video modes that have been exercised successfully with a PS/2 model 80. These entries, coupled with the descriptive comments in the table definition and the information supplied (or that should have been supplied!) with your video adapter, should be all you need to add your own entries. Page 17 A Guide to Fractint: Part II 320 x 400 x 256 and 360 x 480 x 256 VGA MODES The IBM VGA adapter is a highly programmable device, and can be set up to display many video-mode combinations beyond those "officially" supported by the IBM BIOS. These video modes are perfectly legal, but temporarily reprogram the adapter (IBM or fully register-compatible) in a non-standard manner that the BIOS does not recognize. Because of this, the program cannot send any text to the screen while it is in one of these modes (the BIOS would garbage it). An internal flag inhibits all text output while the screen is in one of these video modes. Fractint's (help) and commands still work, because they temporarily switch the screen to an alternate video mode. 8514/A MODES The IBM 8514/A modes use IBM's software interface, and require the pre-loading of IBM's HDIDLOAD TSR utility. There are two sets of 8514/A modes: full sets (640x480, 1024x768) which cover the entire screen and do NOT have a border color (so that you cannot tell when you are "paused" in a color-cycling mode), and partial sets (632x474, 1016x762) with small border areas which do turn white when you are paused in color-cycling mode. Also, while these modes are declared to be 256-color, if you do not have your 8514/A adapter loaded with its full complement of memory you will actually be in 16-color mode. Finally, because IBM's interface does not handle drawing single pixels very well (we have to draw a 1x1 pixel "box"), generating the zoom box is excruciatingly slow. Still, it works! SUPER-EGA AND SUPER-VGA MODES After the IBM and quasi-pseudo-demi-IBM modes, the table contains an ever-increasing number of entries for other adapters. Almost all of these entries have been added because someone like you sent us spec sheets, or modified Fractint to support them and then informed us about it. With version 12.0, we've added both John Bridges' SuperVGA Autodetecting logic *and* VESA adapter detection, so that many of the brand-specific SuperVGA modes have been collapsed into a single function key. There is now exactly one function key for SuperVGA 640x480x256 mode, for instance. Page 18 A Guide to Fractint: Part II TARGA MODES TARGA support for Fractint is provided courtesy of Joe McLain. Be aware that there are a LOT of possible TARGA configurations, and a LOT of opportunities for a TARGA board and a VGA or EGA board to interfere with each other, and we may not have all of them smoothed away yet. Also, the TARGA boards have an entirely different color-map scheme than the VGA cards, and at the moment they cannot be run through the color-cycling menu. The MAP option, however, works with both TARGA and VGA boards and enables you to redefine the default color maps with either board. "DISK-VIDEO" MODES These "video modes" do not involve a video adapter at all. They use (in order or preference) your expanded memory, your extended memory, or your disk drive (as file FRACTINT.DSK) to store the fractal image. These modes are useful for creating images beyond the capacity of your video adapter, right up to the current internal limit of 2048 x 2048 x 256, and for background processing under multi-tasking DOS managers. While you are in a disk-video mode, your screen will display text information indicating whether memory or your disk drive is being used, and what portion of the "screen" is being read from or written to. A "Cache size" figure is also displayed. 24K is the maximum cache size. If you see a number less than this, it means that you don't have a lot of memory free, and that performance will be less than optimum. With a very low cache size such as 4 or 6k, performance gets considerably worse in cases using solid guessing, boundary tracing, plasma, or anything else which paints the screen non-linearly. If you have this problem, all we can suggest is having less TSR utilities loaded before starting Fractint, or changing your config.sys file to reduce a very high BUFFERS value. The zoom box is disabled during disk-video modes (you couldn't see where it is anyway). So is the orbit display feature. When using real disk for your disk-video, Fractint will not generate some "attractor" types (e.g. lorenz) nor "IFS" images. These would kill your disk drive. Boundary tracing is allowed - it may give your drive a bit of a workout, but is generally tolerable. Page 19 A Guide to Fractint: Part II When using a real disk, and you are not directing the file to a RAM disk, and you aren't using a disk caching program on your machine, specifying BUFFERS=10 (or more) in your config.sys file is best for performance. BUFFERS=10,2 or even BUFFERS=10,4 is also good. It is also best to keep your disk relatively "compressed" (or"defragmented") if you have a utility to do this. In order to use extended memory, you must have HIMEM.SYS or an equivalent that supports the XMS 2.0 standard or higher. Also, you can't have a VDISK installed in extended memory. Himem.sys is distributed with Microsoft Windows 286/386 and 3.0. If you have problems using the extended memory, try rebooting with just himem.sys loaded and see if that clears up the problem. If you are running background disk-video fractals under Windows 3, and you don't have a lot of real memory (over 2Mb), you might find it best to force Fractint to use real disk for disk-video modes. (Force this by using a .pif file with extended memory and expanded memory set to zero.) Try this if your disk goes crazy when generating background images, which are supposedly using extended or expanded memory. This problem can occur because, to multi-task, sometimes Windows must page an application's expanded or extended memory to disk, in big chunks. Fractint's own cached disk access may be faster in such cases. "TWEAKED" VGA MODES Fractint contains code that sets up the IBM (or any truly register- compatible) VGA adapter for several extended modes such as 704x528, 736x552, 768x576, and 800x600. It does this by programming the VGA controller to use the fastest dot-clock on the IBM adapter (28.322 MHz), throwing more pixels, and reducing the refresh rate to make up for it. These modes push many monitors beyond their rated specs, in terms of both resolution and refresh rate. Signs that your monitor is having problems with a particular "tweaked" mode include: o vertical or horizontal overscan (displaying dots beyond the window edges) o flickering (caused by a too-slow refresh rate) o vertical roll or total garbage on the screen (your monitor simply can't keep up, or is attempting to "force" the image into a pre-set mode that doesn't fit). Page 20 A Guide to Fractint: Part II The modes up to 768x576 on an IBM PS/2 Model 80 connected to IBM 8513, IBM 8514, NEC Multisync II, and Zenith 1490 monitors (all of which exhibit some overscan and flicker at the highest rates), and have tested 800x600 mode on the NEC Multisync II (although it took some twiddling of the vertical-size control) have been successfully tested. Page 21 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo BIOMORPH=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The "nnn" of BIOMORPH=nnn is the number of a color from 0 to 255. If this value is -1 then the biomorph option is turned off (this is the default). Setting BIOMORPH=0 (i.e. to black) generally works best. The BIOMORPH option causes the appearance of vaguely biological, amoeboid shapes to appear in Mandelbrot or Julia fractals. The only real way to understand what this option does is to try it, thus: fractint biomorph=0 may be entered from the command line or you can press and change the value for the biomorph option from -1 to 0 on the options screen. The resulting Mandelbrot set will look quite different. It is well worthwhile to set this option on occasionally since the results are almost always very interesting and fun to explore. Also try the combination: fractint biomorph=0 type=julia since the biomorph form of the full Julia set is delightful. These types have been explored extensively by Clifford A. Pickover, of the IBM Thomas J. Watson Research center. Thus, you can not only have fun but be in good company doing so. As implemented in Fractint, biomorph fractals are regular Mandelbrot/Julia set pairs that may be plotted with or without the "biomorph" option Pickover used to create organic-looking beasties. These types are produced with formulas built from the functions z^z, z^n, sin(z), and e^z for complex z. Types with "power" or "pwr" in their name have an exponent value as a third parameter. For example, type=manzpower params=0/0/2 is our old friend the classical Mandelbrot and type=manzpower params=0/0/4 is the Quartic Mandelbrot. Other values of the exponent give still other fractals. Since these WERE the original "biomorph" types, we should give an example. Page 22 A Guide to Fractint: Part II Try: fractint type=manfn+zsqrd biomorph=0 corners=-8/8/-6/6 function=sin to see big biomorphs gobbling up little biomorphs. The idea behind biomorphs is simple. The escape-time algorithm terminates an iterating formula when the size of the orbit value exceeds a predetermined bailout value. Normally the pixel corresponding to that orbit is colored according to the iteration when bailout happened. To create biomorphs, this is modified so that if EITHER the real OR the imaginary component is LESS than the bailout, then the pixel is set to the "biomorph" color. The effect is a bit better with higher bailout values: the bailout is automatically set to 100 when this option is in effect. You can try other values with the BAILOUT option. When you toggle from the Mandelbrot set to the corresponding Julia set with the key, the default corners on the Julia are three times bigger than those on the Mandelbrot so that all of the biomorph appendages are visible. The BIOMORPH option works with most Mandelbrot and Julia fractal types, but not all. In particular, it does not work with the Mandelfn type. Biomorph fractals work very well on monochrome monitors. If you have a mono system, try the Marksmandel (and Marksjulia) types with BIOMORPH turned on. If you have a color monitor, you can obtain a gray scale palette by pressing the key while the Palette Editor box is displayed. Page 23 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo BRIGHT=nn/nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The nn/nn arguments of this option are the Blue:Red ratio. This ratio is used only when viewing blue/red 3D images through blue/red glasses. The technical term for these glasses is "funny glasses". You probably have a pair lying around your house from the last time you saw a 3D movie at the theatre. If you do not then you could have a pair you obtained to watch a 3D television commerical for a popular soft drink. If, after searching through your belongings carefully you find that you cannot locate yours then you can make a pair. Trying to buy a pair in a store is almost impossible. No, make that *is* impossible. To make a pair of funny glasses, go to a stationery store and buy a set of report covers in blue and red mylar. Apply a pair of scissors to the report covers in a suitable manner and tape or glue the lenses between two pieces of cardboard from which holes have been cut out. Cut the cardboard sandwich into the shape of eyeglasses and voila! you are ready for 3D viewing of fractals. The human eye is not equally sensitive to both blue and red. In addition, adjustments may be needed for the exact shades of blue and red of the lenses of your funny glasses. Also, if you are using purchased red/blue glasses they are usually colored for the reflective light of a printed image and not the light generated by a CRT. If the image appears to reddish then raise the blue/red ratio; if is too blue then lower the blue/red ratio. When you get the ratio right then the image should be gray. Similarly, if you get red ghost lines then you can counter this by altering the BRIGHT ratio. You should use the GLASSES1.MAP palette when viewing 3D fractals. Usually this map is loaded for you automatically by Fractint. Page 24 A Guide to Fractint: Part II The BRIGHT option can be set from within Fractint. First press to get the IFS and 3D parameters box. Set the STEREO option to 1 or 2 and press . You will get the Funny Glasses Parameters box. Move the highlight down to the Red Brightness Factor line to set the red percentage. The next line is the Blue Brightness Factor. The default for red is 80% and the default for blue is 100%. One reasonable constellation of options to try is: BRIGHT = 100% / 100% CONVERGE = -5 INTEROCULAR = 5 These settings produce a pretty good 3D image even without the funny glasses. See also: 3D, IFS, STEREO, CONVERGENCE, CROP, MAP Page 25 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo CENTER-MAG=Xctr/Yctr/Mag oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option has a rather specialized use. Normally, when you press the key from within Fractint then a line is appended to the frabatch.bat file which contains the command and options required to generate the fractal currently displayed. This line contains the option CORNERS= which gives the coordinates of the four corners of the fractal. If you use the CENTER-MAG option with no arguments then instead of writing CORNERS= to frabatch.bat, Fractint will write the location of the center of the fractal and a magnifification value. Some other fractal programs (and some publications) require the center coordinate and magnification rather than the corner coordinates. If you are not using such a program or writing for such a publication then this option is of no use to you unless you know the X,Y coordinates of a point you wish to view. In any case, the display shows the coordinates of the center point of the image. The center point and magnification values will not be correct if you have altered the aspect ratio of the image from the default 1.33333. Thus, it will not be correct if you changed the shape of the zoom box when creating the fractal, or rotated it. See also: INVERT, CORNERS Inversion of a fractal is performed around the center point. Page 26 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo COMPORT=port/baud/options oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used to define the parameters used by a serial printer port. It may be used as an override to the parameters set within DOS by the MODE command. If the DOS parameters are okay then you don't need this option. The arguments are: Port = 1, 2, 3 Baud = 115, 150, 300, 600, 1200, 2400, 4800, 9600 Options: 7, 8 | 1,2 | e,n,o The options may appear in any order. The 7 or 8 specifies the number of data bits in each byte. The 1 or 2 specifies the number of stop bits used. The parity is e=even, o=odd, or n=none. Example: comport=1/9600/n81 This sets the serial communication port COM1 to 9600 Baud, no parity, 8 bits per character, 1 stop bit. This option cannot be set from within Fractint. If you use the COMPORT option, you must use it every time you use Fractint to print an image, so you should probably place it in an options file. See also: PRINTER Page 27 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo CONVERGE=nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This is a funny glasses parameter used only with red/blue stereo 3D images. The nn argument is the percentage of the screen. When a stereo image is viewed correctly it floats in space. It can appear to float out in front of the screen or way back inside. Changing this option causes it to move from outside to inside or vice versa. Neophyte stereophiles tend to like outside floaters and advanced stereophiles tend to like inside floaters. A higher value moves it outside; a lower value inside. This option interacts with the INTEROCULAR option, so it will take some fiddling to get it right. A stereo image is created by superimposing a blue image and a red image in the same space but slightly offset from each other. The CONVERGE option controls the degree of separation between the red and blue images. This option is more likely to be set from within Fractint than on the command line. To set it, first press the key to get the IFS and 3D Parameters box. Select the 3D Transform Parameters menu choice and press . This choice is the default when you bring up this box. Set the STEREO option to 2 or 3 and press . You will get the Funny Glasses Parameters box. Move the highlight down to the line-- Convergence adjustment (positive=spread greater) and enter a new value. The default value is zero. Page 28 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo CORNERS=xmin/xmax/ymin/ymax[/x3rd/y3rd] oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo These are the four corner coordinates of a 2D image or the six coordinates of a rotated or distorted parallelogram. On the default full Mandelbrot fractal, the Y-axis has a low value of -1.5 and a high value of +1.5. Thus, the zero line is halfway up the y-axis. The x-axis has a low value of -2.5 and a high value of +1.5. Thus, the zero line is somewhat to the right of halfway across the x-axis. Within Fractint, three systems of geometric location exist. The first two are variants of each other and are based upon the locations of the four corners of the image. These locations are displayed on the key and also obtained when you press the key. However, the method of specifying the coordinates differs between the and keys. The third method is by specifying the location of the center of the image and the degree of magnification. This information is also displayed on the key and is obtainable with (provided that Fractint is executed with the CENTER-MAG option). The display produced by the key has a table such as the following: CORNERS X Y Top left -2.5 1.5 Bottom right 1.5 -1.5 Top left A B Bottom right C D Page 29 A Guide to Fractint: Part II (-2.5,1.5) ========================== A B = = = = = = = = = = = = = = = = ========================== (1.5,-1.5) C D This is for the full mandelbrot. For the full Julia fractal the coordinates are different: CORNERS X Y Top left -2.0 1.5 Bottom right 2.0 -1.5 since the X-axis runs from -2.0 to +2.0 in Julias--therefore the zero line is exactly halfway across the x-axis. The image is centered on the (0,0) location. Similar to Mandelbrot fractals, the Y-axis runs from -1.5 to +1.5. When you press the key then the CORNERS= option values for the current image are written to the frabatch.bat file. For the full M-set, the result is: CORNERS=-2.5/1.5/-1.5/1.5 A B C D D 1.5 ========================== = = = = = = = = = = = = = = = = C -1.5 ========================== -2.5 1.5 A B Page 30 A Guide to Fractint: Part II This is in the order: CORNERS= X(min)/ X(max)/Y(min)/Y(max) The top left corner is (X(min), Y(max)) and the bottom right corner is at (X(max), Y(min)). The full CORNERS= syntax is: CORNERS=xmin/xmax/ymin/ymax[/x3rd/y3rd] The x3rd argument is the location of the bottom-left corner of a rotated or stretched parallelogram. If you are displaying a 3D fractal and press the key the x3rd and y3rd values are not written to the frabatch file. They appear when a 2D image is stretched or rotated. They are also not displayed on the display (except, again, for stretched or rotated 2D images). These values may be set be being passed as command option arguments. After you press to append a fractint statement to the end of the frabatch.bat file and exit Fractint, you can usually execute frabatch by just typing its name at the DOS prompt. However, in some instances this does not work. Fairly often the fractint statement and all of the current options on the line within the frabatch file can exceed 120 characters in length. This is the DOS maximum length for a command line so when you execute frabatch all characters after the 120th are lost and usually the execution fails. The way around this is to copy frabatch to a file named (for example) "corners". Edit the corners file so that it contains only the CORNERS= statement and its arguments. In many cases this argument will take up many characters because of the number of decimal places. Then edit the frabatch file and delete the CORNERS= option and replace it with @CORNERS, which is a call to include the contents of the file named "corners" at this point. In this manner you can exceed DOS command line length limit. You cannot directly set the corner locations for a new fractal from within Fractint. To accomplish this, use the CORNERS= option when executing Fractint. You can create a series of images within the same frabatch file by executing Fractint several times with slightly varying CORNERS= values each time. Page 31 A Guide to Fractint: Part II The following diagram shows the location of some of the named areas within the full Mandelbrot set: \ \ / NW Radical North ÜÜÜ NE Radical * North . . Radical ÚÄÄßßßÄÄ¿ . . or . . ³ ³ . . Seahorse ....ÚÄ¿ ÀÄÄÄÄÄÄÄÙ ÚÄ¿... Valley . ÀÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ÀÄÙ . . ³ ³ .. Ü * ³ ³ Big ÚÄÄÄÄÄÄ¿ ³ MAIN ³ Midget ÚÄ¿ ³ ³ ³ BODY ³ Spike ÄÄÄÄÄÄþÄÄÄÄÄÄÄÄþ³ ³ ³ Head ³ ³ ÄÄÄ East Topknot ÀÄÙ ³ ³ ³ or ³ Valley ÀÄÄÄÄÄÄÙ ³ ³ ..ß * ³ CARDIOID ³ . . ³ ³ * South . ÚÄ¿ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄ¿ or ....ÀÄÙ ÚÄÄÄÄÄÄÄ¿ ÀÄÙ... Elephant . . ³ ³ . . Valley . . South ÀÄÄÜÜÜÄÄÙ . . SW Radical Radical ßßß SE Radical / \ / See also: 3D Page 32 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo CROP=nn/nn/nn/nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option trims the edges off stereo (red/blue) pairs. The nn argument is the percentage of the screen to crop. The arguments are in the order: CROP= lr/rr/lb/rb in which: lr = left red rr = right red lb = left blue rb = right blue The default values are 4/0/0/4 percents. This option helps keep the visible part of the right image the same as the visible part of the left image. If there is too much in the field of either eye that the other doesn't see then the stereo effect can be ruined. If nothing else you do gets you a good, stable stereo image which floats in space rather than being on the surface of the CRT, then try diddling with this option. The 3D options are very sensitive to human vision. You must continually tweak the options to improve the result. Note that this cropping has nothing whatsoever to do with the cropping of a viewing window option on the screen. It is functionally similar but is customized for red/blue images. You can change these values from inside Fractint on the Funny Glasses Parameters screen. The four fields of interest are: Left red image crop (% of screen) default: 4% Right red image crop (% of screen) default: 0% Left blue image crop (% of screen) default: 0% Right blue image crop (% of screen) default: 4% Page 33 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo CYCLELIMIT=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Sets the speed of color cycling. Technically, the number of DAC registers updated during a single vertical refresh cycle. Legal values are 2 - 255, default is 55 for all fractal types except PLASMA, for which the default is 256. This value cannot be altered from within Fractint as a value, but the color-cycling speed may be adjusted with the and keys. If you place a CYCLELIMIT option in an option file (such as @SET) then it has the effect of defining the default speed which occurs when color-cycling mode is entered. You can also write a special option file which is customized for the display of a particular fractal image file. By using this option you can preset the color-cycling speed. Some fractals look best when the colors change quite slowly; others like fast changes. For example, you can create a batch file named pizza.bat which contains the following-- fractint pizza3 cyclelimit=250 mapname=army @set in which "pizza3.gif" is the name of a fractal gif file and in which the @set file contains: video=F3 textsafe=y inside=0 askvideo=n Now when you enter "pizza" at the DOS command line then the image will be brought up directly (with no credits screen, Main Menu, etc.). All that is left to do is to press the key to begin color-cycling. Unfortunately, you can't start color-cycling via any command line option and so you can't create a self-running fractal. If you enter an invalid number then it will simply be ignored--you will not get any error message. Page 34 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo DECOMP=2|4|8|16|32|64|128|256 oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is fun to play with. It may be used with any M/J fractal, so try: fractint decomp=128 when executing Fractint or change it from inside by pressing and setting the Decomp Option to 128. This radically changes the way the fractal looks. If you change the MAXITER value before creating a decomposed fractal you can also get different results, especially if you lower it to say 3-4. Changing the BAILOUT value also has a signficant effect, even changing it as little as one whole unit, for example from 12 to 13. A higher bailout value will give a more accurate plot, at some expense in speed. You might want to set the bailout value to a higher value than the default. A value of about 50 is a good compromise for M/J sets. Actually, at higher bailout values there is a fair bit of expense of speed. The argument value (which must be a power of 2 from 1-8) invokes the corresponding decomposition coloring scheme. Most fractal types are calculated by iterating a simple function of a complex number, producing another complex number, until either the number exceeds some pre-defined "bailout" value, or the iteration limit is reached. The pixel corresponding to the starting point is then colored based on the result of that calculation. This is one coloring protocol. Using DECOMP toggles to another coloring protocol. Here the points are colored according to which quadrant of the complex plane (negative real/positive imaginary, positive real/positive imaginary, etc.) the final value is in. Page 35 A Guide to Fractint: Part II If you use 4 as the parameter, points ending up in each quadrant are given their own color If you use 2 as the parameter, (binary decomposition), points in alternating quadrants are given 2 alternating colors. The result is a kind of warped checkerboard coloring, even in areas that would ordinarily be part of a single contour. Remember, for the M-set all points whose final values exceed 2 (by any amount) after 80 iterations are normally the same color; under decomposition, Fractint runs [bailout-value] iterations and then colors according to where the actual final value falls on the complex plane. In terms of a complex plane, the geometry of the M-set is: \ ³ Imaginary \ / ³ Y -R,+I ÜÜÜ ³ +R,+I . . ÚÄÄßßßÄÄ¿ . . . . ³ ³³ . . ....ÚÄ¿ ÀÄÄÄÄÄÄÄÙ ÚÄ¿... . ÀÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ÀÄÙ . . ³ ³ ³ .. Ü ³ ³ ³ ÚÄÄÄÄÄÄ¿ ³ ³ ³ Real X ÚÄ¿ ³ ³ ³ ³0 ³ ÄÄÄÄÄÄ ÄÄÄÄÄÄþÄÄÄÄÄÄÄÄþ³Ä³ ³ÄÄÄÄÄij ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÀÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÙ ³ ³ ³ ..ß ³ ³ ³ . . ³ ³ ³ . ÚÄ¿ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄ¿ ....ÀÄÙ ÚÄÄÄÄÄÄÄ¿ ÀÄÙ... . . ³ ³³ . . . . ÀÄÄÜÜÜÄÄÙ . . ßßß ³ -R,-I / \ ³ +R,-I / ³ Page 36 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo DISTEST=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option widens the very thin strands which are part of the inside and which connect all of the midgets of the M-Set. Instead of hiding invisibly between pixels, these strands are made one pixel wide. You can make these strands especially visible by setting the INSIDE color so it is bright shocking pink or something equally garish. One practical reason for doing this is if you are preparing a fractal image for publication or reproduction, especially in black-and-white. Fractals generally print much better if the strands of inside have been fattened up a bit. Any nonzero value has the same effect in monochrome modes. Higher values result in more and narrower color bands in color modes; 1000 is a good value to try. You should also up MAXITER to 1000. Normally you would set INSIDE=0 so it is black. This option may be set from within Fractint with the key. The field is named Distance Estimator. In color modes, this method also produces more evenly spaced contours. Set "distest" to a higher value for narrower color bands, a lower value for wider ones. 1000 is a good value to start with. Note that fractals usually develop much more slowly when the DISTEST option is used. Floating point arithmetic should be used. Actually, since the DISTEST option is most valuable when an image with many pixels (for example 1600 x 1200 x 2) is being developed to be the final image used for reproduction, it is more likely to run for days rather than hours. This is Phil Wilson's implementation of an alternate method for the M and J sets, based on work by mathematician John Milnor and described in "The Science of Fractal Images", p. 198. Page 37 A Guide to Fractint: Part II A neat thing to do is to set the DISTEST fairly high and then change to a gray scale map like gamma1. As you color-cycle, you get to place where there is a dramatic shift from white to black. The "unit circle" that surrounds the M-set, for example, begins to "shrinkwrap" the set. In fact, what you are seeing is the approximation of the M-set boundary by the equipotential curves. These dynamic sequences can present most of what we know about the M-set. For more about this subject, see Part III of this Guide. Page 38 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo EPSF=1|2|3 oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option causes the fractal image to be written in Postscript format to a file. The default filename will be fract001.eps. The argument is a code which determines how "well-behaved" the EPS file is. The following is a list of the code numbers and their meanings: 1 means by-the-book Postscript encapsulation 2 allows settransfer and setscreen * 3 is a free-for-all. * includes code that should make the code still work without affecting the rest of the non-EPS document. Normally, printfile output goes to a file named fract001.prn where "fract001" is the filename. If you use the EPSF option then the output will be written to "fract001.eps" but only if the file to which the output would have been written was "fract001.prn". If you also use the PRINTFILE option to change the print filename then the output name may not be set correctly. Page 39 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo EXITMODE=nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The default is 3, which resets the BIOS videomode to 80x25 color text mode on exit from Fractint. The value nn is in hexadecimal. Consult the documentation for your computer or video graphics board for a list of the BIOS video modes supported by your computers. You can also check the documentation for the MODE command in DOS but it won't give you the hexadecimal values for each video mode. The default exit mode is a text mode. You may wish to make it a graphics mode if you are returning to a graphic environment, such as Windows. Fractint does no checking of the value you enter. Page 40 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo FILENAME=name oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo You can execute Fractint with this option-- fractint filename=myfract but you do not need to enter the name of this option, thus-- fractint myfract will use the name myfract.gif as the input filename. If you do not enter a filename on the command line, there is no default. The filename can be a path-- fractint images\myfract The filename can be an [older] FRA format file-- fractint myfract.fra The filename can be a TARGA format file-- fractint myfract.tga One use for the FILENAME option is for shell programming. Thus, you can write a batch file (or alias) named, for example, FFD.BAT. It can contain-- fractint filename=%1 @set @colors so that you can enter the command line-- ffd myfract and automatically get the option settings contained in the @set file and the text colors specified in the @colors file. Page 41 A Guide to Fractint: Part II You can specify the filename from within Fractint by pressing the key. A list of the image files in the current directory will be displayed from which one may be selected. The names of subdirectories are shown with a \ as the last character. You may enter a subdirectory by selecting it. A prompt will appear showing the name of the chosen subdirectory. Press to enter it. You can also change the name to that of any reachable subdirectory. Specify the drive character if the subdirectory is not on the current drive (for example, to read the image in from a floppy). You can also enter wildcards and all files matched will be displayed. Thus, you can enter-- d:\images\fracts*.gif to obtain a list of all of the files in the images directory on the d drive which are gif files with names starting with "fracts". When you are on the Select File to Restore screen (or on the Select File for 3D Transform) screen and you press any qwerty key, then a line will appear just below the file list which prompts-- Search Path for: j Here the j indicates that the key which you pressed was . Write in the name of a directory, for example: Search Path for: ..\images\*.gif and a list of all of the GIF files in the parallel directory named "images" will be displayed. If you omit selection of any files within the directory then the names of all of the files will be displayed, for example if you enter-- Search Path for: ..\images then all the filenames in that directory will be displayed. However, you must be very careful not to press the key unless the highlight is on the name of an image file. Otherwise.....dogmeat. If you are using an SSTOOLS.INI file and use the FILENAME= option you cannot omit the option name "FILENAME=" as you can at the command line. Page 42 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo FILLTYPE=nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This selects which kind of fill type method to use when creating a 3D image. To select the fill type from within Fractint, press <3> to select a file for 3D transformation and press . You will get the Select 3D Fill Type menu. The following are the fill types: -1 Surface grid 0 Draw points 1 Connect dots (wire frame) 2 Surface fill (colors interpreted) 3 Surface fill (colors not interpreted) 4 Solid fill 5 Light source before transformation 6 Light source after transformation The number is the code for the nn argument to the FILLTYPE= option. After you select a fill type and press then you will get a parameter box which lists 3D parameters you can modify. Usually, this is a fairly long list. Using the default M-set, you could select each of these fill types in turn and view the result. Some people like one way of viewing the 3D image and some another. To each his own and all that. Page 43 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo FINATTRACT=y oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The purpose of FINATTRACT is to bring detail out of the lakes of Julia fractals. It works well with the lambda and magnet fractal types. In dynamical terms, we say that "Infinity is an Attractor", since many initial values get "attracted" to it when iterated. The set of all points that are attracted to infinity is termed The "Basin of Attraction of Infinity". The coloring algorithm used divides this Basin of Attraction into many distinct sets. Each set is a single band of one color and is all the points that are attracted to infinity at the same rate. These sets (bands of color) are termed "Level Sets" since all points in such a set are at the same "Level" away from the attractor in terms of numbers of iterations required to exceed the bailout value. Thus, Fractint produces colored images of the Level Sets of the Basin of Attraction of Infinity, for all fractals that iterate functions of Complex numbers, at least. For certain Julia-type fractals, Fractint can also display the Level Sets of Basins of Attraction of Finite Attractors. This capability is a by-product of the implementation of the MAGNETic fractal types, which always have at least one Finite Attractor. Most Julias which have a "lake" (normally colored blue by default) have a Finite Attractor within this lake, and the lake turns out to be the Basin of Attraction of this Attractor. The FINATTRACT option instructs Fractint to seek out and identify a possible Finite Attractor and, if found, to display the Level Sets of its Basin of Attraction, in addition to those of the Basin of Attraction of Infinity. In many cases this results in a "lake" with colored "waves" in it; in other cases there may be little change in the lake's appearance. For example, try: fractint type=lamdafn function=sin finattract=y params=.5/.5/0/0 Page 44 A Guide to Fractint: Part II A Finite Attractor lives in the center of one of the resulting "ripple" patterns in the lake - turn the rbits display on to see where it is - the orbits of all initial points that are in the lake converge there. This does not occur for all settings of the parameter, for example the lake of params=0/1/0/0 stays the standard blue. The FINATTRACT option does not work for the lakes of Mandelbrot fractals since every point in a Mandelbrot is, in effect, a single point from its related Julia fractal. A Mandelbrot's lake has an infinite number of of points and therefore an infinite number of Julia sets and therefore an infinite number of finite attractors also. To find a Julia with a usable lake, zoom on the Mandelbrot to a point exactly on the edge of its lake. Pick a point where the center of the zoom box is inside the lake, but not too close to the shoreline and then press the . Page 45 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo FLOAT=y oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This turns floating point calculation on. Floating point is much slower than integer calculation but is also required for some fractal types and option combinations. You should have an 80486, or an 80386 with a coprocessor chip, or an awful lot of patience. You can turn floating point on with this command line option, or by pressing the key within Fractint, or by changing this option on the list of parameters. A 3D image may be slow in being restored if it was created with float arithmetic. Floating point cannot be used for plasma fractals. This includes any GIF imported which was not created by Fractint since these are processed as plasma fractals. The Barnsley IFS/IFS3d types are also always produced using integer math. In some cases a complete fractal image may not be a true fractal. This can occur when the limitations of integer arithmetic are exceeded. Changing to floating point will create the correct image. if you are using the continuous potential option (which looks best with high bailout values not possible with our integer math implementation), you may prefer to use floating point. If you are using the SOUND=x option then you should also turn floating point on to get better results. Note that Fractint itself can set this option for you, and will sometimes do so in the middle of computing a fractal. By default, Fractint uses 16-bit and/or 32-bit integer math to generate nearly all its fractal types. The advantage of integer math is speed: this is by far the fastest such plotter that we have ever seen on any PC. The disadvantage is an accuracy limit. Integer math represents numbers like 1.00 as 32-bit integers of the form [1.00 * (2^29)] Page 46 A Guide to Fractint: Part II (approximately 500,000,000 digits!) for the Mandelbrot and Julia sets. Other integer fractal types use a bitshift of 24 rather than 29, so 1.0 is stored internally as [1.00 * (2^*24)]. This yields accuracy of better than 8 significant digits, and works fine... until the initial values of the calculations on consecutive pixels differ only in the ninth decimal place. At that point, if Fractint has a floating-point algorithm handy for that particular fractal type (and virtually all of the fractal types have one), it will silently switch over to the floating-point algorithm and keep right on going. Fair warning - if you don't have an FPU, the effect is that of a rocket sled hitting a wall of jello, and even if you do, the slowdown is noticeable. If it has no floating-point algorithm, Fractint does the best it can: it switches to its minimal drawing mode, with adjacent pixels having initial values differing by 1 (really 0.000000002). Attempts to zoom further may result in moving the image around a bit, but won't actually zoom. If you are stuck with an integer algorithm, you can reach minimal mode with your fifth consecutive "maximum zoom", each of which covers about 0.25% of the previous screen. By then your full-screen image is an area less than 1/(10^13)th [÷0.0000000000001] the area of the initial screen. (If your image is rotated or stretched very slightly, you can run into the wall of jello as early as the fourth consecutive maximum zoom. Rotating or stretching by larger amounts has less impact on how soon you run into it.) Using integer arithmetic, the zoomer you go, the slower goes Fractint. Think of it this way: at minimal drawing mode, your VGA display would have to have a surface area of over one million square miles just to be able to display the entire M-set using the integer algorithms. Using the floating-point algorithms, your display would have to be big enough to fit the entire solar system out to the orbit of Saturn inside it. So there's a considerable saving on hardware, electricity, and desk space involved here. Also, you don't have to take out asteroid insurance. 32 bit integers also limit the largest number which can be stored. Page 47 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo FORMULAFILE=formulafilename FORMULANAME=formulaname oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo If you press while running Fractint you will get a list of fractal types. If you pick the "formula" entry then a list of all the formula files in the directory will appear. Fractint comes with one such file which is named "formula.frm". If you pick this name then a list of the formulas within the file will be displayed. If you pick one of the formulas then a parameter box will come up. After you press then the fractal described by the formula will be created. You can edit the formula.frm file with any ASCII editor. Despite the size and complexity of Fractint, at root it is the evaluation of a single formula repetitively. The formula file contains many examples of fractal formulas. Both the FORMULAFILE and FORMULANAME options must be used to create a formula fractal in batch mode. If you want to create new formulas, you can either add them to the fractint.frm file or create a new formula file. A fractal formula has the following structure: Formulaname(symmetry) {initial: iteration, bailout} Formulaname The "Formulaname" will appear on the list of formulas within the formula file when the user picks the name of the file from the list displayed within Fractint. It may also be specified on the command line. Typical formulanames are: Mandelbrot Dragon MarksMandelPwr Newton4 halley Cubic Page 48 A Guide to Fractint: Part II The formulaname you assign must be fewer than 16 characters long. There is one special formulaname which is "Comment". The contents of a formula definition with this name will be ignored. For example: comment = { Mandelbrot form 1 of the Tetration formula } A comment may be as long as you wish, for example: comment = { FRACTINT.DOC has instructions for adding new formulas to this file. Note that there are several hard-coded restrictions in the formula interpreter: 1) The fractal name through the open curly bracket must be on a single line. 2) There is a current hard-coded limit of 30 formulas per formula file. 3) Formulas must currently be less than 200 characters long. Comments may be as long as needed. } You do not actually need the "comment =" part of the formula definition since it is the default. Thus, text enclosed in curly braces will be taken to be a comment. The following is an example: { These formulas were written by Maxwell Honeyhugger } Symmetry This specifies whether the fractal image created by the formula is to be symmetrical. Examples are: (XAXIS) symmetrical across X-axis (YAXIS) symmetrical across Y-axis (XYAXIS) symmetrical across both axes (ORIGIN) flip image across Y-axis (PI) purpose of this symmetry not known none asymmetrical Page 49 A Guide to Fractint: Part II Examples of the symmetry of some of the formulas from the fractint.frm file are: Mandelbrot(XAXIS) Newton(XYAXIS) The fractint.frm file does not contain any formulas which are symmetrical across the Y-axis only. There are no examples in fractint.frm for the following symmetries: (YAXIS) (ORIGIN) (PI) You can tell a fractal's symmetry almost as soon as it starts developing. If it is symmetric in the x-axis then the pixels will appear on both sides of the screen and build up towards the middle. If it is y-axis symmetric then both top and bottom rows of developing pixels will appear. If there is no symmetry then the pixels will develop from the top left corner across and then repeat for each row. The symmetry you notice when a fractal first starts to develop will appear only if the image which is being created is itself symmetric. Thus, if you are a zoom or so down in a symmetric fractal, you can select a non-symmetric shape for enlargement. The pattern of development of the initial pixel assignments is most clear at the highest level, before any zooming at all. Initial Condition The initial condition follows the left curly brace and terminates with a colon, thus-- { initial: A typical example of an initial condition is-- { z = Pixel: Here "z" is a complex number. You can create a new variable by simply referencing it. All variables are automatically complex. The name you assign to a variable must begin with an alphabetic character and may be up to 8 characters long. Page 50 A Guide to Fractint: Part II Examples of initialization statements are: 1. z = 0: 2. z = (1,1): 3. a = (0,0); b=(0,0): 4. z = P1: 5. z = pixel: 6. z = pixel, c = z ^ (z - 1): 7. z = pixel, c = log(pixel): 8. c = z = 1 / pixel: 9. p = pixel, test = p1 + 3, t3 = 3*p, t2 = p*p, a = (t2 + 1)/t3, b = 2*a*a*a + (t2 - 2)/t3, aa3 = a*a*3, z = 0 - a : #1 In example #1 a complex variable named "z" is declared and initialized to zero. Traditionally, "z" is used as the name of the value which is iterated. It starts at one value and increases slightly with each iteration until it reaches its final value. Since z is a complex number, it has two parts which are the real part and the imaginary part. In this example, both parts are initialized to zero. Thus, when iteration starts z will have a value of (0,0). This means that iteration will start at the point near (for M-set) or at (for J-set) the middle of the complex space. It starts where the zero values for the x-axis and y-axis meet. The initial value is referred to as z(0). It may also be set by the user at execution time with the INITORBIT option. The two parts of z(0) are sometimes referred to as: Real perturbation of Z(0) Imaginary perturbation of Z(0) Page 51 A Guide to Fractint: Part II The point is that z(0) is a complex number with a value of (R,I) where R is real and I is imaginary. #2 In example #2, the real and imaginary parts of z are initialized separately. Since both parts are here the same this could have also been written as z=1:. Or, the two parts could have different initial values, as in-- z = (1,0): #3 The third example is the same as the first except that two variables are initialized. Statements within the initialization section are separated by semi-colons (;). Statements may be on the same line or not, as you wish. Thus, you can write-- a = (0,0); b = (.5,1): #4 Example #4 also shows the declaration and initialization of a variable-- z = P1: Here the value "P1" has a special meaning. Many fractals have a set of four parameters which may be set. Usually when you select a fractal type and press a parameter box will appear in which Parameters 1 through 4 may be accepted or changed. Thus, P1 refers to the first Parameter. The default value is commonly zero but may be changed in the Parameter Box. Changing the value of P1 can have strong effect on the appearance of the fractal. When the initialization statement is z=P1: this can mean that the person creating a fractal image may select the starting value for z, at least for the AltJTet formula. For other formulas the use of P1 is different. In some it is used to define the end condition; in others it is used in the calculation itself. For further details, see the description of the PARAMS option. Page 52 A Guide to Fractint: Part II #5 Similarly to above, the initiazation statement-- z = pixel: has a special meaning. The name "pixel" refers to the current screen location. This location is not determined using the (X,Y) locations described above for the CORNERS option and the key display. Instead, the screen locations are the coordinates of the current screen pixel in complex space. The native space of fractals is complex space. Locations within this space are specified by a complex number, which is the value named "pixel". This sets the initial value for the start of the iterations to the location of the pixel at the upperleft corner of the screen. If the image being created is the result of a zoom then these coordinates will be different for each zoom level down. In effect, the location of "pixel" is the complex coordinates of the upperleft corner of the zoom box. A map of the complex space of the full M-set is: \ ³ Imaginary \ / ³ Y -R,+I ÜÜÜ ³ +R,+I . . ÚÄÄßßßÄÄ¿ . . . . ³ ³³ . . ....ÚÄ¿ ÀÄÄÄÄÄÄÄÙ ÚÄ¿... . ÀÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ÀÄÙ . . ³ ³ ³ .. Ü ³ ³ ³ ÚÄÄÄÄÄÄ¿ ³ ³ ³ Real X ÚÄ¿ ³ ³ ³ ³0 ³ ÄÄÄÄÄÄ ÄÄÄÄÄÄþÄÄÄÄÄÄÄÄþ³Ä³ ³ÄÄÄÄÄij ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄijÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÀÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÙ ³ ³ ³ ..ß ³ ³ ³ . . ³ ³ ³ . ÚÄ¿ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄ¿ ....ÀÄÙ ÚÄÄÄÄÄÄÄ¿ ÀÄÙ... . . ³ ³³ . . . . ÀÄÄÜÜÜÄÄÙ . . ßßß ³ -R,-I / \ ³ +R,-I / ³ Page 53 A Guide to Fractint: Part II Thus the initial value of pixel is in the second quadrang at location (-R,+I) in which "R" is the real part and "I" the imaginary. The x-axis is a real number and the y-axis is an imaginary number. The "pixel" value (i.e. the location of the last pixel) may be used also in the computation or in defining the end condition. Fractal types for which the initial value of z is "pixel" are-- Mandelbrot Dragon MarksMandelPwr DeltaLog Newton4 and several others. The formulas for MTet and AltMtet are identical except that for the first the initialization is z = pixel: whereas for the second it is z = 0: #6 The sixth example of an initialization statement is-- z = pixel, c = z ^ (z - 1): First of all, notice that there is a comma between the definitions of z and c, not a semi-colon. These are parts of one statement, not two statements. The variable "c" is also a special one. It is a coefficient and is a complex value. For Julia fractals it is a constant value. For Mandelbrots it is defined within the formula and therefore varies. The user can also set the value of c at the time of execution or when beginning creation of a fractal. For details see the description of the PARAMS option. The first two parameter values are the real and imaginary values of the number to which c will be set. The Mandelbrot set is a composite of all the Julia sets. First, find the screen pixel at the center of each Julia set in the Mandelbrot set. Next, plot it at the screen coordinate corresponding to the value of c. This produces the Mandelbrot set. Page 54 A Guide to Fractint: Part II In the statement above, the c location is intialized to be-- c = z ^ (z - 1) Thus, c is computed to be the value of z raised to the power of z-1. This defines the relationship between a Mandelbrot fractal and its corresponding Julia fractal. It determines the appearance of the Julia associated with a point on the M-set. c=cos(z) The location c may bear a mathematical relationship to the value of z. Z is the location of a point in the Mandelbrot set. This defines the transformation of the M-set to get the J-set. Other mathematical functions which may be used are: abs() -- absolute value conj() -- conjugate value * cos() -- cosine * cosh() -- hyperbolic cosine * exp() -- exponential imag() -- imaginary * log() -- logarithm real() -- real * sin() -- sine * sinh() -- hyperbolic sine * sqr() -- square root Asterisked functions are part of the set named "fn". Thus fn may be any of the following functions: cos, cosh, sin, sinh, sqr, log, or exp. On the list of fractal types produced with the key are a number which have "fn" as part of the type name. Each of these is a set of fractal types. For example, the type "LambdaFn" consists of LambdaCos, LamdaCosh, LamdaSin, etc. The definition of each of these types could be identical except for one statement. For example, z = fn(z) corresponds to-- Page 55 A Guide to Fractint: Part II z = cos(z) z = cosh(z) z = sin(z) and so forth for each of the functions in the set fn. The term fn is not one you can use when defining a formula--you must use the name of a function within the set. #7 The seventh example is-- c = z = 1 / pixel: This demonstrates how to assign the same value to more than one destination. Both c (the coefficient) and z (the location) are set equal to the reciprocal of the location of the last pixel. #8 The next example should be easy to understand at this point-- z = pixel, c = log(pixel): #9 Since the meaning of the last example was easy, let's attack a more complex initialization, such as-- t1 = pixel * pixel t2 = 3 * pixel a = (t1 + 1)/t2, z = 0 - a : This is the definition for the initial value of z for the Cubic formula type. Iteration The iteration part of the formula is the middle, between the initialization value and the final value. It is the processing which takes the previous pixel location and computes the next pixel location. Page 56 A Guide to Fractint: Part II Mandelbrot(XAXIS) { z = Pixel: z = sqr(z) + pixel, |z| <= 4 } | | | | | Name Symmetry Initial Iteration Bailout Condition Criterion For the Mandelbrot fractal, the iteration formula is-- z = sqr(z) + pixel Here, z is either the initial value or is the result of the last iteration. "Pixel" is the location (in complex space) of the last screen pixel position. There are many, many variations of the iteration formula. Some of these are: z = sqr(z) + (-0.74543, 0.2) z = z*z + (0.11031, -0.67037) z = sqr(z) + c z = (pixel ^ z) + pixel, z = c * sqr(z) + pixel, z = z-p1*(s/(c-(s*s)/(c+c))) z = z - p1 * ((z7-z)/ ((7.0*z6-1)-(42.0*z5)*(z7-z)/ (14.0*z6-2))) and many others are possible. For details about defining iterations, see a textbook on Fractal Geometry. Bailout Criterion The bailout criterion is one of the methods by which it is determined when to stop iterating the iteration formula. The other principal method is to stop when the number of iterations reaches some value. Also, if calculation of the iteration produces a value equal to the initial value then iteration also stops--this situation is called a periodic loop. The most common definition of the bailout criterion is: |z| <= 4 Thus iteration will continue until the absolute value of the real part of z reaches or exceeds 4. Page 57 A Guide to Fractint: Part II Another common bailout definition is: |z| <= P1 in which the newly computed value of z is compared with the Parameter 1 value which the user entered (or defaulted). Occasionally, other methods of doing the bailout comparison are also used, for example: .004 <= |t1 - t2| where t1 and t2 are complex variables defined in the initialization section. Examples The descriptions above have been of the three separate parts of a fractal formula definition: the initialization, iteration, and bailout condition. The following shows the complete definition of some typical fractals, starting with the Mandelbrot type: Mandelbrot(XAXIS) = { z = Pixel: z = sqr(z) + pixel, |z| <= 4 } Note that this is just for the Mandelbrot--no corresponding Julia is defined (as indicated by the lack of the c variable). Note also that the separator between the iteration and the bailout is a comma here but a semi-colon can also be used. The initialization always terminates with a colon. The definition of the MarksMandelPwr formula is: MarksMandelPwr (XAXIS) { z = pixel, c = z ^ (z - 1): z = c * sqr(z) + pixel, |z| <= 4 } Page 58 A Guide to Fractint: Part II Another full formula definition is: NewtonSinExp (XAXIS) { z = pixel: t1 = exp(z); t2 = sin(z)+t1-1; z = z-p1*t2/(cos(z)+t1), .0001 < |t2| } The following is a table showing the formulas for the fractal types which are listed directly on the list and not as part of the formula.frm file. Note that the description of these formulas is in mathematical notation, not that used for describing a formula within a formula file. Page 59 A Guide to Fractint: Part II ************************************************************************ Fractal Type(s) Formula(s) used ----------------------- ------------------------------------------- BarnsleyM1, BarnsleyJ1 z(n+1) = (z(n)-1) * C if Real(z) >= 0 else (z(n)+1) * modulus(C)/C BarnsleyM2, BarnsleyJ2 z(n+1) = (z(n)-1) * C if Real(z(n))*Imag(C) +Real(C)*Imag(z(n)) >= 0 else (z(n)+1) * C BarnsleyM3, BarnsleyJ3 z(n+1) = (Real(z(n))^2 - Imag(z(n))^2 - 1) + i * (2*Real(z((n)) * Imag(z((n))) if Real(z(n) > 0 else (Real(z(n))^2 - Imag(z(n))^2 - 1 + lambda * Real(z(n)) + i * (2 * Real(z((n)) * Imag(z((n)) + lambda * Real(z(n)) Mandel, Julia z(n+1) = z(n)^2 + C Mandelfn, Lambdafn z(n+1) = Lambda*fn(z(n))+C where fn={sin,cos,sinh,cosh,exp,log,sqr} MandelLambda, Lambda z(n+1) = (C) * (z(n)^2) + C MarksMandel, MarksJulia z(n+1) = (C^(Period-1)) * (z(n)^2) + C where "Period" is a parameter Mandel4, Julia4 z(n+1) = z(n)^4 + C Manfn+exp, Julfn+exp z(n+1) = fn(z(n)) + e^(z(n)) + C Manfn+zsqrd, Julfn+zsqrd z(n+1) = fn(z(n)) + z(n)^2 + C manowar c = z1(0) = z(0) = Xcoord + i*Ycoord; z(n+1) = z(n)^2 + z1(n) + c; z1(n+1) = z(n); Manzpower, Julzpower z(n+1) = z(n)^M + C (M is a parameter) Manzzpwr, Julzzpwr z(n+1) = z(n)^z(n) + z(n)^M + C Newton, Newtbasin (roots of) z^n - 1, where n is an integer ComplexNewton, ComplexBasin (roots of) z^a - b, where a,b are complex Page 60 A Guide to Fractint: Part II popcorn z(n+1) = x(n+1) + i * y(n+1), where x(n+1) = x(n) - 0.05*sin(y(n)) + tan(3*y(n)) y(n+1) = y(n) - 0.05*sin(x(n)) + tan(3*x(n)) Sierpinski z(n+1) = (2x, 2y - 1) if y > .5 else (2x - 1, 2y) if x > .5 else (2X, 2y) spider c(0)=z(0)=pixel; z(n+1) = z(n)*z(n) + c(n); c(n+1) = c(n)/2 + z(n+1) tetrate z(0) = c = pixel; z(n+1) = c^z(n) ********************************************************************** Special Cases Cmplxmarksmand and Same as MarksMandel and MarksJulia except Cmplxmarksjul period parameter is complex rather than real Mandel4/Julia4 Special case of manzpower/julzpower (M=4) popcornjul Julia calculation from the popcorn formula. ********************************************************************** For a description of the formulas for the orbit fractals (such as Henon, Rossler, Lorenz, see the description of the INITORBIT option. For a description of certain other formulas, see Part III of this Guide. This applies to the following fractal types: UNITY, BIFURCATION, BIF, PLASMA, DIFFUSION, JULIBROT, KAMTORUS, and MAGNET Page 61 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo FULLCOLOR=y|1 oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The FULLCOLOR option causes the image to be saved as a Targa lightfile. By default, the name will be fract001.tga unless you change it. FULLCOLOR=y This option lets you create a Targa-24 file which uses the color of the image being transformed (or the map you select) and shades it as you would see it in real life. A good map file to use is topo.map. Valid with any light source FILLTYPE. FULLCOLOR=1 This will generate a Targa-24 file with a full color image which will be a combination of the original colors of the source image (or map file if you select map=something) and the amount of light which reflects off a given point on the surface. Using the full color option allows you to also set a haze factor with the "haze= " variable to make more distant objects more hazy. As a default, fullcolor files also have the background set to sky blue. Files which are created with the fullcolor option are very large, with 3 bytes per pixel. The file is created using Fractint's disk-video caching, but is always created on the hard disk (expanded or extended memory is not used). When the FULLCOLOR option is used, the image you see on the screen will represent the amount of light being reflected, not the colors in the final image. Don't be disturbed if the colors look weird, they are an artifact of the process being used. The image being created in the lightfile won't look like the screen. However, if you are worried, hit ESC several times and when Fractint gets to the end of the current line it will abort. Your partial image will be there as LIGHT001.TGA or with whatever file name you selected with the LIGHTNAME option. Page 62 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo FUNCTION=sin|cos|sinh|cosh|exp|log|sqr oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option specifies which mathematical function is used to create a fractal. The functions are: sin sine cos cosine sinh hyperbolic sine cosh hyperbolic cosine exp exponential (e^x) log natural logarithm sqr square root The syntax of this option allows for the entry of four function names, one for each of the four parameters (see PARAMS). Thus, the syntax is: FUNCTION=f1/f2/f3/f4 in which f1 is used for Param1 and so forth. The default is: FUNCTION=sin/sqr/sinh/cosh These functions apply to the family of fractal types which usually have "fn" in the type name. These are: fn(z*z) fn*fn fn*z+z fn+fn julfn+exp julfn+zsqrd lambdafn mandelfn manfn+exp manfn+zsqrd manowar spider sqr(1/fn) sqr(fn) tetrate Page 63 A Guide to Fractint: Part II For example, the fractal type fn(z*z) means that the following fractals can be created: sin(z*z) cos(z*z) sinh(z*z) cosh(z*z) exp(z*z) log(z*z) sqr(z*z) The term "z" is explained in the description of the FORMULAFILE option. Some of the fn fractal types take more than one function name, for example fn*fn. For this type, there are 28 different fractals which may created: sin cos sinh cosh exp log sqr sin 1 2 3 4 5 6 7 cos 8 9 10 11 12 13 sinh 14 15 16 17 18 cosh 19 20 21 22 exp 23 24 25 log 26 27 sqr 28 Obviously, fn1*fn2 and fn2*fn1 produce the same result so the bottom of the table is empty. When you select an fn fractal type from the list provided by the key then a parameter box will appear. It will request-- First function: Bailout Value: if only one function is used to define the fractal. If two are used then the parameter box says: First function: Second function: Bailout Value: In addition, some parameter boxes allow you to enter values for the real and complex numbers to be used. Page 64 A Guide to Fractint: Part II Usually, you set the FUNCTION option from within Fractint at the time of creating a fractal. The FUNCTION option value is also written out to frabatch when the key is pressed for a fractal of this type. About the only reason to use this option at the DOS prompt is when converting a fractal from one function type to another--this can be the only way to do it if bailout has been changed from the default and you have zoomed in. The lambdafn type calculates the Julia set of the formula lambda*fn(Z), where lambda and Z are both complex. Two values, the real and imaginary parts of lambda, should be given in the parameter box. For the feathery, nested spirals of LambdaSines and the frost-on-glass patterns of LambdaCosines, make the real part = 1, and try values for the imaginary part ranging from 0.1 to 0.4 (hint: values near 0.4 have the best patterns). In these ranges the Julia set "explodes". For the tongues and blobs of LambdaExponents, try a real part of 0.379 and an imaginary part of 0.479. The mandelfn type is one of those for which pressing will produce the Julia transform of the point at the center of the image or zoom box. The DECOMP option usually works quite well with these fractal types and often produces both spectacular and unusual results. Some of the functions are not all that reliable: log, in particular, will often crash your system. The sin and exp functions can also at higher resolutions. It's worth trying these functions anyway, but you may wish to save any ram disks (or turn off some kinds of cache programs) before the attempt. Page 65 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo GIF87a=y oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Since Version 14.0, Fractint creates image files using the GIF89a standard. Files created using the earlier GIF87a standard can be read in with no problem. However, some GIF viewers cannot read GIF89a files. You can use the GIF87a=y option to force Fractint to create the image file using the older standard so that such a GIF viewer can read it. Page 66 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo HALFTONE=freq/angle/style oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is useful only if you are printing images on a PostScript printer. They tell the printer how to define its halftone screen. The printer will default to appropriate values for these settings. This option is useful only to one who is a diehard, inveterate tweaker who can never leave well-enough alone. The meanings of the three arguments are: freq number of halftone lines per inch angle screen lie angle style halftone spot style A value between 60 and 80 for the frequency produces good results. A value of either zero or 45 degrees produce good results. The style codes are: 0 - common circle screen (probably same as hardware default) 2 - horizontal line screen 4 - vertical line screen Other values may be used--some work, some don't. They should produce screens such as: boxes, crosses, or rounded crosses. Explore if you like but don't expect wonders. The default values are: frequency = 80 angle = 45 style = 0 Page 67 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo HAZE=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option has meaning only for Targa lightfiles. The argument, nnn, must be between 0 and 100. It is used to produce more realistic terrains by setting the amount of haze for distant objects when using FULLCOLOR color in light source FILLTYPES. It works only in the "y" direction currently, so don't use it with much y rotation. Try ROTATION=85/0/0. If you selected the FULLCOLOR option, you have a few more choices. The next is the haze factor. Set this to make distant objects more hazy. Close objects won't be affected very much, but distant objects will. 0 disables the function. 100 is the maximum effect, the farthest objects will be lost in the mist. Currently, this does not really use the distance from the viewer, but uses the y value of the original image. So the effect really only works if the y-rotation (set earlier) is between +/- 30. Page 68 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo HERTZ=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is a sound choice. It adjusts the tone produced by the SOUND option. Legal values are 200 through 10000. Use 440 if you plan to tune an orchestra at the same time. Page 69 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo IFS=filename IFS3D=filename oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo IFS (Iterated Function System) fractals are among the most interesting and popular. They are also called Barnsley fractals in honor of Michael Barnsley and his co-workers at the Georgia Institute of Technology. IFS fractals are made of individual dots and form patterns like a fern, spiral, leaf, and other natural shapes. The pattern is created by taking a simple geometric shape and iterating it. This maps a region of two-dimensional space onto itself. It is an affine transformation of a space. IFS fractals are described by a set of numbers which are read in by Fractint from an external file. These files have .IFS as the filename suffix. The following IFS files come with Fractint: binary.ifs coral.ifs crystal.ifs dragon.ifs fern.ifs floor.ifs koch3.ifs spiral.ifs swirl5.ifs tree.ifs triangle.ifs zigzag2.ifs The default IFS file is fern.ifs. You can load a different IFS file from the command line-- fractint ifs=binary.ifs This will only change the default IFS file for that execution of Fractint. Thus, when Fractint comes up it will present the default Mandelbrot fractal. Page 70 A Guide to Fractint: Part II If you then press to obtain the list of fractal types and then to move the highlight to the IFS type. You can also move the highlight to this choice with the keys. Pressing works only because IFS is the first (in fact, only) fractal type which begins with the letter "i". From the command line, you can both specify the name of the IFS file but also cause Fractint to come up with an IFS fractal displayed, for example: fractint type=ifs ifs=binary.ifs Anyway, back to the key--since this key has two uses which must be distinguished. The key above was a speedkey used to move the highlight to the IFS fractal type on the list. Pressing causes an IFS fractal image to be displayed. By default this is the fern.ifs. If you have entered ifs=binary.ifs on the command line then it will be the binary IFS. While the image is developing you can press the key. This time it brings up the "IFS and 3D Parameters" box. The three menu choices within this box are: 2D IFS Codes 3D IFS Codes 3D Transform parameters By default, the highlight is on the third choice. If you move it to the first item and press you will get the "2D IFS Parameters" box. This is also called the IFS Editor. The IFS Editor lets you select an IFS file for display. If you press the key you will get a listing of all IFS files in the current directory. Actually, IFS files will be found if they are kept anywhere along the DOS path. You can also keep IFS files in a separate subdirectory and its name will appear on the list (provided the current directory is its direct parent). If you do, then simply move the highlight to the subdirectory name and press to view a list of the IFS files there. To select an IFS file, move the highlight to its name and press . It will immediately begin displaying. If you press again then the "IFS and 3D Parameters" box will appear and this time the highlight will be pointed at the last menu choice, so simply press to obtain the IFS Editor. Page 71 A Guide to Fractint: Part II The IFS Editor shows you the codes for the current fractal. There are four lines and seven columns of numbers. For example, for the fern.ifs fractal, the values are: # a b c d e f prob 1 0.00 0.00 0.00 0.16 0.00 0.00 0.01 2 0.85 0.04 -0.04 0.85 0.00 1.60 0.85 3 0.20 -0.26 0.23 0.22 0.00 1.60 0.07 4 -0.15 0.28 0.26 0.24 0.00 0.44 0.07 The number in the # column is the line number. The fractal coefficients are in columns a through f. The probability value is in the last column. The a,b,c,d,e,f,p parameters are standard ones for defining Barnsley fractals. So much so, that several other fractal generating programs besides Fractint can be used to generate IFS files which Fractint can read and display. The Fractal Grafix, Fractal Design, and Fractal Image (FGRAFIX, FRACTIMG, and FRACDSGN) programs all can create interesting IFS files. The text below this table says: Enter the number of the line you want to edit or R to start from another (.IFS) file, or S to save your edits in a file, or ENTER to end==> _ If you enter a line number and press , for example: Enter the number of the line you want to edit or R to start from another (.IFS) file, or S to save your edits in a file, or ENTER to end==> 1 then a prompt will appear below this block of text which says: Parameter a: _0.00 Here the underscore shows the cursor location. You can enter a new value or accept the current value by pressing the key. When you do this prompt will change to: Parameter b _0.00 Since the value in column b of Line 1 of the table for the fern IFS is a zero. Page 72 A Guide to Fractint: Part II If you wish to change a particular column value (such as column f) then when this prompt first comes up you can step across the line by pressing repetitively until the prompt displays the current value for column f. The last prompt is: Probability: 0.01 where the value shown is the current probability value. You can enter a new value if you wish. After you press then the parameters will begin being evaluated--the image you have requested will begin to display. You can go through a pretty quick cycle: .... fractal is drawing .... obtain "IFS and 3D Parameters" menu select highlighted choice <1> to edit line 1 Parameter a accept or change a parameter repeat for parameters b-f Probability: accept or change probability value .... fractal is drawing .... Thus, you can set and reset the parameters to your hearts content, quickly seeing the results of each change since IFS fractals are pretty quick to develop. When you find an image you wish to save, press the key as usual to save the image to a file. The fern IFS has four parameter lines. An IFS definition can have up to 32 lines of parameters--although usually 3-4 lines is enough. No matter how many lines there are, the total of all of the probability values should add up to 1.00. Thus, for the fern IFS, the probabilities of the four lines are .01 + .85 + .07 + .07 = 1.00. After you have entered parameter values which create a fractal which is worth keeping, you can press the key and the current parameters will be written out to a file. When you press a parameter box comes up which says: Enter the name of the .IFS file to save: \fraint\fern.ifs Page 73 A Guide to Fractint: Part II The filename shown is the name of the last IFS file loaded. If you press any qwerty key this name will be erased and you can enter a new filename. You do not need the ".IFS" suffix--it will be appended for you. If you do not use a full pathname then the file will be created in the current directory. You can also edit the file externally with any ASCII editor--just be sure to preserve column alignment. IFS fractals are zoomable, which is sometimes required because the initial form can be rather small. You can ROTATE, SHIFT, or change the PERSPECTIVE of an IFS fractal. 3D IFS fractals are also particularly good with red/blue funny glasses. You can set 3D parameters with the "Transform parameters" menu choice on the "IFS and 3D Parameters" menu. You cannot use a disk video mode to write the image directly out to a file. Page 74 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo IFSCODES=N/a/b/c/d/e/f/g/h oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option allows you to enter IFS codes at the command line. The first argument is the number of codes to follow and then N number of ifs codes are entered, followed by slashes. Page 75 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo INITORBIT=nnn/nnn INITORBIT=pixel oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option lets you alter the initial point from which an orbit is calculated for fractals in the Mandelbrot family. It lets you change the shape of the Mandelbrot fractal. For example, if you enter-- fractint initorbit=0.01/0 then the head of the snowman will be distorted into a teardrop shape and the north and south radicals will be reduced. At other values all of the radicals can be reduced so that they barely exist, for example if you try: fractint initorbit=0.001/.001 then the lake will appear without any radicals. If you try setting initorbit=-1.7/0 then the Mandelbrot will be very small and offset to the left. You will have to zoom just to see it. Has nice details, though. The first example above, with initorbit=0.01/0 is perhaps the best of any for viewing orbits. Begin the image with this command and as soon as the image starts developing, press the key. This key is a toggle and will turn orbit display off if you press it again. The orbits as shown as they are being calculated. You should also change the PASSES option from the default "g" to either a "1" or "2" before pressing the key, otherwise Fractint's internal calculations will automatically skip over the most interesting orbit displays. In this example, they are clearly spirals, whorls, and similar shapes. For other settings of initorbit these orbit patterns are not so clear. The default setting for this option is-- fractint initorbit=pixel This will produce the common Mandelbrot. If you use this argument you must use all five letters in "pixel" and not just the first. Page 76 A Guide to Fractint: Part II If you press the key while it is developing, the orbits are visible but the patterns are not quite as distinctive as with initorbit=0.001/0. A fractal is created by iterating some formula: z = f(z) However, before iteration can begin some initial value must be assigned by z. This initial value is called z(0). Within a FORMULAFILE the value of z(0) is explicitly set in the definition of the formula to be evaluated. The initial value, z(0) is a complex number--it is a location in the complex space of a fractal. Most commonly, the initial value is set to be that of the coordinates of the point at the upperleft corner of the fractal, thus: initorbit=pixel where "pixel" is a keyword which means "the location at the upperleft corner of the fractal image". You can also specify that the initial value be at the center coordinates of the fractal, thus: initorbit=0.00/0.00 The value to which you are setting initorbit is a location. If you set initorbit=pixel then the first orbit will begin at the location (in complex space) of the upperleft corner of the image. If you enter initorbit=.5/0 then the first orbit will begin at location (.5,0) where this is a complex number specifying a location in the complex space in which the Mandelbrot exists. Try the fractal: fractint type=lambdafn function=sin initorbit=.5/.5 inside=0 You will obtain an image with a large lake. Now add: inside=attractors with the menu or by adding this option to the command line. The image will be re-drawn with a much more colorful lake. A Finite Attractor lives in the center of one of the resulting "ripple" patterns in the lake. Next, press to see that initial points of all of the orbits converge at the point of the finite attractor. Page 77 A Guide to Fractint: Part II If f(z) is a generalization of the formula which is iterated to create a fractal then fk(z) is the result of k iterations of the formula. Here the "k" should be read as if it were a subscript. If the function involves both z and c then the general function is fkc(z), again where k is a subscript. Now define g(z) in which the function "g" is defined as: g(c) = inf { |fkc(0)|: k=1,2,3,...} Thus, it evaluates as the absolute value of evaluation of the function fkc(z) where z=0 for all values of the index k from 1 to infinity. This results in the greatest lower bound. The result, g(c), is the closest to the origin which any point in an orbit which starts a zero gets. The value of k for the iteration at which g(c) reaches its closest point is called the index(c). The "inf" in the formula definition stands for the "infimum" operation. Some of the pixel coloring schemes for the inside color (such as INSIDE=bof60) use index(c) to determine the color to be used to color the corresponding screen pixel. It produces bands of color where the value of index(c) is the same throught each band. Similarly, INSIDE=bof61 shows domains in which index(c) is a constant value. These are areas in which the iteration when the orbit goes closest to the origin has the same value. The relationship between the Mandelbrot set and Julia set can hold between other sets as well. Many of Fractint's types are "Mandelbrot/Julia" pairs (sometimes called "M-sets" or "J-sets"). All these are generated by equations that are of the form: z(k+1) = f(z(k),c) where the function orbit is the sequence z(0), z(1), ..., and the variable c is a complex parameter of the equation. The value c is fixed for "Julia" sets and is equal to the first two parameters entered with the PARAMS option. The initial orbit value z(0) is the complex number corresponding to the screen pixel. For Mandelbrot sets, the parameter c is the complex number corresponding to the screen pixel. The value z(0) is c plus a perturbation equal to the values of he first two parameters. Page 78 A Guide to Fractint: Part II The orbit option has different implications for different kinds of fractals. These are mentioned below for several fractal types. NEWTBASIN When you press and select this fractal type from the list you will get a parameter box. The first value is the order of the equation-- thus if you enter a 5 then the fractal will have 5-way symmetry. This order must be an integer from 3 to 10. In general, odd values give aesthetically more pleasing results. The second parameter is a flag which turns on or off a feature which shows alternating colors which correspond to the number of iterations needed to attract an orbit. All pixels within the same band have the same number and so are colored alike. The values here are 0 to turn it off (the default) and 1 to turn it on. MANDELLAMBDA This type is the "Mandelbrot equivalent" of the lambda set. Almost all the Fractint "Mandelbrot" sets are created from orbits generated using formulas like: z(n+1) = f(z(n),C) in which z(0) and c are initialized to the complex value corresponding to the current pixel. This assumes that Mandelbrots are maps of the corresponding Julia and each pixel of the "Mandelbrot" is colored the same as the Julia set corresponding to that pixel. Note that this definition differs somewhat from a common one in which z(0) is initialized to a critical point at which the derivative of the formula is zero. For the formula above, this critical point is at location (.5, 0). The Mandelambda type is calculated with this initialization of z(0). For all of the other Mandelbrot-type fractals, the initialization is: z(0)=pixel Actually, for the default Mandelbrot, both methods of initializing the first value of z produce the same result. Page 79 A Guide to Fractint: Part II POPCORN These fractals are plots of the orbits of the dynamic system defined by: x(n+1) = x(n) - h*sin(y(n)+tan(3*y(n)) y(n+1) = y(n) - h*sin(x(n)+tan(3*x(n)) with the initializers x(0) and y(0) equal to all of the complex values within the "corners" values, and h=.01. All of these orbits are superimposed--this results in the "popcorn" effect. You may want to use a maxiter value less than normal (Pickover recommends a value of 50) when computing a Popcorn fractal. The popcorn is best viewed by pressing to turn on the View Orbits option. Although you can zoom on a Popcorn image or rotate the image, the results may not be what you'd expect because of the superimposing of orbits and arbitrary use of color. POPCORNJUL This type is the Julia set generated by the same equations used for Popcorn. The usual escape-time coloring is used. This fractal has excellent details and you can make hundreds of swell-looking images here. KAMTORUS KAMTORUS3D These are implementations of the Kam Torus in both two- and three- dimensional variants. The fractal is created by superimposing orbits generated by a set of equations, with a variable incremented each time, thus: Page 80 A Guide to Fractint: Part II x(0) = y(0) = orbit/3; x(n+1) = x(n)*cos(a) + (x(n)*x(n)-y(n))*sin(a) y(n+1) = x(n)*sin(a) - (x(n)*x(n)-y(n))*cos(a) After each orbit, the value of "orbit" is incremented by a step size. The parameters may be set by the user when creating a Kamtorus image. The parameter box contains: Angle (radians) 1.3 Step size 0.05 Stop value 1.5 Points per orbit 150 The default values are shown on the right. In general, setting the number of points high and then zooming in on an interesting area produces the best results. You can also create fractal music by using SOUND=x and varying the stop value. For instance, try a stop value of 5. The 3D variant is created by treating 'orbit' as the z coordinate. LORENZ The "Lorenz Attractor" is a simple set of three deterministic equations developed by Edward Lorenz while studying the non- repeatability of weather patterns. The weather forecaster's basic problem is that even very tiny changes in initial patterns eventually reduces the best weather forecast to rubble. A storm developing over North Dakota is affected by the wind blowing past a skyscraper in Melbourne, Australia. As a result, it will later pass over Alabama instead of Maryland. The Lorenz Attractor is the plot of the orbit of a dynamic system consisting of three first order non-linear differential equations. The solution to the differential equation is vector-valued function of one variable. If you think of this variable as time then the solution traces an orbit which is made up of two spirals at an angle to each other in three dimensions. The orbit color is changed as time goes on to add a little razzmatazz to the image. Page 81 A Guide to Fractint: Part II The equations are: dx/dt = -a*x + a*y dy/dt = b*x - y -z*x dz/dt = -c*z + x*y These differential equations are solved approximately using a method known as the First Order Taylor Series. Here, the notation for the derivative dx/dt is treated as if it really were a fraction, with "dx" the small change in x that happens when the time changes "dt". Multiplying the above equations by dt and you will have the change in the orbit for a small time step. The time step is added to the old vector to get a new vector after each step. This gives us: xnew = x + (-a*x*dt) + (a*y*dt) ynew = y + ( b*x*dt) - ( y*dt) - (z*x*dt) znew = z + (-c*z*dt) + (x*y*dt) (default values: dt = .02, a = 5, b = 15, c = 1) The successive points are connected with a line. The result is projected in 3D for a 3D image. The attractor orbit may be seen in 3D by using red/blue funny glasses. In 3D, you can ROTATE the image, change its PERSPECTIVE, or SHIFT it. The default PERSPECTIVE=60/30/0 settings are not the best for viewing Lorenz3d fractals. Instead, start with ROTATION=0/0/0 and then change to ROTATION=20/0/0 (or =40/0/0) to see the attractor from different angles. Next, try a PERSPECTIVE=100 to get inside of the image. Actually, any perspective value greater than 1 can be used. You may also wish to turn SOUND=x on and (if you're really into tweaks) change the tone with HERTZ=300. When you select a Lorenz (or Lorenz3d) fractal type from the list provided by the key you will get a parameter box which contains: Different Lorenz attractors can be created using different parameters. Page 82 A Guide to Fractint: Part II Four parameters are used. Within the Parameter Box which comes up when you select the lorenz type from the list provided by the key, are the following parameters: Time Step 0.02 a 5 b 15 c 1 Here "Time Step" refers to the dt argument in the formula equation given above. In fact, a, b, and c are also found. That equation is: xnew = x + (-a*x*dt) + (a*y*dt) ynew = y + ( b*x*dt) - ( y*dt) - (z*x*dt) znew = z + (-c*z*dt) + (x*y*dt) If you enter a Time Step (dt) value smaller than the default 0.02 then plotting will be slower but more accurate; larger values are faster and rougher. The a, b, and c parameters are coefficients. If you change them, you should make small, incremental changes to the default values (5,15,1) rather than large changes. For example, try a=5,b=16,c=2 with a dt Time Step of 0.001. ROSSLER and ROSSLER3D This fractal is named after the German Otto Rossler, a non-practicing medical doctor who approached chaos with a bemusedly philosophical attitude. He would see strange attractors as philosophical objects. This is the opposite of most of us. A Rossler fractal looks like a band of ribbon with a fold in it. The definition of the Rossler fractal type is similar to that of the Lorenz type in that it is defined using the same four parameters. The default values are: Time Step 0.02 a 5 b 15 c 1 Page 83 A Guide to Fractint: Part II Rosslers are computed by multiplying the equations by "dt" to solve the differential equation and generate the orbit. This time we will skip straight to the orbit generator. You can easily reverse engineer the differential equations. xnew = x - y*dt - z*dt ynew = y + x*dt + a*y*dt znew = z + b*dt + x*z*dt - c*z*dt Default parameters are dt = .04, a = .2, b = .2, c = 5.7 HENON Michel Henon was an astronomer at Nice observatory in southern France who came to the subject of fractals via investigations of the orbits of astronomical objects. The strange attractor most often linked with Henon's name comes not from a differential equation, but from the world of discrete mathematics - difference equations. The Henon map is an example of a very simple dynamic system that exhibits strange behavior. Just like you. The orbit traces out a characteristic banana shape, but on close inspection, the shape is made up of thicker and thinner parts. Upon magnification, the thicker bands resolve to still other thick and thin components. The equations that generate this strange pattern perform the mathematical equivalent of repeated stretching and folding, over and over again. The equation is: xnew = 1 + y - a*x*x ynew = b*x The default parameters are a=1.4 and b=.3. Page 84 A Guide to Fractint: Part II PICKOVER Named after Clifford A. Pickover of the IBM Thomas J. Watson Research Center is a a fractal created with a 3-dimensional orbit: xnew = sin(a*y) - z*cos(b*x) ynew = z*sin(c*x) - cos(d*y) znew = sin(x) The default parameters are: a = 2.24, b = .43, c = -.65, d = -2.43. GINGERBREADMAN This simple fractal came from Page 149 of the "Science of Fractal Images" by Peitgen and Saupe. The gingerbreadman contains infinitely many copies of himself at all different scales. xnew = 1 - y + |x| ynew = x There are no parameters. DIFFUSION This type begins with a single point in the center of the screen. Subsequent points move around randomly until coming into contact with the first point, at which time their locations are fixed and they are colored randomly. This process repeats until the fractal reaches the edge of the screen. During development of the image, you can press to see the random motion of the orbit. However, watching random motion is about as much fun as peeling grapes. The only parameter to diffusion is the size of the border between the fractal and the edge of the box. If you make this number small, thefractal will look more solid and will be generated more quickly. Page 85 A Guide to Fractint: Part II ORBITAL FRACTALS SUMMARY The following table summarizes the equations for defining the various kinds of orbital fractals: Gingerbreadman Orbit generated by: xnew = 1 - y + |x| ynew = x Henon Orbit generated by: xnew = 1 + y - a*x*x ynew = b*x The default parameters are a=1.4 and b=.3. Lorenz, Lorenz3d Lorenz Attractor - orbits of differential equation: dx/dt = -a*x + a*y dy/dt = b*x - y -z*x dz/dt = -c*z + x*y Solution by 1st order Taylor series: xnew = x + (-a*x*dt) + (a*y*dt) ynew = y + (b*x*dt) - (y*dt) - (z*x*dt) znew = z + (-c*z*dt) + (x*y*dt) (defaults: dt = .02, a = 5, b = 15, c = 1) Pickover Orbit generated by: xnew = sin(a*y) - z*cos(b*x) ynew = z*sin(c*x) - cos(d*y) znew = sin(x) Defaults: a=2.24, b=.43, c=-.65, d=-2.43 Page 86 A Guide to Fractint: Part II Rossler3d Orbit is solution to differential equation: dx/dt = -y -z dy/dt = x + a*y dz/dt = b + x*z - c*z Solution via first order Taylor series: xnew = x - y*dt - z*dt ynew = y + x*dt + a*y*dt znew = z + b*dt + x*z*dt - c*z*dt Default params are dt=.04, a=.2, b=.2, c=5.7 Page 87 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo INSIDE=0|-1|nnn|bof60|bof61 oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option controls the color used for the "inside" of the Mandelbrot and Julia fractals. This is the color of the lake and of the filaments which connect all of the midget lakes. In addition, it controls the appearance of lakes within Julia fractals. You can find a Julia with a lake by moving the zoom box to the shoreline of the Mandelbrot and locating it so that the center of the box is over part of the lake and then pressing . You can set this option internally by pressing the key and entering the argument on the line which requests "Inside Color". The default color is blue. You may wish to change the default so the inside is black since this is better for most purposes. The way to do this is to use INSIDE=0 on the command line whenever you execute Fractint. This same result can be accomplished by placing this option in a @set file or in the SSTOOLS.INI file. INSIDE=0 When you use the default color then when you turn color-cycling on the inside color will cycle along with the rest. When the area of the fractal colored the inside color is large (such as the lake of the default Mandelbrot) the result is annoying unless you turn the color- cycling speed way down. An advantage of using black is that it does not color-cycle and simply stays black all the time. This is aesthetically much more satisfying, especially at normal or high cycling speeds. Incidentally, the filaments which connect the lakes are usually thin and sometimes not visible without magnification. You can artificially enlarge the filaments with the DISTEST option. This is useful if you are planning to make a printed black-and-white image of a Mandelbrot fractal. Page 88 A Guide to Fractint: Part II INSIDE=-1 This sets the inside color to be that of maxiter. This is the number of the maximum iteration. You can define this value with the MAXITER option. INSIDE=nnn When using the default color map then the specific colors you can set the inside to are: 0 black 1 blue 2 green 3 cyan 4 red 5 magenta 6 brown 7 light gray 8 dark gray 9 light blue 10 light green 11 cyan 12 orange 13 pink 14 yellow 15 white to: 255 some color INSIDE=bof60 Inside=bof60 colors the lake in alternating shades according to the level sets of g(c). The term g(c) is defined in the article about the INITORBIT option. Both inside=bof60 and inside=bof61 are intended for use in bringing detail out of the lake of a Julia. Page 89 A Guide to Fractint: Part II INSIDE=bof61 Inside=bof61 shows domains where index(c) is a constant. The term index(c) is also described in the INITORBIT description. BOF61, sometimes referred to as a "feathered inside" shows where index(c) is constant, which organizes the sequence of indices according to Fibonacci sequences. INSIDE=attractor Although it says in fractint.doc that you can set the inside color to the keyword "attractor" in reality you cannot. Instead, see the description of the FINATTRACT option. Page 90 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo INTEROCULAR=nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This is one of the red/blue funny glasses options. It can be adjusted to compensate for the fact that human eyes are not a standard distance apart. You can adjust this value from within Fractint on the Funny Glasses Parameters box. The prompt there is: Interocular distance (as % of screen) 3 One reasonable constellation of options to try is: BRIGHT = 100% / 100% CONVERGE = -5 INTEROCULAR = 5 This option interacts with the CONVERGE option, so it will take some fiddling to get it right. Page 91 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo INVERT=radius/xcenter/ycenter oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option turns on inversion. It may also be set on the Extended Options and Doodads screen. The information is also displayed with the key. The arguments are: radius the radius of inversion xcenter x-coordinate of center of inversion ycenter y-coordinate of center of inversion Each of these may be a number or the keyword "auto". On the screen are the prompts-- Inversion radius or "auto" (0 means off) 0 Center X coordinate or "auto" 0 Center Y coordinate or "auto" 0 (use fixed radius & center when zooming) To quickly see the effect of inversion, bring up the default Mandelbrot and use to enter "auto" for these three parameters. After viewing the result you can then press and set decomp=128, and the combination produces interesting results. The INVERT option performs a related transformation on most of the fractal types. You define the center point and radius of a circle and then Fractint maps each point inside the circle to a corresponding point outside, and vice-versa. This everts the plane. For example, if a point inside the circle is 1/3 of the way from the center to the radius, it is mapped to a point along the same radial line, but at a distance of (3 * radius) from the origin. An outside point at 4 times the radius is mapped inside at 1/4 the radius. The fractal is turned inside out. Page 92 A Guide to Fractint: Part II You may set the radius to-- 0 off (default value) -1 default radius auto radius autodetection nn.nn specific radius value On the display, the default radius is 0 and therefore inversion is turned off. If you enter a value of -1 then the radius will be set to 1/6 of the smaller screen dimension. You may set the x and y coordinates to-- 0 current screen center (default) nn.nn specific x or y coordinate Another example of inversion to try is: fractint type=newton invert=1/0/0 params=27/0/0/0 this causes the center to explode out to the periphery. By entering specific x- or y-coordinates you are relocating the center of inversion, which often produces interesting effects. Note that when you move the inversion center then you lose the ability to zoom. Page 93 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ITERINCR=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The number nnn must be between 0 and 32000. It sets the iteration increment. Page 94 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo LATITUDE=nn/nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used when creating spherical fractals. In standard orientation, the right edge of the globe faces North. This is different that the Earth, on which the top edge of the globe faces North. But then, fractals are their own little world. The horizontal x-axis is the latitude. The vertical y-axis is the longitude. The nn/nn arguments are the minimum and maximum latitude. The default latitude is -90/90. The default longitude is 0/180. This is the full, normal globe. The defaults exactly cover the hemisphere facing you, from longitude 180 degrees (top) to 0 degrees (bottom) and latitude -90 (left) to latitude 90 (right). By changing them you can map the image to a piece of the hemisphere or wrap it clear around the globe. Suppose you use-- LATITUDE = -90/0 when you create a spherical image. The final image will cover only the top half of the globe. The bottom half will be empty. However, if you are careful, you can overlay another image on top of this one where that image contains a bottom half of the globe. Heaven only knows why you'd want to create a globe with two distinct halves. If you use-- LATITUDE = 45/45 then the created image will appear between the Tropic of Cancer and the Tropic of Capricorn. It will be a wide band around the equator. Page 95 A Guide to Fractint: Part II Actually, if you use-- LATITUDE = 10/10 then the image will be a narrow band. If you use -- LATITUDE=10/10 LONGITUDE=45/135 then the band will no longer cover the entire width of the equator-- it will be a rectangular block in the middle of the sphere. To create an "icecap" at the top of the sphere (top meaning viewed as if it were the Earth) use the following coordinates. With the fractal sphere's north being to the east this means that its east is the Earth's north. At any rate-- LATITUDE=10/10 LONGITUDE=165/180 will do this. Page 96 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo LFILE=lsystemfile LNAME=lsystemname oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo If you press while executing Fractint then a list of fractal types will be displayed. One of the entries is: l-system If you pick this choice then a list of the l-system definition files will appear. There is only one such file, named "fractint.l". If you select its name then a list of the l-system fractals which are defined within the file will be displayed. The term "l-system" is short for "Lindenmayer systems" which were named after the biologist Aristid Lindenmayer. L-systems are not fractals but are closely related--they would be fractal if the order were infinite. This method has five components: 1. An alphabet 2. An axiom 3. Transformation Rules 4. An order 5. A turtle An alphabet is a set of string characters or variables. An axiom is a seed string of initial alphabet characters. Each character of the axiom is replaced by a string taken from the table of transformation rules. This is repeated iteratively the number of times specified by the order number. The order is the number of times to cycle the rule. Finally, a turtle draws the final character string on the screen. Page 97 A Guide to Fractint: Part II Typical l-system types are: Koch3 Peano1 CantorDust Snowflake1 Sierpinski1 When you pick one of these names then you will get a Parameter Box in which you can enter the order to be drawn. Then the l-system fractal will be displayed. If the fractal takes a while to develop then a message telling you this appears and a little whirligig goes round. The l-system fractals are all defined in a file named fractint.l. A typical definition is: Demo1 { Angle 6 Axiom F--G--F F=F+F--F+F } This looks more obscure than it actually is. The first line is: Angle n This sets the angle to 360/n degrees; n must be an integer greater than two and less than fifty. Thus, the meaning of: Angle=6 is the same as if it were written: angle=360/6 which is 60 degrees. Note that either a blank or an = sign may separate the term "angle" from the value. Also, "angle" can be written in either lowercase or uppercase letters. With this method of specifying the angle which the turtle can turn, the angle is always a constant or a multiple of that constant. This angle is represented by a + or - sign. Thus, for the example above: + means to turn 60 degrees to the left - means to turn 60 degrees to the right Page 98 A Guide to Fractint: Part II If the sign occurs more than once then the angle increases in unit chunks, thus: ++ means to turn 120 degrees to the left +++ means to turn 180 degrees to the left and so forth. These degree values are only accurate when angle=360/6 has been defined. If the angle unit were defined as angle=360/4 then each + sign would indicate a 90 degree turn to the left. The '+' increases the angle in a positive direction. Mathematically, positive is counterclockwise which is also to the left. The third line in the example above was-- F=F-F++F-F This is the transformation rule and in this case it means-- F a line forward - a right turn (60 degrees) F a line ++ two left turns (120 degrees) F a line - a right turn (60 degrees) F and a line This rule is written: F-F++F-F The result, the path of the turtle is-- _______ ______ \ / \ / \/ This is the result of the first cycle, the first iteration of the rule. In the first iteration the meaning of "F" was a simple straight line and therefore this turtle-path is composed of four straight lines (one for each occurrence of F in the rule and three angle changes. For the second iteration, the meaning of "F" is no longer a straight line but is instead the entire curve produced as a result of the first iteration. Thus, each F in the rule is replaced by "F-F++F-F" therefore the turtle path for the second iteration is: F-F++F-F-F-F++F-F++F-F++F-F-F-F++F-F Page 99 A Guide to Fractint: Part II If you break this string up into its constituent parts, they are-- F - F ++ F F F-F++F-F - F-F++F-F ++ F-F++F-F - F-F++F-F Here, the first line shows iteration 1. The second line shows iteration 2 in which each original F was replaced by the transformation rule. It follows from this that in the third iteration each "F" of the second iteration is replaced by the entire second iteration rule. This quickly gets too long and confusing-looking to show here. Each "F" in the rule is replace by F-F++F-F-F-F++F-F++F-F++F-F-F-F++F-F. The rules do not change for each iteration. The rules stay the same. Once you've gotten to F-F++F-F-F-F++F-F++F-F++F-F-F-F++F-F the next generation replaces each F with F-F++F-F as before, not with the longer string. Subsequent generations continue to use the same rules on the ever-growing base string. Graphically, the result of the second iteration is (very roughly, because of the limitation of ASCII characters): ___ __ __ __ \/ \ / \/ /_ _\ \/ and this begins to look like the Koch shape, which it is. In the third iteration, each line segment is replaced by the entire result of the previous iteration. Naturally, this being Fractint and not the real world, there are some bells and whistles added to this basic structure. One of these is that you can specify arbitrary angles rather than a fixed angular unit for when the turtle changes direction. The easiest way to understand what an l-system definition is doing is to obtain the plot with order=1 and then trace the turtle's path. When you request an l-system drawing within Fractint, a parameter box comes up in which you can enter the order. In generaly, you should normally view the order=1 and order=2 versions of the l-system before going on to the higher orders to get a feel for what is happening. Also, higher orders tend to take progressively longer to develop. The length of the string usually grows exponentially, so it is easy to exceed the resolution of your computer. Page 100 A Guide to Fractint: Part II The "string" of turtle movement instructions is a sequence of characters. The entire line must be no longer than 160 characters long. In the string, the letters "F" and "G" are drawing commands: F means to draw forward G means to move forwared without drawing The meaning of the plus (+) and minus (-) signs are: + means increase the angle (i.e. turn left) - means decrease angle (i.e. turn right) Therefore the meaning of F--G++F is: draw forward decrease the angle twice move forward increase the angle twice draw forward Another example is: angle=4 F+F+F+F+ This example performs the following steps: draw a line (0 degrees) increment angle by 360/4 (90 degrees) draw a line increment angle by 360/4 (180 degrees draw a line increment angle by 360/4 (270 degrees) draw a line increment angle by 360/4 (360 degrees; 0 degrees) Thus, this example draws a square. Other symbols which may be used in defining the string are: D means to draw forward M means to move forward without drawing Page 101 A Guide to Fractint: Part II Note that the system maintains two distinct angle counters. Thus, both D and F may be used in the same rule but refer to different angles. Similarly, both G and M may both be present and refer to different angles of movement without drawing. The difference is summarized in the following chart: D draw forward by nnn angle F draw forward by 360/nn angle M move forward by nnn angle G move forward by 360/nn angle Thus, for D and M the angle is defined as a specific angle, such as 90 degrees. For F and G the angle is defined as a that of a pie-slice, for example 360/4 (which also happens to be 90 degrees). The meaning of the backslash (\) and forward slash (/) signs are: \nnn means to increase the angle by nnn degrees (i.e. left) /nnn means to decrease the angle by nnn degrees (i.e. right) For example: D\90D\90D\90D\90 describes the following steps: draw a line (0 degrees) increase angle by 90 degrees (90 degrees) draw a line at this angle increase angle by 90 degrees (180 degrees) draw a line at this angle increase angle by 90 degrees (270 degrees) draw a line at this angle increase angle by 90 degrees (360 degrees; 0 degrees) in other words, this example also draws a square. If this example had been written as: D\90D\90\90D\90 then the third (left) side of the square would not be drawn--the result would be a three-sided square with the left side absent. Page 102 A Guide to Fractint: Part II Another example is: angle 6 axiom F F=FGF This means that "F" is to be transformed by the rule "FGF", which is clearly iterative. This rule is the basis for the CantorDust l- system fractal. As a first order fractal, it is simply two drawn lines separated by a move, thus the result is: _____________________ _______________________ When this same rule is evaluated as a second order, then the result is: _______ ______ _______ _______ When this same rule is evaluated as a third order, then the result is: __ __ __ __ __ __ __ __ and so forth. Other symbols which may be used in defining the transformation rule are: | means to turn 180 degrees (if possible) ! means to reverse angular direction The | symbol turns the largest angle possible which is less than or equal to 180 degrees. Thus, if you define the pie-slice angle as 360/7 then using | is equivalent to using +++ since 360/7 = 51.43 degrees and three times 51.43 is 154.43 degrees. Since ++++ is 205.72 degrees and is greater than 180 degrees, the largest value under 180 is +++. The | symbol only affects angles defined using the pie-slice method and not angles specified numerically. Thus, it affects the + and - angles but not the \ and / angles since these are defined with specific angles. Page 103 A Guide to Fractint: Part II The ! symbol causes the meanings of the + and - signs to reverse. The ! also causes the meaning of / and \ to exchange. So, anytime you have two !'s with no angle characters between them, nothing will happen. When you look between pairs of '!' chars, (starting from the beginning) you can see that there are angle commands between them. By default, the length (i.e. size) of the line segment drawn is a certain length. You can specify the length of the segment to be drawn with the notation-- @nnn in which nnn is a factor which indicates how much the standard segment size is to be multiplied by. For example: @2 -- twice standard size @0.5 -- half standard size @1.333 -- one and a third standard size @.1 -- one tenth standard size and so forth. In addition to being a numeric value, nnn may also be the codes I or Q. The character "I" indicates the inverse of the number, thus: @I10 -- one tenth standard size (i.e. 1/10) @I2 -- one half standard size (i.e. 1/2) @I3 -- one half standard size (i.e. 1/3) and the code "Q" represents the square root operation, thus: @Q9 -- 3 times standard size (sqrt(9) = 3) @Q25 -- 5 times standard size (sqrt(25) = 5) @IQ2 -- 1/sqrt(2) times standard size @IQ9 -- one third standard size (1 over sqrt(9) equals 3) Finally, an advanced pair of symbols which may be used are square brackets. The left square bracket means to push the enclosed angle onto a stack and the right square bracket means to pop it off. The [ preserves the current turtle state: position, draw size, +- angle, and /\ angle. The ] restores the last set of preserved values. Anything can be inside the [] pair -- not an "angle". This function is used for tree like things, where you want to draw a branch, and then come back to the main tree part. Page 104 A Guide to Fractint: Part II Another advanced option concerns color control. Thus-- Cnnn means use color nnn therefore C0 always means to use black. The color numbers from 1 to 255 correspond to specific colors depending upon the color map currently in use. You can increment and decrement the color number automatically, thus: nnn means to decrement the color number by nn Transformation rules are specified as "a=string" and convert the single character 'a' into "string." If more than one rule is specified for a single character all of the strings will be added together. This allows specifying transformations longer than the 160 chararacter limit. Transformation rules may operate on any characters except space, tab or '}'. You can define a null, empty string. For example-- F= defines F as an empty string. A line which starts with ;; is a comment line. An example of a complete l-system definition is: ;; This is the Hilbert l-system. Hilbert { axiom x x=-YF+XFX+FY- y=+XF-YFY-FX+ angle 4 } Page 105 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo LIGHTNAME=filename oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The name of the Targa-24 file to be created when using FULLCOLOR with LIGHTSOURCE. Unless you use this option, the first Targa lightfile you create will be named light001.tga. Similar to the name fract001.gif used for GIF files, the name will automatically increment as you create other Targa lightfiles. If you use, for example, the option LIGHTNAME=MYLITE then the first Targa lightfile created will be named MYLITE01.TGA. The background color of a Targa lightfile will be sky blue. You can also set the lightsource filename from within Fractint. To do so, first press <3> to obtain the 3D Mode Selection screen. When you next press you will get the Select 3D Fill Type screen. If you move down to the last two items on this list, they are: light source before transformation light source after transformation If you select one of these and press you will get a screen with a box which requests that you enter a MAP file to be used. After doing this you will obtain the Planar 3D Parameters screen. The last choice on this list is-- Color/Mono Images with Light Source (1=Color) if you enter a 1 after this field and press then you will obtain the Light Source Parameters screen. The last choice listed is: Full Color Light File Name (if not light001.tga) The default entry is light001.tga and you can overwrite this with another name. See also: FULLCOLOR, LIGHTSOURCE, 3D Page 106 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo LIGHTSOURCE=xx/yy/zz oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used to define where the source of light is coming from when creating a Targa lightfile image. It may be used with any 3D fractal type. The x, y, and z directions are scaled the same as the image. For example, LIGHTSOURCE=1/1/3 positions the light to come from the lower right front of the screen in relation to the untransformed image. It is important to remember that these coordinates are scaled the same as your image. Thus, 1/1/1 positions the light to come from a direction of equal distances to the right, below and in front of each pixel on the original image. However, if you use 90/90/30 then the result will be from equal distances to the right and below each pixel but from only 1/3 the distance in front of the screen. It will be in the early morning sun position. (Or late afternoon sun position, it's kinda hard to tell.) You can also set the light source from within Fractint. To do so, first press <3> to obtain the 3D Mode Selection screen. When you next press you will get the Select 3D Fill Type screen. If you move down to the last two items on this list, they are: light source before transformation light source after transformation "Light source before transformation" calculates the illumination before doing the coordinate transformations, and is slightly faster. If you generate a sequence of images where one rotation is progressively changed, the effect is as if the image and the light source are fixed in relation to each other and you orbit around the image. "Light source after transformation" applies the transformations first, then calculates the illumination. If you generate a sequence of images with progressive rotation as above the effect is as if you and the light source are fixed and the object is rotating. Page 107 A Guide to Fractint: Part II If you select one of these two choices and press you will get a screen with a box which requests that you enter a MAP file to be used. After doing this you will obtain the Planar 3D Parameters screen. The last choice on this list is-- Color/Mono Images with Light Source (1=Color) if you enter a 1 after this field and press then you will obtain the Light Source Parameters screen. The items listed here are: X value light vector Y value light vector Z value light vector and the defaults are 1/-1/1. These are the same three values as defined with the LIGHTSOURCE=xx/yy/zz batch option. See also: SMOOTHING, AMBIENT, FILLTYPE, FULLCOLOR, LIGHTNAME, RANDOMIZE, 3D, HAZE, LIGHTNAME Page 108 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo LOGMAP=y|old|n oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The LOGMAP option compresses the color palette. The fractal image appears unchanged except at the shoreline of the lake. By default, Fractint maps iterations to colors 1-1. If you are using a 16-color video mode, and you are using the default maximum iteration count of 150, your image will run through the 16-color palette 150/16 = 9.375 times. If you elect to use Logarithmic palettes, the entire range of iteration values is compressed to map to one span of the color range. This results in spectacularly different images if you are using a high iteration limit near the current iteration maximum of 32000 and are zooming in on an area near a "lakelet". The possible arguments are: logmap=y logmap=n logmap=old logmap=1 logmap=-1 logmap=n logmap=-n logmap=0 where n is greater than 2. logmap = yes logmap = no logmap = 1 These three are synonyms. They specify the new standard logarithmic palette. Which "spreads" the low color numbers. Page 109 A Guide to Fractint: Part II logmap = -1 logmap = old These two are synonyms. They specify the old standard logarithmic palette. It differs from logmap=1 in that the low numbered colors are not used. logmap = n This is the same as logmap=1 except that it doesn't go into effect until iteration n. Pixels with iterations less than n are set to Color #1. This is useful when zooming in an area near the lake where no points in the image have low iteration counts - it makes use of the low colors which would otherwise be unused. logmap = -n This is similar to logmap=n, but uses a square root distribution of the colors instead of a logarithmic one. High values of -n or n let you hunt for midgets, but at the price of seeing tendrils. logmap = 0 This is the default and it turns logarithmic mapping off. When using a compressed palette in a 256-color mode, you should change the colors from the usual defaults. The last few colors in the default IBM VGA color map are black. This results in points nearest the "lake" smearing into a single dark band, with little contrast from the blue (by default) lake. You can set the LOGMAP option from within Fractint on the Options and Doodads screen. Super-high iteration limits (like MAXITER=30000) are useful when using logarithmic palettes. Page 110 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo LONGITUDE=nn/nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This is the same as LATITUDE except it goes up and down instead of across. See also: LATITUDE Page 111 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo MAP=filename oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo A map is a set of 256 colors which are used to color the fractal. A map file is an external file which contains the R,G,B color codes for each of the 256 colors. Fractint comes with the following map files: ALTERN.MAP CHROMA.MAP DEFAULT.MAP FIRESTRM.MAP GAMMA1.MAP GAMMA2.MAP GLASSES1.MAP GLASSES2.MAP GOODEGA.MAP GREEN.MAP GREY.MAP GRID.MAP LANDSCAP.MAP TOPO.MAP In addition, it is likely that you would create other map files of your own. The beginning contents of the DEFAULT.MAP file is: 0 0 0 The default VGA color map 0 0 168 0 168 0 0 168 168 168 0 0 168 0 168 168 84 0 168 168 168 84 84 84 These are the RGB color codes for the first 10 colors. The first color is always black. The three numbers are the values of the three components of each color: RED, GREEN, and BLUE. Each component is a value from 0 to 255. Page 112 A Guide to Fractint: Part II The map file contains ASCII text and may be edited with any external ASCII editor. You can also edit the file internally from within Fractint by using the Palette Editor. This feature was described in Part I of this manual. You can change maps from within Fractint with the "ell" key. It brings up a list of the map files in the current directory. If you keep your map files in a subdirectory then its name will be listed and you can view its contents by selecting the subdirectory name. You can change maps only during color-cycling. Thus, press to start cycling before pressing the key. When the new map comes up the initial color pattern is the one for which it was named. After you press while color-cycling then the colors will be shuffled. Thus, if you load the GREEN.MAP then the predominant color in that map is (surprise!) green. After you press the result will not usually be greenish any longer. Several of the maps supplied with Fractint have special purposes. Some maps are designed primarily for 3D red/blue glasses viewing. These are the GLASSES1 and GLASSES2 maps. Generally glasses1.map is for type 1 (alternating pixels), and glasses2.map is for type 2 (superimposed pixels) 3D fractals. Other maps are intended for use in creating fractal landscapes or planets. Such maps are TOPO and LANDSCAP. The CHROMA map is all of the rainbow colors in order and contains no sudden color changes. It has several uses. For one, you can use it to create new maps using the palette editor. The CHROMA map is the only one which works well with fractals which have large areas of the same color. The DEFAULT map is a nicely spectacular one. You can change the default map either by naming some other map to the name DEFAULT.MAP or by using MAP=other on the Fractint command line, where "other" is the name of some other map file. You can load the default map quickly from within Fractint by pressing the key while color-cycling. Note that if you are not color-cycling then pressing will cause you to exit temporarily back to DOS. To return, type "exit". Page 113 A Guide to Fractint: Part II The ALTERN map is black-and-white monochrome. It can be loaded by pressing the key while color cycling. Pressing always loads ALTERN.MAP, no matter what the contents of the file by that name is. The GAMMA1 and GAMMA2 maps serve the same purpose as the ALTERN map. When you create a starfield image (by pressing the key), Fractint automatically loads the ALTERN.MAP and will abort if the file cannot be found. These maps are useful for viewing with red/blue funny glasses. The ALTERN.MAP contains the "famous" Peterson-Vigneau Pseudo-Grey Scale. GRID.MAP is intended for stereo surface grid images. Use it for wire-frame images using 16 color modes. When a fractal image is saved with the key, the current map is also saved with it so that when it is restored it will appear in the colors you saved it with and not the default colors. When you use MAP=filename on the Fractint command line then the map file named becomes the default map for that execution. When you press the key to write the current parameters to the frabatch file, the map name is not written. If you want a MAP= option to appear on the command line, you should edit frabatch.bat to put it there. Incidentally, if you have a Targa board you cannot color-cycle. This is because the color-mapping schema for this board is different from the rest. You can, however, use map files to load different color patterns. Page 114 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo MAXITER=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This is the maximum number of iterations allowed for evaluation of the fractal-generating formula. The default is 150. The maximum value is 32000. The minimum value is 10. For some fractals, changing the maxiter value can have a dramatic effect on the appearance of the image, but for other fractals changing this value doesn't do diddle. Basically, you must simply experiment with the effects of changing it. In general, higher values produce greater detail. In some cases, the detail computed is greater than the detail which your monitor can display, in which case the excess detail simply wastes development time. In general, higher values make the fractal take longer to develop, but again, not always. For some fractals, it has no effect. For some fractals the maxiter value is never used since the iterating always stops for some other reason before reaching the max iteration value. Reaching the maxiter value is usually one one of several possible ways in which an iteration may "escape" and cease iterating. If you use both a high maxiter and the distance estimator method (DISTEST=) then development can be rather slow, even on a fast machine with a math coprocessor. With Fractint for DOS there is also a memory limitation since Fractint does not use more than 640K of memory. This is not true of Fractint for Windows. Especially for decomped fractals, you may wish to set maxiter to a very low value (such as 10) and then try increments of 1. Super-high iteration limits (like MAXITER=30000) are useful when using logarithmic palettes. See also: INSIDE=maxiter Page 115 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo OUTSIDE=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option causes the Mandelbrot fractal to be displayed in only two colors. Everything inside of the M-set is one color and everything outside is the other. This is instructive and you should try it with the default Mandelbrot at least once. The nnn argument is the number of a color, thus: OUTSIDE=15 INSIDE=0 will cause the outside to be white and the inside black. You can set the outside color on the parameter screen. It would be rare to use this option on the command line. Mathematically, no information is lost when all points outside of the set are the same color. Of course, aesthetic information is lost. Page 116 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo OVERWRITE=n|y oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo By default, Fractint will not save an image into an existing file but always creates a new file. If you set OVERWRITE=y then the name you tell Fractint to use to save the file will be used even if a file of that name already exists. By default, the first image file written will be to fract001.gif. The next image written is to fract002.gif unless you set OVERWRITE to yes on the screen and also enter a savename of fract001.gif. The default for this option was set incorrectly for versions of Fractint earlier than V15.0 and this produced unreliable results. Page 117 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo PARAMS=n/n/n/n... oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The PARAMS options is used to enter from 1 to 4 parameter values to be used during the creation of a fractal. Some fractal types do not take any parameters at all. For several types, the four values represent the real and imaginary parts of two complex numbers. Some types use only the first parameter position to pass a decimal value to the fractal formula. To use the parameters correctly, you must know what the parameter values mean for the particular fractal type you are creating. In Part III of "A Guide to Fractint" you will find descriptions of each of the ractal types and these descriptions include the parameters which that type accepts and how they are interpreted. The most common usage is to pass a single complex number to the fractal formula. Usually, this identifies a location within the complex space of a fractal. Therefore, the real number entered as the first parameter is most likely to be within the range -1.5 to +1.5 since this applies whether the complex number is used for either the X or the Y axis of the complex space. The second parameter is therefore the real coefficient of the imaginary part of the complex number and can be any real number. In some cases, when you select the fractal type the box which comes up does not ask for parameters, but asks instead for-- Real perturbation of Z(0) Imaginary perturbation of Z(0) What this is asking for is values for Params 1 and Params 2. For example, if you use-- fractint type=julia params-0.48/0.626 Page 118 A Guide to Fractint: Part II then this will show you the Julia fractal at the location (-0.48, 0.626) in the complex space. For a description of the coorinates of this space, see the description of the CORNERS option. If you enter parameter 1 and 2 values other than (0,0) for either a Mandelbrot or Julia fractal then the toggle between M-set and J-set image no longer works. For Julia and Mandelbrot fractals, the third and fourth parameters are used to enter the complex value for the c coefficient. This coefficient is defined in the description of the FORMULA options. An example in which the parameters are not one or two complex values is the single parameter used by the newton and newtbasin fractal types, thus if you use-- fractint type=newtbasin params=7 then the resulting fractal will have a 7-fold symmetry. The "classical" Mandelbrot (which is Fractint's default image) can also be created with-- fractint type=manzpower params=0/0/2 and the quartic Mandelbrot can be created with-- fractint type=manzpower params=0/0/4 The PARAMS option is used to set the parameter values from outside of Fractint--i.e. for use in batch mode or when executing Fractint at the command line. They can also be changed from within Fractint. The bifurcation fractal type is an example of one in which the parameter value is a single decimal code, thus-- fractint type=bifurcation params=1 produces an "unfiltered" image. The default display has been filtered by allowing the population to settle from its initial value for 5000 cycles before plotting maxiter population values. To override this filter value, specify a new (smaller) one as the first "PARAMS=" value. "PARAMS=1" produces an unfiltered map. Page 119 A Guide to Fractint: Part II For many fractal types, when you press to obtain the list of fractal types, select a type, and press then a box will come up which displays the default values for the four parameters and allows you to change these. You can enter pretty much any parameter values you want. In some cases the image you get can be null--all solid blue with no nothing. In some cases, you'll get what appears to be a degenerate Mandelbrot, with just a couple of colored pixel blocks and broad swaths of color bands. Actually, this last kind is sometimes worth investigating--for example by turning decomposition on--even though the initial, degenerate image is boring. No matter what combination of numeric values you enter as parameters, it is highly unlikely that you will crash Fractint. For some fractal types, even a small difference in parameter values can produce a very different image. By small, is meant the difference between entering 1.3333295 and entering 1.3333296. For other fractal types, all entered parameter values produce exactly the same result (usually because that fractal type doesn't use the parameter at all). An example is the Marksmandel fractal type, in which PARAMS=0/0/4 and PARAMS=0/0/5 produce quite different results. You can also enter a complex value in the first two parameter positions to create a warped marksmandel fractal. When you press the key, the information display shows you the parameter values for the current image. One useful feature of the parameters is that they do not change between starting one fractal and starting another if they are of the same type. Thus, you can select the type, set the parameters, and view the image. Then you can press again and when the parameter box comes up it will show the same parameters which you set the first time. You may wish to use the same parameters, but turn decomposition on. You may wish to change one of the parameters a little bit and viewing the result. At any rate, it's a convenient feature. In the description of the FORMULA options, the terms P1 and P2 are used since these are user-enterable parameters used in the definition of fractal formulas. Both of these are complex numbers and the correspondence is: P1 = (Params1, Params2) P2 = (Params3, Params4) Page 120 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo PASSES=1|2|g|b oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo By default, Fractint makes several passes over the image when creating a fractal. On the first pass the color appears in large, chunky blocks. On the next pass these are broken into smaller blocks, which are in turn broken down yet smaller on the next pass. One purpose for this is that the first pass can be done rather quickly, which lets you see the overall structure of the image. If you are using the key to reduce the total image size then you can look at the general structure quite quickly. If the first pass looks okay, then you can let the second, third, and fourth passes occur. Each pass takes as long as all of the previous passes to finish. The total number of passes it takes is determined by the selected. For an EGA monitor, two passes may be enough. For a VGA monitor, three passes are usually made. For SVGA and higher resolutions, four passes are made. You can specify that Fractint take only one pass. This single pass may take a fair while to develop, but the total time will be less than for three (or four) separate passes. Because a single pass is slow, you will not be able to get an idea of the looks of the fractal until it has drawn about half of the screen. Similarly, you can force Fractint to use two passes. The development time is the same for either one or two passes. The default value for the PASSES option is "g" which represents the word "guessing". This tells Fractint to make its best guess at how many passes are needed to complete the image. For most purposes, you need never change this value. However, the one exception (a purpose for which you would want to change it) is to use the Boundary Tracing feature. This feature is used by specifying-- fractint passes=b Page 121 A Guide to Fractint: Part II on the command line, or by pressing the key and changing the code for the first line of the parameter box, which is-- Passes (1, 2, g[uessing], or b[oundary trace]) to a "b" from its default value of "g". Which ever way you change it, the result is that Fractint uses a boundary tracing algorithm to draw the fractal image. This uses a completely different way of painting the image. It uses only one pass. The program identifies enclosed blocks of color and fills in the entire block in one swell foop. To see what this means, try using this option with the default Mandelbrot. Boundary Tracing works only with fractal types (such as the Mandelbrot set, but not the Newton type) that do not contain "islands" of colors, finds a color "boundary", traces it around the screen, and then "blits" in the color over the enclosed area. Single-pass mode draws the screen pixel by pixel. Dual-pass generates a "coarse" screen first as a preview using 2x2-pixel boxes, and then generates the rest of the dots with a second pass. Solid-guessing performs from two to four visible passes - more passes in higher resolution video modes. Its first visible pass is actually two passes - one pixel per 4x4, 8x8, or 16x16 pixel box (depending on number of passes) is generated, and the guessing logic is applied to fill in the blocks at the next level (2x2, 4x4, or 8x8). Subsequent passes fill in the display at the next finer resolution, skipping blocks which are surrounded by the same color. You should set PASSES to either 1 or 2 before viewing orbits by pressing the key while a fractal image is developing because the default "g" solid-guessing algorithm suppresses the display of some of the most interesting orbits. Page 122 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo PERIODICITY=no|show|nnn|-nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used to control periodicity checking. The default value of "no" turns it off. Entering PERIODICITY=show lets you see which pixels are painted the inside color due to being caught by periodicity. If you use: fractint type=mandel periodicity=show inside=0 then the M-set will have a black lake which is filled with a pattern of blue blocks. The blocks get smaller on each pass, but still remain after the last pass. Entering-- fractint type=mandel periodicity=2 will specify use of a more conservative periodicity check. Each increase by 1 in the value divides the test tolerance by 2. To see the difference, press the key to make orbits visible while the image is developing. Entering a negative value, such as-- fracting type=julia periodicty=-4 both changes the periodicty check and also turns on the show option. For speed purposes, Fractint turns the checking algorithm on only if the last pixel generated was in the lake. (The checking itself takes a small amount of time, and the pixels on the very edge of the lake tend to decay to periodic loops very slowly, so this compromise turned out to be the fastest generic answer). A loop becomes periodic when it begins turning out the same result for each successive iteration and would continue to do so until the maximum iteration value is reached. Periodicity checking is most important in calculating the points on the inside (i.e. in the lake and its tendrils) because iteration of the formula for inside points will always go to the iteration limit. Thus, if you set MAXITER=1000 and the formula starts producing the same result after the tenth iteration then you save 990 unnecessary time-consuming iterations if you exit when periodicity begins. High iterations are often needed to bring out detail along the shoreline. Page 123 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo PERSPECTIVE=nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used to set the distance the viewer position is away from a 3D fractal. The term "aspect" refers to the way in which a 3D image appears as a result of the current axes, angles, and viewpoint. It is concerned only with the geometric relationships, not the colors or particular fractal pattern. The aspect of a 3D fractal is a function of four values. These are: x angle of x axis y angle of y axis z height of z axis p distance to viewpoint By manipulating these four values you can view the 3D fractal from any angle around, under, over, or behind the fractal. There are two related coordinate systems which apply to 3D fractals. The first is the x,y,z axes of the fractal itself. The second is the x,y,z axes of the viewpoint from which the fractal is seen. For example, if you are holding a book in your hand you can change its aspect by either rotating the book or by moving your body so that you are viewing the book from a different perspective. You can move the book, you can move your eyes, or you can do both. The PERSPECTIVE option is equivalent to observing a book by moving your eyes closer or further from the book in a straight line. You don't move around the book, simply towards or away from it. Thus, you are defining the distance between your viewpoint and the object you are viewing. The default value is PERSPECTIVE=0 in which the perspective calculations are turned off. The three axes of the fractal will not be displayed as if viewed from a perspective. Calculation of the fractal image is faster if the perspective computations are turned off. Page 124 A Guide to Fractint: Part II For non-zero values, picture a box with the original X-Y plane of your flat fractal on the bottom, and your 3D fractal inside. A perspective value of 100% places your eye right at the edge of the box and yields fairly severe distortion, like a close view through a wide-angle lens. 200% puts your eye as far from the front of the box as the back is behind. 300% puts your eye twice as far from the front of the box as the back is, etc. Try about 150% for reasonable results. Much larger values put you far away for even less distortion, while values smaller than 100% put you "inside" the box. Try larger values first, and work your way in. The maximum value you can use is 999. With the Lorenz attractors, setting PERSPECTIVE=100 or less will get you inside of the orbits. This is also a good place to turn the SOUND=x option on. See also: SHIFT, XYSHIFT Page 125 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo POTENTIAL=maxcolor[/slope[/modulus[/16bit]]] oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Enables the "continuous potential" coloring mode for all fractal types except plasma clouds, IFS and IFS3D. Note that if you import a GIF file not created by Fractint then it is read in as a plasma cloud. This option can be used with 256-color modes only. The four arguments define: the maximum color value MAXCOLOR the slope of the potential curve SLOPE the modulus "bailout" value MODULUS the 16-bit off/on flag 16BIT An example of usage is: POTENTIAL=240/2000/40/16bit These parameters may be changed on the Extended Options and Doodads screen. You may omit arguments from the rightside in, thus POTENTIAL=200/1500 will set the maximum color value to 200 and the slope of the potential curve to 1500. The modulus "bailout" value will default as will the 16bit flag. For that flag, the default is OFF. The Mandelbrot and Julia fractal types ignore any modulus "bailout" value you enter and always use a hardcoded value of 4. MAXCOLOR This is the color corresponding to zero potential, which plots as the TOP of the fractal. Generally this should be set to one less than the number of colors, i.e. usually 255. Remember that the last few colors of the default IBM VGA palette are BLACK, so you won't see what you are really getting unless you change to a different palette. Page 126 A Guide to Fractint: Part II SLOPE Slope affects how rapidly the colors change -- the slope of the "mountains" created in 3D. If the slope is too low, the palette will not cover all the potential values and large areas will be black. If it is too high, the range of colors in the picture will be much less than those available. There is no easy way to predict in advance what this value should be. MODULUS This is the bailout value used to determine when an orbit has "escaped". Larger values give more accurate and smoother potential. A value of 500 gives excellent results. You must have floating point turned on to use MODULUS values higher than 127. If floating point is not the default for the fractal type you are using, the FLOAT option may be used to turn it on (or you can do so on the Options and Doodads screen). If you enter a value higher than 127 while using integer arithmetic, the value will be truncated down to 127. 16BIT If you transform a continuous potential image to 3D, the illumination modes 5 and 6 will work fine, but the colors will look a bit granular. This is because even with 256 colors, the continuous potential is being truncated to integers. The 16BIT option can be used to add an extra 8 bits to each stored pixel, for a much smoother result when transforming to 3D. This also appreciably enlarges the size of the file which contains the image. Fractint's visible behavior is unchanged when 16BIT is enabled, except that solid guessing and boundary tracing options are not used. Page 127 A Guide to Fractint: Part II When you save an image generated with 16BIT continuous potential the extension used for the image file will be POT rather than the standard GIF. Technically, the POT file is still a GIF file but with a double-width image. If you try to view a POT file with any GIF viewer (other than Fractint itself, of course) then the image will be double-width. A 16-bit POTfile can be converted to an ordinary 8-bit GIF by estoring it, changing "16bit" to "no" on the options screen, and aving. You might find with 16bit continuous potential that there's a long delay at the start of an image, and disk activity during calculation. Fractint uses its disk-video cache area to store the extra 8 bits per pixel - if there isn't sufficient memory available, the cache will page to disk. The POTENTIAL option may be used to create the famous "MtMand" fractal, as follows: TYPE=mandel CORNERS=-0.19920/-0.11/1.0/1.06707 INSIDE=255 MAXITER=255 POTENTIAL=255/2000/1000/16bit PASSES=1 FLOAT=y This fractal takes a while to develop. A long while, actually. Page 128 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo PREVIEW=y oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This turns the preview option on from the command line. The result is that the fractal image comes up in a window of reduced size. Normally you would set this option from inside Fractint by pressing the key. It is the first choice on the Viewing Parameters screen. Page 129 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo PRINTER=type[/resolution[/port#]] PRINTFILE=filename oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo From within Fractint, you can press the

key to print the current image. You must have already told Fractint what kind of printer you have. This can be done on the DOS command line with the PRINTER option. Thus, to print on an Hewlett-Packard LaserJet you must execute Fractint with the DOS command line-- fractint printer=hp You can also put the PRINTER option in your @set file or in your SSTOOLS.ini file. For details, see the description of SSTOOLS in this manual. The arguments of the PRINTER option are: TYPE The type argument is a code which indicates the type of printer, these codes are: hp = HP LaserJet ib = IBM Graphics ep = Epson co = Star color printer (Epson compatible??) pa = HP Paintjet color printer po = PostScript SWT ps = PostScript SWT hl = PostScript Within the Fractint code the printers are assigned a Printer Type numeric value which is used to determine the default resolution for that printer. Page 130 A Guide to Fractint: Part II The Printer Type numeric codes are given in column one and the Printer Type alphabetic arguments are given in column two of the following table: Printer Type Printer Type Argument ------------ --------------------- 1 hp 2 ib 2 ep 3 co 4 pa 5 po 5 ps 6 hl For each of the numeric Printer Types, the default resolution is: Printer Type Default Resolution ------------ ------------------------------- 1 75 dpi 2 60 dpi 3 60 dpi 4 60 dpi 5 150 dpi 6 150 dpi RESOLUTION This is the number of dots per inch for the printer. Accepted values are: 60 -- Epson/IBM (default) 120 -- Epson/IBM 240 -- Epson/IBM 75 -- LaserJet 100 -- LaserJet 150 -- LaserJet 300 -- LaserJet 90 -- PaintJet 180 -- PaintJet 10 to 600 -- PostScript Page 131 A Guide to Fractint: Part II Resolution is set internally within Fractint depending upon screen resolution. For example, an image with 600 lines will print with 100 lines on a LaserJet printer. If the image has more than 800 lines it will print with 150 lines on the LaserJet. For the IBM, Epson, and Star printers the breakpoints are different. If the image has more than 480 lines (but fewer than 960) then 120 lines will be used on the printer. LaserJet Pixels Dots <600 75 >600 100 >800 150 >1200 300 IBM/Epson/Star Pixels Dots <480 60 >480 120 >960 240 PaintJet Res Used <150 90 >150 180 PostScript Pixels Dots <10 10 >600 600 600 600 n n (always 1:1 pixel to printer dot) For the PaintJet, if the resolution requested is less than 150 then a resolution of 90 will be used. If the requested resolution is greater than 150 then 120 will be used. The PostScript printer can print a 1:1 relationship between screen pixels and printer dots up to a maximum of 600. Page 132 A Guide to Fractint: Part II PORT Acceptable port values are: 1 -- for LPT1 (default) 2 -- for LPT2 3 -- for LPT3 11 -- for COM1 12 -- for COM2 13 -- for COM3 14 -- for COM4 -1 -- write to file (PostScript only) If you have a PostScript printer and use a negative number for the port argument then the printout will go to a file named fract001.prn. This name will be incremented in the usual fashion as you create other printer files. You can also specify the name to be used with the PRINTFILE= option. See also the description of the COMPORT option. "Disk video" modes can be used to generate images for printing at higher resolutions than your screen supports. VIEWING WINDOW aspect ratio If you want to produce a high quality hard-copy image which is say 8" high by 5" down, based on a vertical "slice" of an existing image, you could use a procedure like the following. You'll need some method of converting a GIF image to your final media (slide or whatever) -- Fractint does not preserve aspect ratio with printers other than PostScript. Page 133 A Guide to Fractint: Part II To maintain a correct aspect ratio on non-Postscript printers, use the following procedure to create a high-resolution "disk video" mode image file: o set Viewing Window parameters: preview to yes reduction to 2 aspect ratio to 1.6 crop to yes o display the image to be printed o set preview display back to no o start final calculation in a high resolution "disk video" mode o print directly to a PostScript printer, or save the result as a GIF file and use external utilities to convert to hard copy. See also: COMPORT, TITLE, EPSF, TRANSLATE, HALFTONE, DISTEST Page 134 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo RADIUS=nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This controls the radius of a spherical fractal. It controls the overall size of the globe. To set it from within Fractint: a. press <3> to get 3D Mode Selection screen b. select Spherical Projection by entering "yes" c. enter radius value You enter the radius value on the Sphere 3D Parameters screen on the line which says-- Radius scaling factor in pct The default value is 100. Smaller values will make the sphere appear smaller. Page 135 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo RANDOMIZE=n oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option smooths the transition between colors of a 3D fractal by randomly varying the color of a pixel to those of nearby colors. This minimizes map banding. In 3D transformations banding tends to occur because all pixels of a given height end up the same color. The RANDOMIZE option is usable with all FILLTYPES. The argument, n, may be from 0 to 7. A value of zero disables this feature and this is also the default. A value of 7 randomizes the hell out of the colors. For a reasonable degree of randomization, try a value of 3. This value may be set inside Fractint on the Planar 3D Parameters screen, obtained by pressing the <3> key. The prompt there is-- Randomize colors (0-7, '0' disables) Page 136 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ROTATION=xrot[/yrot[/zrot]] oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option rotates a 3D fractal image. As mentioned in the description of the PERSPECTIVE and SHIFT options, you can change the view of the fractal by either rotating the fractal itself or by moving your viewpoint around the fractal. The end result can appear to be the same, the difference being only whether you move you or you move it. You can, if you wish, both rotate the fractal and move the viewpoint--although this could quickly become geometrically confusing. If the fractal type does not support rotation then nothing will happen when you try it. You can set the ROTATION values from inside Fractint by pressing the key, which will bring up the 3D Parameters screen. You can also set it by pressing <3> and getting the Planar 3D Parameters screen. The default setting is ROTATION=60/30/0. Perhaps the easiest way to visualize the effects of ROTATION and similar geometric options is to first bring up a GIF file which has an easily-identifiable geometry--such as a human face. Use this to make a 3D fractal and then rotate, shift, translate, and otherwise manipulate the image. No matter how much you distort it, the image and its geometry will still be recognizable. When you are manipulating a fractal image, it is fairly easy to lose track of where you are in relation to the three axes. If you do use a fractal image, the Gingerbreadman fractal has a shape which is most easy to follow during geometric transformations. The X value tilts the bottom of the image towards you by X degrees, the Y value pulls the left side of the image towards you, and the Z value spins it counter-clockwise. Note that these are NOT independent rotations: the image is rotated first along the X-axis, then along the Y-axis, and finally along the Z-axis. Those are YOUR axes, not those of your (by now hopelessly skewed) image. All rotations actually occur through the center of the original image. Page 137 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ROUGHNESS=nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo See the description of the SCALEXYZ option. The ROUGHNESS option scales the Z axis. The nn argument is a percentage. Negative percentages are allowed-- for example, for the M-set setting ROUGHNESS=-30 will place the lake "below" ground. Naturally, this option applies only to 3D fractals, since 2D fractals do not have a visible Z axis, except for the colors. Page 138 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo RSEED=nnnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The option unrandomizes the randomness of plasma clouds. This lets you repeat the same plasma cloud. Normally, the seed used in creating a random number is derived from the current time. By using RSEED you are overriding this and setting the seed to a known value. Since the value is known, you can repeat it. The seed value is shown on the display. Page 139 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo SAVENAME=name oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option defines the name which will be used when a fractal image is saved to a GIF file. The default name is FRACTnnn.GIF in which nnn is initially 001 and automatically increments to the next number if the number already exists. If you enter a savename such as MYNAME then this is taken to be MYNAMEnn.GIF thus the first GIF file saved is named MYNAME1, the next one is MYNAME2, and so forth. You can set this from inside Fractint on the Options and Doodads screen. It is also useful to set this when creating a fractal in batch mode, for example: fractint filename=oldfract savename=newfract batch=y See the description of the BATCH option for an explanation of this command line. Page 140 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo SAVETIME=nnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Assuming that you are creating an image in BATCH mode which takes a long time to develop, you can specify that automatic saves be performed at regular intervals, thus: fractint myfract savetime=30 batch=y This will automatically save the file to fract001 every 30 minutes. The same filename will be used over and over again. If you also specify the filename, as in: fractint myfract savename=newname savetime=60 batch=y then the save will be to the newname.gif file every 60 minutes. See also: BATCH Page 141 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo SCALEZYZ=nn/nn/nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option scales the light when using the LIGHTSOURCE option to create a Targa fractal. For example, SCALEXYZ=1/1/3 positions the light to come from the lower right front of the screen in relation to the untransformed image. It is important to remember that these coordinates are scaled the same as your image. Thus, SCALEXYZ=1/1/1 positions the light to come from a direction of equal distances to the right, below and in front of each pixel on the original image. If you use SCALEXYZ=90/90/30 then the result will be from equal distances to the right and below each pixel but from only 1/3 the distance in front of the screen. The AMBIENT option sets the minimum light value a surface has if it has no direct lighting at all. All light values are scaled from this value to white. This effectively adjusts the depth of the shadows and sets the overall contrast of the image. See also: LIGHTSOURCE, AMBIENT, 3D Page 142 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo @SET oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This is not an option but represents the name of a file which contains options. If this file is referenced on the command line then the commands in the file are included. For example-- fractint @set If the contents of the file named "set" is-- video=Alt-9 textsafe=yes inside=0 askvideo=no then this is as if you had entered-- fractint video=Alt-9 textsafe=yes inside=0 askvideo=no The name "set" is not required. You can name this file anything which is acceptable to DOS. You can include more than one option file on the same command line, for example-- fractint @set @colors which includes the contents of two files both of which contain option settings. However, there is one special option filename. If you name the file which contains the options SSTOOLS.INI then you do not have to reference it on the command line. Fractint acts as if you had entered: fractint @sstools.ini when you use the command: fractint Thus, by default Fractint reads the contents of a file named SSTOOLS.INI and appends the options in the file to the command line. This file can be anywhere along your path--it need not be in the same subdirectory as the Fractint executable file. Page 143 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo SHIFT=xshift/yshift oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option moves a 3D image around the screen. For example, if you create a sphere then, by default, it appears in the middle of the screen. If you define SHIFT=20 then the sphere will appear on the right side of the screen; use SHIFt=-20 and it is on the left. If you use SHIFT=20/20 then the image will be in the upper left corner of the screen. You get the idea. A value of about +/-50 will cause the image to be shifted complete off the screen. You can shift the image from inside Fractint on the Planar 3D Parameters screen, where the prompts are-- Image non-perspective X adjust (positive=right) Image non-perspective Y adjust (positive=up) The SHIFT option shifts the image *without* any perspective adjustments. The XYSHIFT option is used to shift *with* perspective. Normally, perspective is defined so that the image appears in proper perspective when viewed from the very center of the screen. If you shift its location and also maintain perspective then it appears at the new location and the perspective is correct as seen from the center of the screen. If you shift its location and do not maintain perspective then the image is shifted but the point from which the perspective is correct is still directly above the image location on the screen, not the center of the screen. In other words, the perspective location also moves along with the image. Another way of putting this is that SHIFT moves the image *before* applying perspective and XYSHIFT moves the image *after* applying perspective. See also: XYSHIFT, XYADJUST, PERSPECTIVE Page 144 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo SMOOTHING=nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used when creating Targa LIGHTSOURCE images. It smooths the effect of the light hitting the fractal. It reduces granularity. It sets the average light level. Setting SMOOTHING=2 is a reasonable value to start with. A value of 2 or 3 will allow you to see the large shapes better. This is primarily useful when doing light source fill types with plasma clouds. If your fractal is not a plasma cloud and has features with sharply defined boundaries (e.g. Mandelbrot Lake), the smoothing may cause the colors to run. This option is therefore useful if you are using a plasma cloud fractal which was derived by importing a GIF file. If you are using continuous POTENTIAL then you do not need this option. This option may be set from inside Fractint by choosing "light source after transformation" on the 3d menu. The Light Source Parameters box will appear. One of the items on it is: Light Source Smoothing Factor the default value is 0. Page 145 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo SOUND=off|x|y|z oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option works only with the attractor fractal types (such as Lorenz) and you should also have FLOAT turned on. As one might expect, the result is sounds through your computer's speaker. Sound boards are not supported. This option produces what is basically fractal noise, not music. Well, not what most people would call music anyway. Listen for yourself. You can control whether a sound is created by changes in any of the three axes. Thus, SOUND=x will produce a sound in response to x-axis events. The default is SOUND=off. Thank goodness. You can control the tone of the noise made with the HERTZ option. You can set this option from inside Fractint on the Basic Options screen. The prompt there is-- Sound (no, yes, x, y ,z) The default setting is "yes". Page 146 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo SPHERE=y oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option can be set from inside Fractint by pressing <3> and obtaining the 3D xxxx screen. One of the prompts is "Sphere". The default is NO. Change it to YES and a spherical 3D image will be created. You can change the size of the sphere with the RADIUS option. The following options and defaults apply to spherical fractals: Option Default ----------- ------- LATITUDE 180/0 LONGITUDE -90/90 RADIUS 100 ROUGH 30 WATERLINE 0 FILLTYPE 2 PERSPECTIVE 0 XSHIFT 0 (w/perspective) YSHIFT 0 XADJUST 0 (w/o perspective) YADJUST 0 LIGHTSOURCE 1/1/1 SMOOTHING 0 AMBIENT 20 RANDOMIZE 0 HAZE 0 FULLCOLOR 0 See also: LATITUDE, LONGITUDE, RADIUS Page 147 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo STEREO=n oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used to select the type of stereo image creation. The argument, n, may be 1, 2, or 3. These values mean: 0= normal 3D image 1= red/blue created with 64 shades of gray 2= red/blue created with 16 shades of gray 3= full color Each of these requires certain equipment to view. Option 0 requires a pair of eyes. Options 2 and 3 require a pair of red/blue funny glasses. Option 3 requires specialized equipment. The difference between Option 1 and 2 is that 1 is intended for use with VGA monitors and 2 is intended for use on EGA monitors. Option 2 also works fine with wire-frame images, lorenz3d fractals, and ifs3d fractals, none of which require more than 16 colors to look good. When you set STEREO=3 then the left image presented on the screen first. You may photograph it or save it. Next, the second image is presented. You can then take the two images and convert them to a stereo image pair. For example, you can capture the images with a Matrix 3000 film recorder -- which is a high-resolution (1400 lines) black and white TV and a 35mm camera (Konica FS-1) looking at the TV screen through a filter wheel. The Matrix 3000 can be calibrated for 8 different film types, including Kodak Ektachrome 64 daylight for slides and a few print films. The film chips are then glass-mounted. Each frame is exposed three times, once through each of the red, blue, and green filters to create a color image from computer video without the scan-lines which normally result from photographing television screens. The aspect ratio requires mounting the chips using the 7-sprocket Busch-European Emde masks. Because both a red and a blue pixel are created for each point on the image, the resolution is effectively halved. The minimum usable resolution to use is 640x350. Generally glasses1.map is designed for use with STEREO=1 (alternating pixels), and glasses2.map is for STEREO=2 (superimposed pixels). Grid.map is great for wire-frame images using 16 color modes. See also: INTEROCULAR, CROP, CONVERGENCE, BRIGHTNESS Page 148 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo SYMMETRY=xxx oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Here, the "xxx" may be: none xaxis yaxis xyaxis origin pi You must enter all of the letters of the argument, not just the first letter. Thus, if you want symmetry about the origin, you must enter: SYMMETRY=origin The symmetry normally defaults to that defined for each type of fractal or formula. You cannot set the SYMMETRY from inside Fractint. This option is usually used by formula developers during debugging. For information about each of these symmetries, see the description of the FORMULAFILE option. Page 149 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo TEXTCOLORS=aa/bb/cc/... TEXTCOLORS=mono oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option affects the colors in which Fractint's menus, parameter boxes, error message boxes and the like appear on a color monitor. If you wish, you can change any of these colors. However, there is little (if no) reason to do so. The argument aa/bb/cc... represents the 27 values which are part of this argument. You can set a single value individually, for example: TEXTCOLORS=////43 Sets the fifth value to 43 and leaves the first four values at their defaults. Each of the values is a two-digit number. The arrangement is: digit 1 = background color (0 to 7) digit 2 = foreground color (0 to F) Color values are: 0 black 8 gray 1 blue 9 light blue 2 green A light green 3 cyan B light cyan 4 red C light red 5 magenta D light magenta 6 brown E yellow 7 white F bright white Only the colors and values in the left column may be used for the background. Colors from either column may be used for the foreground. Page 150 A Guide to Fractint: Part II The default is-- VALUES GROUP POSITIONS ------------------------ ------------- --------- textcolors=1F/1A/ SCREEN HEADER 1-2 2E/70/28/ HELP 3-5 78/17/1F/1E/2F/5F/07/0D/ MAIN MENU 6-13 71/70/78/0F GENERAL 14-17 /70/0E/0F/ DISK VIDEO 18-20 4F/20/ DIAGNOSTICS 21-22 17/20/28/0F/07 CREDITS 23-27 In real use, all of the arguments must be on one line together. The comments in the option above show you groups within the 27 values. Thus Values 1 and 2 define the colors for the screen header, which is a one-line message at the top of the screen and which displays the Version Number of the program. The Help Screen colors are defined by the values in positions 3, 4, and 5. The meanings of each of these positions is given in the table below: ****** screen header ****** POS 1 Fractint version info 2 not used ****** help ******* 3 sub-heading 4 main text 5 instructions at bottom of screen ****** Main Menu ****** (also selection boxes and parameter input boxes) 6 background around box and instructions at bottom 7 low intensity information 8 medium intensity information 9 high intensity information (e.g. heading) 10 current keyin field 11 current choice in multiple choice list 12 speed key prompt in multiple choice list 13 speed key keyin in multiple choice list Page 151 A Guide to Fractint: Part II ****** general ****** (tab key display, IFS parameters, "thinking" display): 14 high intensity information 15 medium intensity information 16 low intensity information 17 current keyin field ****** disk video ****** 18 background around box 19 high intensity information 20 low intensity information ****** diagnostic messages ****** 21 error 22 information ****** credits screen ****** 23 bottom lines 24 high intensity divider line 25 low intensity divider line 26 primary authors 27 contributing authors For example, you can change the background around the Main Menu. This is Position 6 and the default value is 78 (white background; gray foreground) to the value 2D (green background; light magenta foreground) with-- TEXTCOLORS= /////2D You cannot change the colors from inside of Fractint. In fact, if you do change the colors you probably want to use a @SET file or the SSTOOLS.INI file so that the changes are, in effect, permanent. If you create a new color appearance for Fractint which is aesthetically pleasing, would it be possible for you to share the TEXTCOLORS option you use by leaving a message on CompuServe, in Library 15 of the COMART forum? Thank you. Page 152 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo TEXTSAFE=y|n oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo You may find that the menu, help screens, and fractal information screen sometimes display in color, sometimes in coarse monochrome characters. The monochrome text occurs if you specify "textsafe=n", or if Fractint finds during initialization that your video adapter does not behave in a standard way. In these cases you may prefer to run with the "textcolors=mono" command for a more consistent appearance in Fractint's text screens. Try using this option if you are having trouble bringing Fractint up properly on your system. Page 153 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo 3D=y oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Three-dimensional fractals are one of the most fascinating and complex aspects of Fractint. To explore the subject thoroughly would take another manual the size of this one. At least three different general reasons for creating a 3D fractal exist, thus: a. to explore fractal geometry b. to create exciting images c. to enjoy oneself In any case, the key to producing a really good 3D fractal is planning. It takes care and patience to create a truly elegant image. Start by doing the default 3D form of the Mandelbrot fractal. This one is good for learning to manipulate the geometry. It is a fast- developing fractal and it is easy to recognize its orientation no matter how it is rotated or transformed. Practice moving the entire fractal around the screen. Try different viewer perspectives. Next, do a straight 3D image of a spiral detail from a Julia fractal and try it with the different FILLTYPEs. Try creating a spherical image by pressing the <3> keys and following the prompts. Again, practice moving the fractal globe around the screen and altering its diameter. Try different maps. Some rather interesting spherical fractals can be made by starting on a GIF file. If the GIF is of the face of a horse then this will be turned into a sphere (which looks kinda neat, actually). Incidentally, while you have the horse GIF on the screen you should press to bring up the Palette Editor and then to save the palette. Since the palette is based upon the colors of a horse's head it has a nice organic combination of colors. Colormaps which are derived from GIFs are almost always interesting (and often surprising). You can also color- cycle ordinary GIF files which sometimes awful and sometimes interesting results. If you do this you should slow the cycling rate way down with the key. The GIF is read in as a plasma fractal and the cycling rate for plasmas is, by default, set to the maximum speed. Page 154 A Guide to Fractint: Part II While we've wandered of the main subject here, it is worth mentioning that Fractint makes an excelllent GIF viewer. In fact, it makes a superb GIF viewer. It will load any GIF87a or GIF89a image which your system is capable of displaying and simply display it. When you press the key you get a list of the GIF files in the current directory. You also get a list of all of the subdirectores. Thus, it is easy to keep your GIFs in separate subdirectories. One possible arrangement of subdirectories is: Volume in drive C is unlabeled Directory of c:\fraint\*.* .

1-07-91 14:59 .. 1-07-91 14:59 fractint.exe 392862 12-21-90 16:09 fractint.frm 8732 1-14-91 22:38 fractint.l 5772 12-09-90 1:10 sstools.ini 62 1-20-91 20:37 ADULT 2-02-91 8:17 IFS 1-07-91 15:02 FRACTALS 12-22-91 17:40 MAPS 1-07-91 15:01 PICTURES 1-31-91 21:41 579,584 bytes in 25 file(s) 43,727,360 bytes free Here, all of the IFS files are kept in the IFS subdirectory. All colormaps are in the MAP directory. The PICTURES directory contains GIF images of mountains, horses, cars, and so forth. The ADULT directory contains other pictures. The FRACTALS directory contains GIF files created by Fractint. The speedkey feature also helps with this subdirectory structure. For example, you can setup Fractint so that as soon as it comes up it starts drawing the default Mandelbrot. As soon as it starts you can press

quickly and the list of the GIFs in the PICTURE directory will be displayed. Similarly, entering will bring up the list of fractal image files. One special kind of 3D image is the overlay. You can overlay any smaller GIF file on a larger one. The overlay will be drawn using 3D dimensionality. By default, 3D images are tilted to 60 and 30 degrees from the axes. If you set the axes to 90 and 0 then the image will appear in its regular 2D appearance. Once you have overlayed one image on top of another you save the result. This result can be used as the base upon which another 3D image is overlayed. This can be continued. You can, for example, create an image with seven fractal globes on it. Page 155 A Guide to Fractint: Part II The image has only one colormap file and when you overlay one image on top of another the default colormap is used. Wait until the combined image is complete and then load a different colormap. Thus, if you start with a picture of a truck and overlay with a fractal globe then the colors in the truck GIF will become distorted because of the effects of the default.map. When the image is complete, re-load the truck.map file (which you saved earlier, right?). At some point you must consider what you plan to do with the final image. You follow one path if your intent is to create a printout of a fractal on a laser printer. A very different set of options would be used if you plan to create a static (i.e. not color-cycling) screen image. In this case, you would probably use the Palette Editor to create a special palette--as opposed to a palette which is designed to be good at color-cycling. The techniques needed are quite different. The following options and defaults apply to non-spherical 3d fractals: Option Default ----------- ------- ROTATION 60/30/0 XSCALE 90 YSCALE 90 ROUGH 30 WATERLINE 0 FILLTYPE 0 or 2 PERSPECTIVE 0 XSHIFT 0 YSHIFT 0 XADJUST 0 YADJUST 0 LIGHTSOURCE 1/-1/1 SMOOTHING 0 AMBIENT 20 RANDOMIZE 0 HAZE 0 FULLCOLOR 0 TRANSPARENT 0 See also: SPHERE Page 156 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo TITLE=y oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo If specified, title information is added to printouts. Page 157 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo TRANSLATE=y|-n|n oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Translate=yes prints the negative image of the fractal. Translate=n reduces the image to that many colors. A negative value causes a color reduction as well as a negative image. Note that the "n" here is an integer number, not the letter "n". Page 158 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo TRANSPARENT=min/max oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option defines a range of colors to be treated as "transparent" when verlaying 3D images. Thus, if you enter TRANSPARENT=100/150 then all of the colors numbered 100 to 150 of the map of the overlay file will become transparent. Where these colors would be you can see through to the fractal below. Actually, the transparent colors allow you to see through the fractal to whatever is on the screen below. It takes a bit of planning (or pure luck) to use this option effectively, but with it you can create highly unique and unusual images of combined fractals. This option can also be set from within Fractint when you press the key to begin adding an overlay file. Page 159 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo TYPE=typename oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo On the Main Menu is the choice-- Select fractal type When you select this choice (or when you press the key) a list of the available fractal types will be displayed. The exact list you get depends upon the version of Fractint you have. Some of the types listed are families--if you select one of these you will get another list of the fractal types within that family. Examples of this fractal type are those named "formula" or "l-system". You can select a fractal type by moving the highlight to your choice and pressing . You can also use a speed key. Thus, if you press the

key then the highlight will move to the first type with a name beginning with this letter. If you enter

then the highlight moves to the first name beginning with "pa". After you select the fractal type, you will usually get a parameter box in which you can enter values for the parameters which can be set for that fractal type. This list of parameter values differs for different fractal types. You can always accept the default parameters--an entry within this box is not required. When you press the key to write out a command line to the frabatch.bat file it always writes out a TYPE= option for the current fractal type. For information about each of the individual fractal types, see Part III of this Guide to Fractint. Page 160 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo VIDEO=xxx oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo The "xxx" argument is a Videomode Identifier. These are generally the names of the key combination which can be pressed to select that videomode. For example, one of the videomodes is: SF5 640x480x256 SVGA The "SF5" means that pressing - will change to this SVGA video mode. You can also select the videomode on the command line, thus-- fractint video=SF5 However, just because SF5 means 640x480x256 now doesn't mean that it will mean that forever. In fact, the list of videomodes changes for every version of Fractint. Furthermore, you can customize the list yourself with very little effort by using the BATCH=CONFIG option. You can change the videomode from inside Fractint by returning to the Main Menu and selecting the "Select Video Mode" screen. A scrolling list of all of the available modes will appear. Whether you are on this list or not, you can select a videomode by pressing the associated keys. Thus, if you have an image on the screen and press - then the image will be redrawn at the 640x480 resolution (unless of course, it's already at that resolution, in which case nothing happens). Normally, when you load an image from an external file, Fractint will present a message showing you the resolution of the incoming file and asking you to verify that this resolution is okay for your monitor. You can suppress this question with the ASKVIDEO option. You can set your own default videomode in one of two ways. You can put a VIDEO=SF5 option (with "SF5" replaced by the mode you want to set as the default) in your SSTOOLS.INI file or in a @SET file. Another way to set your own videomode default is to use BATCH=config and then edit the fractint.cfg file so that your choice is listed as videomode F3. Unless you specify otherwise, Fractint will use the mode represented by F3 as the default. Page 161 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo WARN=y|n oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo WARN=y prevents over-writing old .GIF files with the same name. This is the default. Setting WARN=n will change this and allow overwriting without a warning message. The defaults for filename creation are now set correctly by Fractint (they were confusing for versions earler than V15.0) thus this option isn't really needed anymore. Page 162 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo WATERLINE=nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo This option is used only for 3D fractals. The argument, nn, is a color number. All colors nn and below will be the "inside" color. Thus, if you use-- fractint WATERLINE=12 INSIDE=0 FILENAME=MYFILE 3D=y Then the lake will be larger and push up over where the shore used to be. The colors from the shoreline out are numbers 1,2,3,4,5, and so forth. This option can be used to fill in valleys and turn them into lakes. You can create your own Lake Powell. Page 163 A Guide to Fractint: Part II oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo XYADJUST=nn/nn XYSHIFT=nn/nn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo XYADJUST=nn/nn shift image in the x/y dir *without* perspective XYSHIFT=nn/nn Shift image in x/y dir *with* perspective See also: PERSPECTIVE, SHIFT, ADJUST Page 164