pouët.net

Fractal Playground by Reservoir Gods [web]

                              *+*+*+*+*+*+*+*+*+*
                              FRACTAL  PLAYGROUND
                              *+*+*+*+*+*+*+*+*+*

                             Programmed by Mr Pink

                            [c] 1998 Reservoir Gods

[o] INTRODUCTION

Being a student at Liverpool's  John  Moore's  University  gives me lots of free
time to create exciting new programmes  for the Falcon. However, occassionally I
am required to do some work towards  the  degree.  Instead of doing this work on
the PC I again utilise my Falcon.

For the module 'Chaos And Fractals' we  were  asked to code a fractal routine. I
decided to program a whole suite of fractals. Another nail into the coffin of PC
only coursework and another release for the Falcon.


[o] FRACTAL PLAYGROUND

Imagine a theme park centred around fractal equations. Enjoy a roller coaster of
Mandlebrots and Julia sets. Ride the big dipper of the may equation. Take a spin
in the Rossler Attractor. All the fun of the fractal fair.

Fractal Playground has its own mouse-based  GUI.  When  you move your mouse over
buttons they will be  highlighted.  Click  on  them  to  enter sub-menus or draw
fractals. There are also number boxes.  Click  on  these  and  you can type in a
floating point or integer number to control the current fractal.

Fractal Playground features amazing(!) true colour graphics, innovative fractal
music, screenshots and zooming fractals. What more could a collector of chaos 
want?

[o] SCREENSHOTS

Fractal Playground has the ability to grab screenshots so you can save your
favourite fractal moments. Why not make a whole album of 'fractal highlights'
with screenshots from the program, and give a talk about them to a collection
of your bored neighbours?

Screenshots can be saved when a fractal is stopped.
Fractals are either stopped when drawing is complete or when you press
a mouse button.
Use the Function Keys to save a screenshot in the current directory.
Screens are saved in GodPaint Format.

You have 10 available slots in the current directory:

 F1  : FRACTAL1.GOD
 F2  : FRACTAL2.GOD
 F3  : FRACTAL3.GOD
 F4  : FRACTAL4.GOD
 F5  : FRACTAL5.GOD
 F6  : FRACTAL6.GOD
 F7  : FRACTAL7.GOD
 F8  : FRACTAL8.GOD
 F9  : FRACTAL9.GOD
 F10 : FRACTAL0.GOD


[o] FRACTAL MUSIC

Fractal Playground introduces a whole new concept of music - Fractal Music!
MSG composed some small pieces of melody and beat structures which are
sequenced together by the program in a chaotic manner. The tune is never
the same! Listen with your ears!


[o] MANDLEBROT

When people hear the phrase "fractal graphics" the effect they most associate 
with this term is the Mandlebrot. This was the first Fractal to break away from
the underworld of academics and penetrate the public consciousness. There was
a time when the Mandlebrot was everywhere, on posters, on T-Shirts and on every
dodgy computer generated acid house video.

Like all fractals, the mandlebrot is based on a simple equation but produces
a highly inticrate pattern. This is due to the nature of fractals, evolving
out from feedback into a series of equations.
 
The Mandlebrot equation is totally configurable.

 A START : Left edge of Mandlebrot
 A END   : Right edge of Mandlebrot
 B START : Top edge of Mandlebrot
 B END   : Bottom edge of Mandlebrot

These values can range between -2 and +2.
Smaller values indicate a higher zoom into the mandlebrot itself.

You can actually zoom into the fractal with your hands!
When the fractal has been drawn, a mouse pointer appears. 
You can now draw a box over an area of the fractal and this will be
zoomed to fill the screen. 
To draw a box click with the left mouse button to start the box.
Now move to the opposite corner and click the left mouse button again.
To clear the box press the right mouse butto.

[o] JULIA

The Julia equation is really just a slight variation on the Mandlebrot. 
However it can produce a much wider variety of graphical displays.

The A and B variables work in exactly the same way as the mandlebrot
mapping the screen to co-ordinates on the fractal.

The new values in the mandlebrot are P and Q. Changing these can radically
alter the Julia's appearance.

You can zoom into the Julia in the same way you can zoom into the Mandlebrot.


[o] SIERPINSKI

The Sierpinski triangle is based around the most simple of all fractal
algorithms, but does ably demonstrate some key features of fractals.
The first is that a simple set of rules can produce an intricate result.
The second is self similarity. If a small segment of the Sierpinski
is zoomed to fill the whole screen it will have exactly the same
appearance as the full fractal.

There was proabably some bloke called Sierpinski who developed this whole
process. Unfortunately I know nothing about him, but he does sound quite
Polish. To find out more, try looking in an encyclopedia.


[o] THE MAY EQUATION

Cast your mind back to 1845. That's quite a long time ago. Before 
"Republic" was started even. It was during this momentous year that
the brilliant and versatile Verhulst developed the theory of the
May equation. This was then extensively studied by the 'mathematical
biologist' Robert May who had the privelege of having the whole thing
named after him.

The May equation was extensively used in the study of population
dynamics. It has been used to model the spread of a virus through
a group of people.

If want to write a simple equation to calculate the number of people
infected by a virus during a week we could use the variables:

 Pnew : number of people affected at end of current week
 p    : number of people affected at end of previous week
 n    : number of people affected during week

So the equation is:

 Pnew = p + n

That is The number of people affected is the number of people already
affected plus the number of people who caught the virus during the
week.

As more people get infected the the probability for infection increases
as the likelyhood of uninfected people coming into contact with infected
people increases. This means n is proportional to p. As only people
without the virus can catch it, n is also proportional to 1-p.

