[comp.graphics] Fractals

mike@lll-lcc.aRpA (Mike Hummell) (05/06/88)

Adding to the recent list of Fractal references, there's a good article in the 
latest TURBO TECHNIX , The Borland Language Journal, on fractals, with 
examples in Turbo Pascal 4.0 (which includes BGI = Borland Graphics Interface,
which itself is described in a separate article on p. 12).

Turbo Technix, May/June 1988  Volume 1 , Number 4   , p. 28
"Plotting the Mandelbrot Set with the BGI"  by Fred Robinson

--------------------------------------------------------------------------
"It is certainly not the least charm of a theory that it is refutable" 
                                                               -- Nietzche
--------------------------------------------------------------------------
ARPA:                   mike@lll-lcc.llnl.gov         (mike@lll-lcc.arpa) 
UUCP:                   { ihnp4,sun,lll-crg,rutgers }!lll-lcc!mike
U.S. MAIL:              LLNL ; P.O. Box 808 , L-363 ; Livermore, CA. 94550
--------------------------------------------------------------------------

val@wsccs.UUCP (Val Kartchner) (06/21/88)

  I'd like an algorithm (preferable implemented in C) to draw fractal
  mountains with a specifiable level of recursion.  We've been trying to
  generate them, but haven't got them quite right.
-- 
----  /\  ----------------------------------------------------------------
     /\/\  .    /\     |  Val Kartchner  {UT@WSC}  |  'vi' must go, this
    /    \/ \/\/  \    |  #include <disclaimer.h>  |  is non-negotiable.
===/ U i n T e c h \===!ihnp4!utah-cs!utah-gr!uplherc!sp7040!obie!val=====  

james@cisunx.UUCP (Doug E James) (09/21/88)

	Does anyone have any understandable fractal algorthims for
fractal montians or landscapes.  I have played around with it for a
while now and have little success.  Most of the books seem to be for the
mathematician or physist.  I am a computer science major working at the
University of Pittsburgh Advanced graphics lab, not a math major.  I am
working on Sun 3/260 workstations.

	Please leave a message on the news groups or send me Email to
james@unix.cis.pittsburgh.edu

	thanks

kean@mist.cs.orst.edu (Kean Stump) (09/23/88)

The place you want to look is Springer-Verlag's "The Science of Fractal Images"
by Peitgen and Saupe.  ISBN 0-387-96608-0 (New York Berlin Heidelburg) $34.00
at your quality local bookstore.  Lots of fractal algorithms for mountains,
attractors, random fractals, fractal compression techniques and LOTS of
pseudo-code (Pascal without the semicolons!) and the algorithms WORK!

kean

-------------------------------------------------------------------------------
Oregon State University                           Kean Stump
College of Oceanography "Cruise Support"          kean@cs.orst.edu 
"NeXT... coming soon to the university near you" {tektronix,hp-pcd}!orstcs!kean
-------------------------------------------------------------------------------

Mahesh.Neelakanta@f7.n369.z1.FIDONET.ORG (Mahesh Neelakanta) (02/18/89)

  Has anybody done any work with fractals ? I am looking for some fast 
algorithms with which I can plot an rotate them on a HP workstation 
that I am using.  Any help will be appreciated.
 
                          - <Mahesh> -

--  
_   /|  | Fidonet  : 369/2 [(305) 421-8593] Brave Mew World South
\'o.O'  | Internet : muadib.FIDONET.ORG
=(___)= | UUCP     : (attmail,hoptoad)!ankh!muadib | novavax!muadib
   U    | USNail   : 433 SE 13th CT. J-202, Deerfield Beach, Fl. 33441
  Ack!  | Disclamer: This message was created by a faulty AI program.
Don't blame me...I voted for Bill'n'Opus in '88
                                

culmer@eniac.seas.upenn.edu (Charles Culmer) (02/20/89)

In article <153.23FF3228@muadib.FIDONET.ORG>
Mahesh.Neelakanta@f7.n369.z1.FIDONET.ORG (Mahesh Neelakanta) writes:
>
>  Has anybody done any work with fractals ? I am looking for some fast 
>algorithms with which I can plot an rotate them on a HP workstation 
>that I am using.  Any help will be appreciated.

This probably doesn't help you with your particular problems, but I'm
going to describe what little I know about fractal generation anyway.
The following is probably all somewhat wrong, but also somewhat right.
Is it Gleick or Glick?  Oh, well.

