D]4 G]000777554 P]00j:mandel_tour/NoticeFig1 P]01j:mandel_tour/NoticeFig2 P]02j:mandel_tour/NoticeFig3 P]03j:mandel_tour/NoticeFig4 P]04j:mandel_tour/NoticeFig5 ] ]0E ]10 ] ]0E * MANDELTOUR * ]10 ] ]0E * GENERAL INFORMATION * ]10 ] ]0E ]10 (JUMPDISK NOTE ON RUNNING MANDELTOUR: On floppy single-drive systems, you will be asked to remove JUMPDISK and insert the Workbench. This makes it appear the program has not loaded. To see the program run, simultaneously press the M key and the Left-Amiga key -- the A key left of the space bar. This brings forward the screen on which the program is running.) ]]P00 00 The Mandelbrot Set is a very complex object ]]P00 01 that you can see as the black shape in the ]]P00 02 figure on the left. A few details about ]]P00 03 its computation will be given below. The ]]P00 04 important feature is that the Set is a ]]P00 05 mine of fascinating pictures and the only ]]P00 06 purpose of this software is to help you to ]]P00 07 dig them out, without worrying about the ]]P00 08 underlying mathematics. ]]P00 09 These pictures can be understood simply. ]]P00 10 Assume that the Set can be cut out of a ]]P00 11 metal plate and that this plate is heated. ]]P00 12 The temperature arises all around and this can be visualized with a thermography, which means that points where the tempe- rature lies within a given range are rendered with a given color, whereas points with a temperature inside another range are rendered with another color, and so on... Roughly, the temperature varies all the more rapidly (in other terms, there are all the more colors) as one is closer to the Set boundary, and this is the key point: the Set boundary is fantastically, marvelously complicated. You cannot really sense this from the above figure. You can see disks in all sizes and you can admit that others exist that are too small to be seen, due to the poor resolution of the figure. But there is more. The Set can be continued with myriads of invisible lines that connect it with myriads of microscopic replicas of the main set. These lines are invisible but, within our thermography interpretation, they make the temperature arise around them and this makes fantastic structures appear. Now, in order to view them, you must watch very tiny details, very near the Set boundary; you need a powerful microscope. This software just supplies it. ] This program is designed to run under Workbench. ]B0You must install it on ]]B0an empty diskette or a hard disk for a complete operation; the whole menu ]]B0"navigation" and all the saving functions are deactivated when you operate ]]B0from JUMPDISK (more exactly, from any diskette named "J") To install it, merely drag the icon of the Mandel_Tour drawer up to the icon of your disk(ette). If you have a single drive: - drag the Mandel_Tour drawer icon up to the RamDisk icon - insert your diskette - double-click the RamDisk icon. You should see a copy of the Mandel_Tour drawer. Drag its icon up to the icon of your diskette - discard the copy in the RamDisk You must move the whole Mandel_Tour drawer so as not to leave behind the various files that are required for the program operation. Once you have installed the program, begin to compute and save pictures; two pictures at least are required to fully activate the menu "navigation". The program runs with a 512K Amiga, but with severe limitations about high resolution pictures (only 320x400 is possible). One and a half Mbyte is advisable for a complete operation. The program runs with NTSC or PAL displays (but PAL pictures will be of no use for NTSC users, and conversely). It is (hopefully) self-explanatory. You will be able to return to the main menu any time at no risk, so you can begin exploring the various menu functions by yourselves. However, you might as well take a glance right now at the following explanations. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- The principle is very simple: you begin with a full-screen picture of the whole Set. You frame a part of it in the same way as you would make a DPAINT brush. This part is enlarged to the full screen size and... you repeat the loop on and on, framing and enlarging. All the pictures can be saved in IFF/ILBM format, which allows you to export them in other graphical software. ]]P02 00 A major problem is how not to get lost when one goes deeper ]]P02 01 and deeper in the Set details. Think that the Set enlarged ]]P02 02 by a 1000000 ratio is more than 120 miles wide while only a ]]P02 03 12-inch area can be seen through your screen. Furthermore, ]]P02 04 the enlarging ratio can be 1000 x 1000 x 1000 higher --- ]]P02 05 then the Set would be larger than the whole Solar system!!! ]]P02 06 In addition, as you will proceed with successive enlarge- ]]P02 07 ments, you will often find several places in the same screen that will all seem worth a close-up. Then you will have to be able to go back in your exploration before entering another bifurcation. These problems are handled with a purely graphical method. All the pictures obtained with this program (at least the low-res pictures) are pieces of a large graphical library which allows you to come and go in the Set. The catalog of this library is kept up to date in a special file, "biblio", where every picture corresponds to a record of the strategic data concerning it. ] The effect of this function is ]P01 00 ]]DF ]10 to draw the outlines of all the]P01 01 ]]DF Catalog ]10 pictures in the library on the ]P01 02 ]]DF ]10 scale of the picture on the ]P01 03 ] screen. On the right, you can ]P01 04 ]see the effect on the main Set picture after ]P01 05 ]having computed and saved a dozen of images. ]P01 06 ]This will allow you to recall one of these ]P01 07 ]images or to begin enlarging an unexplored ]P01 08 ]area. ]P01 09 ]]DF ]10 This function allows you to zoom forwards within the stored ]]DF Zoom forward ]10 pictures. First the graphical catalog is recalled and then ]]DF ]10 you are required to redraw one of the displayed outlines. For this, point towards the upper left corner of the wanted outline, click down the left button and drag towards the right. You see a moving rectangle that you must adjust (approximately) to the outline. Then release the left button; the picture with the nearest outline from the drawn rectangle will be looked for and displayed automatically. Rectangles obtained by releasing the button after dragging ON THE LEFT of the first point are not valid. You must begin the whole operation again, i.e. point the upper left corner and then drag towards the right. There is no emergency exit when you are requested to draw a rectangle. If after all you decide not to zoom forwards, you must draw a full-screen sized rectangle; then the same picture will be reloaded. The backward zooming is the inverse function of forward ]]DF ]10 zooming. All the pictures containing the on-screen image are ]]DF Zoom backward ]10 examined and the smallest of them is loaded. Of course, this ]]DF ]10 function has no effect when the full main Set is on the screen. ]]DF ]10 This function opens a window where strategic data concerning ]]DF Data ]10 the picture are displayed: the name of its IFF/ILBM file, the ]]DF ]10 coordinates of its corners, the enlarging ratio and various data concerning its computation (more on this later on). ]]DF ]10 ]]DF Reset ]10 Reloads the picture of the main Set. ]]DF ]10 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ]]P02 08 ]]P02 09 We now arrive to the heart of the program, i.e. the functions ]]P02 10 for computing the enlargements. We tried to make the process ]]P02 11 as simple as possible but it cannot be made completely auto- ]]P02 12 matic. Two parameters are left that must be set by users. ]]P02 13 In computational terms, the Mandelbrot Set is defined with an iteration loop which depends on the pixel coordinates and (theoretically) never stops when the pixel belongs to the Set. Of course, one cannot let the program enter an endless loop and an upper limit NMAX must be set for the number of iterations. For a given pixel, if the program is still inside the loop after NMAX ]]DF ]10 turns, it is assumed that it will never go out; consequently, ]]DF Enlarging ]10 the pixel belongs to the Set and it is colored in black. This ]]DF ]10 assumption can be erroneous. Had the loop be continued, maybe it would have come to an end after a few extra turns; then the pixel does not really belong to the Set. There will be many errors of this kind when NMAX is too low, resulting into distorted boundaries for the Set and a dust of lonely black points. Then it will be time to increase NMAX. However, one cannot merely increase NMAX when one goes deeper and deeper in the Set, with larger and larger magnifications. The trouble comes from the round-up errors that keep rising, until they make the calculation meaningless if NMAX is too large. The only remedy consists in improving the accuracy of internal computations. Here three possibilities are offered: 32-bit, 48-bit or 64-bit arithmetics. Calculations are more and more accurate but, on the other hand, slower and slower (the CPU time is roughly doubled and tripled). Begin with the 32-bit routine and keep it as long as the pictures seem satisfactory. An insufficient accuracy results in a typical blurred, vitreous aspect; then switch to 48-bit calculations. Later on, try 64-bit when you don't feel happy with 48-bit images. There are 4 steps in an enlargement: (1) Point out the part to be enlarged by drawing its outline (2) Choose NMAX and the accuracy (32, 48 or 64 bits). You are proposed the values that were used for the previous picture, but you can change them. Notice that NMAX is limited to 32767. (3) The calculation begins. For every pixel, the program enters the above loop and it goes out after N turns (with N=NMAX in the Set). The successive values of N are stored in a temporary file "ram:iter", with 2 bytes per pixel (thus 128 Kbytes for a NTSC 320x200 screen). After the last pixel, the "ram:iter" file is scanned in order to be translated in colors with the best possible balance between the various colored areas, on the basis of the color table used in the previous picture. You can stop the calculation any time by merely clicking in the screen; then the previous picture is reloaded. (4) You are proposed to save the picture. Save it, unless it is specially disappointing; even if it does not look very pretty, it can be used later on as a starting point for a deeper exploration of the Set. The pictures are automatically named by the program (you can get their names by means of the "Data" menu). When there is not enough room in your working diskette to save a new picture, ]you are requested to insert a new formatted diskette.]D0 Many, many ]10other diskettes will be asked for if you fall addicted to Mandelbrot exploration. ]]D0BE SURE TO GIVE DIFFERENT VOLUME NAMES TO THEM! ]10These names are used in the zoom functions and in the automatic catalog held by the program. If you receive the message "Insert volume 'aaa' in any drive" because a picture is looked for that should be in a diskette labeled 'aaa', it would be a pity if you had several diskettes all named 'aaa'. Don't modify a picture by means of painting programs (like DPaint). If you do so, when saving your work, you will make a special chunk "DATA" disappear that contains strategic data on its computation and coloring information. Nothing tragic, however (at least as long as the catalog file "biblio" is not damaged), except that higher resolution calculations from this picture could be compromised. Finally, make copies of your picture files before importing them in other software. ]]DF ]10 This function allows you to use interlaced screens, ]]DF Higher resolutions ]10 possibly overscan. You must choose between hi-res (i.e. ]]DF ]10 double horizontal resolution) or not, and between overscan or not. Notice that HiSoft-Basic does not correctly handle overscan hi-res screens, but the picture is always honestly computed. The interest of such pictures should be conspicuous once you have seen one of them, but they require lengthy computations and huge files for saving. Depending on the available memory, the highest resolutions can be out of reach for your Amiga. With HiSoft-Basic, there is no simple way to check if a new screen can be opened, so there is no check at all. If there is not enough memory, the program will abort (but without Guru). The program tries to open its temporary file "iter" in ram, but this is not always possible because of its size (up to 800 Kbytes for PAL overscan hi-res). In this case, you are proposed to store this file in a diskette; you can also use a hard disk. Then the image is computed in the same way as usual low-res pictures, except for the saving: it's up to you to give file names. They are not automatically managed by the program and they are not a part of the graphical library formed with the low-res images. In our opinion, the exploration of the Mandelbrot Set is a long-term job that calls for numerous pictures to be computed and stored. They are not all masterpieces of numerical art deserving plenty of Kbytes and CPU time. Hi-res pictures should be exceptional. If necessary, you can also operate with no "iter" file. In this case, the full low-res picture is computed again within the new resolution and it is immediately colored through the color coding contained in the DATA chunk of the low-res file, with no readjustment at the end of the computation. This menu option opens a secondary menu with various functions ]]DF ]10 for modifying the color rendition of the computed picture. ]]DF Recoloring ]10 As explained above, the program makes a number N correspond ]]DF ]10 to each pixel in the screen, between 0 and NMAX. The simplest idea to translate these numbers in colors is to divide the (0,NMAX) interval into as many slices as available colors, i.e. 30 colors for low-res screens or 14 for hi-res screens (the text color is never used and the black is reserved to the Set itself). This leads to the "basic coloring" of pictures, where a given color generally corresponds to several values of N, all the more as the magnification is higher. If there were more colors, there could be more distinct colored areas, which should result into more complex pictures, presumably more attractive. This is out of reach for Amiga users, but somewhat similar effects can be obtained by re-using the colors several times. Here, two different effects are provided in the recoloring menu, that are demonstrated in the next figure. On the left, you see a 14-color "basic" p]000 BBB 500 600 800 900 B00 C00 E00 F00 F41 F72 FA2 FD3 FF4 00A ]]P03 00 ]]P03 01 ]]P03 02 ]]P03 03 ]]P03 04 ]]P03 05 ]]P03 06 ]]P03 07 ]]P03 08 coloring. In the center, colors are "segmented": the corresponding areas are divided into smaller areas which are colored with the next color, so that the general gradation of the color palette is retained. On the right, you see a "cyclic coloring": several consecutive areas of the basic coloring are melted together and then divided into tiny slices that are colored with a limited number of colors in a cyclic manner. ]Here is the recoloring menu, with its three main ]P04 00 ]functions -- basic recoloring, segmentation and ]P04 01 ]cyclic coloring -- plus a few obvious appended ]P04 02 ]functions. It is not intended here to explain the ]P04 03 ]details; there are too many of them. Better try ]P04 04 ]by yourselves; you will be driven by a succession ]P04 05 ]of requesters or intermediate menus, all of them ]P04 06 ](hopefully) self-explanatory. So, only a few points ]P04 07 ]are explained now. ]P04 08 ] You can mix cyclic coloring and segmentations; ]P04 09 ]actually, the right spiral in the last figure is an ]P04 10 ]example. However, as you shall see, cyclic coloring ]P04 11 ]always begins with a basic recoloring; so, do it ]P04 12 first, before the segmentations. The segmentation of the "highest" color (i.e. corresponding to N just below NMAX) is special; actually it is a cyclic coloring. Recoloring functions are specially effective on highly enlarged pictures. Don't try segmentations with low magnifications; most often you will get the message "Segmentation is impossible". All these functions are based upon the temporary file "iter". Consequently, they must be used just after the computation of the picture, whatever its resolution. When it is in memory, this file is deleted at the beginning of a new calculation, or when another picture is loaded. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- p]000 BBB 500 600 800 900 B00 C00 E00 F00 F41 F72 FA2 FD3 FF4 00A ]]P02 14 ]]P02 15 ]]P02 16 ]]P02 17 "Palette" allows you to change the colors of the screen, by ]]P02 18 means of classical sliders RGB and HSV, and gadgets COPY and ]]P02 19 SPREAD. When exiting from "Palette" after modifying the colors, you may save the picture again (even if the original picture was computed long before). "Show" allows you to see the pictures in the catalog, either all of them or a few. Very useful to find again a picture that you have in mind but you cannot locate in the Set. Lastly, "Exit" for a happy end. ]]0B ]10 ]]0B APPENDICES : ]10 ]]0B Addition about picture computation ]10 ]]0B How to contact the author ]10 ]]0B ]10 ]]D0About the calculation: The number N corresponding to the point (x,y) is derived with the following algorithm: INPUT : x,y,NMAX u=x, v=y , N=0 WHILE u*u+v*v<2 AND N