home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
100.lha
/
FramSet
/
MSET.DOC
< prev
next >
Wrap
Text File
|
1986-11-20
|
6KB
|
132 lines
Marc Lupien; [71550,640]
Documentation on FRAMSE.ARC (DL16 in amigaforum)
and FRAMSS.ARC (DL3 in forth forum)
FRAMSE.ARC contains: (dl16 in AMIGAFORUM)
1- a copy of this file (mset.doc)
2- the executable program (mset)
3- the source program main (mset.f)
4- source part 2 utilities (myconsole.f)
5- source part 3 "" (break.f)
6- source part 4 "" (mset.script)
FRAMSS.ARC contains: (dl3 in FORTH forum)
1- a copy of this file (mset.doc)
2- the source program main (mset.f)
3- source part 2 utilities (myconsole.f)
4- source part 3 "" (break.f)
5- source part 4 "" (mset.script)
NOTE that there is in DL6 in AMIGAFORUM two picture generated
with this program. both in 320x400 IFF Deluxe-Paint format.
E.G. file dl6 FRAMS1.ARC and FRAMS2.ARC
Go take a look at them...
The puspose of this program is to compute and display what is called
the Mandelbrot set. In short the purpose is to produce GREAT PICTURES of
FRACTALS.
The program was written in Multi-Forth for the Amiga v1.21.
From BYTE magazine, december 1986 by Peter B. Schroeder :
<<... The Mandelbrot set is one of the intriguing mathematical
structures you can explore with the Amiga. In 'The Fractal Geometry of
Nature', Benoit Mandelbrot defines a fractal as "a set for which the
Hausdroff Besicovitch dimension [fractional dimension] strictly exceeds
it's topological dimension." ...
WHAT IS THE MANDELBROT SET ?
... The Mandelbrot set is a set of numbers z = c^2 + c where c is a
complex number of the form a + bi and z iteratively squared never
produces a square root of a^2 + b^2 larger than 2. Note that since i^2
equals -1, (a + bi)^2 equals a^2 + 2abi - b^2, and that the iterative
squarring of these numbers produces a jagged, non differentiable result.
If the sum of the squares does grow beyond 4 within a large number of
iterations, it will eventually approach infinity and, by definition, not
be part of the Mandelbrot set.
IF you take a matrix, a by b, and iteratively square every element in
it until either the sum of their squares exceed 4 or you reach 1000
iterations, you can determine a count of the number of iterations that
each element in the array requires. Those elements with counts of 1000
are part of the Mandelbrot set; those with counts that are very large but
still less than 1000 are near the Mandelbrot set; and those with low
counts are far from it....>>
ABOUT THE PROGRAM :
You can execute this programs FROM CLI ONLY. You have the choice of
launching the programs using RUN or not. The porgram requires Amiga
system software version 1.2.
Description of the questions you need to answer:
1- The Y axis resolution ? You have two choices of resolutions :
320x200 pixels (if you type 'L' for low) or 320x400 pixels (if you type
'H' for high).
2- The X start coordinate ? It is a floating point value
corresponding to the X coordinate of the lower left pixel of the picture
to compute. The whole Mandelbrot set, on X axis, range from -2.0 up to
approx 1.0. You can try any number, you have approx a 7 digits
precision.
3- The Y start coordinate ? It is a floating point value
corresponding to the Y coordinate of the lower left pixel of the picture
to compute. The whole Mandelbrot set, on Y axis, range from -1.25 up to
approx 1.25. You can try any number, you have approx a 7 digits
precision.
4- The Range ? It's the 'length' over which we compute the set on
both the X and Y axis. E.G. Start Y and Y of -2.0 and -1.25 respectively
and a range of 2.5 means that we compute the set with values from -2.0 to
+0.5 on the X axis and from -1.25 to +1.25 on the Y.
Try these values :
Start X Start Y Range
-2.0 -1.25 2.5
-.25 .88 .25
By using different values (especially using a smaller range value) You
can ZOOM-IN into any part of the set; discovering fascinating pictures.
Note that most of the time; the more interresting the picture; the
longer it takes to compute.
After you answered to all the questions there is a 5 seconds delay
before the processing begins. After that a new screen will open in front
of the workbench screen showing you the picture as it is generated.
The drag bar and the depth gadgets can be used even though they are
not visible. Once the picture is completed, the program waits for you to
hit Escape on the picture screen before closing it. If the escape
doesn't seems to work with the graphic screen upfront, try clicking the
left mouse button in the middle of it before hitting escape therefore
making sure that this window is active.
On the original console window, the program will display the time it
was when it started the picture; the row number it is now computing and
an estimated time left to compute the picture from the time it took to
compute the last row.
If you want to stop the processing before the whole picture is
generated you first have to get the workbench screen upfront, then
activate the console window of the program and hit CTRL-C thus signaling
a BREAK to the program. The program will stop once the current row is
processed. Note that the program does not stop right away, it does so
only when the current row is over. Second the program is waiting for you
to hit escape key on the graphic screen.
Once the whole picture is generated (it can take hours) I suggest you
use a program like GRABBiT to save in a file the picture on that screen
since I did not implemented an IFF file save of the picture in the
program.