home *** CD-ROM | disk | FTP | other *** search
/ ftp.xmission.com / 2014.06.ftp.xmission.com.tar / ftp.xmission.com / pub / lists / fractint / archive / v01.n151 < prev    next >
Internet Message Format  |  1998-04-01  |  71KB

  1. From: owner-fractint-digest@lists.xmission.com (fractint-digest)
  2. To: fractint-digest@lists.xmission.com
  3. Subject: fractint-digest V1 #151
  4. Reply-To: fractint-digest
  5. Sender: owner-fractint-digest@lists.xmission.com
  6. Errors-To: owner-fractint-digest@lists.xmission.com
  7. Precedence: bulk
  8.  
  9.  
  10. fractint-digest        Wednesday, April 1 1998        Volume 01 : Number 151
  11.  
  12.  
  13.  
  14.  
  15. ----------------------------------------------------------------------
  16.  
  17. Date: Wed, 1 Apr 1998 13:43:52 -0600 (CST)
  18. From: Nhan H Nguyen <nguy0505@tc.umn.edu>
  19. Subject: Re: (fractint) Copyright:  Some Pragmatic Thoughts
  20.  
  21. OK...enough is enough.
  22.  
  23. I've heard/read all I can handle about copyright things. If you made it,
  24. it's yours. If you didn't it's not yours. How hard can that be to
  25. understand? If you made a pic with someone else's formula, the pic is
  26. yours, the formula is not. Use other people's pics at their discretion. It
  27. doesn't take a lawyer, judge, brain surgeon to figure that out. Let's move
  28. on to something else for God sakes. I'm tired of this $&*T. 
  29.  
  30. - -Lav
  31.  
  32.  
  33. - -
  34. - ------------------------------------------------------------
  35. Thanks for using Fractint, The Fractals and Fractint Discussion List
  36. Post Message:   fractint@xmission.com
  37. Get Commands:   majordomo@xmission.com "help"
  38. Administrator:  twegner@phoenix.net
  39. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  40.  
  41. ------------------------------
  42.  
  43. Date: Wed, 1 Apr 1998 16:13:00 -0500
  44. From: Sylvie Gallet <Sylvie_Gallet@compuserve.com>
  45. Subject: Re: (fractint) Copywright and common sense
  46.  
  47. >> I thought Sylvie Galette was female???
  48.                       ^^^^^
  49.   Aaaarrrggghhh!!!
  50.   Yes, I'm female.
  51.  
  52. >> I've also known the name "Noel" to belong to a female acquaintence.
  53.  
  54.   In French, Noel is male and Noelle is female.
  55.  
  56.         - Sylvie
  57.  
  58. - -
  59. - ------------------------------------------------------------
  60. Thanks for using Fractint, The Fractals and Fractint Discussion List
  61. Post Message:   fractint@xmission.com
  62. Get Commands:   majordomo@xmission.com "help"
  63. Administrator:  twegner@phoenix.net
  64. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  65.  
  66. ------------------------------
  67.  
  68. Date: Wed, 01 Apr 1998 17:06:32 -0600
  69. From: Lavondyss <nguy0505@tc.umn.edu>
  70. Subject: Re: (fractint) Copywright and common sense
  71.  
  72. Sylvie Gallet wrote:
  73.  
  74. > >> I thought Sylvie Galette was female???
  75. >                       ^^^^^
  76. >   Aaaarrrggghhh!!!
  77. >   Yes, I'm female.
  78. >
  79. > >> I've also known the name "Noel" to belong to a female acquaintence.
  80. >
  81. >   In French, Noel is male and Noelle is female.
  82. >
  83. >         - Sylvie
  84. >
  85.  
  86. I thought I was right about Sylvie. Someone thought you were male. He
  87. could have been assuming all fractineers are male. Shrug. Anyways, is Noel
  88. from France or of French origin? I just want to know the nice people in
  89. this mailing list. Perhaps we should have a page where all the people can
  90. introduce themselves. Doing it on here seems to take up unecessary space,
  91. unless Tim Wegner doesn't care.
  92.  
  93. I just found a printing shop here (Kinko's Copy) and I inquired about
  94. poster printing (for fractals) and they said the larges is 36 inches width
  95. and as long as you want. The price: $1.25 per foot lengthwise. Would that
  96. be cheap or expensive? The paper they would be using the the 20lb plain
  97. white paper. My question is: Should I go ahead and do a print?
  98.  
  99. I've known good printing to be around $200 or more for 4' x 6' foot. I
  100. think will do a test print and see the quality first before I do a big
  101. one. Any suggestions?
  102.  
  103. - -Lav
  104.  
  105.  
  106. - -
  107. - ------------------------------------------------------------
  108. Thanks for using Fractint, The Fractals and Fractint Discussion List
  109. Post Message:   fractint@xmission.com
  110. Get Commands:   majordomo@xmission.com "help"
  111. Administrator:  twegner@phoenix.net
  112. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  113.  
  114. ------------------------------
  115.  
  116. Date: Wed, 01 Apr 1998 17:20:04 -0600
  117. From: "Damien M. Jones" <dmj@fractalus.com>
  118. Subject: Re: (fractint) Copywright and common sense
  119.  
  120. Lavondyss,
  121.  
  122.  - I just found a printing shop here (Kinko's Copy) and I inquired about
  123.  - poster printing (for fractals) and they said the larges is 36 inches width
  124.  - and as long as you want. The price: $1.25 per foot lengthwise. Would that
  125.  - be cheap or expensive?
  126.  
  127. That would be cheap.
  128.  
  129.  - The paper they would be using the the 20lb plain white paper. My question
  130.  - is: Should I go ahead and do a print?
  131.  
  132. Let me get this straight: a 4'x3' would cost you $5?  For $5, why not?  It
  133. would have to be an absolutely lousy print not to be worth $5!
  134.  
  135.  - I've known good printing to be around $200 or more for 4' x 6' foot.
  136.  
  137. Sounds about right.
  138.  
  139. Damien M. Jones   \\
  140. dmj@fractalus.com  \\  http://www.icd.com/tsd/ (temporary sanity designs)
  141.                     \\  http://www.fractalus.com/ (fractals are my hobby)
  142.  
  143. - -
  144. - ------------------------------------------------------------
  145. Thanks for using Fractint, The Fractals and Fractint Discussion List
  146. Post Message:   fractint@xmission.com
  147. Get Commands:   majordomo@xmission.com "help"
  148. Administrator:  twegner@phoenix.net
  149. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  150.  
  151. ------------------------------
  152.  
  153. Date: Thu, 2 Apr 1998 00:04:42 +0100
  154. From: "Les St Clair" <les_stclair@crosstrees.prestel.co.uk>
  155. Subject: (fractint) March '98 par collection
  156.  
  157. Hi team,
  158.  
  159. Wow! what a bumper par month!
  160. I have just place the collected pars for March on my fractal web site at:
  161.  
  162. http://ourworld.compuserve.com/homepages/Les_StClair/
  163.  
  164. The file (fml9803.zip) contains nearly 350 parameters culled from this list
  165. during March, plus a handy index!
  166.  
  167. Don't forget to download the updated formula collection too (fml_frm.zip)
  168.  
  169. cheers, Les
  170.  
  171.  
  172.  
  173.  
  174. - -
  175. - ------------------------------------------------------------
  176. Thanks for using Fractint, The Fractals and Fractint Discussion List
  177. Post Message:   fractint@xmission.com
  178. Get Commands:   majordomo@xmission.com "help"
  179. Administrator:  twegner@phoenix.net
  180. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  181.  
  182. ------------------------------
  183.  
  184. Date: Wed, 1 Apr 1998 23:56:58 +0100
  185. From: "Les St Clair" <les_stclair@crosstrees.prestel.co.uk>
  186. Subject: (fractint) Paul Derbyshire's Nuclear pars
  187.  
  188. Hi Paul,
  189.  
  190. I noticed that there are some formula omissions from you "nuclear" series:
  191.  
  192. formulaname=nuclear_jcollogb required for 
  193. nuke_j_9a1         {
  194.  
  195. formulaname=nuclear_jcollogc required for 
  196. nuke_j_17          {
  197.  
  198. could you please post them?
  199.  
  200. Ta!
  201.  
  202. Les
  203.  
  204.  
  205.  
  206.  
  207. - -
  208. - ------------------------------------------------------------
  209. Thanks for using Fractint, The Fractals and Fractint Discussion List
  210. Post Message:   fractint@xmission.com
  211. Get Commands:   majordomo@xmission.com "help"
  212. Administrator:  twegner@phoenix.net
  213. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  214.  
  215. ------------------------------
  216.  
  217. Date: Wed, 01 Apr 1998 15:51:55 PST
  218. From: "Paul Derbyshire" <pgd73@hotmail.com>
  219. Subject: Re: (fractint) Missing person?
  220.  
  221. >  I used a small freeware called vesa2cfg.exe...
  222.  
  223.  
  224.  
  225. [vesa2cfg output]
  226. >     1600 1200  256   1600 $4f02 $011c
  227.  
  228. >  And here is the entry I added to fractint.cfg:
  229. >
  230. >CF9 ,Millennium VESA mode     ,4f02, 11C,   0,   0,  
  231. 28,1600,1200,256,OK:=
  232.  
  233. Obviously the first is a shortcut key, the second an arbitrary name 
  234. string, and the 4f02, 11C, 1600, 1200, and 256 have obvious 
  235. correspondences to the vesa2cfg output. But where the bleeding hell do 
  236. you get the two zeros, the 28, and "OK:=" from? With that additional 
  237. information anyone can fix up their fractint.cfg...
  238.  
  239. >  I can email vesa2cfg.zip to anyone interested, just ask.
  240.  
  241. Even better would be to simply post the URL...
  242. Along with a good description of how to turn the vesa2cfg output line 
  243. into a fractint.cfg file.
  244.    .*.  "Clouds are not spheres, mountains are not cones, coastlines are not
  245. - -()  <  circles, and bark is not smooth, nor does lightning travel in a
  246.    `*'  straight line."     ------------------------------------------------
  247.         -- B. Mandelbrot   | Paul Derbyshire (PGD) ao950@freenet.carleton.ca
  248. ______________________ ____|_____________          pderbysh@chat.carleton.ca
  249. Programmer & Humanist |  ICQ:  10423848  | http://chat.carleton.ca/~pderbysh
  250.  
  251. ______________________________________________________
  252. Get Your Private, Free Email at http://www.hotmail.com
  253.  
  254. - -
  255. - ------------------------------------------------------------
  256. Thanks for using Fractint, The Fractals and Fractint Discussion List
  257. Post Message:   fractint@xmission.com
  258. Get Commands:   majordomo@xmission.com "help"
  259. Administrator:  twegner@phoenix.net
  260. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  261.  
  262. ------------------------------
  263.  
  264. Date: Wed, 01 Apr 1998 15:52:03 PST
  265. From: "Paul Derbyshire" <pgd73@hotmail.com>
  266. Subject: Re: (fractint) Missing person?
  267.  
  268. >  I used a small freeware called vesa2cfg.exe...
  269.  
  270.  
  271.  
  272. [vesa2cfg output]
  273. >     1600 1200  256   1600 $4f02 $011c
  274.  
  275. >  And here is the entry I added to fractint.cfg:
  276. >
  277. >CF9 ,Millennium VESA mode     ,4f02, 11C,   0,   0,  
  278. 28,1600,1200,256,OK:=
  279.  
  280. Obviously the first is a shortcut key, the second an arbitrary name 
  281. string, and the 4f02, 11C, 1600, 1200, and 256 have obvious 
  282. correspondences to the vesa2cfg output. But where the bleeding hell do 
  283. you get the two zeros, the 28, and "OK:=" from? With that additional 
  284. information anyone can fix up their fractint.cfg...
  285.  
  286. >  I can email vesa2cfg.zip to anyone interested, just ask.
  287.  
  288. Even better would be to simply post the URL...
  289. Along with a good description of how to turn the vesa2cfg output line 
  290. into a fractint.cfg line.
  291.    .*.  "Clouds are not spheres, mountains are not cones, coastlines are not
  292. - -()  <  circles, and bark is not smooth, nor does lightning travel in a
  293.    `*'  straight line."     ------------------------------------------------
  294.         -- B. Mandelbrot   | Paul Derbyshire (PGD) ao950@freenet.carleton.ca
  295. ______________________ ____|_____________          pderbysh@chat.carleton.ca
  296. Programmer & Humanist |  ICQ:  10423848  | http://chat.carleton.ca/~pderbysh
  297.  
  298. ______________________________________________________
  299. Get Your Private, Free Email at http://www.hotmail.com
  300.  
  301. - -
  302. - ------------------------------------------------------------
  303. Thanks for using Fractint, The Fractals and Fractint Discussion List
  304. Post Message:   fractint@xmission.com
  305. Get Commands:   majordomo@xmission.com "help"
  306. Administrator:  twegner@phoenix.net
  307. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  308.  
  309. ------------------------------
  310.  
  311. Date: Wed, 01 Apr 1998 18:23:21 -0600
  312. From: "Paul N. Lee" <Paul.N.Lee@Worldnet.att.net>
  313. Subject: Re: (fractint) Copywright and common sense
  314.  
  315. Lavondyss wrote:
  316. >
  317. > I just found a printing shop here (Kinko's Copy) and
  318. > I inquired about poster printing (for fractals) and
  319. > they said the largest is 36 inches width and as long
  320. > as you want.  The price: $1.25 per foot lengthwise.
  321. > Would that be cheap or expensive?  The paper they
  322. > would be using the the 20-lb plain white paper. My
  323. > question is: Should I go ahead and do a print?
  324. >
  325.  
  326. I don't know what city you're located in, but that is an exceptional
  327. price.  All the Kinko's in the DF/W metroplex here in Texas charge US
  328. $10 per square foot.  They use HP printers for 300 and 600 DPI oversize
  329. color output.  They will take almost any form of digital input (GIF,
  330. JPEG, TIFF, etc...).
  331.  
  332. P.N.L.
  333.  
  334. - -------------------------------------------------
  335.      Why do most folks hate cynics so much?
  336.        Because we're almost always right.
  337. - -------------------------------------------------
  338. http://home.att.net/~Paul.N.Lee/PNL_Fractals.html
  339.  
  340. - -
  341. - ------------------------------------------------------------
  342. Thanks for using Fractint, The Fractals and Fractint Discussion List
  343. Post Message:   fractint@xmission.com
  344. Get Commands:   majordomo@xmission.com "help"
  345. Administrator:  twegner@phoenix.net
  346. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  347.  
  348. ------------------------------
  349.  
  350. Date: Wed, 01 Apr 1998 16:26:00 PST
  351. From: "Paul Derbyshire" <pgd73@hotmail.com>
  352. Subject: Re: (fractint) Copywright and common sense
  353.  
  354. Sylvie Gallet wrote:
  355. >   Yes, I'm female.
  356.  
  357. Suspected as much from the style of your work. Besides I've never ever 
  358. ever seen a male named Sylvie or Sylvia. Sylvain seems to be the male 
  359. version. They all come from the root Sylv meaning "of the woods"...
  360.  
  361.  
  362. Lavondyss (WTF is a lavondyss anyways? :-)) wrote:
  363. >I thought I was right about Sylvie. Someone thought you were male. He
  364. >could have been assuming all fractineers are male...
  365.  
  366. Aaaaaaaaaaa! Gak! *Ptoooie*!
  367. That word sounds too much like "engineers" for my tastes...
  368. :-)
  369.  
  370. >I just found a printing shop here (Kinko's Copy)...
  371.  
  372. With a name like that, I suggest you verify with them that they don't 
  373. specialize in something other than fractals first... <g>
  374.  
  375. >The paper they would be using the the 20lb plain white paper.
  376.  
  377. What the... is this company specializingin posters for weight lifters? I 
  378. haven't met a piece of paper that weighed more than 5 grams, sopping 
  379. wet, unless it was unbelievably huge (butcher-wrap rolled for half a 
  380. klick across a schoolyard being drawn on by kids, etc...)
  381. Have you got your measuring units right? 20lb is about 40kg, or about 
  382. half the amount your computer monitor weighs! (Unless you have a really 
  383. huge one or a laptop.)
  384.  
  385. - -- Paul [Definitely not a 'geer!]
  386.  
  387.    .*.  "Clouds are not spheres, mountains are not cones, coastlines are not
  388. - -()  <  circles, and bark is not smooth, nor does lightning travel in a
  389.    `*'  straight line."     ------------------------------------------------
  390.         -- B. Mandelbrot   | Paul Derbyshire (PGD) ao950@freenet.carleton.ca
  391. ______________________ ____|_____________          pderbysh@chat.carleton.ca
  392. Programmer & Humanist |  ICQ:  10423848  | http://chat.carleton.ca/~pderbysh
  393.  
  394. ______________________________________________________
  395. Get Your Private, Free Email at http://www.hotmail.com
  396.  
  397. - -
  398. - ------------------------------------------------------------
  399. Thanks for using Fractint, The Fractals and Fractint Discussion List
  400. Post Message:   fractint@xmission.com
  401. Get Commands:   majordomo@xmission.com "help"
  402. Administrator:  twegner@phoenix.net
  403. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  404.  
  405. ------------------------------
  406.  
  407. Date: Wed, 01 Apr 1998 16:30:58 PST
  408. From: "Paul Derbyshire" <pgd73@hotmail.com>
  409. Subject: Re: (fractint) Paul Derbyshire's Nuclear pars
  410.  
  411. >I noticed that there are some formula omissions from you "nuclear" 
  412. series:
  413. >
  414. >formulaname=nuclear_jcollogb required for 
  415. >nuke_j_9a1         {
  416. >
  417. >formulaname=nuclear_jcollogc required for 
  418. >nuke_j_17          {
  419.  
  420. Shit... Nuclear.frm has been posted in several installments (as I came 
  421. up with tweaks and new variations) and you evidently got some but not 
  422. all.
  423.  
  424. Here is the entire nuclear.frm (could someone please group 
  425. installment-posted formulas into one file somewhere for download & post 
  426. the URL as a service to the list? I don't want to wait until I'm sure 
  427. I'll never ever ever again refine a formula, before posting! But I don't 
  428. want posting in chunks to cause trouble either...):
  429.  
  430.  
  431. Nuclear_Jul { ; p1, p2, p3 parameters. Use float=y.
  432.   a=p1, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  433. r3ac=r3*ac, ack=k*ac
  434.   z=pixel:
  435.   z2=sqr(z)
  436.   z3=z*z2
  437.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  438.   lastsqr<=1000000
  439. }
  440.  
  441. Nuclear_JulCol { ; p1, p2, p3 parameters. Use float=y, outside=real, 
  442. logmap=0,
  443.                  ; periodicity=0. Colors from 4 ranges by finite 
  444. attractors
  445.                  ; and attracted to infinity.
  446.   a=p1, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  447. r3ac=r3*ac, ack=k*ac
  448.   m=maxit-1, m4=m/2, iter=0, done=0, iter2=0
  449.   qq=0.000001, bail=1000
  450.   IF(notfirstpixel)
  451.     m4=0
  452.   ELSE
  453.     za=-1
  454.     zb=0
  455.     zc=1
  456.     qqa=qq
  457.     qqb=qq
  458.     qqc=qq
  459.   ENDIF
  460.   z=pixel
  461.   :
  462.   IF(iter<m4)
  463.     IF(qqa>0)
  464.       z2=sqr(za)
  465.       z3=za*z2
  466.       za=(r3a2*z3-a6*z2-r3ac*za-ac)/(r3*za+1)+ack
  467.       IF(|za|>bail)
  468.         qqa=0
  469.       ENDIF
  470.     ENDIF
  471.     IF(qqb>0)
  472.       z2=sqr(zb)
  473.       z3=zb*z2
  474.       zb=(r3a2*z3-a6*z2-r3ac*zb-ac)/(r3*zb+1)+ack
  475.       IF(|zb|>bail)
  476.         qqb=0
  477.       ENDIF
  478.     ENDIF
  479.     IF(qqc>0)
  480.       z2=sqr(zc)
  481.       z3=zc*z2
  482.       zc=(r3a2*z3-a6*z2-r3ac*zc-ac)/(r3*zc+1)+ack
  483.       IF(|zc|>bail)
  484.         qqc=0
  485.       ENDIF
  486.     ENDIF
  487.     iter=iter+1
  488.   ELSE
  489.     z2=sqr(z)
  490.     z3=z*z2
  491.     z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack
  492.     iter=iter+1
  493.     iter2=iter2+1
  494.     IF(lastsqr>bail)
  495.       done=1
  496.       color=iter2
  497.       IF(color<1)
  498.         color=1
  499.       ENDIF
  500.       IF(color>66)
  501.         color=66
  502.       ENDIF
  503.     ELSEIF(|z-za|<qqa)
  504.       done=1
  505.       color=iter2
  506.       IF(color<1)
  507.         color=1
  508.       ENDIF
  509.       IF(color>63)
  510.         color=63
  511.       ENDIF
  512.       color=color+66
  513.     ELSEIF(|z-zb|<qqb)
  514.       done=1
  515.       color=iter2
  516.       IF(color<1)
  517.         color=1
  518.       ENDIF
  519.       IF(color>63)
  520.         color=63
  521.       ENDIF
  522.       color=color+129
  523.     ELSEIF(|z-zc|<qqc)
  524.       done=1
  525.       color=iter2
  526.       IF(color<1)
  527.         color=1
  528.       ENDIF
  529.       IF(color>63)
  530.         color=63
  531.       ENDIF
  532.       color=color+192
  533.     ENDIF
  534.     IF(done)
  535.       z=color-iter-7
  536.       notfirstpixel=1
  537.     ENDIF
  538.   ENDIF
  539.   done==0
  540. }
  541.  
  542. Nuclear_JColLog { ; p1, p2, p3 parameters. Use float=y, outside=real, 
  543. logmap=0,
  544.                   ; periodicity=0. Colors from 4 ranges by finite 
  545. attractors
  546.                   ; and attracted to infinity. Uses a "logmap".
  547.   a=p1, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  548. r3ac=r3*ac, ack=k*ac
  549.   m=maxit-1, m4=m/2, iter=0, done=0, iter2=0
  550.   qq=0.000001, bail=1000
  551.   IF(notfirstpixel)
  552.     m4=0
  553.   ELSE
  554.     za=-1
  555.     zb=0
  556.     zc=1
  557.     qqa=qq
  558.     qqb=qq
  559.     qqc=qq
  560.   ENDIF
  561.   m3=m-m4
  562.   z=pixel
  563.   :
  564.   IF(iter<m4)
  565.     IF(qqa>0)
  566.       z2=sqr(za)
  567.       z3=za*z2
  568.       za=(r3a2*z3-a6*z2-r3ac*za-ac)/(r3*za+1)+ack
  569.       IF(|za|>bail)
  570.         qqa=0
  571.       ENDIF
  572.     ENDIF
  573.     IF(qqb>0)
  574.       z2=sqr(zb)
  575.       z3=zb*z2
  576.       zb=(r3a2*z3-a6*z2-r3ac*zb-ac)/(r3*zb+1)+ack
  577.       IF(|zb|>bail)
  578.         qqb=0
  579.       ENDIF
  580.     ENDIF
  581.     IF(qqc>0)
  582.       z2=sqr(zc)
  583.       z3=zc*z2
  584.       zc=(r3a2*z3-a6*z2-r3ac*zc-ac)/(r3*zc+1)+ack
  585.       IF(|zc|>bail)
  586.         qqc=0
  587.       ENDIF
  588.     ENDIF
  589.     iter=iter+1
  590.   ELSE
  591.     z2=sqr(z)
  592.     z3=z*z2
  593.     z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack
  594.     iter=iter+1
  595.     iter2=iter2+1
  596.     IF(lastsqr>bail)
  597.       done=1
  598.       color=66*(log(iter2)/log(m3))
  599.       IF(color<1)
  600.         color=1
  601.       ENDIF
  602.       IF(color>66)
  603.         color=66
  604.       ENDIF
  605.     ELSEIF(|z-za|<qqa)
  606.       done=1
  607.       color=63*(log(iter2)/log(m3))
  608.       IF(color<1)
  609.         color=1
  610.       ENDIF
  611.       IF(color>63)
  612.         color=63
  613.       ENDIF
  614.       color=color+66
  615.     ELSEIF(|z-zb|<qqb)
  616.       done=1
  617.       color=63*(log(iter2)/log(m3))
  618.       IF(color<1)
  619.         color=1
  620.       ENDIF
  621.       IF(color>63)
  622.         color=63
  623.       ENDIF
  624.       color=color+129
  625.     ELSEIF(|z-zc|<qqc)
  626.       done=1
  627.       color=63*(log(iter2)/log(m3))
  628.       IF(color<1)
  629.         color=1
  630.       ENDIF
  631.       IF(color>63)
  632.         color=63
  633.       ENDIF
  634.       color=color+192
  635.     ENDIF
  636.     IF(done)
  637.       z=color-iter-7
  638.       notfirstpixel=1
  639.     ENDIF
  640.   ENDIF
  641.   done==0
  642. }
  643.  
  644. Nuclear_JColLogB { ; p1, p2, p3 parameters. Use float=y, outside=real, 
  645. logmap=0,
  646.                    ; periodicity=0. Colors from 4 ranges by finite 
  647. attractors
  648.                    ; and attracted to infinity. Uses a "logmap".
  649.                    ; Variation: qq shrunk.
  650.                    ; Suitable for deeper zooms.
  651.   a=p1, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  652. r3ac=r3*ac, ack=k*ac
  653.   m=maxit-1, m4=m/2, iter=0, done=0, iter2=0
  654.   qq=0.00000001, bail=1000
  655.   IF(notfirstpixel)
  656.     m4=0
  657.   ELSE
  658.     za=-1
  659.     zb=0
  660.     zc=1
  661.     qqa=qq
  662.     qqb=qq
  663.     qqc=qq
  664.   ENDIF
  665.   m3=m-m4
  666.   z=pixel
  667.   :
  668.   IF(iter<m4)
  669.     IF(qqa>0)
  670.       z2=sqr(za)
  671.       z3=za*z2
  672.       za=(r3a2*z3-a6*z2-r3ac*za-ac)/(r3*za+1)+ack
  673.       IF(|za|>bail)
  674.         qqa=0
  675.       ENDIF
  676.     ENDIF
  677.     IF(qqb>0)
  678.       z2=sqr(zb)
  679.       z3=zb*z2
  680.       zb=(r3a2*z3-a6*z2-r3ac*zb-ac)/(r3*zb+1)+ack
  681.       IF(|zb|>bail)
  682.         qqb=0
  683.       ENDIF
  684.     ENDIF
  685.     IF(qqc>0)
  686.       z2=sqr(zc)
  687.       z3=zc*z2
  688.       zc=(r3a2*z3-a6*z2-r3ac*zc-ac)/(r3*zc+1)+ack
  689.       IF(|zc|>bail)
  690.         qqc=0
  691.       ENDIF
  692.     ENDIF
  693.     iter=iter+1
  694.   ELSE
  695.     z2=sqr(z)
  696.     z3=z*z2
  697.     z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack
  698.     iter=iter+1
  699.     iter2=iter2+1
  700.     IF(lastsqr>bail)
  701.       done=1
  702.       color=66*(log(iter2)/log(m3))
  703.       IF(color<1)
  704.         color=1
  705.       ENDIF
  706.       IF(color>66)
  707.         color=66
  708.       ENDIF
  709.     ELSEIF(|z-za|<qqa)
  710.       done=1
  711.       color=63*(log(iter2)/log(m3))
  712.       IF(color<1)
  713.         color=1
  714.       ENDIF
  715.       IF(color>63)
  716.         color=63
  717.       ENDIF
  718.       color=color+66
  719.     ELSEIF(|z-zb|<qqb)
  720.       done=1
  721.       color=63*(log(iter2)/log(m3))
  722.       IF(color<1)
  723.         color=1
  724.       ENDIF
  725.       IF(color>63)
  726.         color=63
  727.       ENDIF
  728.       color=color+129
  729.     ELSEIF(|z-zc|<qqc)
  730.       done=1
  731.       color=63*(log(iter2)/log(m3))
  732.       IF(color<1)
  733.         color=1
  734.       ENDIF
  735.       IF(color>63)
  736.         color=63
  737.       ENDIF
  738.       color=color+192
  739.     ENDIF
  740.     IF(done)
  741.       z=color-iter-7
  742.       notfirstpixel=1
  743.     ENDIF
  744.   ENDIF
  745.   done==0
  746. }
  747.  
  748. Nuclear_M_k_0 { ; p1, p2 parameters. Use float=y. k is Mandel parameter,
  749.                 ; critical point 0.
  750.   a=p1, c=p2, k=pixel, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  751. r3ac=r3*ac, ack=k*ac
  752.   z=0:
  753.   z2=sqr(z)
  754.   z3=z*z2
  755.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  756.   lastsqr<=1000000
  757. }
  758.  
  759. Nuclear_M_k_1 { ; p1, p2 parameters. Use float=y. k is Mandel parameter,
  760.                 ; critical point 1.
  761.   a=p1, c=p2, k=pixel, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  762. r3ac=r3*ac, ack=k*ac
  763.   z=1:
  764.   z2=sqr(z)
  765.   z3=z*z2
  766.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  767.   lastsqr<=1000000
  768. }
  769.  
  770. Nuclear_M_k_-1 { ; p1, p2 parameters. Use float=y. k is Mandel 
  771. parameter,
  772.                 ; critical point -1.
  773.   a=p1, c=p2, k=pixel, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  774. r3ac=r3*ac, ack=k*ac
  775.   z=-1:
  776.   z2=sqr(z)
  777.   z3=z*z2
  778.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  779.   lastsqr<=1000000
  780. }
  781.  
  782. Nuclear_M_c_0 { ; p1, p3 parameters. Use float=y. c is Mandel parameter,
  783.                 ; critical point 0.
  784.   a=p1, c=pixel, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  785. r3ac=r3*ac, ack=k*ac
  786.   z=0:
  787.   z2=sqr(z)
  788.   z3=z*z2
  789.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  790.   lastsqr<=1000000
  791. }
  792.  
  793. Nuclear_M_c_1 { ; p1, p3 parameters. Use float=y. c is Mandel parameter,
  794.                 ; critical point 1.
  795.   a=p1, c=pixel, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  796. r3ac=r3*ac, ack=k*ac
  797.   z=1:
  798.   z2=sqr(z)
  799.   z3=z*z2
  800.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  801.   lastsqr<=1000000
  802. }
  803.  
  804. Nuclear_M_c_-1 { ; p1, p3 parameters. Use float=y. c is Mandel 
  805. parameter,
  806.                 ; critical point -1.
  807.   a=p1, c=pixel, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  808. r3ac=r3*ac, ack=k*ac
  809.   z=-1:
  810.   z2=sqr(z)
  811.   z3=z*z2
  812.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  813.   lastsqr<=1000000
  814. }
  815.  
  816. Nuclear_M_a_0 { ; p2, p3 parameters. Use float=y. a is Mandel parameter,
  817.                 ; critical point 0.
  818.   a=pixel, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  819. r3ac=r3*ac, ack=k*ac
  820.   z=0:
  821.   z2=sqr(z)
  822.   z3=z*z2
  823.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  824.   lastsqr<=1000000
  825. }
  826.  
  827. Nuclear_M_a_1 { ; p2, p3 parameters. Use float=y. a is Mandel parameter,
  828.                 ; critical point 1.
  829.   a=pixel, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  830. r3ac=r3*ac, ack=k*ac
  831.   z=1:
  832.   z2=sqr(z)
  833.   z3=z*z2
  834.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  835.   lastsqr<=1000000
  836. }
  837.  
  838. Nuclear_M_a_-1 { ; p2, p3 parameters. Use float=y. a is Mandel 
  839. parameter,
  840.                 ; critical point -1.
  841.   a=pixel, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  842. r3ac=r3*ac, ack=k*ac
  843.   z=-1:
  844.   z2=sqr(z)
  845.   z3=z*z2
  846.   z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack,
  847.   lastsqr<=1000000
  848. }
  849.  
  850.  
  851. Nuclear_M_k { ; p1, p2 parameters. k is Mandel parameter. Colored based 
  852. on all
  853.               ; 3 critical points. Use outside=real, float=y, 
  854. periodicity=n,
  855.               ; maxiter>=256, and logmap=0.
  856.               ; For logmap effect put real(p3) minimum iteration,
  857.               ; imag(p3) bigger than 1, e.g. 2.
  858.               ; Color 0 is for all critical points trapped.
  859.               ; Colors 1-66, 67-129, 130-192, and 193-255 are separate 
  860. ranges.
  861.               ; Use first for outside, second thru fourth for two
  862.               ; critical points escape, one trapped...
  863.   a=p1, c=p2, k=pixel, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  864. r3ac=r3*ac, ack=k*ac
  865.   min=real(p3)
  866.   p=imag(p3)
  867.   IF(p==0)
  868.     p=1
  869.   ENDIF
  870.   z1=0, z2=1, z3=-1
  871.   qq=10^-2, iter=0, done=0, z2done=0, m=maxit-1, z1done=0, z3done=0, 
  872. m2=floor(maxit/2), z1a=z1, z2a=z2, z3a=z3, flag=0, z1d2=0, z2d2=0, 
  873. z3d2=0, qrl=1.5, q2=0.15
  874.   :
  875.   IF(z3done==0)
  876.     zz2=sqr(z3)
  877.     zz3=z3*zz2
  878.     z3=(r3a2*zz3-a6*zz2-r3ac*z3-ac)/(r3*z3+1)+ack,
  879.     IF(lastsqr>10000)
  880.       z3done=iter
  881.       z3d2=1
  882.     ENDIF
  883.   ENDIF
  884.   IF(z2done==0)
  885.     zz2=sqr(z2)
  886.     zz3=z2*zz2
  887.     z2=(r3a2*zz3-a6*zz2-r3ac*z2-ac)/(r3*z2+1)+ack,
  888.     IF(lastsqr>10000)
  889.       z2done=iter
  890.       z2d2=1
  891.     ENDIF
  892.   ENDIF
  893.   IF(z1done==0)
  894.     zz2=sqr(z1)
  895.     zz3=z1*zz2
  896.     z1=(r3a2*zz3-a6*zz2-r3ac*z1-ac)/(r3*z1+1)+ack,
  897.     IF(lastsqr>10000)
  898.       z1done=iter
  899.       z1d2=1
  900.     ENDIF
  901.   ENDIF
  902.   iter=iter+1
  903.   IF(iter>=m2 && iter<(m2+1) && flag=0)
  904.     z1chek=z1
  905.     z2chek=z2
  906.     z3chek=z3
  907.     flag=1
  908.     spd=0
  909.     first=0
  910.     same12=0
  911.     same23=0
  912.     same13=0
  913.   ELSEIF(flag==1)
  914.     zz2=sqr(z1a)
  915.     zz3=z1a*zz2
  916.     z1a=(r3a2*zz3-a6*zz2-r3ac*z1a-ac)/(r3*z1a+1)+ack
  917.     zz2=sqr(z2a)
  918.     zz3=z2a*zz2
  919.     z2a=(r3a2*zz3-a6*zz2-r3ac*z2a-ac)/(r3*z2a+1)+ack
  920.     zz2=sqr(z3a)
  921.     zz3=z3a*zz2
  922.     z3a=(r3a2*zz3-a6*zz2-r3ac*z3a-ac)/(r3*z3a+1)+ack
  923.     spd=spd+1
  924.     IF(|z1a-z2chek|<qq)
  925.       same12=1
  926.       z1d2=spd
  927.       IF(first==0 && |z2a-z1chek|>=qq)
  928.         first=1
  929.       ENDIF
  930.     ENDIF
  931.     IF(|z2a-z1chek|<qq)
  932.       same12=1
  933.       z2d2=spd
  934.       IF(first==0 && |z1a-z2chek|>=qq)
  935.         first=2
  936.       ENDIF
  937.     ENDIF
  938.     IF(|z1a-z3chek|<qq)
  939.       same13=1
  940.       z1d2=spd
  941.       IF(first==0 && |z3a-z1chek|>=qq)
  942.         first=1
  943.       ENDIF
  944.     ENDIF
  945.     IF(|z3a-z1chek|<qq)
  946.       same13=1
  947.       z3d2=spd
  948.       IF(first==0 && |z1a-z3chek|>=qq)
  949.         first=3
  950.       ENDIF
  951.     ENDIF
  952.     IF(|z2a-z3chek|<qq)
  953.       same23=1
  954.       z2d2=spd
  955.       IF(first==0 && |z3a-z2chek|>=qq)
  956.         first=2
  957.       ENDIF
  958.     ENDIF
  959.     IF(|z3a-z2chek|<qq)
  960.       same23=1
  961.       z3d2=spd
  962.       IF(first==0 && |z2a-z3chek|>=qq)
  963.         first=3
  964.       ENDIF
  965.     ENDIF
  966.   ENDIF
  967.   IF((z1d2>0 && z2d2>0 && z3d2>0) || iter==m)
  968.     IF(z1done==0 || z2done==0 || z3done==0)
  969.       IF(z2done>0 && z3done>0)
  970.         ddd=z2done
  971.         IF(z3done>ddd)
  972.           ddd=z3done
  973.         ENDIF
  974.         color=((ddd-min)/(m-min))^(1/p)*63
  975.         IF(color>63)
  976.           color=63
  977.         ENDIF
  978.         IF(color<1)
  979.           color=1
  980.         ENDIF
  981.         color=color+66
  982.       ELSEIF(z1done>0 && z3done>0)
  983.         ddd=z1done
  984.         IF(z3done>ddd)
  985.           ddd=z3done
  986.         ENDIF
  987.         color=((ddd-min)/(m-min))^(1/p)*63
  988.         IF(color>63)
  989.           color=63
  990.         ENDIF
  991.         IF(color<1)
  992.           color=1
  993.         ENDIF
  994.         color=color+129
  995.       ELSEIF(z1done>0 && z2done>0)
  996.         ddd=z1done
  997.         IF(z2done>ddd)
  998.           ddd=z2done
  999.         ENDIF
  1000.         color=((ddd-min)/(m-min))^(1/p)*63
  1001.         IF(color>63)
  1002.           color=63
  1003.         ENDIF
  1004.         IF(color<1)
  1005.           color=1
  1006.         ENDIF
  1007.         color=color+192
  1008.       ELSEIF(z1done>0)
  1009.         IF(same23!=0 && first!=0)
  1010.           ddd=z1done*(q2*abs(z2d2-z3d2))^qrl
  1011.           color=((ddd-min)/(m-min))^(1/p)*63
  1012.         ELSE
  1013.           color=((z1done-min)/(m-min))^(1/p)*63
  1014.         ENDIF
  1015.         IF(color>63)
  1016.           color=63
  1017.         ENDIF
  1018.         IF(color<1)
  1019.           color=1
  1020.         ENDIF
  1021.         IF(same23==0)
  1022.           color=color+66
  1023.         ELSE
  1024.           IF(first==0)
  1025.             color=color+66
  1026.           ELSEIF(first==2)
  1027.             color=color+129
  1028.           ELSE
  1029.             color=color+192
  1030.           ENDIF
  1031.         ENDIF
  1032.       ELSEIF(z2done>0)
  1033.         IF(same13!=0 && first!=0)
  1034.           ddd=z2done*(q2*abs(z1d2-z3d2))^qrl
  1035.           color=((ddd-min)/(m-min))^(1/p)*63
  1036.         ELSE
  1037.           color=((z2done-min)/(m-min))^(1/p)*63
  1038.         ENDIF
  1039.         IF(color>63)
  1040.           color=63
  1041.         ENDIF
  1042.         IF(color<1)
  1043.           color=1
  1044.         ENDIF
  1045.         IF(same13==0)
  1046.           color=color+129
  1047.         ELSE
  1048.           IF(first==0)
  1049.             color=color+129
  1050.           ELSEIF(first==1)
  1051.             color=color+66
  1052.           ELSE
  1053.             color=color+192
  1054.           ENDIF
  1055.         ENDIF
  1056.       ELSEIF(z3done>0)
  1057.         IF(same12!=0 && first!=0)
  1058.           ddd=z3done*(q2*abs(z1d2-z2d2))^qrl
  1059.           color=((ddd-min)/(m-min))^(1/p)*63
  1060.         ELSE
  1061.           color=((z3done-min)/(m-min))^(1/p)*63
  1062.         ENDIF
  1063.         IF(color>63)
  1064.           color=63
  1065.         ENDIF
  1066.         IF(color<1)
  1067.           color=1
  1068.         ENDIF
  1069.         IF(same12==0)
  1070.           color=color+192
  1071.         ELSE
  1072.           IF(first==0)
  1073.             color=color+192
  1074.           ELSEIF(first==1)
  1075.             color=color+66
  1076.           ELSE
  1077.             color=color+129
  1078.           ENDIF
  1079.         ENDIF
  1080.       ELSEIF(same12==1 && same23==1)
  1081.         ddd=abs(z1d2-z2d2)
  1082.         IF(abs(z1d2-z3d2)<ddd)
  1083.           ddd=abs(z1d2-z3d2)
  1084.         ENDIF
  1085.         IF(abs(z2d2-z3d2)<ddd)
  1086.           ddd=abs(z2d2-z3d2)
  1087.         ENDIF
  1088.         IF(first==0)
  1089.           color=(ddd/m)^(1/p)*66
  1090.           IF(color>66)
  1091.             color=66
  1092.           ENDIF
  1093.         ELSE
  1094.           color=(ddd/m)^(1/p)*63
  1095.           IF(color>63)
  1096.             color=63
  1097.           ENDIF
  1098.         ENDIF
  1099.         IF(color<1)
  1100.           color=1
  1101.         ENDIF
  1102.         IF(first==1)
  1103.           color=color+66
  1104.         ELSEIF(first==2)
  1105.           color=color+129
  1106.         ELSEIF(first==3)
  1107.           color=color+192
  1108.         ENDIF
  1109.       ELSEIF(same12==1)
  1110.         ddd=abs(z1d2-z2d2)
  1111.         color=(ddd/m)^(1/p)*63
  1112.         IF(color>63)
  1113.           color=63
  1114.         ENDIF
  1115.         IF(color<1)
  1116.           color=1
  1117.         ENDIF
  1118.         IF(first==0)
  1119.           color=color+192
  1120.         ELSEIF(first==1)
  1121.           color=color+66
  1122.         ELSE
  1123.           color=color+129
  1124.         ENDIF
  1125.       ELSEIF(same13==1)
  1126.         ddd=abs(z1d2-z3d2)
  1127.         color=(ddd/m)^(1/p)*63
  1128.         IF(color>63)
  1129.           color=63
  1130.         ENDIF
  1131.         IF(color<1)
  1132.           color=1
  1133.         ENDIF
  1134.         IF(first==0)
  1135.           color=color+129
  1136.         ELSEIF(first==1)
  1137.           color=color+66
  1138.         ELSE
  1139.           color=color+192
  1140.         ENDIF
  1141.       ELSEIF(same23==1)
  1142.         ddd=abs(z2d2-z3d2)
  1143.         color=(ddd/m)^(1/p)*63
  1144.         IF(color>63)
  1145.           color=63
  1146.         ENDIF
  1147.         IF(color<1)
  1148.           color=1
  1149.         ENDIF
  1150.         IF(first==0)
  1151.           color=color+66
  1152.         ELSEIF(first==2)
  1153.           color=color+129
  1154.         ELSE
  1155.           color=color+192
  1156.         ENDIF
  1157.       ELSE
  1158.         color=0
  1159.       ENDIF
  1160.     ELSE
  1161.       color=((iter-min)/(m-min))^(1/p)*66
  1162.       IF(color>66)
  1163.         color=66
  1164.       ENDIF
  1165.       IF(color<1)
  1166.         color=1
  1167.       ENDIF
  1168.     ENDIF
  1169.     done=1
  1170.     z=color-iter-7
  1171.   ENDIF
  1172.   done==0
  1173. }
  1174.  
  1175. Nuclear_M_c { ; p1, p3 parameters. c is Mandel parameter. Colored based 
  1176. on all
  1177.               ; 3 critical points. Use outside=real, float=y, 
  1178. periodicity=n,
  1179.               ; maxiter>=256, and logmap=0.
  1180.               ; For logmap effect put real(p2) minimum iteration,
  1181.               ; imag(p2) bigger than 1, e.g. 2.
  1182.               ; Color 0 is for all critical points trapped.
  1183.               ; Colors 1-66, 67-129, 130-192, and 193-255 are separate 
  1184. ranges.
  1185.               ; Use first for outside, second thru fourth for two
  1186.               ; critical points escape, one trapped...
  1187.   a=p1, c=pixel, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  1188. r3ac=r3*ac, ack=k*ac
  1189.   min=real(p2)
  1190.   p=imag(p2)
  1191.   IF(p==0)
  1192.     p=1
  1193.   ENDIF
  1194.   z1=0, z2=1, z3=-1
  1195.   qq=10^-2, iter=0, done=0, z2done=0, m=maxit-1, z1done=0, z3done=0, 
  1196. m2=floor(maxit/2), z1a=z1, z2a=z2, z3a=z3, flag=0, z1d2=0, z2d2=0, 
  1197. z3d2=0, qrl=1.5, q2=0.15
  1198.   :
  1199.   IF(z3done==0)
  1200.     zz2=sqr(z3)
  1201.     zz3=z3*zz2
  1202.     z3=(r3a2*zz3-a6*zz2-r3ac*z3-ac)/(r3*z3+1)+ack,
  1203.     IF(lastsqr>10000)
  1204.       z3done=iter
  1205.       z3d2=1
  1206.     ENDIF
  1207.   ENDIF
  1208.   IF(z2done==0)
  1209.     zz2=sqr(z2)
  1210.     zz3=z2*zz2
  1211.     z2=(r3a2*zz3-a6*zz2-r3ac*z2-ac)/(r3*z2+1)+ack,
  1212.     IF(lastsqr>10000)
  1213.       z2done=iter
  1214.       z2d2=1
  1215.     ENDIF
  1216.   ENDIF
  1217.   IF(z1done==0)
  1218.     zz2=sqr(z1)
  1219.     zz3=z1*zz2
  1220.     z1=(r3a2*zz3-a6*zz2-r3ac*z1-ac)/(r3*z1+1)+ack,
  1221.     IF(lastsqr>10000)
  1222.       z1done=iter
  1223.       z1d2=1
  1224.     ENDIF
  1225.   ENDIF
  1226.   iter=iter+1
  1227.   IF(iter>=m2 && iter<(m2+1) && flag=0)
  1228.     z1chek=z1
  1229.     z2chek=z2
  1230.     z3chek=z3
  1231.     flag=1
  1232.     spd=0
  1233.     first=0
  1234.     same12=0
  1235.     same23=0
  1236.     same13=0
  1237.   ELSEIF(flag==1)
  1238.     zz2=sqr(z1a)
  1239.     zz3=z1a*zz2
  1240.     z1a=(r3a2*zz3-a6*zz2-r3ac*z1a-ac)/(r3*z1a+1)+ack
  1241.     zz2=sqr(z2a)
  1242.     zz3=z2a*zz2
  1243.     z2a=(r3a2*zz3-a6*zz2-r3ac*z2a-ac)/(r3*z2a+1)+ack
  1244.     zz2=sqr(z3a)
  1245.     zz3=z3a*zz2
  1246.     z3a=(r3a2*zz3-a6*zz2-r3ac*z3a-ac)/(r3*z3a+1)+ack
  1247.     spd=spd+1
  1248.     IF(|z1a-z2chek|<qq)
  1249.       same12=1
  1250.       z1d2=spd
  1251.       IF(first==0 && |z2a-z1chek|>=qq)
  1252.         first=1
  1253.       ENDIF
  1254.     ENDIF
  1255.     IF(|z2a-z1chek|<qq)
  1256.       same12=1
  1257.       z2d2=spd
  1258.       IF(first==0 && |z1a-z2chek|>=qq)
  1259.         first=2
  1260.       ENDIF
  1261.     ENDIF
  1262.     IF(|z1a-z3chek|<qq)
  1263.       same13=1
  1264.       z1d2=spd
  1265.       IF(first==0 && |z3a-z1chek|>=qq)
  1266.         first=1
  1267.       ENDIF
  1268.     ENDIF
  1269.     IF(|z3a-z1chek|<qq)
  1270.       same13=1
  1271.       z3d2=spd
  1272.       IF(first==0 && |z1a-z3chek|>=qq)
  1273.         first=3
  1274.       ENDIF
  1275.     ENDIF
  1276.     IF(|z2a-z3chek|<qq)
  1277.       same23=1
  1278.       z2d2=spd
  1279.       IF(first==0 && |z3a-z2chek|>=qq)
  1280.         first=2
  1281.       ENDIF
  1282.     ENDIF
  1283.     IF(|z3a-z2chek|<qq)
  1284.       same23=1
  1285.       z3d2=spd
  1286.       IF(first==0 && |z2a-z3chek|>=qq)
  1287.         first=3
  1288.       ENDIF
  1289.     ENDIF
  1290.   ENDIF
  1291.   IF((z1d2>0 && z2d2>0 && z3d2>0) || iter==m)
  1292.     IF(z1done==0 || z2done==0 || z3done==0)
  1293.       IF(z2done>0 && z3done>0)
  1294.         ddd=z2done
  1295.         IF(z3done>ddd)
  1296.           ddd=z3done
  1297.         ENDIF
  1298.         color=((ddd-min)/(m-min))^(1/p)*63
  1299.         IF(color>63)
  1300.           color=63
  1301.         ENDIF
  1302.         IF(color<1)
  1303.           color=1
  1304.         ENDIF
  1305.         color=color+66
  1306.       ELSEIF(z1done>0 && z3done>0)
  1307.         ddd=z1done
  1308.         IF(z3done>ddd)
  1309.           ddd=z3done
  1310.         ENDIF
  1311.         color=((ddd-min)/(m-min))^(1/p)*63
  1312.         IF(color>63)
  1313.           color=63
  1314.         ENDIF
  1315.         IF(color<1)
  1316.           color=1
  1317.         ENDIF
  1318.         color=color+129
  1319.       ELSEIF(z1done>0 && z2done>0)
  1320.         ddd=z1done
  1321.         IF(z2done>ddd)
  1322.           ddd=z2done
  1323.         ENDIF
  1324.         color=((ddd-min)/(m-min))^(1/p)*63
  1325.         IF(color>63)
  1326.           color=63
  1327.         ENDIF
  1328.         IF(color<1)
  1329.           color=1
  1330.         ENDIF
  1331.         color=color+192
  1332.       ELSEIF(z1done>0)
  1333.         IF(same23!=0 && first!=0)
  1334.           ddd=z1done*(q2*abs(z2d2-z3d2))^qrl
  1335.           color=((ddd-min)/(m-min))^(1/p)*63
  1336.         ELSE
  1337.           color=((z1done-min)/(m-min))^(1/p)*63
  1338.         ENDIF
  1339.         IF(color>63)
  1340.           color=63
  1341.         ENDIF
  1342.         IF(color<1)
  1343.           color=1
  1344.         ENDIF
  1345.         IF(same23==0)
  1346.           color=color+66
  1347.         ELSE
  1348.           IF(first==0)
  1349.             color=color+66
  1350.           ELSEIF(first==2)
  1351.             color=color+129
  1352.           ELSE
  1353.             color=color+192
  1354.           ENDIF
  1355.         ENDIF
  1356.       ELSEIF(z2done>0)
  1357.         IF(same13!=0 && first!=0)
  1358.           ddd=z2done*(q2*abs(z1d2-z3d2))^qrl
  1359.           color=((ddd-min)/(m-min))^(1/p)*63
  1360.         ELSE
  1361.           color=((z2done-min)/(m-min))^(1/p)*63
  1362.         ENDIF
  1363.         IF(color>63)
  1364.           color=63
  1365.         ENDIF
  1366.         IF(color<1)
  1367.           color=1
  1368.         ENDIF
  1369.         IF(same13==0)
  1370.           color=color+129
  1371.         ELSE
  1372.           IF(first==0)
  1373.             color=color+129
  1374.           ELSEIF(first==1)
  1375.             color=color+66
  1376.           ELSE
  1377.             color=color+192
  1378.           ENDIF
  1379.         ENDIF
  1380.       ELSEIF(z3done>0)
  1381.         IF(same12!=0 && first!=0)
  1382.           ddd=z3done*(q2*abs(z1d2-z2d2))^qrl
  1383.           color=((ddd-min)/(m-min))^(1/p)*63
  1384.         ELSE
  1385.           color=((z3done-min)/(m-min))^(1/p)*63
  1386.         ENDIF
  1387.         IF(color>63)
  1388.           color=63
  1389.         ENDIF
  1390.         IF(color<1)
  1391.           color=1
  1392.         ENDIF
  1393.         IF(same12==0)
  1394.           color=color+192
  1395.         ELSE
  1396.           IF(first==0)
  1397.             color=color+192
  1398.           ELSEIF(first==1)
  1399.             color=color+66
  1400.           ELSE
  1401.             color=color+129
  1402.           ENDIF
  1403.         ENDIF
  1404.       ELSEIF(same12==1 && same23==1)
  1405.         ddd=abs(z1d2-z2d2)
  1406.         IF(abs(z1d2-z3d2)<ddd)
  1407.           ddd=abs(z1d2-z3d2)
  1408.         ENDIF
  1409.         IF(abs(z2d2-z3d2)<ddd)
  1410.           ddd=abs(z2d2-z3d2)
  1411.         ENDIF
  1412.         IF(first==0)
  1413.           color=(ddd/m)^(1/p)*66
  1414.           IF(color>66)
  1415.             color=66
  1416.           ENDIF
  1417.         ELSE
  1418.           color=(ddd/m)^(1/p)*63
  1419.           IF(color>63)
  1420.             color=63
  1421.           ENDIF
  1422.         ENDIF
  1423.         IF(color<1)
  1424.           color=1
  1425.         ENDIF
  1426.         IF(first==1)
  1427.           color=color+66
  1428.         ELSEIF(first==2)
  1429.           color=color+129
  1430.         ELSEIF(first==3)
  1431.           color=color+192
  1432.         ENDIF
  1433.       ELSEIF(same12==1)
  1434.         ddd=abs(z1d2-z2d2)
  1435.         color=(ddd/m)^(1/p)*63
  1436.         IF(color>63)
  1437.           color=63
  1438.         ENDIF
  1439.         IF(color<1)
  1440.           color=1
  1441.         ENDIF
  1442.         IF(first==0)
  1443.           color=color+192
  1444.         ELSEIF(first==1)
  1445.           color=color+66
  1446.         ELSE
  1447.           color=color+129
  1448.         ENDIF
  1449.       ELSEIF(same13==1)
  1450.         ddd=abs(z1d2-z3d2)
  1451.         color=(ddd/m)^(1/p)*63
  1452.         IF(color>63)
  1453.           color=63
  1454.         ENDIF
  1455.         IF(color<1)
  1456.           color=1
  1457.         ENDIF
  1458.         IF(first==0)
  1459.           color=color+129
  1460.         ELSEIF(first==1)
  1461.           color=color+66
  1462.         ELSE
  1463.           color=color+192
  1464.         ENDIF
  1465.       ELSEIF(same23==1)
  1466.         ddd=abs(z2d2-z3d2)
  1467.         color=(ddd/m)^(1/p)*63
  1468.         IF(color>63)
  1469.           color=63
  1470.         ENDIF
  1471.         IF(color<1)
  1472.           color=1
  1473.         ENDIF
  1474.         IF(first==0)
  1475.           color=color+66
  1476.         ELSEIF(first==2)
  1477.           color=color+129
  1478.         ELSE
  1479.           color=color+192
  1480.         ENDIF
  1481.       ELSE
  1482.         color=0
  1483.       ENDIF
  1484.     ELSE
  1485.       color=((iter-min)/(m-min))^(1/p)*66
  1486.       IF(color>66)
  1487.         color=66
  1488.       ENDIF
  1489.       IF(color<1)
  1490.         color=1
  1491.       ENDIF
  1492.     ENDIF
  1493.     done=1
  1494.     z=color-iter-7
  1495.   ENDIF
  1496.   done==0
  1497. }
  1498.  
  1499. Nuclear_M_a { ; p2, p3 parameters. c is Mandel parameter. Colored based 
  1500. on all
  1501.               ; 3 critical points. Use outside=real, float=y, 
  1502. periodicity=n,
  1503.               ; maxiter>=256, and logmap=0.
  1504.               ; For logmap effect put real(p1) minimum iteration,
  1505.               ; imag(p1) bigger than 1, e.g. 2.
  1506.               ; Color 0 is for all critical points trapped.
  1507.               ; Colors 1-66, 67-129, 130-192, and 193-255 are separate 
  1508. ranges.
  1509.               ; Use first for outside, second thru fourth for two
  1510.               ; critical points escape, one trapped...
  1511.   a=pixel, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  1512. r3ac=r3*ac, ack=k*ac
  1513.   min=real(p1)
  1514.   p=imag(p1)
  1515.   IF(p==0)
  1516.     p=1
  1517.   ENDIF
  1518.   z1=0, z2=1, z3=-1
  1519.   qq=10^-2, iter=0, done=0, z2done=0, m=maxit-1, z1done=0, z3done=0, 
  1520. m2=floor(maxit/2), z1a=z1, z2a=z2, z3a=z3, flag=0, z1d2=0, z2d2=0, 
  1521. z3d2=0, qrl=1.5, q2=0.15
  1522.   :
  1523.   IF(z3done==0)
  1524.     zz2=sqr(z3)
  1525.     zz3=z3*zz2
  1526.     z3=(r3a2*zz3-a6*zz2-r3ac*z3-ac)/(r3*z3+1)+ack,
  1527.     IF(lastsqr>10000)
  1528.       z3done=iter
  1529.       z3d2=1
  1530.     ENDIF
  1531.   ENDIF
  1532.   IF(z2done==0)
  1533.     zz2=sqr(z2)
  1534.     zz3=z2*zz2
  1535.     z2=(r3a2*zz3-a6*zz2-r3ac*z2-ac)/(r3*z2+1)+ack,
  1536.     IF(lastsqr>10000)
  1537.       z2done=iter
  1538.       z2d2=1
  1539.     ENDIF
  1540.   ENDIF
  1541.   IF(z1done==0)
  1542.     zz2=sqr(z1)
  1543.     zz3=z1*zz2
  1544.     z1=(r3a2*zz3-a6*zz2-r3ac*z1-ac)/(r3*z1+1)+ack,
  1545.     IF(lastsqr>10000)
  1546.       z1done=iter
  1547.       z1d2=1
  1548.     ENDIF
  1549.   ENDIF
  1550.   iter=iter+1
  1551.   IF(iter>=m2 && iter<(m2+1) && flag=0)
  1552.     z1chek=z1
  1553.     z2chek=z2
  1554.     z3chek=z3
  1555.     flag=1
  1556.     spd=0
  1557.     first=0
  1558.     same12=0
  1559.     same23=0
  1560.     same13=0
  1561.   ELSEIF(flag==1)
  1562.     zz2=sqr(z1a)
  1563.     zz3=z1a*zz2
  1564.     z1a=(r3a2*zz3-a6*zz2-r3ac*z1a-ac)/(r3*z1a+1)+ack
  1565.     zz2=sqr(z2a)
  1566.     zz3=z2a*zz2
  1567.     z2a=(r3a2*zz3-a6*zz2-r3ac*z2a-ac)/(r3*z2a+1)+ack
  1568.     zz2=sqr(z3a)
  1569.     zz3=z3a*zz2
  1570.     z3a=(r3a2*zz3-a6*zz2-r3ac*z3a-ac)/(r3*z3a+1)+ack
  1571.     spd=spd+1
  1572.     IF(|z1a-z2chek|<qq)
  1573.       same12=1
  1574.       z1d2=spd
  1575.       IF(first==0 && |z2a-z1chek|>=qq)
  1576.         first=1
  1577.       ENDIF
  1578.     ENDIF
  1579.     IF(|z2a-z1chek|<qq)
  1580.       same12=1
  1581.       z2d2=spd
  1582.       IF(first==0 && |z1a-z2chek|>=qq)
  1583.         first=2
  1584.       ENDIF
  1585.     ENDIF
  1586.     IF(|z1a-z3chek|<qq)
  1587.       same13=1
  1588.       z1d2=spd
  1589.       IF(first==0 && |z3a-z1chek|>=qq)
  1590.         first=1
  1591.       ENDIF
  1592.     ENDIF
  1593.     IF(|z3a-z1chek|<qq)
  1594.       same13=1
  1595.       z3d2=spd
  1596.       IF(first==0 && |z1a-z3chek|>=qq)
  1597.         first=3
  1598.       ENDIF
  1599.     ENDIF
  1600.     IF(|z2a-z3chek|<qq)
  1601.       same23=1
  1602.       z2d2=spd
  1603.       IF(first==0 && |z3a-z2chek|>=qq)
  1604.         first=2
  1605.       ENDIF
  1606.     ENDIF
  1607.     IF(|z3a-z2chek|<qq)
  1608.       same23=1
  1609.       z3d2=spd
  1610.       IF(first==0 && |z2a-z3chek|>=qq)
  1611.         first=3
  1612.       ENDIF
  1613.     ENDIF
  1614.   ENDIF
  1615.   IF((z1d2>0 && z2d2>0 && z3d2>0) || iter==m)
  1616.     IF(z1done==0 || z2done==0 || z3done==0)
  1617.       IF(z2done>0 && z3done>0)
  1618.         ddd=z2done
  1619.         IF(z3done>ddd)
  1620.           ddd=z3done
  1621.         ENDIF
  1622.         color=((ddd-min)/(m-min))^(1/p)*63
  1623.         IF(color>63)
  1624.           color=63
  1625.         ENDIF
  1626.         IF(color<1)
  1627.           color=1
  1628.         ENDIF
  1629.         color=color+66
  1630.       ELSEIF(z1done>0 && z3done>0)
  1631.         ddd=z1done
  1632.         IF(z3done>ddd)
  1633.           ddd=z3done
  1634.         ENDIF
  1635.         color=((ddd-min)/(m-min))^(1/p)*63
  1636.         IF(color>63)
  1637.           color=63
  1638.         ENDIF
  1639.         IF(color<1)
  1640.           color=1
  1641.         ENDIF
  1642.         color=color+129
  1643.       ELSEIF(z1done>0 && z2done>0)
  1644.         ddd=z1done
  1645.         IF(z2done>ddd)
  1646.           ddd=z2done
  1647.         ENDIF
  1648.         color=((ddd-min)/(m-min))^(1/p)*63
  1649.         IF(color>63)
  1650.           color=63
  1651.         ENDIF
  1652.         IF(color<1)
  1653.           color=1
  1654.         ENDIF
  1655.         color=color+192
  1656.       ELSEIF(z1done>0)
  1657.         IF(same23!=0 && first!=0)
  1658.           ddd=z1done*(q2*abs(z2d2-z3d2))^qrl
  1659.           color=((ddd-min)/(m-min))^(1/p)*63
  1660.         ELSE
  1661.           color=((z1done-min)/(m-min))^(1/p)*63
  1662.         ENDIF
  1663.         IF(color>63)
  1664.           color=63
  1665.         ENDIF
  1666.         IF(color<1)
  1667.           color=1
  1668.         ENDIF
  1669.         IF(same23==0)
  1670.           color=color+66
  1671.         ELSE
  1672.           IF(first==0)
  1673.             color=color+66
  1674.           ELSEIF(first==2)
  1675.             color=color+129
  1676.           ELSE
  1677.             color=color+192
  1678.           ENDIF
  1679.         ENDIF
  1680.       ELSEIF(z2done>0)
  1681.         IF(same13!=0 && first!=0)
  1682.           ddd=z2done*(q2*abs(z1d2-z3d2))^qrl
  1683.           color=((ddd-min)/(m-min))^(1/p)*63
  1684.         ELSE
  1685.           color=((z2done-min)/(m-min))^(1/p)*63
  1686.         ENDIF
  1687.         IF(color>63)
  1688.           color=63
  1689.         ENDIF
  1690.         IF(color<1)
  1691.           color=1
  1692.         ENDIF
  1693.         IF(same13==0)
  1694.           color=color+129
  1695.         ELSE
  1696.           IF(first==0)
  1697.             color=color+129
  1698.           ELSEIF(first==1)
  1699.             color=color+66
  1700.           ELSE
  1701.             color=color+192
  1702.           ENDIF
  1703.         ENDIF
  1704.       ELSEIF(z3done>0)
  1705.         IF(same12!=0 && first!=0)
  1706.           ddd=z3done*(q2*abs(z1d2-z2d2))^qrl
  1707.           color=((ddd-min)/(m-min))^(1/p)*63
  1708.         ELSE
  1709.           color=((z3done-min)/(m-min))^(1/p)*63
  1710.         ENDIF
  1711.         IF(color>63)
  1712.           color=63
  1713.         ENDIF
  1714.         IF(color<1)
  1715.           color=1
  1716.         ENDIF
  1717.         IF(same12==0)
  1718.           color=color+192
  1719.         ELSE
  1720.           IF(first==0)
  1721.             color=color+192
  1722.           ELSEIF(first==1)
  1723.             color=color+66
  1724.           ELSE
  1725.             color=color+129
  1726.           ENDIF
  1727.         ENDIF
  1728.       ELSEIF(same12==1 && same23==1)
  1729.         ddd=abs(z1d2-z2d2)
  1730.         IF(abs(z1d2-z3d2)<ddd)
  1731.           ddd=abs(z1d2-z3d2)
  1732.         ENDIF
  1733.         IF(abs(z2d2-z3d2)<ddd)
  1734.           ddd=abs(z2d2-z3d2)
  1735.         ENDIF
  1736.         IF(first==0)
  1737.           color=(ddd/m)^(1/p)*66
  1738.           IF(color>66)
  1739.             color=66
  1740.           ENDIF
  1741.         ELSE
  1742.           color=(ddd/m)^(1/p)*63
  1743.           IF(color>63)
  1744.             color=63
  1745.           ENDIF
  1746.         ENDIF
  1747.         IF(color<1)
  1748.           color=1
  1749.         ENDIF
  1750.         IF(first==1)
  1751.           color=color+66
  1752.         ELSEIF(first==2)
  1753.           color=color+129
  1754.         ELSEIF(first==3)
  1755.           color=color+192
  1756.         ENDIF
  1757.       ELSEIF(same12==1)
  1758.         ddd=abs(z1d2-z2d2)
  1759.         color=(ddd/m)^(1/p)*63
  1760.         IF(color>63)
  1761.           color=63
  1762.         ENDIF
  1763.         IF(color<1)
  1764.           color=1
  1765.         ENDIF
  1766.         IF(first==0)
  1767.           color=color+192
  1768.         ELSEIF(first==1)
  1769.           color=color+66
  1770.         ELSE
  1771.           color=color+129
  1772.         ENDIF
  1773.       ELSEIF(same13==1)
  1774.         ddd=abs(z1d2-z3d2)
  1775.         color=(ddd/m)^(1/p)*63
  1776.         IF(color>63)
  1777.           color=63
  1778.         ENDIF
  1779.         IF(color<1)
  1780.           color=1
  1781.         ENDIF
  1782.         IF(first==0)
  1783.           color=color+129
  1784.         ELSEIF(first==1)
  1785.           color=color+66
  1786.         ELSE
  1787.           color=color+192
  1788.         ENDIF
  1789.       ELSEIF(same23==1)
  1790.         ddd=abs(z2d2-z3d2)
  1791.         color=(ddd/m)^(1/p)*63
  1792.         IF(color>63)
  1793.           color=63
  1794.         ENDIF
  1795.         IF(color<1)
  1796.           color=1
  1797.         ENDIF
  1798.         IF(first==0)
  1799.           color=color+66
  1800.         ELSEIF(first==2)
  1801.           color=color+129
  1802.         ELSE
  1803.           color=color+192
  1804.         ENDIF
  1805.       ELSE
  1806.         color=0
  1807.       ENDIF
  1808.     ELSE
  1809.       color=((iter-min)/(m-min))^(1/p)*66
  1810.       IF(color>66)
  1811.         color=66
  1812.       ENDIF
  1813.       IF(color<1)
  1814.         color=1
  1815.       ENDIF
  1816.     ENDIF
  1817.     done=1
  1818.     z=color-iter-7
  1819.   ENDIF
  1820.   done==0
  1821. }
  1822.  
  1823. Nuclear_M_kq { ; p1, p2 parameters. c is Mandel parameter. Colored based 
  1824. on all
  1825.                ; 3 critical points. Use outside=real, float=y, 
  1826. periodicity=n,
  1827.                ; maxiter>=256, and logmap=0.
  1828.                ; For logmap effect put real(p2) minimum iteration,
  1829.                ; imag(p2) bigger than 1, e.g. 2.
  1830.                ; Color 0 is for all critical points trapped.
  1831.                ; Colors 1-66, 67-129, 130-192, and 193-255 are separate 
  1832. ranges.
  1833.                ; Use first for outside, second thru fourth for two
  1834.                ; critical points escape, one trapped...
  1835.                ; Coloring variant.
  1836.   a=p1, c=p2, k=pixel, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  1837. r3ac=r3*ac, ack=k*ac
  1838.   min=real(p2)
  1839.   p=imag(p2)
  1840.   IF(p==0)
  1841.     p=1
  1842.   ENDIF
  1843.   z1=0, z2=1, z3=-1
  1844.   qq=10^-3, iter=0, done=0, z2done=0, m=maxit-1, z1done=0, z3done=0, 
  1845. m2=floor(m/2), z1a=z1, z2a=z2, z3a=z3, flag=0, z1d2=0, z2d2=0, z3d2=0, 
  1846. qrl=1.5, q2=0.15
  1847.   qq2=10^-7
  1848.   :
  1849.   IF(z3done==0)
  1850.     zz2=sqr(z3)
  1851.     zz3=z3*zz2
  1852.     z3=(r3a2*zz3-a6*zz2-r3ac*z3-ac)/(r3*z3+1)+ack,
  1853.     IF(lastsqr>10000)
  1854.       z3done=iter
  1855.       z3d2=1
  1856.     ENDIF
  1857.   ENDIF
  1858.   IF(z2done==0)
  1859.     zz2=sqr(z2)
  1860.     zz3=z2*zz2
  1861.     z2=(r3a2*zz3-a6*zz2-r3ac*z2-ac)/(r3*z2+1)+ack,
  1862.     IF(lastsqr>10000)
  1863.       z2done=iter
  1864.       z2d2=1
  1865.     ENDIF
  1866.   ENDIF
  1867.   IF(z1done==0)
  1868.     zz2=sqr(z1)
  1869.     zz3=z1*zz2
  1870.     z1=(r3a2*zz3-a6*zz2-r3ac*z1-ac)/(r3*z1+1)+ack,
  1871.     IF(lastsqr>10000)
  1872.       z1done=iter
  1873.       z1d2=1
  1874.     ENDIF
  1875.   ENDIF
  1876.   iter=iter+1
  1877.   IF(iter>=m2 && flag==0)
  1878.     z1chek=z1
  1879.     z2chek=z2
  1880.     z3chek=z3
  1881.     flag=1
  1882.     spd=0
  1883.     first=0
  1884.     same12=0
  1885.     same23=0
  1886.     same13=0
  1887.   ELSEIF(flag==1)
  1888.     IF(z1d2==0)
  1889.       zz2=sqr(z1a)
  1890.       zz3=z1a*zz2
  1891.       z1a=(r3a2*zz3-a6*zz2-r3ac*z1a-ac)/(r3*z1a+1)+ack
  1892.     ENDIF
  1893.     IF(z2d2==0)
  1894.       zz2=sqr(z2a)
  1895.       zz3=z2a*zz2
  1896.       z2a=(r3a2*zz3-a6*zz2-r3ac*z2a-ac)/(r3*z2a+1)+ack
  1897.     ENDIF
  1898.     IF(z3d2==0)
  1899.       zz2=sqr(z3a)
  1900.       zz3=z3a*zz2
  1901.       z3a=(r3a2*zz3-a6*zz2-r3ac*z3a-ac)/(r3*z3a+1)+ack
  1902.     ENDIF
  1903.     spd=spd+1
  1904.     IF(|z1a-z2chek|<qq && z1d2==0)
  1905.       same12=1
  1906.       z1d2=spd
  1907.       IF(first==0 && |z2a-z1chek|>=qq)
  1908.         first=1
  1909.       ENDIF
  1910.     ENDIF
  1911.     IF(|z2a-z1chek|<qq && z2d2==0)
  1912.       same12=1
  1913.       z2d2=spd
  1914.       IF(first==0 && |z1a-z2chek|>=qq)
  1915.         first=2
  1916.       ENDIF
  1917.     ENDIF
  1918.     IF(|z1a-z3chek|<qq && z1d2==0)
  1919.       same13=1
  1920.       z1d2=spd
  1921.       IF(first==0 && |z3a-z1chek|>=qq)
  1922.         first=1
  1923.       ENDIF
  1924.     ENDIF
  1925.     IF(|z3a-z1chek|<qq && z3d2==0)
  1926.       same13=1
  1927.       z3d2=spd
  1928.       IF(first==0 && |z1a-z3chek|>=qq)
  1929.         first=3
  1930.       ENDIF
  1931.     ENDIF
  1932.     IF(|z2a-z3chek|<qq && z2d2==0)
  1933.       same23=1
  1934.       z2d2=spd
  1935.       IF(first==0 && |z3a-z2chek|>=qq)
  1936.         first=2
  1937.       ENDIF
  1938.     ENDIF
  1939.     IF(|z3a-z2chek|<qq && z3d2==0)
  1940.       same23=1
  1941.       z3d2=spd
  1942.       IF(first==0 && |z2a-z3chek|>=qq)
  1943.         first=3
  1944.       ENDIF
  1945.     ENDIF
  1946.     IF(|z1a-z1chek|<qq2)
  1947.       z1d2=spd
  1948.     ENDIF
  1949.     IF(|z2a-z2chek|<qq2)
  1950.       z2d2=spd
  1951.     ENDIF
  1952.     IF(|z3a-z3chek|<qq2)
  1953.       z3d2=spd
  1954.     ENDIF
  1955.   ENDIF
  1956.   IF((z1d2>0 && z2d2>0 && z3d2>0) || iter==m)
  1957.     IF(z1done==0 || z2done==0 || z3done==0)
  1958.       IF(z2done>0 && z3done>0)
  1959.         ddd=z2done
  1960.         IF(z3done>ddd)
  1961.           ddd=z3done
  1962.         ENDIF
  1963.         color=((ddd-min)/(m-min))^(1/p)*63
  1964.         IF(color>63)
  1965.           color=63
  1966.         ENDIF
  1967.         IF(color<1)
  1968.           color=1
  1969.         ENDIF
  1970.         color=color+66
  1971.       ELSEIF(z1done>0 && z3done>0)
  1972.         ddd=z1done
  1973.         IF(z3done>ddd)
  1974.           ddd=z3done
  1975.         ENDIF
  1976.         color=((ddd-min)/(m-min))^(1/p)*63
  1977.         IF(color>63)
  1978.           color=63
  1979.         ENDIF
  1980.         IF(color<1)
  1981.           color=1
  1982.         ENDIF
  1983.         color=color+129
  1984.       ELSEIF(z1done>0 && z2done>0)
  1985.         ddd=z1done
  1986.         IF(z2done>ddd)
  1987.           ddd=z2done
  1988.         ENDIF
  1989.         color=((ddd-min)/(m-min))^(1/p)*63
  1990.         IF(color>63)
  1991.           color=63
  1992.         ENDIF
  1993.         IF(color<1)
  1994.           color=1
  1995.         ENDIF
  1996.         color=color+192
  1997.       ELSEIF(z1done>0)
  1998.         IF(same23!=0 && first!=0)
  1999.           IF(first==2)
  2000.             ddd=z3d2
  2001.             cj=129
  2002.           ELSE
  2003.             ddd=z2d2
  2004.             cj=192
  2005.           ENDIF
  2006.           color=((ddd-min)/(m2-min))^(1/p)*63
  2007.           color=64-color
  2008.         ELSE
  2009.           cj=66
  2010.           color=((z1done-min)/(m-min))^(1/p)*63
  2011.         ENDIF
  2012.         IF(color>63)
  2013.           color=63
  2014.         ENDIF
  2015.         IF(color<1)
  2016.           color=1
  2017.         ENDIF
  2018.         color=color+cj
  2019.       ELSEIF(z2done>0)
  2020.         IF(same13!=0 && first!=0)
  2021.           IF(first==1)
  2022.             ddd=z3d2
  2023.             cj=66
  2024.           ELSE
  2025.             ddd=z1d2
  2026.             cj=192
  2027.           ENDIF
  2028.           color=((ddd-min)/(m2-min))^(1/p)*63
  2029.           color=64-color
  2030.         ELSE
  2031.           cj=129
  2032.           color=((z2done-min)/(m-min))^(1/p)*63
  2033.         ENDIF
  2034.         IF(color>63)
  2035.           color=63
  2036.         ENDIF
  2037.         IF(color<1)
  2038.           color=1
  2039.         ENDIF
  2040.         color=color+cj
  2041.       ELSEIF(z3done>0)
  2042.         IF(same12!=0 && first!=0)
  2043.           IF(first==1)
  2044.             ddd=z2d2
  2045.             cj=66
  2046.           ELSE
  2047.             ddd=z1d2
  2048.             cj=129
  2049.           ENDIF
  2050.           color=((ddd-min)/(m-min))^(1/p)*63
  2051.           color=64-color
  2052.         ELSE
  2053.           cj=192
  2054.           color=((z3done-min)/(m-min))^(1/p)*63
  2055.         ENDIF
  2056.         IF(color>63)
  2057.           color=63
  2058.         ENDIF
  2059.         IF(color<1)
  2060.           color=1
  2061.         ENDIF
  2062.         color=color+cj
  2063.       ELSEIF(same12==1 && same23==1)
  2064.         IF(first==1)
  2065.           ddd=z2d2+z3d2
  2066.           cj=66
  2067.         ELSEIF(first==2)
  2068.           ddd=z1d2+z3d2
  2069.           cj=129
  2070.         ELSEIF(first==3)
  2071.           ddd=z1d2+z2d2
  2072.           cj=192
  2073.         ELSE
  2074.           ddd=z1d2+z2d2+z3d2
  2075.           cj=0
  2076.         ENDIF
  2077.         IF(first==0)
  2078.           color=(ddd/m2)^(1/p)*66
  2079.           color=67-color
  2080.           IF(color>66)
  2081.             color=66
  2082.           ENDIF
  2083.           IF(color<1)
  2084.             color=1
  2085.           ENDIF
  2086.         ELSE
  2087.           color=(ddd/m2)^(1/p)*63
  2088.           color=64-color
  2089.           IF(color>63)
  2090.             color=63
  2091.           ENDIF
  2092.           IF(color<1)
  2093.             color=1
  2094.           ENDIF
  2095.         ENDIF
  2096.         color=color+cj
  2097.       ELSEIF(same12==1)
  2098.         IF(first==1)
  2099.           ddd=z2d2
  2100.           cj=129
  2101.         ELSEIF(first==2)
  2102.           ddd=z1d2
  2103.           cj=66
  2104.         ELSE
  2105.           cj=192
  2106.           ddd=z1d2+z2d2
  2107.         ENDIF
  2108.         color=(ddd/m2)^(1/p)*63
  2109.         color=64-color
  2110.         IF(color>63)
  2111.           color=63
  2112.         ENDIF
  2113.         IF(color<1)
  2114.           color=1
  2115.         ENDIF
  2116.         color=color+cj
  2117.       ELSEIF(same13==1)
  2118.         IF(first==1)
  2119.           cj=192
  2120.           ddd=z3d2
  2121.         ELSEIF(first==3)
  2122.           cj=66
  2123.           ddd=z1d2
  2124.         else
  2125.           cj=129
  2126.           ddd=z1d2+z3d2
  2127.         ENDIF
  2128.         color=(ddd/m2)^(1/p)*63
  2129.         color=64-color
  2130.         IF(color>63)
  2131.           color=63
  2132.         ENDIF
  2133.         IF(color<1)
  2134.           color=1
  2135.         ENDIF
  2136.         color=color+cj
  2137.       ELSEIF(same23==1)
  2138.         IF(first==2)
  2139.           ddd=z3d2
  2140.           cj=192
  2141.         ELSEIF(first==3)
  2142.           ddd=z2d2
  2143.           cj=129
  2144.         ELSE
  2145.           ddd=z2d2+z3d2
  2146.           cj=66
  2147.         ENDIF
  2148.         color=(ddd/m2)^(1/p)*63
  2149.         color=64-color
  2150.         IF(color>63)
  2151.           color=63
  2152.         ENDIF
  2153.         IF(color<1)
  2154.           color=1
  2155.         ENDIF
  2156.         color=color+cj
  2157.       ELSE
  2158.         color=0
  2159.       ENDIF
  2160.     ELSE
  2161.       color=((iter-min)/(m-min))^(1/p)*66
  2162.       IF(color>66)
  2163.         color=66
  2164.       ENDIF
  2165.       IF(color<1)
  2166.         color=1
  2167.       ENDIF
  2168.     ENDIF
  2169.     done=1
  2170.     z=color-iter-7
  2171.   ENDIF
  2172.   done==0
  2173. }
  2174.  
  2175. Nuclear_M_cq { ; p1, p3 parameters. c is Mandel parameter. Colored based 
  2176. on all
  2177.                ; 3 critical points. Use outside=real, float=y, 
  2178. periodicity=n,
  2179.                ; maxiter>=256, and logmap=0.
  2180.                ; For logmap effect put real(p2) minimum iteration,
  2181.                ; imag(p2) bigger than 1, e.g. 2.
  2182.                ; Color 0 is for all critical points trapped.
  2183.                ; Colors 1-66, 67-129, 130-192, and 193-255 are separate 
  2184. ranges.
  2185.                ; Use first for outside, second thru fourth for two
  2186.                ; critical points escape, one trapped...
  2187.                ; Coloring variant.
  2188.   a=p1, c=pixel, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  2189. r3ac=r3*ac, ack=k*ac
  2190.   min=real(p2)
  2191.   p=imag(p2)
  2192.   IF(p==0)
  2193.     p=1
  2194.   ENDIF
  2195.   z1=0, z2=1, z3=-1
  2196.   qq=0.001, iter=0, done=0, z2done=0, m=maxit-1, z1done=0, z3done=0, 
  2197. m2=floor(m/2), z1a=z1, z2a=z2, z3a=z3, flag=0, z1d2=0, z2d2=0, z3d2=0, 
  2198. qrl=1.5, q2=0.15
  2199.   qq2=0.0000001
  2200.   :
  2201.   IF(z3done==0)
  2202.     zz2=sqr(z3)
  2203.     zz3=z3*zz2
  2204.     z3=(r3a2*zz3-a6*zz2-r3ac*z3-ac)/(r3*z3+1)+ack,
  2205.     IF(lastsqr>10000)
  2206.       z3done=iter
  2207.       z3d2=1
  2208.     ENDIF
  2209.   ENDIF
  2210.   IF(z2done==0)
  2211.     zz2=sqr(z2)
  2212.     zz3=z2*zz2
  2213.     z2=(r3a2*zz3-a6*zz2-r3ac*z2-ac)/(r3*z2+1)+ack,
  2214.     IF(lastsqr>10000)
  2215.       z2done=iter
  2216.       z2d2=1
  2217.     ENDIF
  2218.   ENDIF
  2219.   IF(z1done==0)
  2220.     zz2=sqr(z1)
  2221.     zz3=z1*zz2
  2222.     z1=(r3a2*zz3-a6*zz2-r3ac*z1-ac)/(r3*z1+1)+ack,
  2223.     IF(lastsqr>10000)
  2224.       z1done=iter
  2225.       z1d2=1
  2226.     ENDIF
  2227.   ENDIF
  2228.   iter=iter+1
  2229.   IF(iter>=m2 && flag==0)
  2230.     z1chek=z1
  2231.     z2chek=z2
  2232.     z3chek=z3
  2233.     flag=1
  2234.     spd=0
  2235.     first=0
  2236.     same12=0
  2237.     same23=0
  2238.     same13=0
  2239.   ELSEIF(flag==1)
  2240.     IF(z1d2==0)
  2241.       zz2=sqr(z1a)
  2242.       zz3=z1a*zz2
  2243.       z1a=(r3a2*zz3-a6*zz2-r3ac*z1a-ac)/(r3*z1a+1)+ack
  2244.     ENDIF
  2245.     IF(z2d2==0)
  2246.       zz2=sqr(z2a)
  2247.       zz3=z2a*zz2
  2248.       z2a=(r3a2*zz3-a6*zz2-r3ac*z2a-ac)/(r3*z2a+1)+ack
  2249.     ENDIF
  2250.     IF(z3d2==0)
  2251.       zz2=sqr(z3a)
  2252.       zz3=z3a*zz2
  2253.       z3a=(r3a2*zz3-a6*zz2-r3ac*z3a-ac)/(r3*z3a+1)+ack
  2254.     ENDIF
  2255.     spd=spd+1
  2256.     IF(|z1a-z2chek|<qq && z1d2==0)
  2257.       same12=1
  2258.       z1d2=spd
  2259.       IF(first==0 && |z2a-z1chek|>=qq)
  2260.         first=1
  2261.       ENDIF
  2262.     ENDIF
  2263.     IF(|z2a-z1chek|<qq && z2d2==0)
  2264.       same12=1
  2265.       z2d2=spd
  2266.       IF(first==0 && |z1a-z2chek|>=qq)
  2267.         first=2
  2268.       ENDIF
  2269.     ENDIF
  2270.     IF(|z1a-z3chek|<qq && z1d2==0)
  2271.       same13=1
  2272.       z1d2=spd
  2273.       IF(first==0 && |z3a-z1chek|>=qq)
  2274.         first=1
  2275.       ENDIF
  2276.     ENDIF
  2277.     IF(|z3a-z1chek|<qq && z3d2==0)
  2278.       same13=1
  2279.       z3d2=spd
  2280.       IF(first==0 && |z1a-z3chek|>=qq)
  2281.         first=3
  2282.       ENDIF
  2283.     ENDIF
  2284.     IF(|z2a-z3chek|<qq && z2d2==0)
  2285.       same23=1
  2286.       z2d2=spd
  2287.       IF(first==0 && |z3a-z2chek|>=qq)
  2288.         first=2
  2289.       ENDIF
  2290.     ENDIF
  2291.     IF(|z3a-z2chek|<qq && z3d2==0)
  2292.       same23=1
  2293.       z3d2=spd
  2294.       IF(first==0 && |z2a-z3chek|>=qq)
  2295.         first=3
  2296.       ENDIF
  2297.     ENDIF
  2298.     IF(|z1a-z1chek|<qq2)
  2299.       z1d2=spd
  2300.     ENDIF
  2301.     IF(|z2a-z2chek|<qq2)
  2302.       z2d2=spd
  2303.     ENDIF
  2304.     IF(|z3a-z3chek|<qq2)
  2305.       z3d2=spd
  2306.     ENDIF
  2307.   ENDIF
  2308.   IF((z1d2>0 && z2d2>0 && z3d2>0) || iter==m)
  2309.     IF(z1done==0 || z2done==0 || z3done==0)
  2310.       IF(z2done>0 && z3done>0)
  2311.         ddd=z2done
  2312.         IF(z3done>ddd)
  2313.           ddd=z3done
  2314.         ENDIF
  2315.         color=((ddd-min)/(m-min))^(1/p)*63
  2316.         IF(color>63)
  2317.           color=63
  2318.         ENDIF
  2319.         IF(color<1)
  2320.           color=1
  2321.         ENDIF
  2322.         color=color+66
  2323.       ELSEIF(z1done>0 && z3done>0)
  2324.         ddd=z1done
  2325.         IF(z3done>ddd)
  2326.           ddd=z3done
  2327.         ENDIF
  2328.         color=((ddd-min)/(m-min))^(1/p)*63
  2329.         IF(color>63)
  2330.           color=63
  2331.         ENDIF
  2332.         IF(color<1)
  2333.           color=1
  2334.         ENDIF
  2335.         color=color+129
  2336.       ELSEIF(z1done>0 && z2done>0)
  2337.         ddd=z1done
  2338.         IF(z2done>ddd)
  2339.           ddd=z2done
  2340.         ENDIF
  2341.         color=((ddd-min)/(m-min))^(1/p)*63
  2342.         IF(color>63)
  2343.           color=63
  2344.         ENDIF
  2345.         IF(color<1)
  2346.           color=1
  2347.         ENDIF
  2348.         color=color+192
  2349.       ELSEIF(z1done>0)
  2350.         IF(same23!=0 && first!=0)
  2351.           IF(first==2)
  2352.             ddd=z3d2
  2353.             cj=129
  2354.           ELSE
  2355.             ddd=z2d2
  2356.             cj=192
  2357.           ENDIF
  2358.           color=((ddd-min)/(m2-min))^(1/p)*63
  2359.           color=64-color
  2360.         ELSE
  2361.           cj=66
  2362.           color=((z1done-min)/(m-min))^(1/p)*63
  2363.         ENDIF
  2364.         IF(color>63)
  2365.           color=63
  2366.         ENDIF
  2367.         IF(color<1)
  2368.           color=1
  2369.         ENDIF
  2370.         color=color+cj
  2371.       ELSEIF(z2done>0)
  2372.         IF(same13!=0 && first!=0)
  2373.           IF(first==1)
  2374.             ddd=z3d2
  2375.             cj=66
  2376.           ELSE
  2377.             ddd=z1d2
  2378.             cj=192
  2379.           ENDIF
  2380.           color=((ddd-min)/(m2-min))^(1/p)*63
  2381.           color=64-color
  2382.         ELSE
  2383.           cj=129
  2384.           color=((z2done-min)/(m-min))^(1/p)*63
  2385.         ENDIF
  2386.         IF(color>63)
  2387.           color=63
  2388.         ENDIF
  2389.         IF(color<1)
  2390.           color=1
  2391.         ENDIF
  2392.         color=color+cj
  2393.       ELSEIF(z3done>0)
  2394.         IF(same12!=0 && first!=0)
  2395.           IF(first==1)
  2396.             ddd=z2d2
  2397.             cj=66
  2398.           ELSE
  2399.             ddd=z1d2
  2400.             cj=129
  2401.           ENDIF
  2402.           color=((ddd-min)/(m-min))^(1/p)*63
  2403.           color=64-color
  2404.         ELSE
  2405.           cj=192
  2406.           color=((z3done-min)/(m-min))^(1/p)*63
  2407.         ENDIF
  2408.         IF(color>63)
  2409.           color=63
  2410.         ENDIF
  2411.         IF(color<1)
  2412.           color=1
  2413.         ENDIF
  2414.         color=color+cj
  2415.       ELSEIF(same12==1 && same23==1)
  2416.         IF(first==1)
  2417.           ddd=z2d2+z3d2
  2418.           cj=66
  2419.         ELSEIF(first==2)
  2420.           ddd=z1d2+z3d2
  2421.           cj=129
  2422.         ELSEIF(first==3)
  2423.           ddd=z1d2+z2d2
  2424.           cj=192
  2425.         ELSE
  2426.           ddd=z1d2+z2d2+z3d2
  2427.           cj=0
  2428.         ENDIF
  2429.         IF(first==0)
  2430.           color=(ddd/m2)^(1/p)*66
  2431.           color=67-color
  2432.           IF(color>66)
  2433.             color=66
  2434.           ENDIF
  2435.           IF(color<1)
  2436.             color=1
  2437.           ENDIF
  2438.         ELSE
  2439.           color=(ddd/m2)^(1/p)*63
  2440.           color=64-color
  2441.           IF(color>63)
  2442.             color=63
  2443.           ENDIF
  2444.           IF(color<1)
  2445.             color=1
  2446.           ENDIF
  2447.         ENDIF
  2448.         color=color+cj
  2449.       ELSEIF(same12==1)
  2450.         IF(first==1)
  2451.           ddd=z2d2
  2452.           cj=129
  2453.         ELSEIF(first==2)
  2454.           ddd=z1d2
  2455.           cj=66
  2456.         ELSE
  2457.           cj=192
  2458.           ddd=z1d2+z2d2
  2459.         ENDIF
  2460.         color=(ddd/m2)^(1/p)*63
  2461.         color=64-color
  2462.         IF(color>63)
  2463.           color=63
  2464.         ENDIF
  2465.         IF(color<1)
  2466.           color=1
  2467.         ENDIF
  2468.         color=color+cj
  2469.       ELSEIF(same13==1)
  2470.         IF(first==1)
  2471.           cj=192
  2472.           ddd=z3d2
  2473.         ELSEIF(first==3)
  2474.           cj=66
  2475.           ddd=z1d2
  2476.         else
  2477.           cj=129
  2478.           ddd=z1d2+z3d2
  2479.         ENDIF
  2480.         color=(ddd/m2)^(1/p)*63
  2481.         color=64-color
  2482.         IF(color>63)
  2483.           color=63
  2484.         ENDIF
  2485.         IF(color<1)
  2486.           color=1
  2487.         ENDIF
  2488.         color=color+cj
  2489.       ELSEIF(same23==1)
  2490.         IF(first==2)
  2491.           ddd=z3d2
  2492.           cj=192
  2493.         ELSEIF(first==3)
  2494.           ddd=z2d2
  2495.           cj=129
  2496.         ELSE
  2497.           ddd=z2d2+z3d2
  2498.           cj=66
  2499.         ENDIF
  2500.         color=(ddd/m2)^(1/p)*63
  2501.         color=64-color
  2502.         IF(color>63)
  2503.           color=63
  2504.         ENDIF
  2505.         IF(color<1)
  2506.           color=1
  2507.         ENDIF
  2508.         color=color+cj
  2509.       ELSE
  2510.         color=0
  2511.       ENDIF
  2512.     ELSE
  2513.       color=((iter-min)/(m-min))^(1/p)*66
  2514.       IF(color>66)
  2515.         color=66
  2516.       ENDIF
  2517.       IF(color<1)
  2518.         color=1
  2519.       ENDIF
  2520.     ENDIF
  2521.     done=1
  2522.     z=color-iter-7
  2523.   ENDIF
  2524.   done==0
  2525. }
  2526.  
  2527. Nuclear_M_aq { ; p2, p3 parameters. c is Mandel parameter. Colored based 
  2528. on all
  2529.                ; 3 critical points. Use outside=real, float=y, 
  2530. periodicity=n,
  2531.                ; maxiter>=256, and logmap=0.
  2532.                ; For logmap effect put real(p2) minimum iteration,
  2533.                ; imag(p2) bigger than 1, e.g. 2.
  2534.                ; Color 0 is for all critical points trapped.
  2535.                ; Colors 1-66, 67-129, 130-192, and 193-255 are separate 
  2536. ranges.
  2537.                ; Use first for outside, second thru fourth for two
  2538.                ; critical points escape, one trapped...
  2539.                ; Coloring variant.
  2540.   a=pixel, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  2541. r3ac=r3*ac, ack=k*ac
  2542.   min=real(p2)
  2543.   p=imag(p2)
  2544.   IF(p==0)
  2545.     p=1
  2546.   ENDIF
  2547.   z1=0, z2=1, z3=-1
  2548.   qq=10^-3, iter=0, done=0, z2done=0, m=maxit-1, z1done=0, z3done=0, 
  2549. m2=floor(m/2), z1a=z1, z2a=z2, z3a=z3, flag=0, z1d2=0, z2d2=0, z3d2=0, 
  2550. qrl=1.5, q2=0.15
  2551.   qq2=10^-7
  2552.   :
  2553.   IF(z3done==0)
  2554.     zz2=sqr(z3)
  2555.     zz3=z3*zz2
  2556.     z3=(r3a2*zz3-a6*zz2-r3ac*z3-ac)/(r3*z3+1)+ack,
  2557.     IF(lastsqr>10000)
  2558.       z3done=iter
  2559.       z3d2=1
  2560.     ENDIF
  2561.   ENDIF
  2562.   IF(z2done==0)
  2563.     zz2=sqr(z2)
  2564.     zz3=z2*zz2
  2565.     z2=(r3a2*zz3-a6*zz2-r3ac*z2-ac)/(r3*z2+1)+ack,
  2566.     IF(lastsqr>10000)
  2567.       z2done=iter
  2568.       z2d2=1
  2569.     ENDIF
  2570.   ENDIF
  2571.   IF(z1done==0)
  2572.     zz2=sqr(z1)
  2573.     zz3=z1*zz2
  2574.     z1=(r3a2*zz3-a6*zz2-r3ac*z1-ac)/(r3*z1+1)+ack,
  2575.     IF(lastsqr>10000)
  2576.       z1done=iter
  2577.       z1d2=1
  2578.     ENDIF
  2579.   ENDIF
  2580.   iter=iter+1
  2581.   IF(iter>=m2 && flag==0)
  2582.     z1chek=z1
  2583.     z2chek=z2
  2584.     z3chek=z3
  2585.     flag=1
  2586.     spd=0
  2587.     first=0
  2588.     same12=0
  2589.     same23=0
  2590.     same13=0
  2591.   ELSEIF(flag==1)
  2592.     IF(z1d2==0)
  2593.       zz2=sqr(z1a)
  2594.       zz3=z1a*zz2
  2595.       z1a=(r3a2*zz3-a6*zz2-r3ac*z1a-ac)/(r3*z1a+1)+ack
  2596.     ENDIF
  2597.     IF(z2d2==0)
  2598.       zz2=sqr(z2a)
  2599.       zz3=z2a*zz2
  2600.       z2a=(r3a2*zz3-a6*zz2-r3ac*z2a-ac)/(r3*z2a+1)+ack
  2601.     ENDIF
  2602.     IF(z3d2==0)
  2603.       zz2=sqr(z3a)
  2604.       zz3=z3a*zz2
  2605.       z3a=(r3a2*zz3-a6*zz2-r3ac*z3a-ac)/(r3*z3a+1)+ack
  2606.     ENDIF
  2607.     spd=spd+1
  2608.     IF(|z1a-z2chek|<qq && z1d2==0)
  2609.       same12=1
  2610.       z1d2=spd
  2611.       IF(first==0 && |z2a-z1chek|>=qq)
  2612.         first=1
  2613.       ENDIF
  2614.     ENDIF
  2615.     IF(|z2a-z1chek|<qq && z2d2==0)
  2616.       same12=1
  2617.       z2d2=spd
  2618.       IF(first==0 && |z1a-z2chek|>=qq)
  2619.         first=2
  2620.       ENDIF
  2621.     ENDIF
  2622.     IF(|z1a-z3chek|<qq && z1d2==0)
  2623.       same13=1
  2624.       z1d2=spd
  2625.       IF(first==0 && |z3a-z1chek|>=qq)
  2626.         first=1
  2627.       ENDIF
  2628.     ENDIF
  2629.     IF(|z3a-z1chek|<qq && z3d2==0)
  2630.       same13=1
  2631.       z3d2=spd
  2632.       IF(first==0 && |z1a-z3chek|>=qq)
  2633.         first=3
  2634.       ENDIF
  2635.     ENDIF
  2636.     IF(|z2a-z3chek|<qq && z2d2==0)
  2637.       same23=1
  2638.       z2d2=spd
  2639.       IF(first==0 && |z3a-z2chek|>=qq)
  2640.         first=2
  2641.       ENDIF
  2642.     ENDIF
  2643.     IF(|z3a-z2chek|<qq && z3d2==0)
  2644.       same23=1
  2645.       z3d2=spd
  2646.       IF(first==0 && |z2a-z3chek|>=qq)
  2647.         first=3
  2648.       ENDIF
  2649.     ENDIF
  2650.     IF(|z1a-z1chek|<qq2)
  2651.       z1d2=spd
  2652.     ENDIF
  2653.     IF(|z2a-z2chek|<qq2)
  2654.       z2d2=spd
  2655.     ENDIF
  2656.     IF(|z3a-z3chek|<qq2)
  2657.       z3d2=spd
  2658.     ENDIF
  2659.   ENDIF
  2660.   IF((z1d2>0 && z2d2>0 && z3d2>0) || iter==m)
  2661.     IF(z1done==0 || z2done==0 || z3done==0)
  2662.       IF(z2done>0 && z3done>0)
  2663.         ddd=z2done
  2664.         IF(z3done>ddd)
  2665.           ddd=z3done
  2666.         ENDIF
  2667.         color=((ddd-min)/(m-min))^(1/p)*63
  2668.         IF(color>63)
  2669.           color=63
  2670.         ENDIF
  2671.         IF(color<1)
  2672.           color=1
  2673.         ENDIF
  2674.         color=color+66
  2675.       ELSEIF(z1done>0 && z3done>0)
  2676.         ddd=z1done
  2677.         IF(z3done>ddd)
  2678.           ddd=z3done
  2679.         ENDIF
  2680.         color=((ddd-min)/(m-min))^(1/p)*63
  2681.         IF(color>63)
  2682.           color=63
  2683.         ENDIF
  2684.         IF(color<1)
  2685.           color=1
  2686.         ENDIF
  2687.         color=color+129
  2688.       ELSEIF(z1done>0 && z2done>0)
  2689.         ddd=z1done
  2690.         IF(z2done>ddd)
  2691.           ddd=z2done
  2692.         ENDIF
  2693.         color=((ddd-min)/(m-min))^(1/p)*63
  2694.         IF(color>63)
  2695.           color=63
  2696.         ENDIF
  2697.         IF(color<1)
  2698.           color=1
  2699.         ENDIF
  2700.         color=color+192
  2701.       ELSEIF(z1done>0)
  2702.         IF(same23!=0 && first!=0)
  2703.           IF(first==2)
  2704.             ddd=z3d2
  2705.             cj=129
  2706.           ELSE
  2707.             ddd=z2d2
  2708.             cj=192
  2709.           ENDIF
  2710.           color=((ddd-min)/(m2-min))^(1/p)*63
  2711.           color=64-color
  2712.         ELSE
  2713.           cj=66
  2714.           color=((z1done-min)/(m-min))^(1/p)*63
  2715.         ENDIF
  2716.         IF(color>63)
  2717.           color=63
  2718.         ENDIF
  2719.         IF(color<1)
  2720.           color=1
  2721.         ENDIF
  2722.         color=color+cj
  2723.       ELSEIF(z2done>0)
  2724.         IF(same13!=0 && first!=0)
  2725.           IF(first==1)
  2726.             ddd=z3d2
  2727.             cj=66
  2728.           ELSE
  2729.             ddd=z1d2
  2730.             cj=192
  2731.           ENDIF
  2732.           color=((ddd-min)/(m2-min))^(1/p)*63
  2733.           color=64-color
  2734.         ELSE
  2735.           cj=129
  2736.           color=((z2done-min)/(m-min))^(1/p)*63
  2737.         ENDIF
  2738.         IF(color>63)
  2739.           color=63
  2740.         ENDIF
  2741.         IF(color<1)
  2742.           color=1
  2743.         ENDIF
  2744.         color=color+cj
  2745.       ELSEIF(z3done>0)
  2746.         IF(same12!=0 && first!=0)
  2747.           IF(first==1)
  2748.             ddd=z2d2
  2749.             cj=66
  2750.           ELSE
  2751.             ddd=z1d2
  2752.             cj=129
  2753.           ENDIF
  2754.           color=((ddd-min)/(m-min))^(1/p)*63
  2755.           color=64-color
  2756.         ELSE
  2757.           cj=192
  2758.           color=((z3done-min)/(m-min))^(1/p)*63
  2759.         ENDIF
  2760.         IF(color>63)
  2761.           color=63
  2762.         ENDIF
  2763.         IF(color<1)
  2764.           color=1
  2765.         ENDIF
  2766.         color=color+cj
  2767.       ELSEIF(same12==1 && same23==1)
  2768.         IF(first==1)
  2769.           ddd=z2d2+z3d2
  2770.           cj=66
  2771.         ELSEIF(first==2)
  2772.           ddd=z1d2+z3d2
  2773.           cj=129
  2774.         ELSEIF(first==3)
  2775.           ddd=z1d2+z2d2
  2776.           cj=192
  2777.         ELSE
  2778.           ddd=z1d2+z2d2+z3d2
  2779.           cj=0
  2780.         ENDIF
  2781.         IF(first==0)
  2782.           color=(ddd/m2)^(1/p)*66
  2783.           color=67-color
  2784.           IF(color>66)
  2785.             color=66
  2786.           ENDIF
  2787.           IF(color<1)
  2788.             color=1
  2789.           ENDIF
  2790.         ELSE
  2791.           color=(ddd/m2)^(1/p)*63
  2792.           color=64-color
  2793.           IF(color>63)
  2794.             color=63
  2795.           ENDIF
  2796.           IF(color<1)
  2797.             color=1
  2798.           ENDIF
  2799.         ENDIF
  2800.         color=color+cj
  2801.       ELSEIF(same12==1)
  2802.         IF(first==1)
  2803.           ddd=z2d2
  2804.           cj=129
  2805.         ELSEIF(first==2)
  2806.           ddd=z1d2
  2807.           cj=66
  2808.         ELSE
  2809.           cj=192
  2810.           ddd=z1d2+z2d2
  2811.         ENDIF
  2812.         color=(ddd/m2)^(1/p)*63
  2813.         color=64-color
  2814.         IF(color>63)
  2815.           color=63
  2816.         ENDIF
  2817.         IF(color<1)
  2818.           color=1
  2819.         ENDIF
  2820.         color=color+cj
  2821.       ELSEIF(same13==1)
  2822.         IF(first==1)
  2823.           cj=192
  2824.           ddd=z3d2
  2825.         ELSEIF(first==3)
  2826.           cj=66
  2827.           ddd=z1d2
  2828.         else
  2829.           cj=129
  2830.           ddd=z1d2+z3d2
  2831.         ENDIF
  2832.         color=(ddd/m2)^(1/p)*63
  2833.         color=64-color
  2834.         IF(color>63)
  2835.           color=63
  2836.         ENDIF
  2837.         IF(color<1)
  2838.           color=1
  2839.         ENDIF
  2840.         color=color+cj
  2841.       ELSEIF(same23==1)
  2842.         IF(first==2)
  2843.           ddd=z3d2
  2844.           cj=192
  2845.         ELSEIF(first==3)
  2846.           ddd=z2d2
  2847.           cj=129
  2848.         ELSE
  2849.           ddd=z2d2+z3d2
  2850.           cj=66
  2851.         ENDIF
  2852.         color=(ddd/m2)^(1/p)*63
  2853.         color=64-color
  2854.         IF(color>63)
  2855.           color=63
  2856.         ENDIF
  2857.         IF(color<1)
  2858.           color=1
  2859.         ENDIF
  2860.         color=color+cj
  2861.       ELSE
  2862.         color=0
  2863.       ENDIF
  2864.     ELSE
  2865.       color=((iter-min)/(m-min))^(1/p)*66
  2866.       IF(color>66)
  2867.         color=66
  2868.       ENDIF
  2869.       IF(color<1)
  2870.         color=1
  2871.       ENDIF
  2872.     ENDIF
  2873.     done=1
  2874.     z=color-iter-7
  2875.   ENDIF
  2876.   done==0
  2877. }
  2878.  
  2879. Nuclear_JColLogC { ; p1, p2, p3 parameters. Use float=y, outside=real, 
  2880. logmap=0,
  2881.                    ; periodicity=0. Colors from 4 ranges by finite 
  2882. attractors
  2883.                    ; and attracted to infinity. Uses a "logmap".
  2884.                    ; Variation: Log reversed for high iterations.
  2885.   a=p1, c=p2, k=p3, a2=a*a, ac=a*c, r3=sqrt(3), r3a2=r3*a2, a6=3*a2, 
  2886. r3ac=r3*ac, ack=k*ac
  2887.   m=maxit-1, m4=m/2, iter=0, done=0, iter2=0, fi=3000
  2888.   qq=0.000001, bail=1000
  2889.   IF(notfirstpixel)
  2890.     m4=0
  2891.   ELSE
  2892.     za=-1
  2893.     zb=0
  2894.     zc=1
  2895.     qqa=qq
  2896.     qqb=qq
  2897.     qqc=qq
  2898.   ENDIF
  2899.   m3=m-m4
  2900.   z=pixel
  2901.   :
  2902.   IF(iter<m4)
  2903.     IF(qqa>0)
  2904.       z2=sqr(za)
  2905.       z3=za*z2
  2906.       za=(r3a2*z3-a6*z2-r3ac*za-ac)/(r3*za+1)+ack
  2907.       IF(|za|>bail)
  2908.         qqa=0
  2909.       ENDIF
  2910.     ENDIF
  2911.     IF(qqb>0)
  2912.       z2=sqr(zb)
  2913.       z3=zb*z2
  2914.       zb=(r3a2*z3-a6*z2-r3ac*zb-ac)/(r3*zb+1)+ack
  2915.       IF(|zb|>bail)
  2916.         qqb=0
  2917.       ENDIF
  2918.     ENDIF
  2919.     IF(qqc>0)
  2920.       z2=sqr(zc)
  2921.       z3=zc*z2
  2922.       zc=(r3a2*z3-a6*z2-r3ac*zc-ac)/(r3*zc+1)+ack
  2923.       IF(|zc|>bail)
  2924.         qqc=0
  2925.       ENDIF
  2926.     ENDIF
  2927.     iter=iter+1
  2928.   ELSE
  2929.     z2=sqr(z)
  2930.     z3=z*z2
  2931.     z=(r3a2*z3-a6*z2-r3ac*z-ac)/(r3*z+1)+ack
  2932.     iter=iter+1
  2933.     iter2=iter2+1
  2934.     IF(lastsqr>bail)
  2935.       done=1
  2936.       color=66*(log(iter2)/log(m3))
  2937.       IF(color<1)
  2938.         color=1
  2939.       ENDIF
  2940.       IF(color>66)
  2941.         color=66
  2942.       ENDIF
  2943.     ELSEIF(|z-za|<qqa)
  2944.       done=1
  2945.       color=63*(log(iter2-fi)/log(m3-fi))
  2946.       IF(color<1)
  2947.         color=1
  2948.       ENDIF
  2949.       IF(color>63)
  2950.         color=63
  2951.       ENDIF
  2952.       color=color+66
  2953.     ELSEIF(|z-zb|<qqb)
  2954.       done=1
  2955.       color=63*(log(iter2-fi)/log(m3-fi))
  2956.       IF(color<1)
  2957.         color=1
  2958.       ENDIF
  2959.       IF(color>63)
  2960.         color=63
  2961.       ENDIF
  2962.       color=color+129
  2963.     ELSEIF(|z-zc|<qqc)
  2964.       done=1
  2965.       color=63*(log(iter2-fi)/log(m3-fi))
  2966.       IF(color<1)
  2967.         color=1
  2968.       ENDIF
  2969.       IF(color>63)
  2970.         color=63
  2971.       ENDIF
  2972.       color=color+192
  2973.     ENDIF
  2974.     IF(done)
  2975.       z=color-iter-7
  2976.       notfirstpixel=1
  2977.     ENDIF
  2978.   ENDIF
  2979.   done==0
  2980. }
  2981.  
  2982. (Whew! At least pasting this shit into a form on a hotmail web page 
  2983. using Internet Exploder is orders of magnitude faster than pasting it 
  2984. into a freenet terminal session into the clunky pico editor they use 
  2985. there!)
  2986.    .*.  "Clouds are not spheres, mountains are not cones, coastlines are not
  2987. - -()  <  circles, and bark is not smooth, nor does lightning travel in a
  2988.    `*'  straight line."     ------------------------------------------------
  2989.         -- B. Mandelbrot   | Paul Derbyshire (PGD) ao950@freenet.carleton.ca
  2990. ______________________ ____|_____________          pderbysh@chat.carleton.ca
  2991. Programmer & Humanist |  ICQ:  10423848  | http://chat.carleton.ca/~pderbysh
  2992.  
  2993. ______________________________________________________
  2994. Get Your Private, Free Email at http://www.hotmail.com
  2995.  
  2996. - -
  2997. - ------------------------------------------------------------
  2998. Thanks for using Fractint, The Fractals and Fractint Discussion List
  2999. Post Message:   fractint@xmission.com
  3000. Get Commands:   majordomo@xmission.com "help"
  3001. Administrator:  twegner@phoenix.net
  3002. Unsubscribe:    majordomo@xmission.com "unsubscribe fractint"
  3003.  
  3004. ------------------------------
  3005.  
  3006. End of fractint-digest V1 #151
  3007. ******************************
  3008.  
  3009.