Hi, Although Multifractal has become much longer there is hardly any slowdown due to some efficient speedups in the mainloop. The additional inputs p3, p4 and p5 can be used up to the maximum number of digits if only fractional values are concerned. If the total number is exceeded, the last digits are truncated. Three important changes this time. It now is possible to control the coloring using an alternative bailout which can be applied to one or two channels, imag(P2), last two digits of first input. Just type the number of the channel(s). The first alt-bailout is applied to the first choice, the second one is applied to the second choice. A high value - real(p3) or real(p3) 2nd input, digits 6-11 - compresses, a value lower then bailout expands the coloring of the concerned channel. Another way is to use iter-reset, which causes the iterationcounter to start from zero and so increases the number of iterations for the concerned channel, - coloring is modified in a more subtle way. This of course increases the calculation time, also the warp effect of the following channels is concerned. The second news is the real(p2) input, as now only the number of the frm is needed, no more double choices. This means if you call the "z" screen you can see at one glance which frms are used. The two reset commands and the warpeffect switch are combined in the real(p2) second input, last five digits, 1 digit for each channel. Scroll the text for explanation. (3) I have spend some efforts to get rid of distorted structures, so now I can reintroduce them, but on a controlled basis. This means the 3 inside channels (3-5) now can use bordervalues if wanted. The first digit, 2nd input, image(p4), real(p5), image (p5) controls use of maxiter or border values. The bordervalues can be used bothways, "in" or "out". "In" means that the concerned channel is switched on, if the border value is higher then the input and vv. If the selection is "7" or "8" both, maxiter and border-(both options) are used at the same time. This possibly will cause chaos, if the same part of the image is affected, but maybe thats ok in some cases. Testing this frm I again experienced some difficulties with that infamous fractint-bug (misreadings of the inputs under certain conditions). "Debugflag=322" is activated, but itïs not on my office computer, it does not make any difference. Btw against all rumours fractint runs perfectly under WindowsNT (Gforce2 videocard). Concerned is real(p2), first(!) input, where channel 2 (outside) was not read correctly if zeros follow. I fixed it adding"1" to the last digit and so avoid zero divisions. The second concerned input is real(p2) second input, last 5 digits. I already added 11111 to the input in multifractal_7, but I noticed that the last digit still was misread sometimes, so I used the "round" function for this digit. After many tests all inputs are executed correctly. The images : "House of the Helmets" is a four generations mandel and very beautiful, rather slow though as the "secant" frm used inorder to get rid of the tdis-sausages is very slow and I used iter reset to get the wanted coloring for the helmets. The part of the sausages to be eaten by secant is controlled by "image(p3)" 2nd input (outside border-in), a lower value eats more. "Mandel in the clouds" is an impressive zoom into this one, the new coloring expansion is used to generate the clouds. "Borderwatch" is another one, really extraordinary and worth waiting for. As this was generated under Winnt I cannot tell the actual time needed. "Ganymed" and "Islands" use the new inside border values, option1 (border-out). Btw Ganymed is the biggest Jupiter planet. "Ikebana" is a japanese ornamental floral arrangement. The many different shapes of the flowers are produced by the warp effect. Same goes for the "Jellyfish armada". Fractal Greetings, Al ---------------------------------------start-frm-------------------------- FRM:Multifractal_8 { ; Albrecht Niekamp 090803 ;p1 (spider)julia-seed ;real(p2) 5digits : (1)shape (2)outside (3)inside1 (4)inside2 (5)inside3 ; 0_off 1_secant 2_mand 3_bees 4_jul 5_m_mods 6_phoen 7_newt 8_spider ; input2 : 2digits_many-mods 2digits_phoenix 2digits_spider ; 5digits_reset : 0_no 1_z-reset 2_iter-reset 3_both +5_warp ;imag(p2)(-) 2-4digits : newton input (max 2000) ; 2digits : channel_alt-bailout1 channel_alt-bailout2 ; input2 : 4digits(-)_mand/jul 2digits_secant 4digits_bees ;real(p3) alt-bailout1, 5digits_bailout 6digits alt-bailout2 ;imag(p3) shape : factor (fn1), outside : border-in (5digits+fract.) ;real(p4) outside: factor (fn2), outside : border-out (5digits+fract.) ;imag(p4) inside1: maxit1, 1digit_use:1_maxit 2_bord-in 3_bord-out +5_both ; 5digits_factor1 (fn2) 4digits+fract_border1 ;real(p5) inside2: maxit2, 1digit_use:1_maxit 2_bord-in 3_bord-out +5_both ; 5digits_factor2 (fn3) 4digits+fract_border2 ;imag(p5) inside3: maxit3, 1digit_use:1_maxit 2_bord-in 3_bord-out +5_both ; 5digits_factor3 (fn4) 4digits+fract_border3 ;fn(1) shared by many-mods+bees ; da=real(p2) dd=trunc(da) da=round((da-dd)*100000000000)+11111 dd=dd+1 d=trunc(dd/10000) dd=dd-d*10000 d3=(d==3)+(d==4)+(d==7)+(d==8) d4=(d3==0) vb=d>4 ab=(d==2)+(d==4)+(d==6)+(d==8) d=trunc(dd/1000) dd=dd-d*1000 ex1=d>0 v1m=(d==5)+(d==6) v1j=d>6 dd1=(d==3)+(d==4)+v1j ab1=(d==2)+(d==4)+(d==6)+(d==8) d=trunc(dd/100) dd=dd-d*100 ex2=d>0 v2m=(d==5)+(d==6) v2j=d>6 dd2=(d==3)+(d==4)+v2j ab2=(d==2)+(d==4)+(d==6)+(d==8) d=trunc(dd/10) ex3=d>0 v3m=(d==5)+(d==6) v3j=d>6 dd3=(d==3)+(d==4)+v3j ab3=(d==2)+(d==4)+(d==6)+(d==8) d=dd-d*10 ex4=d>1 v4m=(d==6)+(d==7) v4j=d>7 dd4=(d==4)+(d==5)+v4j ab4=(d==3)+(d==5)+(d==7)+(d==9) ; mm=trunc(da/1000000000) da=da-mm*1000000000 ph=trunc(da/10000000)/100 da=da-ph*1000000000 sp=trunc(da/100000)/100 da=da-sp*10000000 d=trunc(da/10000) ex0=d>4 da=da-d*10000 d=d-5*ex0 ir0=(d==3)+(d==4) d=trunc(da/1000) w1=d>4 da=da-d*1000 d=d-5*w1 rs1=(d==2)+(d==4) ir1=(d==3)+(d==4) d=trunc(da/100) w2=d>4 da=da-d*100 d=d-5*w2 rs2=(d==2)+(d==4) ir2=(d==3)+(d==4) d=trunc(da/10) w3=d>4 da=da-d*10 d=d-5*w3 rs3=(d==2)+(d==4) ir3=(d==3)+(d==4) d=round(da) w4=d>4 d=d-5*w4 rs4=(d==2)+(d==4) tt=ex0+ex1+ex2+ex3+ex4 ; d=imag(p2) t=d<0 if (t) d=-d endif dd=trunc(d) d=round((d-dd)*10000000000) pp=trunc(dd/100)/10 dd=dd-1000*pp ba1=trunc(dd/10) ba2=dd-10*ba1 ; p0=trunc(d/100000000)/10 d=d-p0*1000000000 p6=trunc(d/1000000)/10 d=d-p6*10000000 if (t) p6=-p6 endif p7=trunc(d/10000)/10 d=d-p7*100000 p8=trunc(d/100)/100 d=d-p8*10000 p9=d/100 ; d=real(p3) bb1=trunc(d) da=(d-bb1)*10000000000 ba=trunc(da/100000) bb2=da-100000*ba ; d=imag(p3) sfac=trunc(d) b1=(d-sfac)*100000 b0=b1/2 ; d=real(p4) ofac=trunc(d) b2=(d-ofac)*100000 ; d=imag(p4) mi1=trunc(d) da=(d-mi1)*100000000000 d=trunc(da/10000000000) bt1=d>6 da=da-d*10000000000 d=d-5*bt1 dt1=d>1 iv1=(d==3) fac1=trunc(da/100000) da=da-fac1*100000 bo1=(da/100000)/10 ; d=real(p5) mi2=trunc(d) da=(d-mi2)*100000000000 d=trunc(da/10000000000) bt2=d>6 da=da-d*10000000000 d=d-5*bt2 dt2=d>1 iv2=(d==3) fac2=trunc(da/100000) da=da-fac2*100000 bo2=(da/100000)/10 ; d=imag(p5) mi3=trunc(d) da=(d-mi3)*100000000000 d=trunc(da/10000000000) bt3=d>6 da=da-d*10000000000 d=d-5*bt3 dt3=d>1 iv3=(d==3) fac3=trunc(da/100000) da=da-fac3*100000 bo3=(da/100000)/10 ; mo=vb>ab mo1=v1m>ab1 mo2=v2m>ab2 mo3=v3m>ab3 mo4=v4m>ab4 ; sc=((ab+vb)==0) sc1=((ab1+v1m)==0) sc2=((ab2+v2m)==0) sc3=((ab3+v3m)==0) sc4=((ab4+v4m)==0) ; px=((ab+vb)==2) px1=((ab1+v1m)==2) px2=((ab2+v2m)==2) px3=((ab3+v3m)==2) px4=((ab4+v4m)==2) ; mb0=(ba1==1)+(ba2==1) mb1=(ba1==2)+(ba2==2) mb2=(ba1==3)+(ba2==3) mb3=(ba1==4)+(ba2==4) mb4=(ba1==5)+(ba2==5) ; if (d4) z=0 if (vb) if (mo) c=0.4*log(sqr(pixel^mm)) else c=pixel z=pixel endif else c=pixel z=pixel*sc endif else c=p1 z=pixel endif t=0 u=d3 bo=z p=pp z0=p7 zold=(0.0,0.0) cb=p9 bx=ba if (mb0) if (ba1==1) ba=bb1 else ba=bb2 endif else ba=bx endif : If (tt) t=t+1 if (ex0) if (bo>b0) u=2*(fn1(t/sfac)) if (d4) z=z*u if (mo) c=0.4*log(sqr(pixel^mm)) else c=pixel endif else z=pixel cb=p9*u c=p1*u p=pp*u endif if (ir0) t=0 endif ex0=0 tt=tt-1 endif elseif ((ex1) && bo>b1) if (b2>bo) d3=dd1 if (w1) u=2*(fn2(t/ofac)) else u=1,0 endif ab=ab1 if (d3) if (rs1) z=pixel cb=p9*u c=p1*u p=pp*u else c=p1 z=z*u cb=p9 endif vb=v1j else if (rs1) c=z*u z=pixel*(sc1+px1) z0=p7*u ph=ph*u else c=z z=z*u endif vb=v1m if (mo1) c=0.4*log(sqr(pixel^mm)) endif endif if (mb1) if (ba1==2) ba=bb1 else ba=bb2 endif else ba=bx endif if (ir1) t=0 endif ex1=0 tt=tt-1 endif elseif (ex2) if (dt1) if (iv1) d=bo>bo1 else d=bo<bo1 endif if (bt1) d=d+(t>mi1) endif else d=t>mi1 endif if (d) if (w2) u=2*(fn2(t/fac1)) else u=1,0 endif ab=ab2 d3=dd2 if (d3) if (rs2) z=pixel cb=p9*u c=p1*u p=pp*u else cb=p9 c=p1 z=z*u endif vb=v2j else if (rs2) c=z*u z=pixel*(sc2+px2) z0=p7*u ph=ph*u else c=z z=z*u endif vb=v2m if (mo2) c=0.4*log(sqr(pixel^mm)) endif endif if (mb2) if (ba1==3) ba=bb1 else ba=bb2 endif else ba=bx endif if (ir2) t=0 endif ex2=0 tt=tt-1 endif elseif (ex3) if (dt2) if (iv2) d=bo>bo2 else d=bo<bo2 endif if (bt2) d=d+(t>mi2) endif else d=t>mi2 endif if (d) if (w3) u=2*(fn3(t/fac2)) else u=1,0 endif ab=ab3 d3=dd3 if (d3) if (rs3) z=pixel cb=p9*u c=p1*u p=pp*u else cb=p9 c=p1 z=z*u endif vb=v3j else if (rs3) c=z*u z=pixel*(sc3+px3) z0=p7*u ph=ph*u else c=z z=z*u endif vb=v3m if (mo3) c=0.4*log(sqr(pixel^mm)) endif endif if (mb3) if (ba1==4) ba=bb1 else ba=bb2 endif else ba=bx endif if (ir3) t=0 endif ex3=0 tt=tt-1 endif elseif (ex4) if (dt3) if (iv3) d=bo>bo3 else d=bo<bo3 endif if (bt3) d=d+(t>mi3) endif else d=t>mi3 endif if (d) if (w4) u=2*(fn4(t/fac3)) else u=1,0 endif if (mb4) if (ba1==5) ba=bb1 else ba=bb2 endif else ba=bx endif ab=ab4 d3=dd4 if (d3) if (rs4) z=pixel cb=p9*u c=p1*u p=pp*u else cb=p9 c=p1 z=z*u endif vb=v4j else if (rs4) c=z*u z=pixel*(sc4+px4) z0=p7*u ph=ph*u else c=z z=z*u endif vb=v4m if (mo4) c=0.4*log(sqr(pixel^mm)) endif endif ex4=0 tt=0 endif endif endif if (vb) if (d3) if (ab) z=z*z+c ;Spiderjul John Horner c=c*sp+z else z1=z^p-1 ;Qusinewton Pusk s Istv n z2=p*z*z z=z-z1/z2 endif elseif (ab) zt=z*z+ph-0.5*zold ;Phoenix Mike Wareman zold=z z=zt else z2=fn1(z)+c ;Many_mods Linda Allison q=cos(z2) z=c*(1-q)/(1+q) endif elseif (d3) if (ab) z2=z*z ;Julia Pusk s Istv n z=z2*z2+p6*z2+c-p0 else z1=fn1(z)-cb ;Bees Ray Girvan z2=z1^p8-1 z3=p8*(z1^(p8-1)) z=z-(z2/z3) endif elseif (ab) z2=z*z ;Mandel Pusk s Istv n z=z2*z2+p6*z2+c-p0 else z3=z ;Secant Mike Wareman z1=z0*z0*z0*z0-1 z2=z*z*z*z-1 z=z-z2*(z-z0)/(z2-z1) z0=z3 endif bo=|z| bo<=ba } ------------------------------------start-par------------------------------- Ganymed { ; Time 1.12.39.12 ; Albrecht Niekamp aug, 03 ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mfr.frm formulaname=multifractal_8 function=sin/cosxx/cos/exp passes=t center-mag=+0.50549305714185240/-0.61811095723667920/704.0072/1/142.4999\ 99999998181/2.79927470092644626e-012 params=-0.02237006744590594/-0.07473982970671712/20685.64575300005/17053\ .0608020602/82048.03072420481/384.0000045/384.00024/128.3007680000451/25\ 6.300768002431/512.2007680082311 float=y maxiter=3072 inside=maxiter outside=tdis logmap=9 periodicity=0 rseed=-2436 colors=200034<23>0bo0cq0es<3>0kz<25>09C08A068<2>022000211<13>UQFWSGYTH<3\
e`LgbMidN<3>qjRslSunT<2>zsX<25>CB7A96875<3>000400<23>o00q00s00<3>z00<25\ C00A00800<3>000<23>eeegggiiijjjlllnnn<2>sss<25>BBB999777<2>222000012 }
Ikebana { ; Albrecht Niekamp Aug, 03 ; Time 0.49.15.81 ; ; ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mfr.frm formulaname=multifractal_8 function=sin/cosxx/cos/sin passes=t center-mag=+1.01296887343957000/-0.25355247435077240/268.8172/1/104.9999\ 99999999417/4.71109262711877363e-013 params=-0.02237006744590594/-0.07473982970671712/20856.6459530051/5040.0\ 608020602/82048.02048000001/384.0000045/384.00024/128.1007682048001/184.\ 1007682048001/512.1007682048001 float=y maxiter=3072 inside=maxiter outside=tdis logmap=11 periodicity=0 rseed=-2436 colors=2000NU<8>09C08A068<2>022000211<13>UQFWSGYTH<3>e`LgbMidN<3>qjRslSu\ nT<2>zsX<25>CB7A96875<3>000400<23>o00q00s00<3>z00<25>C00A00800<3>000<25>\ iiijjjlll<3>sss<25>BBB999777<2>222000012<24>0bo0cq0es<3>0kz<15>0OW } Islands { ; Time 0.47.07.67 ; Albrecht Niekamp Aug,03 ; ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mfr.frm formulaname=multifractal_8 function=sin/cosxx/cos/exp passes=t center-mag=+0.14743939138452520/-0.85700696310343770/988.7742/1/-177.500\ 000000000938/8.0188633511113494e-013 params=-0.02237006744590594/-0.07473982970671712/20685.64575300005/17053\ .0608020602/82048.03072420481/384.0000045/384.00024/128.3007680000451/25\ 6.300768002431/512.2007680082311 float=y maxiter=3072 inside=maxiter outside=tdis logmap=9 periodicity=0 rseed=-2436 colors=200222<22>eeegggiiijjjlllnnn<2>sss<25>BBB999777<2>222000012<24>0b\ o0cq0es<3>0kz<25>09C08A068<2>022000211<13>UQFWSGYTH<3>e`LgbMidN<3>qjRslS\ unT<2>zsX<25>CB7A96875<3>000400<23>o00q00s00<3>z00<31>000 } Jellyfish_armada { ; Albrecht Niekamp Aug, 03 ; Time 0.46.44.55 ; ; ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mfr.frm formulaname=multifractal_8 function=sin/cosxx/cos/sin passes=t center-mag=+1.05590865727923400/-0.26726304367583260/537.6344/1/-120.000\ 000000001336/1.0563286356735091e-012 params=-0.02237006744590594/-0.07473982970671712/20854.6459530051/5040.0\ 608020602/82048.02048000001/384.0000045/384.00024/128.1007682048001/184.\ 1007682048001/512.1007682048001 float=y maxiter=3072 inside=maxiter outside=tdis logmap=11 periodicity=0 rseed=-2436 colors=2000NU<8>09C08A068<2>022000211<13>UQFWSGYTH<3>e`LgbMidN<3>qjRslSu\ nT<2>zsX<25>CB7A96875<3>000400<23>o00q00s00<3>z00<25>C00A00800<3>000<25>\ iiijjjlll<3>sss<25>BBB999777<2>222000012<24>0bo0cq0es<3>0kz<15>0OW } Mandel_in_the { ; Clouds ; Albrecht Niekamp Aug, 03 ; Time 2.57.35.27 ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mfr.frm formulaname=multifractal_8 function=sin/exp/exp/sin passes=t center-mag=0.798692/0.00022867/24.61116/1/-90/3.88578058618804789e-016 params=-0.05825983458967864/0.3785210730307932/21222.32595700021/5025.05\ 06030602/89094.02048000094/384.0000545/384.00048/256.1007683001/512.1007\ 683001/768.1007683001 float=y maxiter=3072 inside=maxiter outside=tdis logmap=4 periodicity=0 rseed=-2436 colors=200444<21>fffgggiiijjjlll<3>sss<25>BBB999777<2>222000012<24>0bo0c\ q0es<3>0kz<25>09C08A068<2>022000211<21>icNkeOmfP<3>unTwpVxqWzsX<25>CB7A9\ 6875<3>000400<23>o00q00s00<3>z00<25>C00A00800<3>000222 } Borderwatch { ; Albrecht Niekamp Aug, 03 ; ; ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mfr.frm formulaname=multifractal_8 function=sin/exp/exp/sin passes=t center-mag=+0.76810386176090220/-0.04756578810250790/866.3365/1/90/-1.23\ 373533611470521e-014 params=-0.05825983458967864/0.3785210730307932/21222.32595700021/5025.05\ 06030602/89094.02048000094/384.0000545/384.00048/256.1007683001/512.1007\ 683001/768.1007683001 float=y maxiter=3072 inside=maxiter outside=tdis logmap=4 periodicity=0 rseed=-2436 colors=200444<21>fffgggiiijjjlll<3>sss<25>BBB999777<2>222000012<24>0bo0c\ q0es<3>0kz<25>09C08A068<2>022000211<21>icNkeOmfP<3>unTwpVxqWzsX<25>CB7A9\ 6875<3>000400<23>o00q00s00<3>z00<25>C00A00800<3>000222 } House_of_the { ; Helmets ; Time 2.31.23.87 ; Albrecht Niekamp Aug,03 ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mfr.frm formulaname=multifractal_8 function=sin/exp/exp/sin passes=t center-mag=0.332423/0.00308737/1.230666/1/-90/3.88578058618804789e-016 params=-0.05825983458967864/0.3785210730307932/21222.32595700021/5025.05\ 06030602/89094.02048049094/384.0000545/384.00048/256.1007683001/512.1007\ 683001/768.1007683001 float=y maxiter=3072 inside=maxiter outside=tdis logmap=4 periodicity=0 rseed=-2436 colors=200600<22>o00q00s00<3>z00<25>C00A00800<3>000<25>iiijjjlll<3>sss<2\ 5>BBB999777<2>222000012<24>0bo0cq0es<3>0kz<25>09C08A068<2>022000211<21>i\ cNkeOmfP<3>unTwpVxqWzsX<25>CB7A96875<3>000400 } --------------------------------------end----------------------------------