Kent, No, I didn't get a direct answer concerning orbit fractals via the formula parser. However I think Gerald may have indirectly pointed out a way to do this in his message about per-image variable initialization. He pointed out that if one is careful with the comparison expressions, it is possible to cause an action based on an exact pixel value ( IF (real(z)==N && image(z)==M)...) For a suitable (N,M) value, that might never be invoked anywhere on the screen. So, in principle we ought to be able to have dual execution paths within the .frm, the unrelated one used to generate the main screen, and a separate one for generating the orbit. It would be invoked by calling up the <o> screen, then its subsidiary <p> toggle (direct numeric input), where one enters the (N,M) trigger that causes the orbit to be drawn. I say, "in principle", because I tried this in the following .frm, but could not get anything to display on the orbit screen (However, the main screen fractal with associated formula (it was the formula used for successive summation, but without doing the sums) was visually interesting, so I include it.). I would like to know why I didn't get the expected results on the orbit screen, so if you've an idea why not, please let me know. Sincerely, Hiram /************FRM for orbit generation*********************************/ XY_Orbiter_1 { ; INITIALIZE: fn1=sqr,fn2=sin,fn3=cos,p1=(10000,0),p2=(-0.05,0) ; ORBIT SCREEN FLAG: <p> toggle values (999,999) ; generates orbits on the <o> screen for a summation process ; x(n) = summation[m=1..n](fn2(fn1(n)*m^a) ; y(n) = summation[m=1..n](fn3(fn1(n)*m^a) ; The {fn2,fn3} ought to be an associated pair like {cosine,sine} ; The main screen is extraneously the Mandeloid of the function summed. ; Iteration count for the orbit is to be put in p1.real ; a is specified in p2.real ; Trigger orbit by <o> then <p> to get the numbers screen, where enter ; values "999" twice to generate the orbit IF (initflag == 0) a = p2, initflag = 1, isorbit = 0, isntorbit = 1 iterhold = maxit ENDIF IF (real(scrnpix) == 999 && imag(scrnpix) == 999) ; orbit screen init iterhold = maxit, maxit = p1, isorbit = 1, isntorbit = 0, z = (0,0) ELSE ; nonorbit (main screen) init isorbit = 0, isntorbit = 1, z = pixel maxit = iterhold ENDIF : IF (isorbit) z = z + real(fn2(fn1(z)*z^a)) + flip(real(fn3(fn1(z)*z^a))) ELSE z = real(fn2(fn1(z)*z^a)) + flip(real(fn3(fn1(z)*z^a))) ENDIF ( isorbit && ( |z| < 1E20 ) ) || (isntorbit && ( |z| < 4 + p3 ) ) } /**************FRM END**********************************************/ /********************PAR BEGIN-main screen generates interesting artifact********/ Fossil_1 { ; Fractint Version 2003 Patchlevel 1 reset=2003 type=formula formulafile=exprmntl.frm formulaname=XY_Orbiter_1 function=sqr/sin/cos passes=1 center-mag=0.064994/-1.89372/0.8259203/1/90/-1.23373533611470521e-014 params=10000/0/0.05/0/1000/0 float=y maxiter=2000 inside=fmod logmap=4 colors=000eee0000e0Ug4xi8oY4eL0<2>SSLllLssLzzLzzz000555<3>HHHKKKOOO<3>cc\ chhhmmmsssU0cxzw<3>xjUxfNxbFxi8wU0<4>ZfQUiV0e0Koe<3>0zz<2>0Gz<3>rVzzVzzV\ rzVjB`0zVV<3>zzV<3>VzV<3>VzzVrzVjzLW0hhz<3>zhz<3>zhh<3>zzhvzhqzhWQ0hzh<2\
hzvm00xi8hqzhlz00S<3>S0SS0LS0EeL0000S70<2>SS0<3>0S0<3>0SS0LS0ESeee000IE\ S<2>SES<3>SEE<3>SSEPSELSELLL000ESI<2>ESS<2>EHSKKS<2>QKSSKSSKQSKOSSL000SM\ KSOKSQKSSK<2>MSKKSKKSMKSOKSQKSSKQSKOSZZL000<4>EE7HH8JJ9MMBPPC<3>__IbbKee\ L000<4>GG7JJ8NN9QQBTTC<3>eeIiiKllL000<4>II7MM8QQ9TTBXXC<3>llIooKssL000<4\ LL7PP8TT9XXB``C<3>rrIvvKzzL000<3>JJJOOOSSS<6>zzz000zzzm00 } /***************************PAR END***********************************/