In article <MDBBJLBFBICIIEIHFBMEKEBODBAA.hallane@earthlink.net>, "Hal Lane" <hallane@earthlink.net> writes:
I know that in the past there has sometimes been a great outcry when a pixel was changed in an image due to a code change.
The desire to satisfy the "old image" requests has resulted in a *lot* of crufty code workarounds in the code as well.
In chaotic areas of fractal images even the change of the sample point by an astoundingly small amount in the complex plane will change the calculation sufficiently to get a different pixel displayed.
Yep. Fractals are just one big aliasing problem because you always have some chaotic portion where the image is undersampled. You can brute force resolve the chaos down to some smoother seas of noise by supersampling and then downfiltering. I've done this plenty of times. It gives you smooth edges on the escape time boundaries and resolves the chaos to the best that an image of your final resolution can show. But it will always be an approximation to the underlying "true" fractal.
Writing the code that creates fractal images on a screen is almost more of an 'engineering task' than a 'pure mathematics task' in the sense that the task is complete when it is done within a reasonable, specified error tolerance -- instead of when the task is done 'perfectly.'
I have an idea for a storage scheme that stores the iterations at infinite resolution of detail (limited only by disk space) that I want to implement some day. Its about as close as you can come to the 'perfect' rendering of a fractal, IMO. This scheme would require a separation of sampling and display to work properly. However, once you separation sampling from display, then you can do things like rotate the sampled image around in a circle arbitrarily fast, since you're just displaying a texture-mapped quadrilateral in that case. No need to recompute the texture at all, which is how fractint would do it now. Even XaoS recomputes a bunch of stuff more often than it needs to because it only keeps around in memory a single buffer at a single zoom factor. The killer thing is that the more you animation by zooming in and out, or rotating around, the worse it gets both for fractint and for XaoS. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>