Hiram Berry wrote:
Is it possible to get fractint to plot these and if so how?
Apologies to you and Kent Watring for not answering at all, the postings of both of you somehow "evaporated" from my memory! There are, IMHO, two possible approaches to rendering orbit formulas, that is, something like x(n+1) = f(x(n),y(n)), y(n+1) = g(x(n),y(n)). Method A: Convert the orbit formula into an escape time one by checking if one of the orbit points has hit a pixel. One only needs to specify a small epsilon around each pixel and bail out when an orbit point falls within the limit. The last lines of such formula would look like ... z = x + flip(y) |z-pixel| < eps } There's a drawback, though. Orbit fractals normally need thousands of plotted points to produce a decent image - and we would have to run the whole orbit *for each pixel* just waiting for the pixel to get hit once! And there would be no shortcuts to speed up rendering - we'd need to check every single pixel! Talk about patience :-) Method B: As you have suggested - using the Orbit Window. (*Not* the orbit display accessed by pressing <o> while the fractal is running - this one displays the orbits of every pixel of the screen. The Orbit Window is opened with either the <o> key after the fractal has finished or by using <Ctrl>+<o> while the fractal is running.) BTW one should set a small view window for the main display via the <v>-screen to let the Orbit Window have the whole screen's "real estate" (and it's a good idea to get acquainted with the OW controls, which are different from those of the main fractal display). Considerations for the formula itself: Besides of a big number of points to plot (easy, just crank up the iteration count on the <x>-screen) and switching off periodicity-checking (just to be on the safe side), we need a formula which hands the orbit point coordinates back to Fractint and which doesn't bail out early - again easy, put those coordinates into the variable "z" and close the formula with a final check that never is false, like ... variable-name == variable-name } And that's all! Two pars + formulas appended (...your formula indeed produces strange and beautiful images). Regards, Gerald ;----------------------- PARs following ----------------------- Lauwerier { ;Press <Ctrl>+<o> after loading ; reset=2003 type=formula formulafile=gkd.frm formulaname=oLauwerier corners=-2/2/-1.5/1.5 params=3/2/0.1/0.1 float=y maxiter=100000000 periodicity=0 viewwindows=4.2/0.75/yes/0/0 colors=@firestrm.map } Hiram { ;Press <Ctrl>+<o> after loading, <,> to zoom out! ; reset=2003 type=formula formulafile=gkd.frm formulaname=oHiram function=sqr corners=-2/2/-1.5/1.5 params=0.5/0 float=y maxiter=10000000 periodicity=0 viewwindows=4.2/0.75/yes/0/0 colors=@firestrm.map } frm:oLauwerier {;from "Algorithmen fuer Chaos und Fraktale", ;p.131 ;--------------- ; p1real = a ; p1imag = b ; p2real = x(0) ; p2imag = y(0) ;--------------- a = real(p1), b = imag(p1) x = real(p2), y = imag(p2): tmp = y y = x + y*(a*x-1-b*y) x = tmp z = x + flip(y) tmp == tmp } frm:oHiram { ;------------------- ; p1real = a (0<a<1) ;------------------- a = real(p1) x = y = n = 0: n = n + 1 x = x + sin(fn1(n))/n^a y = y + cos(fn1(n))/n^a z = x + flip(y) n == n } ;------------------------ End of PARs -------------------------