Home » Archimedes archive » Micro User » MU 1992-05.adf » PD » Julia/!JuliaAnim/!Help
Julia/!JuliaAnim/!Help
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Micro User » MU 1992-05.adf » PD |
Filename: | Julia/!JuliaAnim/!Help |
Read OK: | ✔ |
File size: | 1E06 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
!JuliaAnim v1.10: Quadratic Julia Set Real Time Animator. By Ivar Wind Skovgaard. This version finished Wed,12 Feb 1992. Introduction: This !Help file is not supposed to explain what fractals, Julia sets and complex numbers are. For those who don't know this I suggest they read a book on the subject. However the program can be used by everybody to see some animated sequences of Julia sets. !JuliaAnim displays quadratic Julia sets and uses the inverse iteration method to allow you to explore the effects of different complex constants in the formula in 'real time'. By moving the mouse or using the cursor keys you can change the complex constant in the expression for the Julia sets and (because of the speed of the inverse iteration method as well ARM machine code) immediately see the shape of the set change on the screen (which is what I call 'real time'). Using the program: Double-clicking on the !JuliaAnim icon will start !JuliaAnim, which takes over all the processing time of the machine (except for interrupts). The program is controlled from the keyboard or the mouse. Initially the mouse is selected for control and by moving it you change the complex constant c shown at the bottom of the screen. During mouse control only three keys can be used: M : Toggles between mouse and keyboard control. P : Toggles mouse pointer on and off (the pointer is only shown during mouse control). Esc : Quit the program. In addition the following keys can be used during keyboard control: Cursor keys : Changes the complex constant c in steps of 0.01 (when Shift is held down the steps are 0.05 but when Ctrl is held down (without Shift) the steps are only 0.001 and the number of frames per second is lower) Home : Return to initial complex constant (-0.75+0.5i). Copy : Redraw with current complex constant. F1-F12 : Choose one of twelve preset complex constants (these are the ones from page XII of 'The Beauty of Fractals'). A : Toggles automatic animation on and off (during automatic animation the complex constant is made to follow the edge of the cardioid and the greatest circle of the Mandelbrot set). R : Toggles random automatic animation on and off (during random automatic animation the complex constant moves in a direction which changes randomly). This program is not very accurate and it would not be well suited for zooming into the images. Because of that the display is fixed to a part of the complex plane with real values ranging from -2 to 2 and imaginary values ranging from -1.6 to 1.6. This is not as bad as it may sound because Julia sets do not increase in complexity when you magnify them and unlike the Mandelbrot set will usually display all their unique features on the macroscopic level. For some special values of the complex constant the images are not even correct at the macroscopic scale. In these images the actual Julia set can be seen but in addition there are some points outside the Julia set where there should be no points. This happens in particular for complex constants with real part close or equal to zero and may be because of inaccuracies introduced by tabulating the trigonometric functions used. Also for complex constants with a magnitude (distance from 0+0i) greater than two the images will usually be incorrect because of overflow in the calculations. Additional information: The program is based on the quadratic formula x(n+1)=x(n)^2+c, where x and c are complex numbers, however it uses the inverse iteration method to find points on the edge of the Julia sets. This method is described in 'The Beauty of Fractals' by H.-O. Peitgen and P.H. Richter. The inverse iteration method actually does the iteration the other way round: x(n+1)=SQR(x(n)-c). This is not as easy as it looks because x and c are complex numbers and the calculation of the square root of a complex number requires the calculation of two normal square roots, one arcus tangens, one sine, one cosine, one division (actually two but one of these is simply division by two which the ARM can do in zero instructions!), four multiplications, one addition and in 50% of the iterations an extra addition and two extra subtractions. The trigonometric functions are done by table lookups (the arcus tangens is done by a simple table lookup and the sines and cosines are done by a more advanced table lookup written by Christian Larsen) but the rest is done by 32-bit integer calculations. After a few initial iterations all the x's calculated can be plotted. The points are plotted (by direct screen access) both in the position of the actual x value but also mirrored around 0+0i at -x because Julia sets are symmetric around 0+0i. Due to the speed of the ARM the program plots approximately 8750 points per second (including the mirrored ones) during manual animation (12.5 frames per second), 10000 points per second during automatic animation (10 frames per second) and 9750 points per second during random automatic animation (12.5 frames per second). However if you don't change the constant but let the program go on with the same set the speed increases to approximately 10200-10500 points per second depending on whether it is under keyboard or mouse control (the latter is fastest). If the machine code is allowed to plot a very large number of points before returning to basic it can actually do more than 11200 points per second, but that is not possible with the current control program. Future improvements: If I ever learn how to write a proper multi-tasking application I might turn this program into one, however it is much more likely that I make it possible to see a picture of the Mandelbrot set in the background with an indication of where the current complex constant is located, and I have also thought of implementing user-defined automatic animations as well as a facility for (slowly) creating high quality still images of Julia sets. Distribution: This program is Public Domain! You may copy it freely (and please do) as long as you do not sell it for a profit (PD-libraries are naturally allowed to cover their costs) or include it with a product that is sold for a profit (without my permission - 'The Micro User' is allowed to use this version on their cover disc) and as long as you do not change or delete any of the original files which are: !JuliaAnim (not really a file), !JuliaAnim.!Boot, !JuliaAnim.!Help (this file), !JuliaAnim.!Run, !JuliaAnim.!RunImage, !JuliaAnim.!Sprites, !JuliaAnim.mc and !JuliaAnim.MemAlloc If MemAlloc is missing then you can just copy it from the !Lander application on the App2 disc (at least that's where it is in my version of RiscOS). Finally: If you have any suggestions for improvements to this program or have written some interesting fractal program yourself which you want to tell me about or just want to tell me what a great program you think !JuliaAnim is then you can contact me by writing to: Ivar Wind Skovgaard, Havsg�rdsvej 27, 2900 Hellerup, Denmark.
00000000 0a 21 4a 75 6c 69 61 41 6e 69 6d 20 76 31 2e 31 |.!JuliaAnim v1.1| 00000010 30 3a 20 51 75 61 64 72 61 74 69 63 20 4a 75 6c |0: Quadratic Jul| 00000020 69 61 20 53 65 74 20 52 65 61 6c 20 54 69 6d 65 |ia Set Real Time| 00000030 20 41 6e 69 6d 61 74 6f 72 2e 0a 0a 42 79 20 49 | Animator...By I| 00000040 76 61 72 20 57 69 6e 64 20 53 6b 6f 76 67 61 61 |var Wind Skovgaa| 00000050 72 64 2e 0a 0a 54 68 69 73 20 76 65 72 73 69 6f |rd...This versio| 00000060 6e 20 66 69 6e 69 73 68 65 64 20 57 65 64 2c 31 |n finished Wed,1| 00000070 32 20 46 65 62 20 31 39 39 32 2e 0a 0a 0a 49 6e |2 Feb 1992....In| 00000080 74 72 6f 64 75 63 74 69 6f 6e 3a 0a 0a 54 68 69 |troduction:..Thi| 00000090 73 20 21 48 65 6c 70 20 66 69 6c 65 20 69 73 20 |s !Help file is | 000000a0 6e 6f 74 20 73 75 70 70 6f 73 65 64 20 74 6f 20 |not supposed to | 000000b0 65 78 70 6c 61 69 6e 20 77 68 61 74 20 66 72 61 |explain what fra| 000000c0 63 74 61 6c 73 2c 20 4a 75 6c 69 61 20 73 65 74 |ctals, Julia set| 000000d0 73 20 61 6e 64 20 63 6f 6d 70 6c 65 78 20 6e 75 |s and complex nu| 000000e0 6d 62 65 72 73 20 61 72 65 2e 20 46 6f 72 20 74 |mbers are. For t| 000000f0 68 6f 73 65 20 77 68 6f 20 64 6f 6e 27 74 20 6b |hose who don't k| 00000100 6e 6f 77 20 74 68 69 73 20 49 20 73 75 67 67 65 |now this I sugge| 00000110 73 74 20 74 68 65 79 20 72 65 61 64 20 61 20 62 |st they read a b| 00000120 6f 6f 6b 20 6f 6e 20 74 68 65 20 73 75 62 6a 65 |ook on the subje| 00000130 63 74 2e 20 48 6f 77 65 76 65 72 20 74 68 65 20 |ct. However the | 00000140 70 72 6f 67 72 61 6d 20 63 61 6e 20 62 65 20 75 |program can be u| 00000150 73 65 64 20 62 79 20 65 76 65 72 79 62 6f 64 79 |sed by everybody| 00000160 20 74 6f 20 73 65 65 20 73 6f 6d 65 20 61 6e 69 | to see some ani| 00000170 6d 61 74 65 64 20 73 65 71 75 65 6e 63 65 73 20 |mated sequences | 00000180 6f 66 20 4a 75 6c 69 61 20 73 65 74 73 2e 0a 0a |of Julia sets...| 00000190 21 4a 75 6c 69 61 41 6e 69 6d 20 64 69 73 70 6c |!JuliaAnim displ| 000001a0 61 79 73 20 71 75 61 64 72 61 74 69 63 20 4a 75 |ays quadratic Ju| 000001b0 6c 69 61 20 73 65 74 73 20 61 6e 64 20 75 73 65 |lia sets and use| 000001c0 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 69 74 |s the inverse it| 000001d0 65 72 61 74 69 6f 6e 20 6d 65 74 68 6f 64 20 74 |eration method t| 000001e0 6f 20 61 6c 6c 6f 77 20 79 6f 75 20 74 6f 20 65 |o allow you to e| 000001f0 78 70 6c 6f 72 65 20 74 68 65 20 65 66 66 65 63 |xplore the effec| 00000200 74 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 |ts of different | 00000210 63 6f 6d 70 6c 65 78 20 63 6f 6e 73 74 61 6e 74 |complex constant| 00000220 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 75 6c 61 |s in the formula| 00000230 20 69 6e 20 27 72 65 61 6c 20 74 69 6d 65 27 2e | in 'real time'.| 00000240 0a 0a 42 79 20 6d 6f 76 69 6e 67 20 74 68 65 20 |..By moving the | 00000250 6d 6f 75 73 65 20 6f 72 20 75 73 69 6e 67 20 74 |mouse or using t| 00000260 68 65 20 63 75 72 73 6f 72 20 6b 65 79 73 20 79 |he cursor keys y| 00000270 6f 75 20 63 61 6e 20 63 68 61 6e 67 65 20 74 68 |ou can change th| 00000280 65 20 63 6f 6d 70 6c 65 78 20 63 6f 6e 73 74 61 |e complex consta| 00000290 6e 74 20 69 6e 20 74 68 65 20 65 78 70 72 65 73 |nt in the expres| 000002a0 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 4a 75 6c |sion for the Jul| 000002b0 69 61 20 73 65 74 73 20 61 6e 64 20 28 62 65 63 |ia sets and (bec| 000002c0 61 75 73 65 20 6f 66 20 74 68 65 20 73 70 65 65 |ause of the spee| 000002d0 64 20 6f 66 20 74 68 65 20 69 6e 76 65 72 73 65 |d of the inverse| 000002e0 20 69 74 65 72 61 74 69 6f 6e 20 6d 65 74 68 6f | iteration metho| 000002f0 64 20 61 73 20 77 65 6c 6c 20 41 52 4d 20 6d 61 |d as well ARM ma| 00000300 63 68 69 6e 65 20 63 6f 64 65 29 20 69 6d 6d 65 |chine code) imme| 00000310 64 69 61 74 65 6c 79 20 73 65 65 20 74 68 65 20 |diately see the | 00000320 73 68 61 70 65 20 6f 66 20 74 68 65 20 73 65 74 |shape of the set| 00000330 20 63 68 61 6e 67 65 20 6f 6e 20 74 68 65 20 73 | change on the s| 00000340 63 72 65 65 6e 20 28 77 68 69 63 68 20 69 73 20 |creen (which is | 00000350 77 68 61 74 20 49 20 63 61 6c 6c 20 27 72 65 61 |what I call 'rea| 00000360 6c 20 74 69 6d 65 27 29 2e 0a 0a 0a 55 73 69 6e |l time')....Usin| 00000370 67 20 74 68 65 20 70 72 6f 67 72 61 6d 3a 0a 0a |g the program:..| 00000380 44 6f 75 62 6c 65 2d 63 6c 69 63 6b 69 6e 67 20 |Double-clicking | 00000390 6f 6e 20 74 68 65 20 21 4a 75 6c 69 61 41 6e 69 |on the !JuliaAni| 000003a0 6d 20 69 63 6f 6e 20 77 69 6c 6c 20 73 74 61 72 |m icon will star| 000003b0 74 20 21 4a 75 6c 69 61 41 6e 69 6d 2c 20 77 68 |t !JuliaAnim, wh| 000003c0 69 63 68 20 74 61 6b 65 73 20 6f 76 65 72 20 61 |ich takes over a| 000003d0 6c 6c 20 74 68 65 20 70 72 6f 63 65 73 73 69 6e |ll the processin| 000003e0 67 20 74 69 6d 65 20 6f 66 20 74 68 65 20 6d 61 |g time of the ma| 000003f0 63 68 69 6e 65 20 28 65 78 63 65 70 74 20 66 6f |chine (except fo| 00000400 72 20 69 6e 74 65 72 72 75 70 74 73 29 2e 0a 0a |r interrupts)...| 00000410 54 68 65 20 70 72 6f 67 72 61 6d 20 69 73 20 63 |The program is c| 00000420 6f 6e 74 72 6f 6c 6c 65 64 20 66 72 6f 6d 20 74 |ontrolled from t| 00000430 68 65 20 6b 65 79 62 6f 61 72 64 20 6f 72 20 74 |he keyboard or t| 00000440 68 65 20 6d 6f 75 73 65 2e 20 49 6e 69 74 69 61 |he mouse. Initia| 00000450 6c 6c 79 20 74 68 65 20 6d 6f 75 73 65 20 69 73 |lly the mouse is| 00000460 20 73 65 6c 65 63 74 65 64 20 66 6f 72 20 63 6f | selected for co| 00000470 6e 74 72 6f 6c 20 61 6e 64 20 62 79 20 6d 6f 76 |ntrol and by mov| 00000480 69 6e 67 20 69 74 20 79 6f 75 20 63 68 61 6e 67 |ing it you chang| 00000490 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 63 6f |e the complex co| 000004a0 6e 73 74 61 6e 74 20 63 20 73 68 6f 77 6e 20 61 |nstant c shown a| 000004b0 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 |t the bottom of | 000004c0 74 68 65 20 73 63 72 65 65 6e 2e 20 44 75 72 69 |the screen. Duri| 000004d0 6e 67 20 6d 6f 75 73 65 20 63 6f 6e 74 72 6f 6c |ng mouse control| 000004e0 20 6f 6e 6c 79 20 74 68 72 65 65 20 6b 65 79 73 | only three keys| 000004f0 20 63 61 6e 20 62 65 20 75 73 65 64 3a 0a 0a 4d | can be used:..M| 00000500 20 20 20 20 20 20 20 20 20 20 20 3a 20 54 6f 67 | : Tog| 00000510 67 6c 65 73 20 62 65 74 77 65 65 6e 20 6d 6f 75 |gles between mou| 00000520 73 65 20 61 6e 64 20 6b 65 79 62 6f 61 72 64 20 |se and keyboard | 00000530 63 6f 6e 74 72 6f 6c 2e 0a 50 20 20 20 20 20 20 |control..P | 00000540 20 20 20 20 20 3a 20 54 6f 67 67 6c 65 73 20 6d | : Toggles m| 00000550 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 6f 6e 20 |ouse pointer on | 00000560 61 6e 64 20 6f 66 66 0a 20 20 20 20 20 20 20 20 |and off. | 00000570 20 20 20 20 20 20 28 74 68 65 20 70 6f 69 6e 74 | (the point| 00000580 65 72 20 69 73 20 6f 6e 6c 79 20 73 68 6f 77 6e |er is only shown| 00000590 20 64 75 72 69 6e 67 20 6d 6f 75 73 65 20 63 6f | during mouse co| 000005a0 6e 74 72 6f 6c 29 2e 0a 45 73 63 20 20 20 20 20 |ntrol)..Esc | 000005b0 20 20 20 20 3a 20 51 75 69 74 20 74 68 65 20 70 | : Quit the p| 000005c0 72 6f 67 72 61 6d 2e 0a 0a 49 6e 20 61 64 64 69 |rogram...In addi| 000005d0 74 69 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 |tion the followi| 000005e0 6e 67 20 6b 65 79 73 20 63 61 6e 20 62 65 20 75 |ng keys can be u| 000005f0 73 65 64 20 64 75 72 69 6e 67 20 6b 65 79 62 6f |sed during keybo| 00000600 61 72 64 20 63 6f 6e 74 72 6f 6c 3a 0a 0a 43 75 |ard control:..Cu| 00000610 72 73 6f 72 20 6b 65 79 73 20 3a 20 43 68 61 6e |rsor keys : Chan| 00000620 67 65 73 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 |ges the complex | 00000630 63 6f 6e 73 74 61 6e 74 20 63 20 69 6e 20 73 74 |constant c in st| 00000640 65 70 73 20 6f 66 20 30 2e 30 31 0a 20 20 20 20 |eps of 0.01. | 00000650 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 | (when | 00000660 53 68 69 66 74 20 69 73 20 68 65 6c 64 20 64 6f |Shift is held do| 00000670 77 6e 20 74 68 65 20 73 74 65 70 73 20 61 72 65 |wn the steps are| 00000680 20 30 2e 30 35 0a 20 20 20 20 20 20 20 20 20 20 | 0.05. | 00000690 20 20 20 20 20 62 75 74 20 77 68 65 6e 20 43 74 | but when Ct| 000006a0 72 6c 20 69 73 20 68 65 6c 64 20 64 6f 77 6e 20 |rl is held down | 000006b0 28 77 69 74 68 6f 75 74 20 53 68 69 66 74 29 20 |(without Shift) | 000006c0 74 68 65 20 73 74 65 70 73 20 61 72 65 20 6f 6e |the steps are on| 000006d0 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |ly. | 000006e0 20 20 30 2e 30 30 31 20 61 6e 64 20 74 68 65 20 | 0.001 and the | 000006f0 6e 75 6d 62 65 72 20 6f 66 20 66 72 61 6d 65 73 |number of frames| 00000700 20 70 65 72 20 73 65 63 6f 6e 64 20 69 73 20 6c | per second is l| 00000710 6f 77 65 72 29 0a 48 6f 6d 65 20 20 20 20 20 20 |ower).Home | 00000720 20 20 3a 20 52 65 74 75 72 6e 20 74 6f 20 69 6e | : Return to in| 00000730 69 74 69 61 6c 20 63 6f 6d 70 6c 65 78 20 63 6f |itial complex co| 00000740 6e 73 74 61 6e 74 20 28 2d 30 2e 37 35 2b 30 2e |nstant (-0.75+0.| 00000750 35 69 29 2e 0a 43 6f 70 79 20 20 20 20 20 20 20 |5i)..Copy | 00000760 20 3a 20 52 65 64 72 61 77 20 77 69 74 68 20 63 | : Redraw with c| 00000770 75 72 72 65 6e 74 20 63 6f 6d 70 6c 65 78 20 63 |urrent complex c| 00000780 6f 6e 73 74 61 6e 74 2e 0a 46 31 2d 46 31 32 20 |onstant..F1-F12 | 00000790 20 20 20 20 20 3a 20 43 68 6f 6f 73 65 20 6f 6e | : Choose on| 000007a0 65 20 6f 66 20 74 77 65 6c 76 65 20 70 72 65 73 |e of twelve pres| 000007b0 65 74 20 63 6f 6d 70 6c 65 78 20 63 6f 6e 73 74 |et complex const| 000007c0 61 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 |ants. | 000007d0 20 20 20 28 74 68 65 73 65 20 61 72 65 20 74 68 | (these are th| 000007e0 65 20 6f 6e 65 73 20 66 72 6f 6d 20 70 61 67 65 |e ones from page| 000007f0 20 58 49 49 20 6f 66 20 27 54 68 65 20 42 65 61 | XII of 'The Bea| 00000800 75 74 79 20 6f 66 20 46 72 61 63 74 61 6c 73 27 |uty of Fractals'| 00000810 29 2e 0a 41 20 20 20 20 20 20 20 20 20 20 20 3a |)..A :| 00000820 20 54 6f 67 67 6c 65 73 20 61 75 74 6f 6d 61 74 | Toggles automat| 00000830 69 63 20 61 6e 69 6d 61 74 69 6f 6e 20 6f 6e 20 |ic animation on | 00000840 61 6e 64 20 6f 66 66 0a 20 20 20 20 20 20 20 20 |and off. | 00000850 20 20 20 20 20 20 28 64 75 72 69 6e 67 20 61 75 | (during au| 00000860 74 6f 6d 61 74 69 63 20 61 6e 69 6d 61 74 69 6f |tomatic animatio| 00000870 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 63 6f |n the complex co| 00000880 6e 73 74 61 6e 74 20 69 73 20 6d 61 64 65 20 74 |nstant is made t| 00000890 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |o. | 000008a0 20 66 6f 6c 6c 6f 77 20 74 68 65 20 65 64 67 65 | follow the edge| 000008b0 20 6f 66 20 74 68 65 20 63 61 72 64 69 6f 69 64 | of the cardioid| 000008c0 20 61 6e 64 20 74 68 65 20 67 72 65 61 74 65 73 | and the greates| 000008d0 74 20 63 69 72 63 6c 65 20 6f 66 0a 20 20 20 20 |t circle of. | 000008e0 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 4d | the M| 000008f0 61 6e 64 65 6c 62 72 6f 74 20 73 65 74 29 2e 0a |andelbrot set)..| 00000900 52 20 20 20 20 20 20 20 20 20 20 20 3a 20 54 6f |R : To| 00000910 67 67 6c 65 73 20 72 61 6e 64 6f 6d 20 61 75 74 |ggles random aut| 00000920 6f 6d 61 74 69 63 20 61 6e 69 6d 61 74 69 6f 6e |omatic animation| 00000930 20 6f 6e 20 61 6e 64 20 6f 66 66 0a 20 20 20 20 | on and off. | 00000940 20 20 20 20 20 20 20 20 20 20 28 64 75 72 69 6e | (durin| 00000950 67 20 72 61 6e 64 6f 6d 20 61 75 74 6f 6d 61 74 |g random automat| 00000960 69 63 20 61 6e 69 6d 61 74 69 6f 6e 20 74 68 65 |ic animation the| 00000970 20 63 6f 6d 70 6c 65 78 20 63 6f 6e 73 74 61 6e | complex constan| 00000980 74 20 6d 6f 76 65 73 0a 20 20 20 20 20 20 20 20 |t moves. | 00000990 20 20 20 20 20 20 20 69 6e 20 61 20 64 69 72 65 | in a dire| 000009a0 63 74 69 6f 6e 20 77 68 69 63 68 20 63 68 61 6e |ction which chan| 000009b0 67 65 73 20 72 61 6e 64 6f 6d 6c 79 29 2e 0a 0a |ges randomly)...| 000009c0 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 |This program is | 000009d0 6e 6f 74 20 76 65 72 79 20 61 63 63 75 72 61 74 |not very accurat| 000009e0 65 20 61 6e 64 20 69 74 20 77 6f 75 6c 64 20 6e |e and it would n| 000009f0 6f 74 20 62 65 20 77 65 6c 6c 20 73 75 69 74 65 |ot be well suite| 00000a00 64 20 66 6f 72 20 7a 6f 6f 6d 69 6e 67 20 69 6e |d for zooming in| 00000a10 74 6f 20 74 68 65 20 69 6d 61 67 65 73 2e 20 42 |to the images. B| 00000a20 65 63 61 75 73 65 20 6f 66 20 74 68 61 74 20 74 |ecause of that t| 00000a30 68 65 20 64 69 73 70 6c 61 79 20 69 73 20 66 69 |he display is fi| 00000a40 78 65 64 20 74 6f 20 61 20 70 61 72 74 20 6f 66 |xed to a part of| 00000a50 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 70 6c 61 | the complex pla| 00000a60 6e 65 20 77 69 74 68 20 72 65 61 6c 20 76 61 6c |ne with real val| 00000a70 75 65 73 20 72 61 6e 67 69 6e 67 20 66 72 6f 6d |ues ranging from| 00000a80 20 2d 32 20 74 6f 20 32 20 61 6e 64 20 69 6d 61 | -2 to 2 and ima| 00000a90 67 69 6e 61 72 79 20 76 61 6c 75 65 73 20 72 61 |ginary values ra| 00000aa0 6e 67 69 6e 67 20 66 72 6f 6d 20 2d 31 2e 36 20 |nging from -1.6 | 00000ab0 74 6f 20 31 2e 36 2e 20 54 68 69 73 20 69 73 20 |to 1.6. This is | 00000ac0 6e 6f 74 20 61 73 20 62 61 64 20 61 73 20 69 74 |not as bad as it| 00000ad0 20 6d 61 79 20 73 6f 75 6e 64 20 62 65 63 61 75 | may sound becau| 00000ae0 73 65 20 4a 75 6c 69 61 20 73 65 74 73 20 64 6f |se Julia sets do| 00000af0 20 6e 6f 74 20 69 6e 63 72 65 61 73 65 20 69 6e | not increase in| 00000b00 20 63 6f 6d 70 6c 65 78 69 74 79 20 77 68 65 6e | complexity when| 00000b10 20 79 6f 75 20 6d 61 67 6e 69 66 79 20 74 68 65 | you magnify the| 00000b20 6d 20 61 6e 64 20 75 6e 6c 69 6b 65 20 74 68 65 |m and unlike the| 00000b30 20 4d 61 6e 64 65 6c 62 72 6f 74 20 73 65 74 20 | Mandelbrot set | 00000b40 77 69 6c 6c 20 75 73 75 61 6c 6c 79 20 64 69 73 |will usually dis| 00000b50 70 6c 61 79 20 61 6c 6c 20 74 68 65 69 72 20 75 |play all their u| 00000b60 6e 69 71 75 65 20 66 65 61 74 75 72 65 73 20 6f |nique features o| 00000b70 6e 20 74 68 65 20 6d 61 63 72 6f 73 63 6f 70 69 |n the macroscopi| 00000b80 63 20 6c 65 76 65 6c 2e 0a 0a 46 6f 72 20 73 6f |c level...For so| 00000b90 6d 65 20 73 70 65 63 69 61 6c 20 76 61 6c 75 65 |me special value| 00000ba0 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 |s of the complex| 00000bb0 20 63 6f 6e 73 74 61 6e 74 20 74 68 65 20 69 6d | constant the im| 00000bc0 61 67 65 73 20 61 72 65 20 6e 6f 74 20 65 76 65 |ages are not eve| 00000bd0 6e 20 63 6f 72 72 65 63 74 20 61 74 20 74 68 65 |n correct at the| 00000be0 20 6d 61 63 72 6f 73 63 6f 70 69 63 20 73 63 61 | macroscopic sca| 00000bf0 6c 65 2e 20 49 6e 20 74 68 65 73 65 20 69 6d 61 |le. In these ima| 00000c00 67 65 73 20 74 68 65 20 61 63 74 75 61 6c 20 4a |ges the actual J| 00000c10 75 6c 69 61 20 73 65 74 20 63 61 6e 20 62 65 20 |ulia set can be | 00000c20 73 65 65 6e 20 62 75 74 20 69 6e 20 61 64 64 69 |seen but in addi| 00000c30 74 69 6f 6e 20 74 68 65 72 65 20 61 72 65 20 73 |tion there are s| 00000c40 6f 6d 65 20 70 6f 69 6e 74 73 20 6f 75 74 73 69 |ome points outsi| 00000c50 64 65 20 74 68 65 20 4a 75 6c 69 61 20 73 65 74 |de the Julia set| 00000c60 20 77 68 65 72 65 20 74 68 65 72 65 20 73 68 6f | where there sho| 00000c70 75 6c 64 20 62 65 20 6e 6f 20 70 6f 69 6e 74 73 |uld be no points| 00000c80 2e 20 54 68 69 73 20 68 61 70 70 65 6e 73 20 69 |. This happens i| 00000c90 6e 20 70 61 72 74 69 63 75 6c 61 72 20 66 6f 72 |n particular for| 00000ca0 20 63 6f 6d 70 6c 65 78 20 63 6f 6e 73 74 61 6e | complex constan| 00000cb0 74 73 20 77 69 74 68 20 72 65 61 6c 20 70 61 72 |ts with real par| 00000cc0 74 20 63 6c 6f 73 65 20 6f 72 20 65 71 75 61 6c |t close or equal| 00000cd0 20 74 6f 20 7a 65 72 6f 20 61 6e 64 20 6d 61 79 | to zero and may| 00000ce0 20 62 65 20 62 65 63 61 75 73 65 20 6f 66 20 69 | be because of i| 00000cf0 6e 61 63 63 75 72 61 63 69 65 73 20 69 6e 74 72 |naccuracies intr| 00000d00 6f 64 75 63 65 64 20 62 79 20 74 61 62 75 6c 61 |oduced by tabula| 00000d10 74 69 6e 67 20 74 68 65 20 74 72 69 67 6f 6e 6f |ting the trigono| 00000d20 6d 65 74 72 69 63 20 66 75 6e 63 74 69 6f 6e 73 |metric functions| 00000d30 20 75 73 65 64 2e 20 41 6c 73 6f 20 66 6f 72 20 | used. Also for | 00000d40 63 6f 6d 70 6c 65 78 20 63 6f 6e 73 74 61 6e 74 |complex constant| 00000d50 73 20 77 69 74 68 20 61 20 6d 61 67 6e 69 74 75 |s with a magnitu| 00000d60 64 65 20 28 64 69 73 74 61 6e 63 65 20 66 72 6f |de (distance fro| 00000d70 6d 20 30 2b 30 69 29 20 67 72 65 61 74 65 72 20 |m 0+0i) greater | 00000d80 74 68 61 6e 20 74 77 6f 20 74 68 65 20 69 6d 61 |than two the ima| 00000d90 67 65 73 20 77 69 6c 6c 20 75 73 75 61 6c 6c 79 |ges will usually| 00000da0 20 62 65 20 69 6e 63 6f 72 72 65 63 74 20 62 65 | be incorrect be| 00000db0 63 61 75 73 65 20 6f 66 20 6f 76 65 72 66 6c 6f |cause of overflo| 00000dc0 77 20 69 6e 20 74 68 65 20 63 61 6c 63 75 6c 61 |w in the calcula| 00000dd0 74 69 6f 6e 73 2e 0a 0a 0a 41 64 64 69 74 69 6f |tions....Additio| 00000de0 6e 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a |nal information:| 00000df0 0a 0a 54 68 65 20 70 72 6f 67 72 61 6d 20 69 73 |..The program is| 00000e00 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 71 75 | based on the qu| 00000e10 61 64 72 61 74 69 63 20 66 6f 72 6d 75 6c 61 20 |adratic formula | 00000e20 78 28 6e 2b 31 29 3d 78 28 6e 29 5e 32 2b 63 2c |x(n+1)=x(n)^2+c,| 00000e30 20 77 68 65 72 65 20 78 20 61 6e 64 20 63 20 61 | where x and c a| 00000e40 72 65 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 |re complex numbe| 00000e50 72 73 2c 20 68 6f 77 65 76 65 72 20 69 74 20 75 |rs, however it u| 00000e60 73 65 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 |ses the inverse | 00000e70 69 74 65 72 61 74 69 6f 6e 20 6d 65 74 68 6f 64 |iteration method| 00000e80 20 74 6f 20 66 69 6e 64 20 70 6f 69 6e 74 73 20 | to find points | 00000e90 6f 6e 20 74 68 65 20 65 64 67 65 20 6f 66 20 74 |on the edge of t| 00000ea0 68 65 20 4a 75 6c 69 61 20 73 65 74 73 2e 20 54 |he Julia sets. T| 00000eb0 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 64 65 |his method is de| 00000ec0 73 63 72 69 62 65 64 20 69 6e 20 27 54 68 65 20 |scribed in 'The | 00000ed0 42 65 61 75 74 79 20 6f 66 20 46 72 61 63 74 61 |Beauty of Fracta| 00000ee0 6c 73 27 20 62 79 20 48 2e 2d 4f 2e 20 50 65 69 |ls' by H.-O. Pei| 00000ef0 74 67 65 6e 20 61 6e 64 20 50 2e 48 2e 20 52 69 |tgen and P.H. Ri| 00000f00 63 68 74 65 72 2e 0a 0a 54 68 65 20 69 6e 76 65 |chter...The inve| 00000f10 72 73 65 20 69 74 65 72 61 74 69 6f 6e 20 6d 65 |rse iteration me| 00000f20 74 68 6f 64 20 61 63 74 75 61 6c 6c 79 20 64 6f |thod actually do| 00000f30 65 73 20 74 68 65 20 69 74 65 72 61 74 69 6f 6e |es the iteration| 00000f40 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 20 72 | the other way r| 00000f50 6f 75 6e 64 3a 20 78 28 6e 2b 31 29 3d 53 51 52 |ound: x(n+1)=SQR| 00000f60 28 78 28 6e 29 2d 63 29 2e 20 54 68 69 73 20 69 |(x(n)-c). This i| 00000f70 73 20 6e 6f 74 20 61 73 20 65 61 73 79 20 61 73 |s not as easy as| 00000f80 20 69 74 20 6c 6f 6f 6b 73 20 62 65 63 61 75 73 | it looks becaus| 00000f90 65 20 78 20 61 6e 64 20 63 20 61 72 65 20 63 6f |e x and c are co| 00000fa0 6d 70 6c 65 78 20 6e 75 6d 62 65 72 73 20 61 6e |mplex numbers an| 00000fb0 64 20 74 68 65 20 63 61 6c 63 75 6c 61 74 69 6f |d the calculatio| 00000fc0 6e 20 6f 66 20 74 68 65 20 73 71 75 61 72 65 20 |n of the square | 00000fd0 72 6f 6f 74 20 6f 66 20 61 20 63 6f 6d 70 6c 65 |root of a comple| 00000fe0 78 20 6e 75 6d 62 65 72 20 72 65 71 75 69 72 65 |x number require| 00000ff0 73 20 74 68 65 20 63 61 6c 63 75 6c 61 74 69 6f |s the calculatio| 00001000 6e 20 6f 66 20 74 77 6f 20 6e 6f 72 6d 61 6c 20 |n of two normal | 00001010 73 71 75 61 72 65 20 72 6f 6f 74 73 2c 20 6f 6e |square roots, on| 00001020 65 20 61 72 63 75 73 20 74 61 6e 67 65 6e 73 2c |e arcus tangens,| 00001030 20 6f 6e 65 20 73 69 6e 65 2c 20 6f 6e 65 20 63 | one sine, one c| 00001040 6f 73 69 6e 65 2c 20 6f 6e 65 20 64 69 76 69 73 |osine, one divis| 00001050 69 6f 6e 20 28 61 63 74 75 61 6c 6c 79 20 74 77 |ion (actually tw| 00001060 6f 20 62 75 74 20 6f 6e 65 20 6f 66 20 74 68 65 |o but one of the| 00001070 73 65 20 69 73 20 73 69 6d 70 6c 79 20 64 69 76 |se is simply div| 00001080 69 73 69 6f 6e 20 62 79 20 74 77 6f 20 77 68 69 |ision by two whi| 00001090 63 68 20 74 68 65 20 41 52 4d 20 63 61 6e 20 64 |ch the ARM can d| 000010a0 6f 20 69 6e 20 7a 65 72 6f 20 69 6e 73 74 72 75 |o in zero instru| 000010b0 63 74 69 6f 6e 73 21 29 2c 20 66 6f 75 72 20 6d |ctions!), four m| 000010c0 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 73 2c 20 |ultiplications, | 000010d0 6f 6e 65 20 61 64 64 69 74 69 6f 6e 20 61 6e 64 |one addition and| 000010e0 20 69 6e 20 35 30 25 20 6f 66 20 74 68 65 20 69 | in 50% of the i| 000010f0 74 65 72 61 74 69 6f 6e 73 20 61 6e 20 65 78 74 |terations an ext| 00001100 72 61 20 61 64 64 69 74 69 6f 6e 20 61 6e 64 20 |ra addition and | 00001110 74 77 6f 20 65 78 74 72 61 20 73 75 62 74 72 61 |two extra subtra| 00001120 63 74 69 6f 6e 73 2e 20 54 68 65 20 74 72 69 67 |ctions. The trig| 00001130 6f 6e 6f 6d 65 74 72 69 63 20 66 75 6e 63 74 69 |onometric functi| 00001140 6f 6e 73 20 61 72 65 20 64 6f 6e 65 20 62 79 20 |ons are done by | 00001150 74 61 62 6c 65 20 6c 6f 6f 6b 75 70 73 20 28 74 |table lookups (t| 00001160 68 65 20 61 72 63 75 73 20 74 61 6e 67 65 6e 73 |he arcus tangens| 00001170 20 69 73 20 64 6f 6e 65 20 62 79 20 61 20 73 69 | is done by a si| 00001180 6d 70 6c 65 20 74 61 62 6c 65 20 6c 6f 6f 6b 75 |mple table looku| 00001190 70 20 61 6e 64 20 74 68 65 20 73 69 6e 65 73 20 |p and the sines | 000011a0 61 6e 64 20 63 6f 73 69 6e 65 73 20 61 72 65 20 |and cosines are | 000011b0 64 6f 6e 65 20 62 79 20 61 20 6d 6f 72 65 20 61 |done by a more a| 000011c0 64 76 61 6e 63 65 64 20 74 61 62 6c 65 20 6c 6f |dvanced table lo| 000011d0 6f 6b 75 70 20 77 72 69 74 74 65 6e 20 62 79 20 |okup written by | 000011e0 43 68 72 69 73 74 69 61 6e 20 4c 61 72 73 65 6e |Christian Larsen| 000011f0 29 20 62 75 74 20 74 68 65 20 72 65 73 74 20 69 |) but the rest i| 00001200 73 20 64 6f 6e 65 20 62 79 20 33 32 2d 62 69 74 |s done by 32-bit| 00001210 20 69 6e 74 65 67 65 72 20 63 61 6c 63 75 6c 61 | integer calcula| 00001220 74 69 6f 6e 73 2e 20 41 66 74 65 72 20 61 20 66 |tions. After a f| 00001230 65 77 20 69 6e 69 74 69 61 6c 20 69 74 65 72 61 |ew initial itera| 00001240 74 69 6f 6e 73 20 61 6c 6c 20 74 68 65 20 78 27 |tions all the x'| 00001250 73 20 63 61 6c 63 75 6c 61 74 65 64 20 63 61 6e |s calculated can| 00001260 20 62 65 20 70 6c 6f 74 74 65 64 2e 0a 0a 54 68 | be plotted...Th| 00001270 65 20 70 6f 69 6e 74 73 20 61 72 65 20 70 6c 6f |e points are plo| 00001280 74 74 65 64 20 28 62 79 20 64 69 72 65 63 74 20 |tted (by direct | 00001290 73 63 72 65 65 6e 20 61 63 63 65 73 73 29 20 62 |screen access) b| 000012a0 6f 74 68 20 69 6e 20 74 68 65 20 70 6f 73 69 74 |oth in the posit| 000012b0 69 6f 6e 20 6f 66 20 74 68 65 20 61 63 74 75 61 |ion of the actua| 000012c0 6c 20 78 20 76 61 6c 75 65 20 62 75 74 20 61 6c |l x value but al| 000012d0 73 6f 20 6d 69 72 72 6f 72 65 64 20 61 72 6f 75 |so mirrored arou| 000012e0 6e 64 20 30 2b 30 69 20 61 74 20 2d 78 20 62 65 |nd 0+0i at -x be| 000012f0 63 61 75 73 65 20 4a 75 6c 69 61 20 73 65 74 73 |cause Julia sets| 00001300 20 61 72 65 20 73 79 6d 6d 65 74 72 69 63 20 61 | are symmetric a| 00001310 72 6f 75 6e 64 20 30 2b 30 69 2e 0a 0a 44 75 65 |round 0+0i...Due| 00001320 20 74 6f 20 74 68 65 20 73 70 65 65 64 20 6f 66 | to the speed of| 00001330 20 74 68 65 20 41 52 4d 20 74 68 65 20 70 72 6f | the ARM the pro| 00001340 67 72 61 6d 20 70 6c 6f 74 73 20 61 70 70 72 6f |gram plots appro| 00001350 78 69 6d 61 74 65 6c 79 20 38 37 35 30 20 70 6f |ximately 8750 po| 00001360 69 6e 74 73 20 70 65 72 20 73 65 63 6f 6e 64 20 |ints per second | 00001370 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 6d |(including the m| 00001380 69 72 72 6f 72 65 64 20 6f 6e 65 73 29 20 64 75 |irrored ones) du| 00001390 72 69 6e 67 20 6d 61 6e 75 61 6c 20 61 6e 69 6d |ring manual anim| 000013a0 61 74 69 6f 6e 20 28 31 32 2e 35 20 66 72 61 6d |ation (12.5 fram| 000013b0 65 73 20 70 65 72 20 73 65 63 6f 6e 64 29 2c 20 |es per second), | 000013c0 31 30 30 30 30 20 70 6f 69 6e 74 73 20 70 65 72 |10000 points per| 000013d0 20 73 65 63 6f 6e 64 20 64 75 72 69 6e 67 20 61 | second during a| 000013e0 75 74 6f 6d 61 74 69 63 20 61 6e 69 6d 61 74 69 |utomatic animati| 000013f0 6f 6e 20 28 31 30 20 66 72 61 6d 65 73 20 70 65 |on (10 frames pe| 00001400 72 20 73 65 63 6f 6e 64 29 20 61 6e 64 20 39 37 |r second) and 97| 00001410 35 30 20 70 6f 69 6e 74 73 20 70 65 72 20 73 65 |50 points per se| 00001420 63 6f 6e 64 20 64 75 72 69 6e 67 20 72 61 6e 64 |cond during rand| 00001430 6f 6d 20 61 75 74 6f 6d 61 74 69 63 20 61 6e 69 |om automatic ani| 00001440 6d 61 74 69 6f 6e 20 28 31 32 2e 35 20 66 72 61 |mation (12.5 fra| 00001450 6d 65 73 20 70 65 72 20 73 65 63 6f 6e 64 29 2e |mes per second).| 00001460 20 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 | However if you | 00001470 64 6f 6e 27 74 20 63 68 61 6e 67 65 20 74 68 65 |don't change the| 00001480 20 63 6f 6e 73 74 61 6e 74 20 62 75 74 20 6c 65 | constant but le| 00001490 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 67 6f |t the program go| 000014a0 20 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d | on with the sam| 000014b0 65 20 73 65 74 20 74 68 65 20 73 70 65 65 64 20 |e set the speed | 000014c0 69 6e 63 72 65 61 73 65 73 20 74 6f 20 61 70 70 |increases to app| 000014d0 72 6f 78 69 6d 61 74 65 6c 79 20 31 30 32 30 30 |roximately 10200| 000014e0 2d 31 30 35 30 30 20 70 6f 69 6e 74 73 20 70 65 |-10500 points pe| 000014f0 72 20 73 65 63 6f 6e 64 20 64 65 70 65 6e 64 69 |r second dependi| 00001500 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 69 74 |ng on whether it| 00001510 20 69 73 20 75 6e 64 65 72 20 6b 65 79 62 6f 61 | is under keyboa| 00001520 72 64 20 6f 72 20 6d 6f 75 73 65 20 63 6f 6e 74 |rd or mouse cont| 00001530 72 6f 6c 20 28 74 68 65 20 6c 61 74 74 65 72 20 |rol (the latter | 00001540 69 73 20 66 61 73 74 65 73 74 29 2e 20 49 66 20 |is fastest). If | 00001550 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 |the machine code| 00001560 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 70 | is allowed to p| 00001570 6c 6f 74 20 61 20 76 65 72 79 20 6c 61 72 67 65 |lot a very large| 00001580 20 6e 75 6d 62 65 72 20 6f 66 20 70 6f 69 6e 74 | number of point| 00001590 73 20 62 65 66 6f 72 65 20 72 65 74 75 72 6e 69 |s before returni| 000015a0 6e 67 20 74 6f 20 62 61 73 69 63 20 69 74 20 63 |ng to basic it c| 000015b0 61 6e 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 6d |an actually do m| 000015c0 6f 72 65 20 74 68 61 6e 20 31 31 32 30 30 20 70 |ore than 11200 p| 000015d0 6f 69 6e 74 73 20 70 65 72 20 73 65 63 6f 6e 64 |oints per second| 000015e0 2c 20 62 75 74 20 74 68 61 74 20 69 73 20 6e 6f |, but that is no| 000015f0 74 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 20 |t possible with | 00001600 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 74 |the current cont| 00001610 72 6f 6c 20 70 72 6f 67 72 61 6d 2e 0a 0a 0a 46 |rol program....F| 00001620 75 74 75 72 65 20 69 6d 70 72 6f 76 65 6d 65 6e |uture improvemen| 00001630 74 73 3a 0a 0a 49 66 20 49 20 65 76 65 72 20 6c |ts:..If I ever l| 00001640 65 61 72 6e 20 68 6f 77 20 74 6f 20 77 72 69 74 |earn how to writ| 00001650 65 20 61 20 70 72 6f 70 65 72 20 6d 75 6c 74 69 |e a proper multi| 00001660 2d 74 61 73 6b 69 6e 67 20 61 70 70 6c 69 63 61 |-tasking applica| 00001670 74 69 6f 6e 20 49 20 6d 69 67 68 74 20 74 75 72 |tion I might tur| 00001680 6e 20 74 68 69 73 20 70 72 6f 67 72 61 6d 20 69 |n this program i| 00001690 6e 74 6f 20 6f 6e 65 2c 20 68 6f 77 65 76 65 72 |nto one, however| 000016a0 20 69 74 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 | it is much more| 000016b0 20 6c 69 6b 65 6c 79 20 74 68 61 74 20 49 20 6d | likely that I m| 000016c0 61 6b 65 20 69 74 20 70 6f 73 73 69 62 6c 65 20 |ake it possible | 000016d0 74 6f 20 73 65 65 20 61 20 70 69 63 74 75 72 65 |to see a picture| 000016e0 20 6f 66 20 74 68 65 20 4d 61 6e 64 65 6c 62 72 | of the Mandelbr| 000016f0 6f 74 20 73 65 74 20 69 6e 20 74 68 65 20 62 61 |ot set in the ba| 00001700 63 6b 67 72 6f 75 6e 64 20 77 69 74 68 20 61 6e |ckground with an| 00001710 20 69 6e 64 69 63 61 74 69 6f 6e 20 6f 66 20 77 | indication of w| 00001720 68 65 72 65 20 74 68 65 20 63 75 72 72 65 6e 74 |here the current| 00001730 20 63 6f 6d 70 6c 65 78 20 63 6f 6e 73 74 61 6e | complex constan| 00001740 74 20 69 73 20 6c 6f 63 61 74 65 64 2c 20 61 6e |t is located, an| 00001750 64 20 49 20 68 61 76 65 20 61 6c 73 6f 20 74 68 |d I have also th| 00001760 6f 75 67 68 74 20 6f 66 20 69 6d 70 6c 65 6d 65 |ought of impleme| 00001770 6e 74 69 6e 67 20 75 73 65 72 2d 64 65 66 69 6e |nting user-defin| 00001780 65 64 20 61 75 74 6f 6d 61 74 69 63 20 61 6e 69 |ed automatic ani| 00001790 6d 61 74 69 6f 6e 73 20 61 73 20 77 65 6c 6c 20 |mations as well | 000017a0 61 73 20 61 20 66 61 63 69 6c 69 74 79 20 66 6f |as a facility fo| 000017b0 72 20 28 73 6c 6f 77 6c 79 29 20 63 72 65 61 74 |r (slowly) creat| 000017c0 69 6e 67 20 68 69 67 68 20 71 75 61 6c 69 74 79 |ing high quality| 000017d0 20 73 74 69 6c 6c 20 69 6d 61 67 65 73 20 6f 66 | still images of| 000017e0 20 4a 75 6c 69 61 20 73 65 74 73 2e 0a 0a 0a 44 | Julia sets....D| 000017f0 69 73 74 72 69 62 75 74 69 6f 6e 3a 0a 0a 54 68 |istribution:..Th| 00001800 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 50 75 |is program is Pu| 00001810 62 6c 69 63 20 44 6f 6d 61 69 6e 21 20 59 6f 75 |blic Domain! You| 00001820 20 6d 61 79 20 63 6f 70 79 20 69 74 20 66 72 65 | may copy it fre| 00001830 65 6c 79 20 28 61 6e 64 20 70 6c 65 61 73 65 20 |ely (and please | 00001840 64 6f 29 20 61 73 20 6c 6f 6e 67 20 61 73 20 79 |do) as long as y| 00001850 6f 75 20 64 6f 20 6e 6f 74 20 73 65 6c 6c 20 69 |ou do not sell i| 00001860 74 20 66 6f 72 20 61 20 70 72 6f 66 69 74 20 28 |t for a profit (| 00001870 50 44 2d 6c 69 62 72 61 72 69 65 73 20 61 72 65 |PD-libraries are| 00001880 20 6e 61 74 75 72 61 6c 6c 79 20 61 6c 6c 6f 77 | naturally allow| 00001890 65 64 20 74 6f 20 63 6f 76 65 72 20 74 68 65 69 |ed to cover thei| 000018a0 72 20 63 6f 73 74 73 29 20 6f 72 20 69 6e 63 6c |r costs) or incl| 000018b0 75 64 65 20 69 74 20 77 69 74 68 20 61 20 70 72 |ude it with a pr| 000018c0 6f 64 75 63 74 20 74 68 61 74 20 69 73 20 73 6f |oduct that is so| 000018d0 6c 64 20 66 6f 72 20 61 20 70 72 6f 66 69 74 20 |ld for a profit | 000018e0 28 77 69 74 68 6f 75 74 20 6d 79 20 70 65 72 6d |(without my perm| 000018f0 69 73 73 69 6f 6e 20 2d 20 27 54 68 65 20 4d 69 |ission - 'The Mi| 00001900 63 72 6f 20 55 73 65 72 27 20 69 73 20 61 6c 6c |cro User' is all| 00001910 6f 77 65 64 20 74 6f 20 75 73 65 20 74 68 69 73 |owed to use this| 00001920 20 76 65 72 73 69 6f 6e 20 6f 6e 20 74 68 65 69 | version on thei| 00001930 72 20 63 6f 76 65 72 20 64 69 73 63 29 20 61 6e |r cover disc) an| 00001940 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 79 6f 75 |d as long as you| 00001950 20 64 6f 20 6e 6f 74 20 63 68 61 6e 67 65 20 6f | do not change o| 00001960 72 20 64 65 6c 65 74 65 20 61 6e 79 20 6f 66 20 |r delete any of | 00001970 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 66 69 6c |the original fil| 00001980 65 73 20 77 68 69 63 68 20 61 72 65 3a 0a 0a 20 |es which are:.. | 00001990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000019b0 20 20 20 20 20 20 20 21 4a 75 6c 69 61 41 6e 69 | !JuliaAni| 000019c0 6d 20 28 6e 6f 74 20 72 65 61 6c 6c 79 20 61 20 |m (not really a | 000019d0 66 69 6c 65 29 2c 0a 20 20 20 20 20 20 20 20 20 |file),. | 000019e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000019f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 | !| 00001a00 4a 75 6c 69 61 41 6e 69 6d 2e 21 42 6f 6f 74 2c |JuliaAnim.!Boot,| 00001a10 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00001a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001a30 20 20 20 20 20 20 20 20 20 21 4a 75 6c 69 61 41 | !JuliaA| 00001a40 6e 69 6d 2e 21 48 65 6c 70 20 28 74 68 69 73 20 |nim.!Help (this | 00001a50 66 69 6c 65 29 2c 0a 20 20 20 20 20 20 20 20 20 |file),. | 00001a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 | !| 00001a80 4a 75 6c 69 61 41 6e 69 6d 2e 21 52 75 6e 2c 0a |JuliaAnim.!Run,.| 00001a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00001ab0 20 20 20 20 20 20 20 20 21 4a 75 6c 69 61 41 6e | !JuliaAn| 00001ac0 69 6d 2e 21 52 75 6e 49 6d 61 67 65 2c 0a 20 20 |im.!RunImage,. | 00001ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00001af0 20 20 20 20 20 20 21 4a 75 6c 69 61 41 6e 69 6d | !JuliaAnim| 00001b00 2e 21 53 70 72 69 74 65 73 2c 0a 20 20 20 20 20 |.!Sprites,. | 00001b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00001b30 20 20 20 21 4a 75 6c 69 61 41 6e 69 6d 2e 6d 63 | !JuliaAnim.mc| 00001b40 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 | and. | 00001b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001b60 20 20 20 20 20 20 20 20 20 20 20 20 20 21 4a 75 | !Ju| 00001b70 6c 69 61 41 6e 69 6d 2e 4d 65 6d 41 6c 6c 6f 63 |liaAnim.MemAlloc| 00001b80 0a 0a 49 66 20 4d 65 6d 41 6c 6c 6f 63 20 69 73 |..If MemAlloc is| 00001b90 20 6d 69 73 73 69 6e 67 20 74 68 65 6e 20 79 6f | missing then yo| 00001ba0 75 20 63 61 6e 20 6a 75 73 74 20 63 6f 70 79 20 |u can just copy | 00001bb0 69 74 20 66 72 6f 6d 20 74 68 65 20 21 4c 61 6e |it from the !Lan| 00001bc0 64 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |der application | 00001bd0 6f 6e 20 74 68 65 20 41 70 70 32 20 64 69 73 63 |on the App2 disc| 00001be0 20 28 61 74 20 6c 65 61 73 74 20 74 68 61 74 27 | (at least that'| 00001bf0 73 20 77 68 65 72 65 20 69 74 20 69 73 20 69 6e |s where it is in| 00001c00 20 6d 79 20 76 65 72 73 69 6f 6e 20 6f 66 20 52 | my version of R| 00001c10 69 73 63 4f 53 29 2e 0a 0a 0a 46 69 6e 61 6c 6c |iscOS)....Finall| 00001c20 79 3a 0a 0a 49 66 20 79 6f 75 20 68 61 76 65 20 |y:..If you have | 00001c30 61 6e 79 20 73 75 67 67 65 73 74 69 6f 6e 73 20 |any suggestions | 00001c40 66 6f 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 |for improvements| 00001c50 20 74 6f 20 74 68 69 73 20 70 72 6f 67 72 61 6d | to this program| 00001c60 20 6f 72 20 68 61 76 65 20 77 72 69 74 74 65 6e | or have written| 00001c70 20 73 6f 6d 65 20 69 6e 74 65 72 65 73 74 69 6e | some interestin| 00001c80 67 20 66 72 61 63 74 61 6c 20 70 72 6f 67 72 61 |g fractal progra| 00001c90 6d 20 79 6f 75 72 73 65 6c 66 20 77 68 69 63 68 |m yourself which| 00001ca0 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 74 65 6c | you want to tel| 00001cb0 6c 20 6d 65 20 61 62 6f 75 74 20 6f 72 20 6a 75 |l me about or ju| 00001cc0 73 74 20 77 61 6e 74 20 74 6f 20 74 65 6c 6c 20 |st want to tell | 00001cd0 6d 65 20 77 68 61 74 20 61 20 67 72 65 61 74 20 |me what a great | 00001ce0 70 72 6f 67 72 61 6d 20 79 6f 75 20 74 68 69 6e |program you thin| 00001cf0 6b 20 21 4a 75 6c 69 61 41 6e 69 6d 20 69 73 20 |k !JuliaAnim is | 00001d00 74 68 65 6e 20 79 6f 75 20 63 61 6e 20 63 6f 6e |then you can con| 00001d10 74 61 63 74 20 6d 65 20 62 79 20 77 72 69 74 69 |tact me by writi| 00001d20 6e 67 20 74 6f 3a 0a 0a 20 20 20 20 20 20 20 20 |ng to:.. | 00001d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00001d50 49 76 61 72 20 57 69 6e 64 20 53 6b 6f 76 67 61 |Ivar Wind Skovga| 00001d60 61 72 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 |ard,. | 00001d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001d80 20 20 20 20 20 20 20 20 20 20 20 20 20 48 61 76 | Hav| 00001d90 73 67 e5 72 64 73 76 65 6a 20 32 37 2c 0a 20 20 |sg.rdsvej 27,. | 00001da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00001dc0 20 20 20 20 20 20 32 39 30 30 20 48 65 6c 6c 65 | 2900 Helle| 00001dd0 72 75 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 |rup,. | 00001de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001df0 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 6e | Den| 00001e00 6d 61 72 6b 2e 0a |mark..| 00001e06