So the equation becomes:

 Pnew = p + p * (1-p)

There are also another factor to virus dispersal. Some people may be immune
and some may be total hermits who never come into contact with other living
beings (i.e. they live in Wales) so have no chance of contracting the virus.
To compensate for this, we add a fudge constant called 'c' to represent
these difficulties.

The final equation is:

 Pnew = p + c + p * (1-p)

As you can see this equation relies on feedback. At the end of each week
Pnew is calculated. For the next week, this value of Pnew is assigned to p.

The May Equation is plotted with a time series graph with the X axis
representing time and the y axis representing the percentage of infection.
A point is plotted for each iteration and lines drawn between them.
Will the excitement ever begin?

You can specify the intial value of p and the value for the contamination
constant c.

Values for c should range between 0-3 to get the best results.


[o] FEIGENBAUM

Mitchell Feigenbaum. Crazy Name. Crazy Guy.
Feigenbaum got rather excited about the May equation (it's easy to see why).
and spent years studying it in minute detail. 
He represented the equation graphically using the infamous 'Feigenbaum
Diagram', possibly the ugliest and most banal fractal known to mankind.
And yes, it is included in Fractal playground.
And its very slow to calculate.

At first it may look like a straight line, but have a little patience my
friend for soon the screen will explode with excitement of a strictly
fractal nature.

Don't worry about specifying values for the equations. Just click the 
button, put your feet up and relax. Make a cup of tea. Read the paper.
You will have plenty of time on your hands before the Feigenbaum is
completed!


[o] THE LORENZ EQUATION

The Lorenz equation was developed by Edward Lorenz, a research programmer
at MIT, and not by ITV soccer pundit Matthe Lorenzo as some have mistakenly
stated.

Lorenz was both a mathematician and a meteorologist and he was keen to
develop programs to predict the weather. Lorenz began by simplifying the
weather down to a fluid dynamics system and chose 12 relevant equations
to represent each different element.

Because the computers he were using were old and slow (imagine no DSP,
no FPU, probably no real graphical display!) he simplified his model
down two three differential equations:

 dx/dt = a * (y - x)
 dy/dt = b * x - y - x * 2
 dz/dt = x * y - c * z

Where x,y and z are variables represent different aspects of the weather
a,b and c are constabts.
t represets time.

Again, this model it totally reliant on feedback. What it does show
excellently is the fact that tiny variations in the intial values can
lead to massive changed in values after a number of iterations. This
is the so called "butterfly effect" - a butterfly flapping its wings
in Abermule can cause a hurricane in New Zealand. Bad news for John E Cash.


[o] THE LORENZ ATTRACTOR

If use the Lorenz equation but plot the variables x against y against z 
on three dimensional axis we get the Lorenz attractor. The pattern that
this creates is actually an infinitely long complex spiral which never
intersects itself. However, due to the finite nature of the Falcon's
screen resolution it does appear to intersect.


[o] THE ROSSLER ATTRACTOR

The Rossler Attractor follows the principles of the Lorenz attractor
but uses a different set of equations, these being:

 dx/dt = -(y + z)
 dy/dt = x + y * a
 dz/dt = b + z * ( x - c )


[o] THE MARTIN EQUATION

Barry Martin from Birmingham Aston (Villa) University developed a method
of drawing images that resemble cell culture. The Martin Equation is
similar to the Lorenz attractor in that a pair of variables are repeatedly
transformed by two non linear equations.

The equations to plot this fractal are:

 x = y - SGN(x) * SQR(ABS(b*x-c))
 y = a - x

The Martin Equation in Fractal Playground uses the FPU to perform the
square root. Before beginning the display, Fractal Playground will check
to see if your machine has an FPU and inform you if none was found.
If you have an FPU and it doesn't locate you can just click 'CONTINUE'
in the presented dialogue box and the Martin will be drawn.
If you don't have an FPU don't click 'CONTINUE' when warned as your
machine will crash!


[o] THE RAINDROP TEST

PI is an irrational number. That means it is similar to the price of a
contemporary PC. We all know that PI begins with 3.14 but who can remember
the figures after this? It would be quite difficult to remember all them
as PI has an infinite number of decimal places. That is quite a lot.

Wouldn't it be great if we could estimate PI using a simple set of 
equations. Well we can! Great eh?

Pi is actually the ratio between the area of a circle and the square
enveloping it. We can form an approximation of PI using the Monte Carlo
method.

Imagine it is raining. This is quite easy if you live in the greater 
Manchester region. You probably won't have to do any imagining at all.
You draw a square on the ground, and a circle inside the square.
Then count the number of raindrops that land inside the circle - call
these hits - and those that land outside. The ratio of of hits to misses
gives you PI - the magic number.

In 'Fractal Playground' you don't just see the values totting up, you
get to see virtual rain falling! 

Unfortunately as my random routine isn't exactly fantastic, the value
of PI approximated isn't particularly accurate. You will be lucky if
it even reaches 3.14


[o] CREDITS

 Code          : MrPink
 Fractal Music : MSG
 Graphics      : sh3

 Much information was discovered in the excellent
 "Computers and Chaos - Atari ST Edition" by Conrad Bessant


[o] CONTACT

 [email protected]
    [email protected]
 [email protected]
       [email protected]

 http://www.acs.bolton.ac.uk/~msg1css/maison.htm
 http://www.users.zetnet.co.uk/zmoe3/three.htm

 Leon O'Reilly . Cwm Isaf . Abermule . Welshpool . Powys . SY15 6JL

 Released at OrlandoJam, May 31 1998
 Winner of "Best Fractal Utility"

==============================================================================
                                                    [c] 1998 Reservoir Gods
==============================================================================