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.
---------------------------------------------------------------------------