You've said that it only uses the double float in the deep zooming code, but where does it get X0....Xn from? There must be arbitrary precision code somewhere. From that two page PDF, the algorithm looks simple, doesn't it? However we know Δn gets "large" (< 4, mins) for sufficiently large n. That's chaos theory for you, and it wouldn't look like a fractal if Δn remained of the order of 10^-100 all the time. So it must do something when the approximation breaks down - I expect it starts calculating at arbitrary precision. (Although as we're working with floating point types, it would be quite elegant to use that double-double / quad-double datatype here.) So how would I do it, if I had the required product of programming skill and free time? A recursive algorithm, like SOI. You'd need to pass the coordinates for a rectangle and incomplete arbitrary precision iteration data for a (hopefully) central point. Complete iteration of central point until bailout / maxit / or possibly periodicity check positive. (I suspect periodicity checking would be more of a hindrance.) Calculate other key points in turn, recursing when the approximation breaks down. Hope this helps. I can take a look at the source code too if that would help.
On 18 Jan 2015, at 02:45, Paul <pdeleeuw@deleeuw.com.au> wrote:
G’day Friends,
Has anyone been able to successfully implement Perturbation in their fractal code? I have been playing with Kalles Fraktaler and it only uses double float in the deep zooming code, except for addressing the pixel and has many orders of magnitude increase in speed compared to Fractint and even modern programs like Fractal eXtreme.
The source code is quite complex and I haven’t been able to extract the algorithm.
The algorithm given by K. I. Martin is surprisingly simple and yet doesn’t really help to make sense enough to write code.
Here is a link to the algorithm docucumentation, and both the free program and to the source in C++:
http://www.chillheimer.de/kallesfraktaler/index.htm
I am keen to implement this algorithm in ManpWIN but would like some assistance if anyone is interested.
Thanks,
Paul.
---------------------------------------------------------- Paul de Leeuw Computers NSW Central Coast, Australia Email: pdeleeuw@deleeuw.com.au www: <http://www.deleeuw.com.au> ABN 72 360 822 562 ----------------------------------------------------------
_______________________________________________ Fractdev mailing list Fractdev@mailman.xmission.com https://mailman.xmission.com/cgi-bin/mailman/listinfo/fractdev