There is an excellent file (albiet a few years old) called PHCTUTOR.ZIP which contains a TXT tutorial and a FRM example file. It describes and demonstrates the multifractal concept quite well. I have been investigating it. It uses the IF/THEN/ELSE programing logic and uses an "alternating pixel" technique to superimpose different fractals. I am trying to animate these but it is not so easy so far. I am not sure where to get it - probably one of the Fractint support sites. If U R interested I can just email it to you or post in on my web site for download. JoTz
JackOTradez wrote:
There is an excellent file (albiet a few years old) called PHCTUTOR.ZIP which contains a TXT tutorial and a FRM example file. It describes and demonstrates the multifractal concept quite well. I have been investigating it. It uses the IF/THEN/ELSE programing logic and uses an "alternating pixel" technique to superimpose different fractals. I am trying to animate these but it is not so easy so far. I am not sure where to get it - probably one of the Fractint support sites. If U R interested I can just email it to you or post in on my web site for download. <<
As the discoverer of the PHC technique, I used it many years (particularly with the Carr2821 formula) to generate some magnificent images. There are thousands of PHC and PTC formulas, many in the Orgform collection. The tutorial is still available at the Fractint support sites. The nice thing about Al's multifractal formula (while not as general as the PHC technique) is that it doesn't use a checkerboard to mesh the composite images. It averages the colors for every pixel. Panning an image doesn't require panning rows or columns in multiples of two and it doesn't confuse most thumbnail generators. And it gives a sharper image at any resolution than a PHC.
----- Original Message ----- From: "JackOTradez" <JackOTradez@email.msn.com> To: <fractint@mailman.xmission.com> Sent: Sunday, May 18, 2003 12:08 AM Subject: [Fractint] Re: MultiFractal
There is an excellent file (albiet a few years old) called PHCTUTOR.ZIP snip
Hi Jack, check these multilayer experiments some years ago, taken from my "Multlke.par" which is available on Spanky´s homepage. Rgards, Al. -------------------------------------------------start-par------------------ multilake_6b { ; Seamonster ; Time 0.01.40.79 ; Albrecht Niekamp reset=2002 type=formula formulafile=multlke.frm formulaname=multilake_6 ismand=n function=sqr passes=1 center-mag=-0.170106/-0.00250209/0.9363296 params=-0.1838649155722326/-0.01876563803169308/1024/50/0.133/288/-0.038\ 63643/-0.0389359416 float=y maxiter=1024 inside=fmod outside=fmod periodicity=0 rseed=-2436 colors=200UUU<8>iiijjjlll<3>sss<25>BBB999777<2>222000012<24>0bo0cq0es<3>\ 0kz<25>09C08A068<2>022000211<22>keOmgPoiQqjRslSunT<2>zsX<25>CB7A96875<3>\ 000400<23>o00q00s00<3>z00<25>C00A00800<3>000<15>SSS } multilake_6h { ; mysterious floating object ; Time 0.00.33.23 ; Albrecht Niekamp reset=2002 type=formula formulafile=multlke.frm formulaname=multilake_6 ismand=n function=sqr passes=1 center-mag=0.882236/0.0525438/0.6777147 params=-0.5/1.125/512/36/0.2/301/-1.625/0.625 float=y maxiter=647 inside=maxiter periodicity=0 rseed=-2436 colors=000<3>110110110110000KA4<7>gcOjgRmjT<3>zzc<9>UOFRKDOGA<3>A00<9>f0\ Ci0Dl0F<3>z0K<6>Z0EV0DR0C<3>A08004000<26>000<4>000<7>Q0UU0YX0a_0dc0hf0l<\ 2>p0w<4>_0dX0aU0Y<2>K0NH0JG0NE1R<3>7UX6`Z4h_2oa0wc<10>2WI2TG2RE<3>4G54D3\ 6F5<16>kkammcpoe<3>zwm<3>mhZjdVfaS<3>VMCRI8OE4KA0000<43>000<4>000330<9>2\ 20 } --------------------------------start-frm---------------------------------- FRM:multilake_6 { ;Albrecht Niekamp ; p1: all layers ; real part of p2: bailout value ; imag part of p2: water level in % of the screen height ; real part of p3: amplitude of the wave (try 0.2) ; imag part of p3: frequency (try 300) ; p4:third axis layers 2,3 cr=real(scrnpix)+2*imag(scrnpix) r=cr-4*trunc(cr/real(4)) bailout = real(p2) if (r==0) if (imag(p2) > 0 && imag(p2) <= 100) level = imag(p2) / 100 ; water level ampl = real(p3) ; amplitude of the wave freq = imag(p3) ; frequency angle = real(rotskew * pi / 180) exp_irot = exp(-flip(angle)) h = 1 / real(magxmag) m = h / 0.75 * imag(magxmag) tanskew = tan(imag(rotskew * pi / 180)) u = 2 * m * exp_irot v = 2 * h * (tanskew + flip(1)) * exp_irot z3rd = center + (-m-h*tanskew - flip(h)) * exp_irot z = pixel - z3rd b = imag(conj(u)*z) / imag(conj(u)*v) if (b <= level) dy = level - b z = z + 2*dy * (1+ampl*sin(freq*dy^0.2)) * v endif z = z + z3rd else z=pixel endif if (ismand) c = z else c = p1 endif elseif (r==1) if (imag(p2) > 0 && imag(p2) <= 100) level = imag(p2) / 100 ; water level ampl = real(p3+0.1) ; amplitude of the wave freq = imag(p3+100) ; frequency angle = real(rotskew * pi / 180) exp_irot = exp(-flip(angle)) h = 1 / real(magxmag) m = h / 0.75 * imag(magxmag) tanskew = tan(imag(rotskew * pi / 180)) u = 2 * m * exp_irot v = 2 * h * (tanskew + flip(1)) * exp_irot z3rd = center + (-m-h*tanskew - flip(h)) * exp_irot z = pixel - z3rd b = imag(conj(u)*z) / imag(conj(u)*v) if (b <= level) dy = level - b z = z + 2*dy * (1+ampl*sin(freq*dy^0.2)) * v endif z = z + z3rd else z=pixel endif if (ismand) c = z else c = p1 endif else z=pixel c=p1 endif x=0 y=0 w=0 : y2 = y*y x2 = x*x w2 = w*w x=x2-y2-real(c) if (r==0) y=2*y2*x2-imag(c) z=fn1(z+x+y) phc_bailout = |z| <(bailout-(x2*y2)) elseif (r==1) y=2*y2*x2-imag(c) w=2*w2*x2-real(p4) z=fn1(z+x+y+w) phc_bailout = |z| < (bailout-(x2*y2*w2)) elseif (r==2) y=2*y2*x2-imag(c) w=2*w2*y2-imag(p4) z=fn1(z+x+y+w) phc_bailout = |z| < (bailout-(x2*y2*w2)) else y=2*x2*y2-imag(c) z=fn1(z+x+y) phc_bailout = |z| < (bailout-(x2+y2)) endif phc_bailout } ----------------------------------end------------------------------------
participants (3)
-
Albrecht.Niekamp@t-online.de -
JackOTradez -
Lee H. Skinner