home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computerworld 1996 March
/
Computerworld_1996-03_cd.bin
/
idg_cd3
/
grafika
/
fraktaly
/
fractxtr
/
frm
/
improved.frm
< prev
next >
Wrap
Text File
|
1993-02-08
|
18KB
|
819 lines
;improved.frm
;comment {
;
; FRACTINT.DOC has instructions for adding new formulas to this file.
; There are several hard-coded restrictions in the formula interpreter:
;
; 1) The fractal name through the open curly bracket must be on a single line.
;
; 2) There is a hard-coded limit of 200 formulas per formula file, only
; because of restrictions in the prompting routines.
;
; 3) Formulas can contain at most 250 operations (references to variables and
; arithmetic); this is bigger than it sounds, no formula in the default
; fractint.frm uses even 100.
;
; 3) Comment blocks can be set up using dummy formulas with no formula name
; or with the special name "comment".
;
; The formulas are listed alphabetically.
;
; Note that the builtin "cos" function had a bug which was corrected in
; version 16. recreate an image from a formula which used cos before
; v16, change "cos" in the formula to "cosxx" which is a new function
; provided for backward compatibility with that bug.
; }
;
{==================================================================}
AltJTet (XAXIS) {; Lee Skinner
z = p1:
z = (pixel ^ z) + p1,
|z| <= (p2 + 3)
}
{==================================================================}
AltMTet (XAXIS) {; Lee Skinner
; try p1 = 1.5
z = 0:
z = (pixel ^ z) + pixel,
|z| <= (p1 + 3)
}
{==================================================================}
Bogus1 {; Fractal Creations
; try p1 = 2 and p2 = 4
z = 0;
z = z + p1,
|z| <= p2
}
{==================================================================}
CGhalley (XYAXIS) {; Chris Green
; try p1 = 1, p2 = 0.0001
; note--use floating point
z = (1,1):
z5 = z*z*z*z*z;
z6 = z*z5;
z7 = z*z6;
z8 = z7 - z - pixel;
z = z-p1*(z8/ ((7.0*z6-1)-(42.0*z5)*z8/(14.0*z6-2))),
p2 <= |z8|
}
{==================================================================}
Cubic (XYAXIS) {; Lee Skinner
; try p1 = 2, p2 = 3
t1 = pixel,
t2 = t1*t1 + 1
t3 = 3*t1,
a = t2/t3,
b = p1*a*a*a + (t2 - 2)/t3,
d = p2*a*a,
z = 0 - a:
z = z*z*z - d*z + b,
|z| < p1 + 3
}
{==================================================================}
Dragon (ORIGIN) {; Mark Peterson
; try p1 = (-0.74543, 0.2), p2 = 4, fn1 = sqr
; note p2 should not be zero
z = pixel:
z = fn1(z) + p1,
|z| <= p2
}
{==================================================================}
Daisy (ORIGIN) {; Mark Peterson
; try p1 = (0.11031, -0.67037) and p2 = 4
; note p2 should not be zero
z = pixel:
z = z*z + p1,
|z| <= p2
}
{==================================================================}
DeltaLog (XAXIS) {; Mark Peterson
; try p1 = 1, p2 = 4, fn1 = log, fn2 = sqr
; note p2 should not be zero
z = pixel, c = fn1(pixel):
z = fn2(z) + c/p1,
|z| <= p2
}
{==================================================================}
Ent {; Scott Taylor
; try p1 = (.5, .75), p1 = 0, p2 = 4, fn1 = exp
z = pixel,
y = fn1(z)+p1,
base = log(p1):
z = y * log(z)/base,
|z| <= p2
}
{==================================================================}
Ent2 {; Scott Taylor
; try p1 = 2, fn1 = cos, fn2 = cosh
; try potential = 255/355
z = pixel,
y = fn1(z),
base = log(p1):
z = fn2( y * log(z) / base ),
|z| <= p1
}
{==================================================================}
FnDog (XYAXIS) {; Scott Taylor
z = pixel,
b = p1+2:
z = fn1( z ) * pixel,
|z| <= b
}
{==================================================================}
Fzppfncs {; Lee Skinner
; try p1 = 50, fn1 = cos, fn2 = sin
z = pixel,
f = 1./fn1(pixel):
z = fn2(z) + f,
|z| <= p1
}
Fzppfnct {; Lee Skinner
; try p1 = 50, fn1 = sin, fn2 = cos, fn3 = sin
z = pixel,
f = fn2(pixel)/fn3(pixel):
z = fn1(z) + f,
|z|<= p1
}
Fzppfnpo {; Lee Skinner
; try p1 = 50
z = pixel,
f = 2*(pixel)^(pixel):
z = fn1(z) + f,
|z| <= p1
}
Fzppfnre {; Lee Skinner
; try p1 = 50 and p2 = 1
z = pixel,
f = 1./(pixel):
z = fn1(z) + f * p2,
|z| <= p1
}
Fzppfnse {; Lee Skinner
; try p1 = 50, fn1 = sin, fn2 = sin
z = pixel,
f = 1./fn2(pixel):
z = fn1(z) + f,
|z| <= p1
}
Fzppfnsr {; Lee Skinner
; try p1 = 50
z = pixel,
f = (pixel)^.5:
z = fn1(z) + f,
|z| <= p1
}
Fzppfnta {; Lee Skinner
; try p1 = 50
z = pixel,
f = fn2(pixel):
z = fn1(z) + f,
|z|<= p1
}
{==================================================================}
Gamma (XAXIS)={ ; Jm Richard-Collard
; try p1 = 6.2 ; note that p1 above is two times pi
z = pixel:
z = (p1*z)^(0.5)*(z^z)*exp(-z)+pixel
|z|<=p2
}
{===============
Halley (XYAXIS) {; Chris Green
; try p1 = 1.0 and p2 = 0.0001
; note--use floating point
z = pixel:
z5 = z*z*z*z*z;
z6 = z*z5;
z7 = z*z6;
z = z-p1*((z7-z)/((7.0*z6-1)-(42.0*z5)*(z7-z)/(14.0*z6-2))),
p2 <= |z7-z|
}
{==================================================================}
InvMandel (XAXIS) {; Mark Peterson
; try p1 = 1, p2 = 4, fn1 = sqr
; note p2 should not be zero
c = z = p1 / pixel:
z = fn1(z) + c;
|z| <= p2
}
{==================================================================}
HalleySin (XYAXIS) {; Chris Green
; try p1 = 0.1, p2 = 0.0001, fn1 = sin, fn2 = cos
; note--use floating point
z = pixel:
s = fn1(z),
c = fn2(z)
z=z-p1*(s/(c-(s*s)/(c+c))),
p2 <= |s|
}
{==================================================================}
HyperMandel {; Chris Green.
; try p1 = 1.8, p2 = 2.0, fn1 = sqr
; note--use floating point
a = (0,0),
b = (0,0):
z = z+1
anew = fn1(a)-fn1(b)+pixel
b = p2*a*b+p1
a = anew,
|a|+|b| <= 4
}
{==================================================================}
{ These types are generalizations of types sent to us by the French
mathematician Jm Richard-Collard. If we hadn't generalized them
there would be --ahhh-- quite a few. With 11 possible values for
each fn variable,Jm_03, for example, has 14641 variations! }
Jm_01 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = (fn1(fn2(z^pixel)))*pixel,
|z| <= t
}
Jm_02 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = (z^pixel)*fn1(z^pixel),
|z| <= t
}
Jm_03 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1((fn2(z)*pixel)*fn3(fn4(z)*pixel))*pixel,
|z| <= t
}
Jm_04 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1((fn2(z)*pixel)*fn3(fn4(z)*pixel)),
|z| <= t
}
Jm_05 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2((z^pixel))),
|z| <= t
}
Jm_06 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2(fn3((z^z)*pixel))),
|z| <= t
}
Jm_07 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2(fn3((z^z)*pixel)))*pixel,
|z| <= t
}
Jm_08 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2(fn3((z^z)*pixel)))+pixel,
|z| <= t
}
Jm_09 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2(fn3(fn4(z))))+pixel,
|z| <= t
}
Jm_10 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2(fn3(fn4(z)*pixel))),
|z| <= t
}
Jm_11 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2(fn3(fn4(z)*pixel)))*pixel,
|z| <= t
}
Jm_12 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2(fn3(z)*pixel)),
|z| <= t
}
Jm_13 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2(fn3(z)*pixel))*pixel,
|z| <= t
}
Jm_14 {; Jm Richard-Collard
z = pixel,
t = p1+4:
z = fn1(fn2(fn3(z)*pixel))+pixel,
|z| <= t
}