Mandelbrot defined or described how to generate fractals.
Barnsly discovered how to generate fractals as the limits of infinite
random processes.
Barnsly's approach is discussed on p. 236 of Gleick's recent book on
chaos, which is available everywhere including Crown Books (paperback
is $8.95, hardback is maybe $18.95).

Barnsly's approach works like this--

(1)  Select a finite set of rules for moving from the current pixel to
a new pixel (and turning it on).

(2)  From an arbitrary starting pixel, apply the rules randomly.

The recent Nova episode about chaos began with an application of this
technique to draw a triangle with inverted interior triangles removed,
kind of like the Cantor set.  The process required three fixed points.
For each fixed point, there was a rule that moved the current pixel to
the midpoint of the line joining the current pixel to that fixed point.

I want to draw Barnsly's fern, but I haven't figured out how to do it.
Gleick cites a paper by Barnsly, which probably presents sets of rules.
I don't know the answers to these questions--

(1)  Has Barnsly or anyone else proved the equivalence of the methods?

(2)  Is there a conversion algorithm in one or both directions?

Charles W. Culmer
culmer@eniac.seas.upenn.edu       Truth, justice, and the American way

Mahesh.Neelakanta@f7.n369.z1.FIDONET.ORG (Mahesh Neelakanta) (02/23/89)

  I am at present reading the book that you mentioned.  I am not as 
mathematically advanced as I would like to be in understanding the 
proofs, etc that Mandelbrot has shown in his book.  I am basically just 
looking for a fast way to skip the black areas in the fractal. I would 
also like source code if anybody has any.
 
                                        - Mahesh

james@tcom.stc.co.uk (James Rouse) (02/23/89)

Charles Culmer writes of Barnsley's method for generating fractals.  I saw an
Equinox program on chaos and that also described his fern; so I drew it.
The following is a postscript program, sorry you'll have to convert it.
(Yes Adrain the code probably is horrible :-))
---------------cut---------------------cut-----------------cut--------------

%!
-50 0 translate
/Helvitica findfont 10 scalefont setfont
/xpos 350 def
/ypos 383 def
xpos ypos moveto
/cho                                    %generate a random number from 0 to 2 
{/num rand 3 mod def} def               %mod 3 on 2^31-1
/one
{/xpos xpos 100 add 2 div def           %point one at 100,600
/ypos ypos 600 add 2 div def} def
/two
{/xpos xpos 600 add 2 div def           %point two at 600,600
/ypos ypos 600 add 2 div def} def
/three
{/xpos xpos 350 add 2 div def           %point three at 350,167
/ypos ypos 167 add 2 div def} def
1 1 5000 { pop                          %plots 5000 points and takes ~2mins.
cho                                     %increase the 5000 for more points.
num 0 eq {one} if
num 1 eq {two} if
num 2 eq {three} if
xpos ypos moveto (.) show} for          %plot a point at the currentpoint.
showpage


----------cut---------------------cut-----------------cut------------------

I hope this helps,
   Jim Zaxspeed

Mahesh.Neelakanta@f7.n369.z1.FIDONET.ORG (Mahesh Neelakanta) (02/23/89)

  I do not know if this message will get to you, but her goes:
 
     I would like any and all information that anybody cad reference me 
to.  I'd like to learn the application side as well as the beauty of 
fractals. My friends seem to get bored since all they see are pictures 
and they ask:'so what else can it do ?'. Thus I need some material with 
which I can give proof of what they can do.
 
                                   - Mahesh

jgary@ms.uky.edu (James E. Gary) (02/25/89)

In article <160.2404E090@muadib.FIDONET.ORG> Mahesh.Neelakanta@f7.n369.z1.FIDONET.ORG (Mahesh Neelakanta) writes:
>
>  I am at present reading the book that you mentioned.  I am not as 
>mathematically advanced as I would like to be in understanding the 
>proofs, etc that Mandelbrot has shown in his book.  I am basically just 
>looking for a fast way to skip the black areas in the fractal. I would 
>also like source code if anybody has any.
> 
>                                        - Mahesh

Sorry, no source for you, but there was a 'fast way to skip black' algorithm
described in a recent Scientific American. The basic idea is to generate
all the points on the perimeter of a rectangle (initially the size of
the screen), if all these points are in the set, just flood fill the
rectangle and quit.  Otherwise divide the rectangle into two halves and
recursively continue. This is possible because the Mandelbrot set is
connected. Since the 'black areas' take the most time to calculate, this
is a substantial improvement in rendering speed. Perhaps someone else
can give the Volume Issue # or provide a more detailed algorithm or
code. I have a program that uses this technique on the Amiga and it is
quite fun to watch and pretty fast, but source was not provided.

