escape_time

advertisement
Xref: unixg.ubc.ca alt.fractals:2843 bit.listserv.frac-l:1258
Path: unixg.ubc.ca!ubccs!utcsri!rutgers!zeus.ieee.org!europa.asd.contel.com!darwin.sura.net!spo
ol.mu.edu!uwm.edu!bionet!raven.alaska.edu!news.u.washington.edu!milton.u.
washington.edu!jesjones
From: jesjones@milton.u.washington.edu (Jesse Jones)
Newsgroups: alt.fractals,bit.listserv.frac-l
Subject: Fractal paper #3: Escape Time Fractals
Summary: Lists a bunch of formulas for escape time fractals.
Keywords: Fractal Escape Time Mandella
Message-ID: <1992Sep18.215606.9739@u.washington.edu>
Date: 18 Sep 92 21:56:06 GMT
References: <1992Sep17.225337.11933@u.washington.edu>
Sender: news@u.washington.edu (USENET News System)
Organization: University of Washington, Seattle
Lines: 242
Fractal Formula's 1.0
by Jesse Jones
ABOUT THIS FILE
This file describes the escape time fractals implemented in a Mac
program
called Mandella. These fractals are from various sources. Many came from
the
IBM program FracInt. I assume readers know how the classic Mandelbrot
fractal
works. The below fractals are all quite similiar to the Mandelbrot
fractal. The
only differences are in the formula and sometimes the bailout criteria.
If you
don't know how to implement the Mandelbrot fractal check out one of the
references below. If you're unfamiliar with complex math I'd be happy to
mail
you a library of complex math routines.
MANDELBROT AND JULIA FRACTALS
For Mandelbrot fractals z is inited to zero and c is inited to a point
on
the complex plane. For Julia fractals z is inited to a point on the plane
and c
is a constant. Some fractals use a second complex constant, lambda (l).
In the bailout tests below mag = z.r*z.r + z.i*z.i. Also wherever a
test
like z.r > 5000 is given ABS(z.r) should be used. Finally z = 1 should be
done something like this: (ABS(1 - ABS(z.r)) < epsilon) AND (ABS(z.i) <
epsilon) where epsilon is say 10^-16.
Name
Classic
5000
Formula
z^2 + c
Bailout
mag >
Four
5000
z^4 + c
mag >
Sqrt
5000
Sqrt(z^4) + c
mag >
Power
5000
z^ROUND(l.r) + c
mag >
GenPower
5000
z^l + c
mag >
PiPwr
5000
z^PI + c
mag >
EPwr
5000
z^e + c
mag >
Cosine
5000
l*Cos(z) + c
z.i >
Sine
5000
l*Sin(z) + c
z.i >
Exp
5000
l*Exp(z) + c
z.r >
Cosh
5000
l*Cosh(z) + c
z.r >
Sinh
5000
l*Sinh(z) + c
z.r >
SinExp
5000) OR
Sin(z) + Exp(z) + c
(z.r >
(z.i >
5000)
SinZSqr
5000
z^2 + Sin(z) + c
z.i >
Lambda
5000
c*z^2 + c
mag >
Manowar
5000
Init: w = z
mag >
Iterate: oldZ := z
z := z^2 + w + c
w := oldZ
Mark
5000
(c^ROUND(l.r))*z^2 + c
mag >
GenMark
5000
(c^l)*z^2 + c
mag >
Potts1
10^16) OR
[(z^2 + c - 1)/
(mag >
(2*z + c - 2)]^2
(z = 1)
(num/denom)^2
(mag >
num = z^3 + 3*(c - 1)*z + (c - 1)*(c - 2)
denom = 3*z^2 + 3*(c - 2)*z + c^2 - 3*c + 3
(z = 1)
Potts2
10^16) OR
Barnsley1
1e6
Barnsley2
1e6
Barnsley3
1e6
(z - 1)*c
z.r >= 0
(z + 1)*Conj(c)
z.r < 0
(z - 1)*c
z.r*c.i + c.r*z.i >= 0
(z + 1)*c
otherwise
(z.r^2 - z.i^2 - 1) + i*(2*z.r*z.i)
z.i >
z.r >= 0
z.i >
z.i >
(z.r^2 - z.i^2 - 1) + c.r*z.r + i*(2*z.r*z.i + c.i*z.r)
OTHER FRACTALS
For these fractals z starts off being a point in the complex plane. c
and
l are complex constants.
Name
Phoenix
5000
Initialization
y := 0
Formula
temp := c.i*y
Bailout
Mag(x) >
x := z
y := x
x := x^2 + temp + c.r
Tetrate
5000
pt := z
z := pt^z
mag >
Spider
5000
w := z
z := z^2 + w + l
mag >
w := w/2 + z
Glass
5000
w := z
w*z*(1 - z)
mag >
zprev := 0
temp := z
mag >
lambda := 0
z := z^2 + zprev
z := .5
Noel1
5000
zprev := temp
Noel2
zp1 := 0
zp2 := 0
temp := z
z := z^2 - zp2
mag >
5000
zp2 := zp1
zp1 := Conj(temp)
NEWTON FRACTALS
The Newton fractals all have a similiar form. They iterate an equation
like
z := z - p(z)/p'(z) where p'(z) is the derivative of p(z). The bailout
criteria
I used was ABS(p.r) + ABS(p.i) < epsilon where p := p(z). Newton3 is my
favorite fractal. I've gotten some killer images using decomposition.
Name
Newton1
Initialization
Newton2
Newton3
Formula
z := z - p(z)/[p'(z) + c*i]
p(z) = (z - 1)*(z + 0.5)*(z^2 + 1)
z := z - p(z)/[p'(z) + c*i]
p(z) = (z - 1)*(z^2 + z + 0.5)
k = 0.25 - z^2
z := 0
z := z - p(z)/[p'(z) + l*i]
p(z) = (z - 1)*(z^2 + z + k)
NewtonPwr
z := z - p(z)/p'(z)
p(z) = z^l + c
NewtonExp
z := z - p(z)/p'(z)
p(z) = Exp(z) + c
HALLEY FRACTALS
Halley fractals are just like Newton fractals. The only difference is
in the
formula: z := z - 2*f(z)*f'(z)/[2*f'(z)*f'(z) - f''(z)*f(z)]. The bailout
condition is normally identical to the Newton fractals (i.e. f(z) near
zero).
I use a slightly different test from Pickover. The test is ABS(Mag(z) Mag(
oldZ)) < epsilon. This adds a bit more texture to the images.
Name
Halley1
Formula
f(z) = z^(a+1) - z
Halley2
f(z) = 64*z^7 - 112*z^5 + 56*z^3 - 7*z
4D FRACTALS
It's possible to calculate fractals using numbers called
"quaternions".
These are an extension of complex numbers. Instead of a number pair we
use four
numbers. Usually one of these numbers is fixed and the other three are
varied
to produce a true 3D fractal. Mandella takes the easy way out and fixes
two of
the numbers to produce a standard 2D fractal.
Quaternions are multiplied like so:
From "Differential Geometry",H.W.Guggenheimer, Dover, p. 94:
(x, y, z, u) * (a, b, c, d) = (X, Y, Z, U),
X = ax - by - cz - du
Y = bx + ay + dz - cu
Z = cx - dy + az + bu
U = dx + cy - bz + au
So, z^2 = X
Y
Z
U
=
=
=
=
xx - yy - zz - uu
2xy
2xz
2xu
The formula Mandella uses is z := z^2 + c. The first two coordinates
of z
are set to a point in the plane. The second two are set to l. The
constant c is
taken to be a quaternion with the third and fourth coordinates also set
to l.
The bailout condition is Mag(z) > 1000.
CHANGES
1) Modified Barnsley1 and Barnsley2 formulas so they match FractInt.
2) Eliminated MarkPwr formula.
3) Added Lambda, Manowar, Mark, and GenMark formulas from FractInt.
REFERENCES
[1] Barnsley, Michael. Fractals Everywhere Academic Press Inc.
ISBN 0-12-079062-9. This is an excellent text book on fractals. This is
probably the best book for learning about the math underpinning fractals.
It is
also a good source for new fractal types.
[2] Dewdney, A.K. Computer Recreations Scientific American. August 1985.
This is the article that started people writing fractal programs for
microcomputers. Dewdney also presented a lot of other neat ideas in other
columns. Unfortunately Dewdney no longer has a column in Sci Am.
[3] Dewdney, A.K. Computer Recreations Scientific American. November
1987.
Follow up to above, describes the Julia Set.
[4] Dewdney, A.K. The Armchair Universe. New York: W.H. FreeMan and
Company.
ISBN 0-7167-1928-X. This book is a collection of Dewdney's Scientific
American
articles. It includes the original Mandelbrot article [2] and an article
and
the "wallpaper" article describing a dynamical system called "Hopalong".
[5] Mandelbrot, Benoit. The Fractal Geometry of Nature. New York: W.H.
FreeMan
and Company. ISBN 0-7167-1186-9. In this book Mandelbrot attempts to show
that
reality is fractal-like. He also has pictures of many different fractals.
[6] Mathews, John. Complex Variables for Mathematics and Engineering.
Wm. C. Brown Publishers ISBN 0-697-06764-5. This is the textbook I used
to
write my complex math routines.
[7] Peitgen, H.O. and Richter, P.H. The Beauty of Fractals New York:
Springer-Verlag Inc. ISBN 0-387-15851-0. Lots of neat pictures. There is
also
an appendix giving the coordinates and constants for the color plates
and many
of the other pictures.
[8] Edited by Peitgen, Heinz-Otto and Saupe, Deitmar. The Science of
Fractal
Images New York: Springer-Verlag. This book was reviewed in the December
1988
Byte. It is based on a short course presented at SIGGRAPH '87. It
contains many
color and black and white photographs, high level math, and algorithms
for
things like continuous potential and 3D transforms.
[9] Pickover, Clifford. Computers, Pattern, Chaos and Beauty. New York:
St.
Martins Press. ISBN 0-312-04123-3. This is a great book with a wide
variety of
fun things to do with computer graphics. It includes biomorphs, composite
formula fractals, Halley fractals, and dynamical systems.
[10] Stevens, Roger. Fractal Programming in C M&T Publishing.
ISBN 1-55851-038-9. This is a good book for a beginner who wants to write
a
fractal program. Half the book is on fractal curves like the Hilbert
curve and
the von Koch snow flake. The other half covers the Mandelbrot, Julia,
Newton,
and IFS fractals. Unfortunately Stevens has virtually nothing on advanced
features.
ADDRESS
Jesse Jones
Usenet: jesjones@milton.u.washington.edu
CServe: 73627,152
Download