Short: Major update, select Julia from Mandel Author: Thomas.Radtke@rz.uni-osnabrueck.de Uploader: Thomas Radtke rz uni-osnabrueck de Type: gfx/fract Architecture: m68k-amigaos Start this from workbench (tooltypes!) and meet the Mandelbrot set. Click in the window at x,y to get the Julia Set with the constant x+iy. Click again to go back to the Mandel set. Magnify a region by holding the LMB while moving the pointer. You can do this both with Mandel and Julia. Center the set around the pointer by clicking RMB. You can now set the degree and iteration number via tooltypes (DEGREE,ITER). Don't try to run julia_020_FPU if you have a cpu below 020 and/or no fpu ! Same for julia_020, but w/o fpu. Its fun on a 256 color workbench. You can run it on every public screen. The source code is in this archive. If you don't know what this all is about, read the TECHNICAL chapter below. -> User of version n: Please read the "New in version n+1ff" stuff ! -> You will need OS2.04 for new julia ver. 3 and up options ! To install, rename the executable/icon that fit your needs to julia/julia.info, e.g. rename bin/julia_000 julia rename icons/julia_020_FPU.info julia.info *************************************************************************** julia version 3 and up is now _freeware_ The copyright (C) remains by the author, i.e. you must ask for my written permission before printing or including any part of this archive on any data media to be sold for profit, except for the Aminet CD's or Fred Fish's Library Service. For disk mags, price for inclusion is a free 1 year abo ;) *************************************************************************** Enjoy, Thomas Radtke --------------------------------------------------------------------------- New in version 2: - Icons by Patrick Schenk of the Amiga Users Of Calgary, thanks Patrick ! - slightly faster executables, compiled now with gcc 2.7.0/small data model - the picture can be centered around the mouse pointer by clicking the right mouse button - added new julia_020 version for users of stock a1200/a4000 w/o fpu To do: - Iteration depth should be independent from number of colors. Maybe given by a tooltype ITER - pos. and size of the window should be determined from tooltypes - degree of the complex function schould not be a fixed value - IFF save option --------------------------------------------------------------------------- New in version 3: julia version 3 is now _freeware_ - version string added - minor bugfix - handling of NEWSIZE changed - compiled with libnix 1.0 and Aminet version of gcc 2.7.0 - picture of my WB added :) - NewIcon added (not by me) - tooltypes added, XPOS x position of the window YPOS y position of the window XSIZE width of the window YSIZE height of the window DEGREE degree of the complex function, i.e. iteration is c_i+1=c_i^degree+const ITER number of *minimum* iterations It follows, that the icons are not longer project icons. In fact, until now I never realized that they were project icons =8)... Ok, I must give an explanation here. Because in julia version 2 I trapped the right mouse button (maybe not my best idea), there is no easy way (menus) left to request such values as DEGREE and ITER. Now, they are part of the icon (tooltypes). This means you need OS2.04 now (at least) in order to use them. DEGREE: Let me explain in detail: Giving a degree of 2 (DEGREE=2) will let julia compute the iteration at normal speed, because I do the transform complex to real by hand (as usual). This is not longer true with free degree. For any other degree except 2 I must let compute your amiga trigonometric functions. This is *very* slow. Another way would be handling of binomial-coefficients. I will test whether this is faster, but on a fpu machine, you have sin,cos,exp as microcode, but not n! (1*2*..*n). Dont expect to much on your 68881/2. fpu-less machines would maybe benefit. ITER: The other new thing is ITER. julia and julia2 never looked very cool on 4 color screens, because that limited the number of iterations to 4. Now it is possible to set ITER higher than the number of colors (colnum). This will give you a special effect. The color is determined as 1+(i modulo colnum-1), where i goes from 0 to ITER-1. Try it! But: ITER is never lower than colnum >:). To do: - optional other methods for computing the complex power, e.g. METHOD=TABLE,BINOM,TRIGO... - IFF save option (any idea how to do that w/o menus ? any sources for me to do RPort or RastPort to iff ?) - parsing new SDEGREE string in order to allow functions like a_0 + a_1 c + ... + a_n c^n where a_i can be fixed a+ib or rand() --------------------------------------------------------------------------- New in version 4: We have only major changes in this version: - you start now with the Mandel set and select a Julia set from it (take a look at the TECHNICAL chapter) - choosing-the-area-to-magnify procedure is done w/o busy loop now As you can see, nothing of the above to-do list (in V3) has been accomplished yet, so this list is still valid. To do - better algorithm to compute the set members - specify a perturbation in the tooltypes (PERTURB) (take a look at the TECHNICAL chapter) --------------------------------------------------------------------------- TECHNICAL: (i) On startup, you will see the Mandelbrot set: The Mandelbrot set is build from the iteration z_i+1=z_i^2+c, where z and c are complex numbers. Members of the set are those points z_0, for which the iteration never leaves any finit area. For the Mandel set, c is equal to Z_0-p (p=perturbation, the sign is convention). Members are painted black. Any other color indicates at which iteration a specified area is left. (ii) For every point you can get a Julia set: For Julia sets, c is constant, i.e. for every point from Mandel you get a complete Julia set. This is what you can do with this toy :). Please note that p is always zero at least in version 4 of this program. Take a look at the to-do list. ---------------------------------------------------------------------------