root@lucifer.acc.virginia.edu (Operator) (02/26/89)

In article <11150@s.ms.uky.edu> jgary@ms.uky.edu (James E. Gary) writes:
>
>Sorry, no source for you, but there was a 'fast way to skip black' algorithm
>described in a recent Scientific American. The basic idea is to generate
>all the points on the perimeter of a rectangle (initially the size of
>the screen), if all these points are in the set, just flood fill the
>rectangle and quit.  Otherwise divide the rectangle into two halves and
>recursively continue. This is possible because the Mandelbrot set is
>connected.

But what if one of the little spidery filaments that connects it to itself
slips between two of the points you test?  Perhaps this isn't a problem
in practice, but it worried me enough that I didn't want to implement
this algorithm.

What I've been doing instead is testing if the iteration converges, in
parallel with the usual test for divergence.  A fairly inexpensive way of
doing this is described in Dewdney's first article on Mandelbrot, in
Scientific American, Aug '85, p. 24.  The best thing about it is that
different starting points converge to cycles of different lengths, and
if you color the points inside the set according to the length of the
cycle you get really neat patterns.  No more "black areas".  It's also 
faster.  Check it out.

Steve Jacquot				saj@lucifer.psyc.virginia.edu

jim_d@cimcor.mn.org (Jim Dahlberg) (02/27/89)

In article <160.2404E090@muadib.FIDONET.ORG>, Mahesh.Neelakanta@f7.n369.z1.FIDONET.ORG (Mahesh Neelakanta) writes:
> 
>   I am at present reading the book that you mentioned.  I am not as 
> mathematically advanced as I would like to be in understanding the 
> proofs, etc that Mandelbrot has shown in his book.  I am basically just 
> looking for a fast way to skip the black areas in the fractal. I would 
> also like source code if anybody has any.
>  
>                                         - Mahesh

I just posted a program called JAM (Julian and Mandelbrot) to the
comp.binaries.ibm.pc group.  This program computes the set using a
curvetrace algorithm which traces around any region of a constant color
and then just fills the region with that color.  Imperfect results can
be obtained this way, but in practice it is virtually unnoticable.  And
the savings in time are worth it.  For perfect results, the program also
supports the old iterate-every-pixel algorithm if you want to spend the
time waiting for the result.  Source code is available (Turbo Basic). 
See the documentation.  The curvetrace routine is a fairly stand-alone
routine which was translated from an older Pascal version, so it should
be fairly easy to convert to other languages and Mandelbrot programs.

The program only supports the 16 color EGA 640 X 350 mode.  It also
supports a mouse.

    Jim Dahlberg
    Internet: jim_d@cimcor.mn.org
    UUCP:     uunet!rosevax!cimcor!jim_d

pfarrell@anselm.UUCP (Gladiator) (02/27/89)

Give me a day or so, I have a version written in turbo pascal.
The author (for 10or 15 bucks) Will send the source code in the new version
(either 4.0 or 5.0) that has math coprocessor support. It runs on a cga,
but the new version will probably work on anything since turbo pascal
in the later versions is set up so that it can work with the various
cards available. I will post the address when I get it tomorrow.

-- 
Patrick Farrell @ St. Anselm's college, Goffstown N.H. 1-603-472-2378
dartvax!anselm!pfarrell

"Laugh and the world ignores you. Crying doesn't help either."

gdykes@batcomputer.tn.cornell.edu (Gene Dykes) (02/28/89)

>> (Description of recursive perimeter check for set points)
>But what if one of the little spidery filaments that connects it to itself
>slips between two of the points you test?  Perhaps this isn't a problem
>in practice...

This isn't even a problem in theory, much less practice.  It's the points in
the set that get infinitesimally thin, not the set of non-set points.  If you
find a perimeter of set points, you can be quite sure that you won't find
non-set points inside.  Another way of stating it is that, although the
set can appear to be disconnected at a given resolution, the non-set points
are always connected.

>What I've been doing instead is testing if the iteration converges, in
>parallel with the usual test for divergence...  It's also faster.
> Check it out.

