Hi, Some Ideas about Multifractals Of course every good fractal formula has unlimited complexity, you can try to explore it and you´ll never come to an end. So why should I use multifractal as Jim once put it if I remember well. What more do you get if you add one unlimited complexity to another? Not more complexity of course but something different. In nature we have uncountable clean structures evolved from chaos. Maybe they evolved by relations between different complexities? This is where Multifractal comes in. From contact, mixing and marriage of different complexities new structures are born that you have never seen and which are possible only in this program. Miraculously, by experience and try and error it does what I want, more often then not, -up to a certain degree of course. There´s always a lot of surprise involved and that´s what makes it fascinating, even after years. Also my remaining life, I´m 71, is too short to explore every possible combination, not mentioning the reset and colour commands. Today´s image came about as I wanted to explore the inside of a mandel with a mutant Julia. Judge yourself. -- btw: Hal´s modification does not help save RAM as obviously the comments are stripped by fractint, that maybe different in a windows version.So here´s the complete frm again. ---------------------------------start par--------------------------------------- 1536141 { ; The_Miracle ; Theres life inside ; Time 0.29.05 Dos Shell 1600/1200 ; Fractint Version 2004 Patchlevel 11 reset=2004 type=formula formulafile=mfr_10.frm formulaname=multifractal_10 function=sin/exp/exp/sin passes=t center-mag=0.0206766/-0.0053525/6.831816/1/-90/3.8\ 8578058618804789e-016 params=-0.05825983458967864/0.3785210730307932/213\ 64.64595712822/14235.4911030602/152048.0404808048/\ 384.1604894048/384.00482000595/256.1007683001/512.\ 1007683001/768.1007683001 float=y maxiter=3071 inside=maxiter outside=tdis periodicity=0 rseed=-2436 colors=000000zr0zz1zzC<2>zzz<3>jqdfo_blU<3>Mb8<3>L\ Q8KM8KJ8<2>I88H44G00<3>TA5WD6ZF7aI8eLAhMBiODjQF<3>\ qeBriAtm9vq8xu7zz5zz4zz3<4>zj4zg4zc4<3>zS5zP5zL6zI\ 6zE6wE6tD6<6>vAIv9Kv9M<3>x7Sy7Uy6Wz6Yz5_<3>f5Ma5IW\ 4E<2>_4H<3>P3DN2CK2A<3>805G0BO0G<3>g0Ul0Xq0`v0d<2>\ y0fz0gy0h<3>u1mt1ns1or2q<2>v2u<3>c5eZ6`U6X<2>F9LAA\ G7FO4KW0Qc<3>5Xc6Zc7`c7aa7c_7eY<3>FcgHciJbl<3>S_v<\ 3>civflvinvlqvotvsww<2>zzz<3>rwzovzhsw<3>Gch8_d8Xa\ <3>8JP8FL8CI<3>SCCXCAaB9<3>uA2zA0xA0<12>SA1QA1NA1<\ 3>D92<6>UXAW`BYcC<3>hrI<3>UnXRm_NlcJkgFfpAaz<3>PJo\ SFlWAi_5fc0ce7_jFRoNIzb0zj0 } frm:Multifractal_10 { ; Albrecht Niekamp Jan2005 ; ;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 ; 1digit_shapereset:0_no 1_dblmandel 2_iter-reset 3_both +5_warp ; 4digits reset : 0_no 1_z-reset 2_iter-reset 3_both +5_warp ;imag(p2)(-) 5digits_colour(bailout) number ; input2 : 4digits(-)_mand/jul 2digits_secant 4digits_bees ;real(p3) 2digits_newt 4digits_colour1, 5digits_colour2 5digits_colour3 ;imag(p3) shape : factor (fn1), 5digits_colour4 6digits_colour5 ;real(p4) outside: factor (fn2), 4+1digits_bord-out 4digits+fract_bord-in ;imag(p4) inside1: maxit1, 1digit_use:1_maxit 2(7)_bord-out 3(8)_bord-in ; 5digits_factor1 (fn2) 4digits+fract_border1 ;real(p5) inside2: maxit2, 1digit_use:1_maxit 2(7)_bord-out 3(8)_bord-in ; 5digits_factor2 (fn3) 4digits+fract_border2 ;imag(p5) inside3: maxit3, 1digit_use:1_maxit 2(7)_bord-out 3(8)_bord-in ; 5digits_factor3 (fn4) 4digits+fract_border3 ; optional: 1_lake effect, 2digits_frquency 2digits_level 2digits_ampl ;fn(1) shared by many-mods+bees ; le=0 z=pixel da=real(p2) dd=trunc(da) da=round((da-dd)*100000000000)+11111 dd=dd+11111 d=trunc(dd/10000) dd=dd-d*10000 d3=(d==4)+(d==5)+(d==8)+(d==9) d4=d3==0 vb=d>5 sc=d==2 mo=d==6 px=d==7 ab=px+(d==3)+(d==5)+(d==9) d=trunc(dd/1000) dd=dd-d*1000 ex1=d>1 sc1=d==2 mo1=d==6 px1=d==7 v1m=mo1+px1 v1j=d>7 dd1=v1j+(d==4)+(d==5) ab1=px1+(d==3)+(d==5)+(d==9) d=trunc(dd/100) dd=dd-d*100 ex2=d>1 sc2=d==2 mo2=d==6 px2=d==7 v2m=mo2+px2 v2j=d>7 dd2=v2j+(d==4)+(d==5) ab2=px2+(d==3)+(d==5)+(d==9) d=trunc(dd/10) ex3=d>1 sc3=d==2 mo3=d==6 px3=d==7 v3m=mo3+px3 v3j=d>7 dd3=v3j+(d==4)+(d==5) ab3=px3+(d==3)+(d==5)+(d==9) d=dd-d*10 ba=imag(p5) mi3=trunc(ba) dd=(d>1)+(mi3>1) ex4=dd==2 sc4=d==2 mo4=d==6 px4=d==7 v4m=mo4+px4 v4j=d>7 dd4=v4j+(d==4)+(d==5) ab4=px4+(d==3)+(d==5)+(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 dm=(d==2)+(d==4) 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=ex1+ex0+ex2+ex3+ex4 ; d=real(p3) dd=trunc(d) da=(d-dd)*10000000000 pp=trunc(dd/10000) ba1=dd-10000*pp ba2=trunc(da/100000) ba3=da-100000*ba2 ; d=imag(p3) sfac=trunc(d) da=(d-sfac)*100000000000 ba4=trunc(da/1000000) ba5=da-ba4*1000000 ; d=real(p4) ofac=trunc(d) da=(d-ofac)*10000000000 bh=trunc(da/100000)/10 bl=(da-bh*1000000)/10 bs=bl/2 ; d=imag(p2) t=d<0 if (t) d=-d endif dd=trunc(d) da=round((d-dd)*10000000000) d=trunc(dd/10000) dd=dd-d*10000 bb0=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5) d=trunc(dd/1000) dd=dd-d*1000 bb1=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5) d=trunc(dd/100) dd=dd-d*100 bb2=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5) d=trunc(dd/10) dd=dd-d*10 bb3=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5) d=round(dd) bb4=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5) ; d=da 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 dp=p6+p0/100 p8=trunc(d/100)/100 d=d-p8*10000 p9=d/100 ; 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 ; if (mi3==1) d=(ba-mi3)*1000000 fr=round((trunc(d/10000))*10) ;lake effect by S.Gallet d=d-fr*1000 lv=(trunc(d/100))/100 d=d-lv*10000 am=d/100 u=real(rotskew*pi/180) t=exp(-flip(u)) bo=1/real(magxmag) q=bo/0.75*imag(magxmag) dd=tan(imag(rotskew*pi/180)) da=2*q*t rs=2*bo*(dd+flip(1))*t zz=center+(-q-bo*dd-flip(bo))*t z=z-zz d=imag(conj(da)*z)/imag(conj(da)*rs) le=d<=lv if (le) dd=lv-d z=z+2*dd*(1+am*sin(fr*dd^0.2))*rs endif z=z+zz else da=(ba-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 endif ; if (vb) if (d3) if (ab) z=z*le+pixel*(le==0) ;Spider c=p1 else z=z*le+pixel*(le==0) c=p1 ;newton endif elseif (ab) c=z ;Phoenix z=z*le+pixel*(le==0) else c=0.4*log(sqr(z^mm)) ;many mods z=0 endif elseif (d3) if (ab) c=p1 ;Julia z=z*le+pixel*(le==0) else ;bees c=p1 z=z*le+pixel*(le==0) endif elseif (ab) c=z ;Mandel z=0 else c=z ;Secant z=z*le+pixel*(le==0) endif t=0 bo=|z| p=pp z0=p7 zold=(0.0,0.0) cb=p9 ba=bb0 : if (tt) t=t+1 if (ex0) ex0=t<mi1 if (bo>bs) u=2*(fn1(t/sfac)) ex0=0 if (ir0) t=0 endif if (d4) z=z*u if (mo) c=0.4*log(sqr(z^mm)) else c=pixel endif else z=z*le+pixel*(le==0) cb=p9*u c=p1*u p=pp*u endif tt=tt-1+ex0 endif elseif ((ex1)&&bo>bl) if (bo<bh) d3=dd1 ba=bb1 ab=ab1 ex1=0 tt=tt-1 if (w1) u=2*(fn2(t/ofac)) else u=1,0 endif if (ir1) t=0 endif if (d3) vb=v1j if (rs1) z=pixel cb=p9*u c=p1*u p=pp*u else c=p1 z=z*u cb=p9 endif else vb=v1m if (rs1) c=z*u z=pixel*(sc1+px1) z0=p7*u ph=ph*u else c=z z=z*u endif if (mo1) c=0.4*log(sqr(z^mm)) endif endif 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) ab=ab2 d3=dd2 ba=bb2 ex2=0 tt=tt-1 if (w2) u=2*(fn2(t/fac1)) else u=1,0 endif if (ir2) t=0 endif if (d3) vb=v2j if (rs2) z=pixel cb=p9*u c=p1*u p=pp*u else cb=p9 c=p1 z=z*u endif else vb=v2m if (rs2) c=z*u z=pixel*(sc2+px2) z0=p7*u ph=ph*u else c=z z=z*u endif if (mo2) c=0.4*log(sqr(z^mm)) endif endif 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) ab=ab3 d3=dd3 ba=bb3 ex3=0 tt=tt-1 if (w3) u=2*(fn3(t/fac2)) else u=1,0 endif if (ir3) t=0 endif if (d3) vb=v3j if (rs3) z=pixel cb=p9*u c=p1*u p=pp*u else cb=p9 c=p1 z=z*u endif else vb=v3m 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(z^mm)) endif endif 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) ab=ab4 d3=dd4 ba=bb4 ex4=0 tt=0 if (w4) u=2*(fn4(t/fac3)) else u=1,0 endif if (d3) vb=v4j if (rs4) z=pixel cb=p9*u c=p1*u p=pp*u else cb=p9 c=p1 z=z*u endif else vb=v4m if (rs4) c=z*u z=pixel*(sc4+px4) z0=p7*u ph=ph*u else c=z z=z*u endif if (mo4) c=0.4*log(sqr(z^mm)) endif endif 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 ;Quasinewton Puskas Istvan z2=p*z*z z=z-z1/z2 endif elseif (ab) z1=z*z+0.56+ph/100-0.5*zold ;Phoenix Mike Wareman zold=z z=z1 else z2=fn1(z)+c ;Many_mods Linda Allison z1=cos(z2) z=c*(1-z1)/(1+z1) endif elseif (d3) if (ab) z2=z*z ;Julia Puskas Istvan 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) if (dm) z=z*z+c+c*c-dp ;Double Mandel else z2=z*z ;Mandel Puskas Istvan z=z2*z2+p6*z2+c-p0 endif 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 } ------------------------------------------end------------------------------------------