Hi, hereïs what kept me silent the last days. This formula has a new structure, as I found out, how to check and uncheck all options and still they are executed in the correct order and the switching sequence is terminated after the last checked item. Also distorted structures are down to a minimum. I think this is the best one so far. Fractal greetings, Al. --------------------------------------------------------------------------- Janusbird4 { ; Time 0.33.16.49 ; Albrecht Niekamp June, 03 ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mult241.frm formulaname=multifractal_2 ismand=y function=exp/exp/exp/exp passes=t center-mag=-0.500313/6.66134e-016/1.173709 params=0.3102206488235115/0.9875484481337932/10182.101/40.321405/4048.02\ 048/384.00004/768.00032/256.0076800000001/512.01024/1536.01024 float=y maxiter=3072 inside=maxiter outside=tdis logmap=4 periodicity=0 rseed=-2436 colors=200600<2>000<25>iiijjjlll<3>sss<25>BBB999777<2>222000012<24>0bo0c\ q0es<3>0kz<25>09C08A068<2>022000211<24>oiQqjRslS<3>zsX<25>CB7A96875<3>00\ 0400<23>o00q00s00<3>z00<27>800 } Rubberboat { ; ; Albrecht Niekamp June, 03 ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mult241.frm formulaname=multifractal_2 ismand=y function=cos/exp/exp/exp passes=t center-mag=-0.48/6.66134e-016/1.103753 params=0.3102206488235115/0.9875484481337932/10189.101/40.321402/4048.02\ 048/384.00004/768.00032/256.0076800000001/768.01024/1536.01024 float=y maxiter=3072 inside=maxiter outside=tdis logmap=4 periodicity=0 rseed=-2436 colors=200600<2>000<25>iiijjjlll<3>sss<25>BBB999777<2>222000012<24>0bo0c\ q0es<3>0kz<25>09C08A068<2>022000211<24>oiQqjRslS<3>zsX<25>CB7A96875<3>00\ 0400<23>o00q00s00<3>z00<27>800 } -------------------------------start-frm------------------------------------ FRM:Multifractal_2 { ; Albrecht Niekamp 040603 ;only integers as first input, second input 5 digits to the right ;real(p2) 5digits: shape, outside, in1, in2, in3 ; 1_mand 2_jul 3_hyb.mand 4_hyb.jul +5_reset digit1 +5_warpeffect ; input2 : five digits frm2 use : 0_no 1_yes ;imag(p2) (-)digit1 : many_mods multipl. off 1_out 2_in1 3_in2 4_all ; digit2 : iter-reset 1_out 2_in1 3_in2 4_all ; input2 : many_mods_2digits frm1_2digits frm2_2digits ;real(p3) many_mods bailout, bailout ;imag(p3) shape : factor, border ;real(p4) outside : factor, border ;imag(p4) maxiter1, factor1 ;real(p5) maxiter2, factor2 ;imag(p5) maxiter3, factor3 ; da=real(p2) dd=trunc(da) da=round((da-dd)*100000)+11111 d=trunc(dd/10000) ex0=d>5 d=d-5*ex0 vb=(d==3)+(d==4) dd=dd-d*10000 d=trunc(dd/1000) ex1=d>0 dd=dd-d*1000 rs1=d>5 d=d-5*rs1 v1m=(d==3) v1j=(d==4) dd1=(d==2)+(d==4) d=trunc(dd/100) ex2=d>0 dd=dd-d*100 rs2=d>5 d=d-5*rs2 v2m=(d==3) v2j=(d==4) dd2=(d==2)+(d==4) d=trunc(dd/10) ex3=d>0 dd=dd-d*10 rs3=d>5 d=d-5*rs3 v3m=(d==3) v3j=(d==4) dd3=(d==2)+(d==4) ex4=dd>0 rs4=dd>5 dd=dd-rs4*5 v4m=(dd==3) v4j=(dd==4) dd4=(dd==2)+(dd==4) tt=ex0+ex1+ex2+ex3+ex4 ; d=trunc(da/10000) ab=(d==2) da=da-d*10000 d=trunc(da/1000) ab1=(d==2) da=da-d*1000 d=trunc(da/100) ab2=(d==2) da=da-d*100 d=trunc(da/10) ab3=(d==2) da=da-d*10 ab4=(da==2) ; d=imag(p2) t=d<0 if (t) d=-d endif dd=trunc(d) d=round((d-dd)*1000000) da=trunc(dd/10) so1=((da==1)+(da==4)==0) so2=((da==2)+(da==4)==0) so3=((da==3)+(da==4)==0) dd=dd-10*da ir1=(dd==1)+(dd==4) ir2=(dd==2)+(dd==4) ir3=(dd==3)+(dd==4) ; mm=trunc(d/10000) d=d-mm*10000 p6=trunc(d/100)/10 d=d-p6*1000 if (t) p6=-p6 endif p7=d/10 ; d=real(p3) mb=trunc(d) ba=(d-mb)*100000 ; d=imag(p3) sfac=trunc(d) b1=(d-sfac)*100000 ; d=real(p4) ofac=trunc(d) b2=(d-ofac)*100000 ; d=imag(p4) mi1=trunc(d) fac1=(d-mi1)*100000 ; d=real(p5) mi2=trunc(d) fac2=(d-mi2)*100000 ; d=imag(p5) mi3=trunc(d) fac3=(d-mi3)*100000 ; if (ismand) z=0 if (vb) c=0.4*log(sqr(pixel^mm)) else c=pixel endif else c=p1 z=pixel endif t=0 d3=(ismand==0) u=d3 : bo=z If (tt) t=t+1 if ((ex0) && bo>b1) u=2*(fn1(t/sfac)) if (ismand) z=z*u if (vb) c=0.4*log(sqr(pixel^mm)) ba=mb else c=pixel endif else z=pixel c=p1*u endif ex0=0 tt=tt-1 elseif ((ex1) && bo>b2) u=2*(fn1(t/ofac)) rs=rs1 ab=ab1 if (dd1) if (rs) z=pixel endif c=p1*u vb=v1j d3=1 else d3=0 z=z*u c=z if (rs) z=0 endif vb=v1m if (vb) if (so1) mm=mm+mm endif c=0.4*log(sqr(pixel^mm)) ba=mb endif endif if (ir1) t=0 endif ex1=0 tt=tt-1 elseif ((ex2) && t>mi1) u=2*(fn2(t/fac1)) rs=rs2 ab=ab2 if (dd2) if (rs) z=pixel endif c=p1*u vb=v2j d3=1 else d3=0 z=z*u c=z if (rs) z=0 endif vb=v2m if (vb) if (so2) mm=mm+mm endif c=0.4*log(sqr(pixel^mm)) ba=mb endif endif if (ir2) t=0 endif ex2=0 tt=tt-1 elseif ((ex3) && t>mi2) u=2*(fn3(t/fac2)) ab=ab3 rs=rs3 if (dd3) if (rs) z=pixel endif c=p1*u vb=v3j d3=1 else d3=0 z=z*u c=z if (rs) z=0 endif vb=v3m if (vb) if (so3) mm=mm+mm endif c=0.4*log(sqr(pixel^mm)) ba=mb endif endif if (ir3) t=0 endif ex3=0 tt=tt-1 elseif ((ex4) && t>mi3) u=2*(fn4(t/fac3)) ab=ab4 rs=rs4 if (dd4) if (rs) z=pixel endif c=p1*u vb=v4j d3=1 else d3=0 z=z*u c=z if (rs) z=0 endif vb=v4m if (vb) if (so2) mm=mm+mm endif c=0.4*log(sqr(pixel^mm)) ba=mb endif endif ex4=0 tt=tt-1 endif endif if (vb) if (d3) z=(z*z-real(c))^(z*u+imag(c)) else z2=fn1(z)+c ;Linda Allison q=cos(z2) z=c*(1-q)/(1+q) endif elseif (ab) z=z*z+c+c*c-p7 ;Pusk s Istv n elseif (d3) z2=z*z z=z2*z2+(p6+u)*z2+c else z2=z*z ;Pusk s Istv n z=z2*z2+(p6+u)*z2+c-p1 endif |z|<=ba } ---------------------------------------------------------------------end---- -----------