home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / a / allfrm.zip / IMPROVED.FRM < prev    next >
Text File  |  1993-02-08  |  18KB  |  819 lines

  1. ;improved.frm
  2. ;comment {
  3. ;
  4. ; FRACTINT.DOC has instructions for adding new formulas to this file.
  5. ; There are several hard-coded restrictions in the formula interpreter:
  6. ;
  7. ; 1) The fractal name through the open curly bracket must be on a single line.
  8. ;
  9. ; 2) There is a hard-coded limit of 200 formulas per formula file, only
  10. ;    because of restrictions in the prompting routines.
  11. ;
  12. ; 3) Formulas can contain at most 250 operations (references to variables and
  13. ;    arithmetic); this is bigger than it sounds, no formula in the default
  14. ;    fractint.frm uses even 100.
  15. ;
  16. ; 3) Comment blocks can be set up using dummy formulas with no formula name
  17. ;    or with the special name "comment".
  18. ;
  19. ; The formulas are listed alphabetically.
  20. ;
  21. ; Note that the builtin "cos" function had a bug which was corrected in
  22. ; version 16.     recreate an image from a formula which used cos before
  23. ; v16, change "cos" in the formula to "cosxx" which is a new function
  24. ; provided for backward compatibility with that bug.
  25. ; }
  26. ;
  27. {==================================================================}
  28.  
  29.  
  30. AltJTet (XAXIS) {; Lee Skinner
  31.    z = p1:
  32.    z = (pixel ^ z) + p1,
  33.        |z| <= (p2 + 3)
  34.   }
  35.  
  36.  
  37. {==================================================================}
  38.  
  39. AltMTet (XAXIS) {; Lee Skinner
  40.    ; try p1 = 1.5
  41.    z = 0:
  42.    z = (pixel ^ z) + pixel,
  43.        |z| <= (p1 + 3)
  44.   }
  45.  
  46.  
  47. {==================================================================}
  48.  
  49. Bogus1 {; Fractal Creations
  50.    ; try p1 = 2 and p2 = 4
  51.    z = 0;
  52.    z = z + p1,
  53.        |z| <= p2
  54.   }
  55.  
  56.  
  57. {==================================================================}
  58.  
  59. CGhalley (XYAXIS) {; Chris Green
  60.    ; try p1 = 1, p2 = 0.0001
  61.    ; note--use floating point
  62.    z   = (1,1):
  63.    z5  = z*z*z*z*z;
  64.    z6  = z*z5;
  65.    z7  = z*z6;
  66.    z8  = z7 - z - pixel;
  67.    z   = z-p1*(z8/ ((7.0*z6-1)-(42.0*z5)*z8/(14.0*z6-2))),
  68.          p2 <= |z8|
  69.   }
  70.  
  71.  
  72. {==================================================================}
  73.  
  74. Cubic (XYAXIS) {; Lee Skinner
  75.    ; try p1 = 2, p2 = 3
  76.    t1 = pixel,
  77.    t2 = t1*t1 + 1
  78.    t3 = 3*t1,
  79.    a  = t2/t3,
  80.    b  = p1*a*a*a + (t2 - 2)/t3,
  81.    d  = p2*a*a,
  82.    z  = 0 - a:
  83.    z  = z*z*z - d*z + b,
  84.         |z| < p1 + 3
  85.   }
  86.  
  87.  
  88. {==================================================================}
  89.  
  90. Dragon (ORIGIN) {; Mark Peterson
  91.    ; try p1 = (-0.74543, 0.2), p2 = 4, fn1 = sqr
  92.    ; note p2 should not be zero
  93.    z = pixel:
  94.    z = fn1(z) + p1,
  95.        |z| <= p2
  96.   }
  97.  
  98.  
  99. {==================================================================}
  100.  
  101. Daisy (ORIGIN) {; Mark Peterson
  102.    ; try p1 = (0.11031, -0.67037) and p2 = 4
  103.    ; note p2 should not be zero
  104.    z = pixel:
  105.    z = z*z + p1,
  106.        |z| <= p2
  107.  
  108.   }
  109.  
  110.  
  111. {==================================================================}
  112.  
  113. DeltaLog (XAXIS) {; Mark Peterson
  114.    ; try p1 = 1, p2 = 4, fn1 = log, fn2 = sqr
  115.    ; note p2 should not be zero
  116.    z = pixel, c = fn1(pixel):
  117.    z = fn2(z) + c/p1,
  118.        |z| <= p2
  119.   }
  120.  
  121.  
  122. {==================================================================}
  123.  
  124. Ent {; Scott Taylor
  125.    ; try p1 = (.5, .75), p1 = 0, p2 = 4, fn1 = exp
  126.    z    = pixel,
  127.    y    = fn1(z)+p1,
  128.    base = log(p1):
  129.    z    = y * log(z)/base,
  130.           |z| <= p2
  131.   }
  132.  
  133.  
  134. {==================================================================}
  135.  
  136. Ent2 {; Scott Taylor
  137.    ; try p1 = 2, fn1 = cos, fn2 = cosh
  138.    ; try potential = 255/355
  139.    z    = pixel,
  140.    y    = fn1(z),
  141.    base = log(p1):
  142.    z    = fn2( y * log(z) / base ),
  143.           |z| <= p1
  144.   }
  145.  
  146.  
  147. {==================================================================}
  148.  
  149. FnDog (XYAXIS)  {; Scott Taylor
  150.    z = pixel,
  151.    b = p1+2:
  152.    z = fn1( z ) * pixel,
  153.        |z| <= b
  154.   }
  155.  
  156.  
  157. {==================================================================}
  158.  
  159. Fzppfncs  {; Lee Skinner
  160.    ; try p1 = 50, fn1 = cos, fn2 = sin
  161.    z = pixel,
  162.    f = 1./fn1(pixel):
  163.    z = fn2(z) + f,
  164.        |z| <= p1
  165.   }
  166.  
  167. Fzppfnct  {; Lee Skinner
  168.    ; try p1 = 50, fn1 = sin, fn2 = cos, fn3 = sin
  169.    z = pixel,
  170.    f = fn2(pixel)/fn3(pixel):
  171.    z = fn1(z) + f,
  172.        |z|<= p1
  173.   }
  174.  
  175.  
  176. Fzppfnpo  {; Lee Skinner
  177.    ; try p1 = 50
  178.    z = pixel,
  179.    f = 2*(pixel)^(pixel):
  180.    z = fn1(z) + f,
  181.        |z| <= p1
  182.   }
  183.  
  184. Fzppfnre  {; Lee Skinner
  185.    ; try p1 = 50 and p2 = 1
  186.    z = pixel,
  187.    f = 1./(pixel):
  188.    z = fn1(z) + f * p2,
  189.        |z| <= p1
  190.   }
  191.  
  192. Fzppfnse  {; Lee Skinner
  193.    ; try p1 = 50, fn1 = sin, fn2 = sin
  194.    z = pixel,
  195.    f = 1./fn2(pixel):
  196.    z = fn1(z) + f,
  197.        |z| <= p1
  198.   }
  199.  
  200. Fzppfnsr  {; Lee Skinner
  201.    ; try p1 = 50
  202.    z = pixel,
  203.    f = (pixel)^.5:
  204.    z = fn1(z) + f,
  205.        |z| <= p1
  206.   }
  207.  
  208. Fzppfnta  {; Lee Skinner
  209.    ; try p1 = 50
  210.    z = pixel,
  211.    f = fn2(pixel):
  212.    z = fn1(z) + f,
  213.        |z|<= p1
  214.   }
  215.  
  216.  
  217. {==================================================================}
  218.  
  219. Gamma (XAXIS)={ ; Jm Richard-Collard
  220.    ; try p1 = 6.2   ; note that p1 above is two times pi
  221.    z = pixel:
  222.    z = (p1*z)^(0.5)*(z^z)*exp(-z)+pixel
  223.    |z|<=p2
  224.   }
  225.  
  226.  
  227. {===============
  228. Halley (XYAXIS) {; Chris Green
  229.    ; try p1 = 1.0 and p2 = 0.0001
  230.    ; note--use floating point
  231.    z  = pixel:
  232.    z5 = z*z*z*z*z;
  233.    z6 = z*z5;
  234.    z7 = z*z6;
  235.    z  = z-p1*((z7-z)/((7.0*z6-1)-(42.0*z5)*(z7-z)/(14.0*z6-2))),
  236.         p2 <= |z7-z|
  237.    }
  238.  
  239.  
  240. {==================================================================}
  241.  
  242. InvMandel (XAXIS) {; Mark Peterson
  243.    ; try p1 = 1, p2 = 4, fn1 = sqr
  244.    ; note p2 should not be zero
  245.    c = z = p1 / pixel:
  246.    z = fn1(z) + c;
  247.        |z| <= p2
  248.   }
  249.  
  250.  
  251. {==================================================================}
  252.  
  253. HalleySin (XYAXIS) {; Chris Green
  254.    ; try p1 = 0.1, p2 = 0.0001, fn1 = sin, fn2 = cos
  255.    ; note--use floating point
  256.    z  = pixel:
  257.    s  = fn1(z),
  258.    c  = fn2(z)
  259.    z=z-p1*(s/(c-(s*s)/(c+c))),
  260.    p2 <= |s|
  261.   }
  262.  
  263.  
  264. {==================================================================}
  265.  
  266. HyperMandel {; Chris Green.
  267.    ; try p1 = 1.8, p2 = 2.0, fn1 = sqr
  268.    ; note--use floating point
  269.    a    = (0,0),
  270.    b    = (0,0):
  271.    z    = z+1
  272.    anew = fn1(a)-fn1(b)+pixel
  273.    b    = p2*a*b+p1
  274.    a    = anew,
  275.           |a|+|b| <= 4
  276.   }
  277.  
  278.  
  279. {==================================================================}
  280. { These types are generalizations of types sent to us by the French
  281.   mathematician Jm Richard-Collard. If we hadn't generalized them
  282.   there would be --ahhh-- quite a few. With 11 possible values for
  283.   each fn variable,Jm_03, for example, has 14641 variations! }
  284.  
  285. Jm_01 {; Jm Richard-Collard
  286.    z = pixel,
  287.    t = p1+4:
  288.    z = (fn1(fn2(z^pixel)))*pixel,
  289.        |z| <= t
  290.   }
  291.  
  292. Jm_02 {; Jm Richard-Collard
  293.    z = pixel,
  294.    t = p1+4:
  295.    z = (z^pixel)*fn1(z^pixel),
  296.        |z| <= t
  297.   }
  298.  
  299. Jm_03 {; Jm Richard-Collard
  300.    z = pixel,
  301.    t = p1+4:
  302.    z = fn1((fn2(z)*pixel)*fn3(fn4(z)*pixel))*pixel,
  303.        |z| <= t
  304.   }
  305.  
  306. Jm_04 {; Jm Richard-Collard
  307.    z = pixel,
  308.    t = p1+4:
  309.    z = fn1((fn2(z)*pixel)*fn3(fn4(z)*pixel)),
  310.        |z| <= t
  311.   }
  312.  
  313. Jm_05 {; Jm Richard-Collard
  314.    z = pixel,
  315.    t = p1+4:
  316.    z = fn1(fn2((z^pixel))),
  317.        |z| <= t
  318.   }
  319.  
  320. Jm_06 {; Jm Richard-Collard
  321.    z = pixel,
  322.    t = p1+4:
  323.    z = fn1(fn2(fn3((z^z)*pixel))),
  324.        |z| <= t
  325.   }
  326.  
  327. Jm_07 {; Jm Richard-Collard
  328.    z = pixel,
  329.    t = p1+4:
  330.    z = fn1(fn2(fn3((z^z)*pixel)))*pixel,
  331.        |z| <= t
  332.   }
  333.  
  334. Jm_08 {; Jm Richard-Collard
  335.    z = pixel,
  336.    t = p1+4:
  337.    z = fn1(fn2(fn3((z^z)*pixel)))+pixel,
  338.        |z| <= t
  339.   }
  340.  
  341. Jm_09 {; Jm Richard-Collard
  342.    z = pixel,
  343.    t = p1+4:
  344.    z = fn1(fn2(fn3(fn4(z))))+pixel,
  345.        |z| <= t
  346.   }
  347.  
  348. Jm_10 {; Jm Richard-Collard
  349.    z = pixel,
  350.    t = p1+4:
  351.    z = fn1(fn2(fn3(fn4(z)*pixel))),
  352.        |z| <= t
  353.   }
  354.  
  355. Jm_11 {; Jm Richard-Collard
  356.    z = pixel,
  357.    t = p1+4:
  358.    z = fn1(fn2(fn3(fn4(z)*pixel)))*pixel,
  359.        |z| <= t
  360.   }
  361.  
  362. Jm_12 {; Jm Richard-Collard
  363.    z = pixel,
  364.    t = p1+4:
  365.    z = fn1(fn2(fn3(z)*pixel)),
  366.        |z| <= t
  367.   }
  368.  
  369. Jm_13 {; Jm Richard-Collard
  370.    z = pixel,
  371.    t = p1+4:
  372.    z = fn1(fn2(fn3(z)*pixel))*pixel,
  373.        |z| <= t
  374.   }
  375.  
  376. Jm_14 {; Jm Richard-Collard
  377.    z = pixel,
  378.    t = p1+4:
  379.    z = fn1(fn2(fn3(z)*pixel))+pixel,
  380.        |z| <= t
  381.   }
  382. k
  383. Jm_15 {; Jm Richard-Collard
  384.    z  = pixel,
  385.    t  = p1+4:
  386.    f2 = fn2(z),z=fn1(f2)*fn3(fn4(f2))*pixel,
  387.         |z| <= t
  388.   }
  389.  
  390. Jm_16 {; Jm Richard-Collard
  391.    z  = pixel,
  392.    t  = p1+4:
  393.    f2 = fn2(z),z=fn1(f2)*fn3(fn4(f2))+pixel,
  394.         |z| <= t
  395.   }
  396.  
  397. Jm_17 {; Jm Richard-Collard
  398.    z = pixel,
  399.    t = p1+4:
  400.    z = fn1(z)*pixel*fn2(fn3(z)),
  401.        |z| <= t
  402.   }
  403.  
  404. Jm_18 {; Jm Richard-Collard
  405.    z = pixel,
  406.    t = p1+4:
  407.    z = fn1(z)*pixel*fn2(fn3(z)*pixel),
  408.        |z| <= t
  409.   }
  410.  
  411. Jm_19 {; Jm Richard-Collard
  412.    z = pixel,
  413.    t = p1+4:
  414.    z = fn1(z)*pixel*fn2(fn3(z)+pixel),
  415.        |z|<=t
  416.   }
  417.  
  418. Jm_20 {; Jm Richard-Collard
  419.    z = pixel,
  420.    t = p1+4:
  421.    z = fn1(z^pixel),
  422.        |z| <= t
  423.   }
  424.  
  425. Jm_21 {; Jm Richard-Collard
  426.    z= pixel,
  427.    t= p1+4:
  428.    z= fn1(z^pixel)*pixel,
  429.       |z| <= t
  430.   }
  431.  
  432. Jm_22 {; Jm Richard-Collard
  433.    z  = pixel,
  434.    t  = p1+4:
  435.    sq = fn1(z),
  436.    z  = (sq*fn2(sq)+sq)+pixel,
  437.         |z| <= t
  438.   }
  439.  
  440. Jm_24 {; Jm Richard-Collard
  441.    z  = pixel,
  442.    t  = p1+4:
  443.    z2 = fn1(z), z=(fn2(z2*fn3(z2)+z2))+pixel,
  444.         |z| <= t
  445.   }
  446.  
  447. Jm_25 {; Jm Richard-Collard
  448.    z = pixel,
  449.    t = p1+4:
  450.    z = fn1(z*fn2(z)) + pixel,
  451.        |z|<=t
  452.   }
  453.  
  454. Jm_26 {; Jm Richard-Collard
  455.    z = pixel,
  456.    t = p1+4:
  457.    z = fn1(fn2(z)) + pixel,
  458.        |z|<=t
  459.   }
  460.  
  461. Jm_27 {; Jm Richard-Collard
  462.    z = pixel,
  463.    t = p1+4:
  464.    s = fn1(z),
  465.    z = s + 1/s + pixel,
  466.        |z| <= t
  467.   }
  468.  
  469. Jm_03a {; generalized Jm Richard-Collard type
  470.    z = pixel,
  471.    t = p1+4:
  472.    z = fn1((fn2(z)*pixel)*fn3(fn4(z)*pixel))+pixel,
  473.       |z|<=t
  474.   }
  475.  
  476. Jm_11a {; generalized Jm Richard-Collard type
  477.    z = pixel,
  478.    t = p1+4:
  479.    z = fn1(fn2(fn3(fn4(z)*pixel)))+pixel,
  480.        |z|<=t
  481.   }
  482.  
  483. Jm_23 {; generalized Jm Richard-Collard type
  484.    z = pixel,
  485.    t = p1+4:
  486.    z = fn1(fn2(fn3(z)+pixel*pixel)),
  487.        |z|<=t
  488.   }
  489.  
  490. Jm_27a {; generalized Jm Richard-Collard type
  491.    z = pixel,
  492.    t = p1+4:
  493.    sqrz = fn1(z), z=sqrz + 1/sqrz + pixel,
  494.        |z|<=t
  495.   }
  496.  
  497. Jm_ducks (XAXIS) {; Jm Richard-Collard
  498.    ; try fn1 = sqr
  499.    ; try corners=-1.178372/-0.978384/-0.751678/-0.601683
  500.    z = pixel,
  501.    t = 1+pixel:
  502.    z = fn1(z)+t,
  503.        |z| <= p1 + 4
  504.   }
  505.  
  506.  
  507. {==================================================================}
  508.  
  509. JTet (XAXIS) {; Lee Skinner
  510.    z = pixel:
  511.    z = (pixel ^ z) + p1,
  512.        |z| <= (p2 + 3)
  513.   }
  514.  
  515.  
  516. {==================================================================}
  517.  
  518. LeeMandel1 (XYAXIS) {; Kevin Lee
  519.    ; try p1 = 0, p2 = 4, fn1 = sqr, fn2 = sqr
  520.    z = pixel + p1:
  521.    c = fn1(pixel)/z, c=z+c, z=fn2(z),
  522.        |z| < p2
  523.   }
  524.  
  525. LeeMandel2 (XYAXIS) {; Kevin Lee
  526.    ; try p1 = 0, p2 = 4, fn1 = sqr, fn2 = sqr
  527.    z = pixel + p1:
  528.    c = fn1(pixel)/z, c=z+c, z=fn2(c*pixel),
  529.        |z| < p2
  530.    }
  531.  
  532. LeeMandel3 (XAXIS) {; Kevin Lee
  533.    ; try p1 = 0, p2 = 4, fn1 = sqr
  534.    z = pixel + p1,
  535.    c = pixel-fn1(z):
  536.    c = pixel+c/z,
  537.    z = c-z*pixel,
  538.        |z| < p1
  539.   }
  540.  
  541.  
  542. {==================================================================}
  543.  
  544. Mandel3 {; Fractal Creations
  545.    ; try p1 = 1, p2 = 4, fn1 = sin
  546.    z = pixel * p1,
  547.    c = fn1(z):
  548.    z = (z*z) + c;
  549.    z = z * 1/c;
  550.        |z| <= p2;
  551.    }
  552.  
  553.  
  554. {==================================================================}
  555.  
  556. Mandelbrot (XAXIS) {; Mark Peterson
  557.    ; try p1 = 0, p2 = 4, fn1 = sqr, fn2 = sqr
  558.    ; note p2 should not be zero
  559.    z = pixel,
  560.    z = fn1(z):
  561.    z = z + pixel + p1
  562.    z = fn2(z)
  563.        lastsqr <= p2
  564.   }
  565.  
  566.  
  567. {==================================================================}
  568.  
  569. MandelTangent {; Fractal Creations
  570.    ; try p1 = 0, p2 = 32, fn1 = tan
  571.    z = pixel + p1:
  572.    z = pixel * fn1(z),
  573.       |real(z)| < p2
  574.   }
  575.  
  576.  
  577. {==================================================================}
  578.  
  579. MTet (XAXIS) {; Lee Skinner
  580.    ; try fn1 = sin, p1 = 1
  581.    z = pixel:
  582.    z = (pixel ^ z) + pixel,
  583.        |z| <= (p1 + 3)
  584.   }
  585.  
  586.  
  587. {==================================================================}
  588.  
  589. MyFractal {; Fractal Creations
  590.    ; try p1 = 0, p2 = 4
  591.    c = z = 1/pixel + p1:
  592.    z = fn1(z) + c;
  593.        |z| <= p2
  594.   }
  595.  
  596.  
  597. {==================================================================}
  598.  
  599. Newton3 {; Chris Green
  600.    ; Try p1=1.8 and p2 = 3.0
  601.    z  = (1,1):
  602.    z2 = z*z;
  603.    z3 = (z*z2) - pixel;
  604.    z  = z-p1*z3/(p2*z2),
  605.         0.0001 < |z3|
  606.   }
  607.  
  608.  
  609. {==================================================================}
  610.  
  611. Newton4 (XYAXIS) {; Mark Peterson
  612.     ; try p1 = 3 and p2 = 4
  613.     z  = pixel,
  614.     Root = 1:
  615.     z3 = z*z*z;
  616.     z4 = z3 * z;
  617.     z  = (p1 * z4 + Root) / (p2 * z3);
  618.          0.004 <= |z4 - Root|
  619.   }
  620.  
  621.  
  622. {==================================================================}
  623.  
  624. NewtonSinExp (XAXIS) {; Chris Green
  625.    ; try fn1 = exp, fn2 = sin, fn3 = cos, p1 = 1, p2 = 0.0001
  626.    ; note--use floating point
  627.    z  = pixel:
  628.    z1 = fn1(z)
  629.    z2 = fn2(z)+z1-1
  630.    z  = z-p1*z2/(fn3(z)+z1),
  631.         p2 < |z2|
  632.   }
  633.  
  634.  
  635. {==================================================================}
  636.  
  637. PseudoMandel (XAXIS) {; davisl
  638.    ; try p1 = 2.7182818, p2 = 6.2831853, fn1 = sqr
  639.    z = pixel:
  640.    z = ((z/p1)^z)*fn1(p2*z) + pixel,
  641.        |z| <= 4
  642.   }
  643.  
  644.  
  645. {==================================================================}
  646.  
  647. Richard1 (XYAXIS) {; Jm Richard-Collard
  648.    ; try p1 = 0, p2 = 50
  649.    z   = pixel + p1:
  650.    sq  = z*z,
  651.    z   = (sq*fn1(sq)+sq)+pixel,
  652.          |z| <= p2
  653.   }
  654.  
  655. Richard2 (XYAXIS) {; Jm Richard-Collard
  656.    ; try p1 = 0, p2 = 50, fn1 = sin
  657.    z   = pixel + p1:
  658.    z   = 1/(fn1(z*z+pixel*pixel)),
  659.          |z| <= p2
  660.   }
  661.  
  662. Richard3 (XAXIS) {; Jm Richard-Collard
  663.    ; try p1 = 0, p2 = 50, fn1 = sinh
  664.    z   = pixel + p1:
  665.    sh  = fn1(z),
  666.     z   -b1/(sh*sh))+pixel,
  667.          |z| <= p2
  668.   }
  669.  
  670. Richard4 (XAXIS) {; Jm Richard-Collard
  671.    ; try p1 = 0, p2 = 50, fn1 = cos
  672.    z   = pixel + p1:
  673.    z2  = z*z,
  674.    z   = (1/(z2*fn1(z2)+z2))+pixel,
  675.          |z| <= p2
  676.   }
  677.  
  678. Richard5 (XAXIS) {; Jm Richard-Collard
  679.    ; try p1 = 0, p2 = 50, fn1 = sin, fn2 = sinh
  680.    z = pixel + p1:
  681.    z = fn1(z*fn2(z))+pixel,
  682.        |z| <= p2
  683.   }
  684.  
  685. Richard6 (XYAXIS) {; Jm Richard-Collard
  686.    ; try p1 = 0, p2 = 50, fn1 = sin, fn2 = sinh
  687.    z = pixel + p1:
  688.    z = fn1(fn2(z))+pixel,
  689.        |z| <= p2
  690.   }
  691.  
  692. Richard7 (XAXIS) {; Jm Richard-Collard
  693.    ; try p1 = 0, p2 = 50, fn1 = log
  694.    z = pixel:
  695.    z = fn1(z)*pixel,
  696.        |z| <= p2
  697.   }
  698.  
  699. Richard8 (XYAXIS) {; Jm Richard-Collard
  700.    ; try p1 = 0, p2 = 50, fn1 = sin, fn2 = sin
  701.    ; note--used for cover of "Fractal Creations"
  702.    z = pixel + p1,
  703.    z = fn1(z)+fn2(pixel),
  704.        |z| <= p2
  705.   }
  706.  
  707. Richard9 (XAXIS) {; Jm Richard-Collard
  708.    ; try p1 = 0, p2 = 4
  709.    z = pixel + p1:
  710.    s = z*z,
  711.    z = s + 1/s + pixel,
  712.        |z| <= p2
  713.   }
  714.  
  715. Richard10 (XYAXIS) {; Jm Richard-Collard
  716.    ; try p1 = 0, p2 = 50, fn1 = sin
  717.    z = pixel + p1:
  718.    z = 1 / fn1(1/(z*z)),
  719.        |z| <= p2
  720.   }
  721.  
  722.  
  723. {==================================================================}
  724.  
  725. Sterling (XAXIS) {; davisl
  726.    ; try p1 = 2.7182818, p2 = 6.2831853
  727.    z = pixel:
  728.    z = ((z/p1)^z)/fn1(p2*z),
  729.        |z| <= 4
  730.   }
  731.  
  732. Sterling2 (XAXIS) {; davisl
  733.    ; try p1 = 2.7182818, p2 = 6.2831853
  734.    z = pixel:
  735.    z = ((z/p1)^z)/fn1(p2*z) + pixel,
  736.        |z| <= 4
  737.   }
  738.  
  739. Sterling3 (XAXIS) {; davisl
  740.    ; try p1 = 2.7182818, p2 = 6.2831853
  741.    z = pixel:
  742.    z = ((z/p1)^z)/fn1(p2*z) - pixel,
  743.        |z| <= 4
  744.   }
  745.  
  746.  
  747. {==================================================================}
  748.  
  749. Wineglass (XAXIS) {; Pieter Branderhorst
  750.    ; try p1 = 4 and p2 = 2
  751.    c = z = pixel:
  752.    z = z * z + c
  753.    c = (1+flip(imag(c))) * real(c) / p2 + z,
  754.        |z| <= p1
  755.   }
  756.  
  757.  
  758. {==================================================================}
  759.  
  760. ZZ (XAXIS) { ; Jm Richard-Collard
  761.    ; try fn1 = log, p1 = 0.001
  762.    ; note--use floating point
  763.    z  = pixel:
  764.    z1 = z^z;
  765.    z2 = (fn1(z)+1)*z1;
  766.    z  = z-(z1-1)/z2,
  767.         p1 <= |1-z1|
  768.   }
  769.  
  770. ZZa (XAXIS) { ; Jm Richard-Collard
  771.    ; try p1 = 0.001, fn1 = log
  772.    ; note--use floating point
  773.    z  = pixel:
  774.    z1 = z^(z-1);
  775.    z2 = (((z-1)/z)+fn1(z))*z1;
  776.    z  = z-((z1-1)/z2),
  777.         p1 <= |1-z1|
  778.   }
  779.  
  780. CGNewton3 {; Chris Green -- A variation on newton iteration.
  781.   ; The initial guess is fixed at (1,1), but the equation solved
  782.   ; is different at each pixel ( x^3-pixel=0 is solved).
  783.   ; Use floating point.
  784.   ; Try P1=1.8.
  785.   z=(1,1):
  786.    z2=z*z;
  787.    z3=z*z2;
  788.    z=z-p1*(z3-pixel)/(3.0*z2),
  789.     0.0001 < |z3-pixel|
  790.   }
  791.  
  792. comment {
  793.   You should note that for the Transparent 3D fractals the x, y, z, and t
  794.   coordinates correspond to the 2D slices and not the final 3D True Color
  795.   image.  To relate the 2D slices to the 3D image, swap the x- and z-axis,
  796.   i.e. a 90 degree rotation about the y-axis.
  797.                 -Mark Peterson 6-2-91
  798.   }
  799.  
  800. MandelXAxis(XAXIS) {    ; for Transparent3D
  801.   z = zt,        ; Define Julia axes as depth/time and the
  802.   c = xy:        ;   Mandelbrot axes as width/height for each slice.
  803.             ;   This corresponds to Mandelbrot axes as
  804.             ;   height/depth and the Julia axes as width
  805.             ;   time for the 3D image.
  806.    z = Sqr(z) + c
  807.     LastSqr <= 4;
  808.   }
  809.  
  810. OldJulibrot(ORIGIN) {            ; for Transparent3D
  811.   z = real(zt) + flip(imag(xy)),    ; These settings coorespond to the
  812.   c = imag(zt) + flip(real(xy)):    ;    Julia axes as height/width and
  813.                     ;    the Mandelbrot axes as time/depth
  814.                     ;    for the 3D image.
  815.    z = Sqr(z) + c
  816.     LastSqr <= 4;
  817.   }
  818.  
  819.