On Wednesday 17 November 2004 12:29 am, Hiram Berry wrote:
Indeed! Very nice, Jonathan, and thanks for including this feature. I've wanted an easy way to look at the combined set of attractor orbits for the Mandelbrot set and similar Mandeloids in Fractint for some time now, and this seems to accomplish this. If I understand its operation correctly, it iterates through all points on the screen in row major sequence, plotting the z values on each iteration.
Yes, that is correct.
Is the orbitdelay=n feature only accessible via text insertion in the relevant .par file? I don't see it as an option on the y-screen and inserting "orbitdelay=100" in the .frm seems to have no effect.
As you said, it would go in the PAR, not the FRM. The orbitdelay parameter is set on the Sound Control Screen in Fractint <cntl-F>, and the Basic Options screen in Xfractint <X>. Since we don't have the Sound Control Screen enabled in Xfractint, the orbitdelay setting has to be on another screen. The passes=o options can be put on a new screen. A reasonable and available key stroke would need to be determined.
Also, when using the outside=summ or inside=0 options for rendering, is the log palette translation available?
No, not at this time.
One other question: I understand that the periodicity=0 option is supposed to not plot orbits that go off the screen or bailout. Is there any way to show, of those, only the ones with a certain value of periodicity? The reason I ask this is that such would be useful in looking at the order of plotting of points in the orbit in a Julia set, which I believe is supposed to be dependent on the position of its associated bud in M-set.
It's the other way around, sort of. With periodicity=0, the iterations continue even when the orbits are off the screen. BTW, this isn't coded correctly since it requires both the x and y values to be off the screen to skip to the next pixel. If I fix it now, I'll have to add backwards compatibility. This also affects the 2D and 3D orbit calcs since I borrowed the logic from them. The inside=period option plots the period of inside points when periodicity checking is turned on. It looks to me like it doesn't work quite correctly because the color number doesn't match the number of actual attractors shown with the <o> option after the image is completed.
Now it seems to me that iterating through all the screen pixel positions is of limited usefulness without some post processing-- I'd find it more insightful to iterate over a specifically bounded area and look at where the set of orbits is. Eg. draw around one minibrot, or the main body only, or just one bud, or the buds of only one value of periodicity, and see where the set of all orbits is.
Use passes=g to zoom to a minibrot, then set passes=o and periodicity=0.
If the z values were based on the scrnpix variable instead of complex plane value, zooming in wouldn't change the image ( except periodicity=0 might not be usable here-- orbits that bounce around into areas offscreen wouldn't be shown if I understand correctly). The scrnpix values could be mapped onto the bounded area of interest before feeding the resultant z or C value to the iteration part.
Plotting, for example, X=0 to 799 and Y=0 to 599, would be very uninteresting. And, as you say, would be invariant upon zooming. I believe the mapping you suggest is exactly what currently is done.
Alternately, we could just chuck the screen position completely and get the z or C randomly within the bounded area each pixel-pass. Which I attempted in the included .par and .frm.
What would the resulting image represent?
Strangely, however, even though periodicity=0 was in effect and MOST of the diverging orbits were culled out, some points outside the bailout circle radius 2 showed up on the screen anyway. I don't understand why that would happen.
Periodicity=0 forces the iterations to continue even when both the X and Y cordinates of the orbit are off screen.
Some speculation on the orbits: in Mandelbrot-like escapetime fractals we are after all looking not really at the complex plane, but rather at the behavior of sequences indexed on the C-plane. Notice on the M-set that each bud has at most a single tangent point with any other bud. It seems likely to me that all sequences within a single bud are in some sense continuous in the same way that their representations on the C-plane are, ie. if we look at all the elements of 2 sequences whose C-plane indices differ by a vanishingly small differential value, all of the corresponding elements will not differ by a finite amount-- there never is a discontinuity no matter how far the sequences are iterated. I don't know if this is true or not, but if so it seems reasonable to look for something else. Consider that in the sequence z0 -> z1 -> z2 -> ... we could just shift all elements one place to the left and truncate z0. This new sequence has to have the same attractor as the original sequence since for most purposes it IS the same sequence. We could index the first one S(1) and the second one S(2), and succeeding ones S(n) n->inf all with the same attractor.
We use this concept for periodicity checking.
But if natural numbers are valid indices for a family of sequences, what about fractional values? Is there an S(2.5)? What is a reasonable way to define fractional iteration, IOW is there a way to extend functional iteration analogous to the way the factorial function is extended to the gamma function? And of course, what does it mean to iterate a function an imaginary or complex number of times? What do the curves that represent such families look like within the buds of the M-set, and how do they relate to objects now viewable with the passes=o option in Fractint?
That thought is beyond my meager capabilities. 8-)) Jonathan