I've got you both beat.  Do region filling.  The only points in the set that
you'll spend any time on are the ones on the perimeter.  Details on request.
-- 
Gene Dykes, gdykes@tcgould.tn.cornell.edu

pfarrell@anselm.UUCP (Gladiator) (03/01/89)

  I had said I had the address of the place to write for the turbo
pascal source for superman a mandelbrot plotter. Well Here it is,
you send 15$ and you get the new version with math coprocessor support
(screens take a few minutes rather than 30)
To
Marshall Dudley
12404 W. Kingsgate Dr.
Knoxville, Tn. 37922

His compuserve address is
#72416, 3357
Good luck to those who need it.

-- 
Patrick Farrell @ St. Anselm's college, Goffstown N.H. 1-603-472-2378
dartvax!anselm!pfarrell

"Laugh and the world ignores you. Crying doesn't help either."

jejones@mcrware.UUCP (James Jones) (03/01/89)

The method mentioned (reference given to a recent *Scientific American*)
of course applies to more than just the interior of the Mandelbrot set,
though in this case that is where the major payoff comes.  It is an appli-
cation to contour plotting of adaptive techniques (which one can use for
plotting curves as well, since, for example, adaptive trapezoidal quad-
rature is just what you want to determine the segments to draw to approx-
imate a function, and if you recur with the leftmost segment first, you
need never lift the (figurative or actual) pen from the (figurative or
actual :-) paper!).  Beware of the usual things that can fake out adaptive
techniques, e.g. periodicity (not much fear of that for the Mandelbrot
set, though :-).

		James Jones

lfoard@wpi.wpi.edu (Lawrence C Foard) (03/02/89)

In article <1191@hudson.acc.virginia.edu> saj@lucifer.psyc.virginia.edu (Steve Jacquot) writes:
>In article <11150@s.ms.uky.edu> jgary@ms.uky.edu (James E. Gary) writes:
>>...
>>Sorry, no source for you, but there was a 'fast way to skip black' algorithm
>But what if one of the little spidery filaments that connects it to itself
>slips between two of the points you test?  Perhaps this isn't a problem
>in practice, but it worried me enough that I didn't want to implement
>this algorithm.
>....

When I saw the first SA Mandelbrot article a few years ago I made the program
to do it but noticed that most of the time was being spent in the black area.
To get around this I made a recursive routine that took a 16X16 square and
filled it. It then found areas where they where all the same color and marked
them and then split the square four ways and did it again. I have never had
problems with this missing filaments but it accasionally has problems on the
borders of very smooth areas. I was thinking of writting to SA with this but
never got enough time to write the letter.
-- 
/----------------------------------------------------------------------------\
| My opinions are violently objected to by my employer. I was fired last year|
| but they forgot to remove my account. Lawrence Foard (entropy)             |
\----------------------------------------------------------------------------/

jeff@cjsa.WA.COM (Jeffery Small) (03/05/89)

I just recently purchased a Sun 3/60 workstation.  With all this recent
discussion about fractal algorithms, I was wondering if anyone had a 
working mandelbrot and/or julia set display program which runs on this
platform and can generate color images.  If you have a program which you
are willing to share, I would appreciate receiving a copy.  Thanks.
--
Jeffery Small    (206) 485-5596            uw-beaver!uw-nsr!uw-warp
C. Jeffery Small and Associates                                    !cjsa!jeff
19112 152nd Ave NE - Woodinville, WA  98072           uunet!nwnexus

rick@hanauma (Richard Ottolini) (08/22/89)

Fractals as a mathematical descriptor and fractals as a mathematical transform
are separate although related concepts.  A fractal as a description will have
range of scales where it is valid.  A transform consists of a set of basis
functions, in this case fractals, that if properly chosen can represent any
dataset to any degree of resolution.  If the basis function resembles the
data is representing, then the transform will be parsimonous, that is, a
smaller desription wil be needed.  A smaller description is useful for
compaction.
An analogy is Ptolemy and Fourier.  Ptolemy used circles within circles to
represent celestial motions.  Because celestial motions were approximately
circular, this was a parsimonous description, until one desired very accurate
descriptions.  Fourier discovered that a properly chosen set of circular
functions can represent ANY dataset.  When the dataset is monochromatic, then
Fourier's description will be rather compact.

enzerinkp@topaz.ucq.edu.au (09/28/90)

I am interested in getting information on applications of chaos theory, and
in particular any applications using fractals. I know they are used for
simulation of landscapes, but has anybody heard of any other use in
particular non graphics applications.

(I've got an idea, and I want a dream to come true)

joerg@cat.uucp (Markus Schichtel) (09/29/90)

enzerinkp@topaz.ucq.edu.au (enzerinkp@topaz.ucq.edu.au) schrieb am 28. 9.:
> I am interested in getting information on applications of chaos theory, and
> in particular any applications using fractals. I know they are used for
> simulation of landscapes, but has anybody heard of any other use in
> particular non graphics applications.
>
> (I've got an idea, and I want a dream to come true)


Yes there are other applications of fractals coming from the study of
dynamical systems in general in physics.Actually those applications appeared
first on the scene.The link is the fact that many dynamical systems exhibit
chaotic behaviour i.e. those systems have socalled strange attractors which
turn out to be fractals.That is to say one can describe the geometry of
strange attractors using fractals.A good pointer to this material is the
book The beauty of fractals by the German mathematicians Peitgen and Richter.
For instance they explain in detail the famous Lorentz attractor which was
the first to be identified as a strange attractor back in the sixties.
For more references ask the physics community.

---
  Markus Schichtel (joerg@cat.de)                     
  C.A.T. Kommunikations-System, Frankfurt 

ron@cayne.UUCP (Ronald Cayne) (01/29/91)

Could some please explain what exactly are fractals and how they are 
used in the imaging field. Pardon my ignorance.   Thanks Ron

ka013@zeus.unomaha.edu (03/09/91)

In article <586@cayne.UUCP>, ron@cayne.UUCP (Ronald Cayne) writes:
> Could some please explain what exactly are fractals and how they are 
> used in the imaging field. Pardon my ignorance.   Thanks Ron

I might be able to help you Ron.  I have been doing a little study on the side
about these fractals.  They are graphic representations of an equation - much
like the curves you learned in calculus -only these have special properties.
They were brought into the open by a guy named Benoit Mandelbrot (so you can
library search him) while at IBM.  The most basic form (paradoxically?) is the 
one which bears his name - the Mandelbrot set.
Say for instance you have the equation z = z^2. You start with any value 'z',
square it and then run the equation again and again using the new 'z' each
time.
There are 3 potential outcomes- if initial z >1 then you will quickly zoom
into infinity (or computer errors,at least).  If z<1 then you will zoom into
0.  In this case, the value of 1 becomes a boundary between the two infinities.
Plotting this on a cartesian graph, you would have a circle of radius=1.
The mandelbrot set simply takes this idea a step further.
The equation is now z= z^2 + C, whereby a constant 'C' is introduced.
This one little constant, introduces a universe of change into the circle.
The edges of this set become fuzzy in a sense.  Again, once outside the set,
off to infinity- trapped inside the set, off to zero.  The boundary takes on
a new life here.  You can magnify the set to huge proportions to look more
closely at the edge, which takes on incredible variations of swirls, eddys,
spikes, and so on.  What is really neat is that these microstructures go on
infinitly.  The closer you look, the farther it goes.  Folks have enlarged
the magnification to beyond the orbit of mars, and it just keeps changing.
You are only limited by the number of times you can interate the equation 
before you croak.
Anyway, to make a long story short, Mr. Mandlebrot noticed how nature-like
some of these structures could look, and began to relate formulas to nature.
Lots of folks have taken this work even further and use their computers to
generate fractal landscapes (mountains especially).  For instance, the scene
used in Star Trek II the 'Wrath of Khan' where they demo-ed the genisys device
(a blazingly fast set of scenes in which you are whisked over the surface
of a quickly forming planet) was created entirely by animating several frames
of fractal generated landscapes. I've heard a rumor that a Florida company
has announced the abililty to store approx. 2 min of video by representing
the NTSC data by fractals. Hell of a compression when you can represent a 
photograhic quality picture with a formula a 6th grader could work!

Anyway, if your still interested in fractals- there is a newsgroup called
alt.fractals (with accompanying alt.fractals.pictures) you can subscribe to.
I personally am a Mac head and generate color versions of these fractals on
Macs but there are lots of programs out there for all machines, if you use
something else.  There are several excellent books available also-
The Beauty of Fractals and
The Fractal Nature of SomethingorOther (-sorry, it's been a long semester)
There's one book that even has the algorythms to program your own, if you hack.
I hope this has been of some benefit - It is probably better to ask a math
major friend, but I tried!
				Happy Mac-ing!
				Mike
				ZA024@zeus.unomaha.edu