Julia sets in Julia, using Interact.jl - I'd like to get it faster

Moritz, do you know the concrete parameters used for that picture?
And is the color choosen algorithmically?

Greetings, z.

I think the code is lost, but I remember that I just made a black on white picture and coloured the areas in Gimp. I believe I started searching at c= -0.5 + 0.75im and looked for something resembling 3 circles and perhaps used a large maxiter to ā€œfill the circlesā€.

2 Likes

The number of iterations is not the same for each point on the grid. Therefore a static partitioning (such as that done by @threads) may produce sub-optimal speedup because of load imbalance. Perhaps a dynamic partitioning using Threads.@spawn?

Beautiful!

You can get a similar but more fine grained coloration by iterating the three inverse mappings as an IFS and tracking which mappings were applied in the color. Hereā€™s an attempt (though I didnā€™t find something quite similar to your c parameter):

Hacky non-optimized code at Julia Fractals via inverse iteration Ā· GitHub

11 Likes

Ok, I found the region with your program: around c = -0.5368 + 0.0923im

6 Likes

I loved your idea of changing the hue around a circle to get the Julia colors. I couldnā€™t find a way to make the journey from purple (bottom right) to red (bottom left) to green (top) though. I think purple and red are too close here:

4 Likes

For those parameters it seems my program has trouble sampling the attractor at all points ā€” even with the tree traversal and pruning technique Iā€™m using, the center is sparse. OTOH, @cormullionā€™s image from the escape time algorithm (I assume!) clearly shows the attractor is non empty in that region.

Maybe it would help to adapt the choice of maps to the local contractivity of the mappings (or some such thing) to schedule the exploration of the attractor in a more sensible way. My thought is that some trajectories are dying too early due to passing through very contractive parts of the space.

When I created Fatou.jl it was highly optimized for performance by using parametric types to fully precompile every aspect of the code.

Post scriptum: the z^3 Mandelbrot set:

asdfdajshfads;jkf adsklj fadsklfj

1 Like

Flattered to see that a variant of the Julia set with power zĀ³ in place of zĀ² features in the #juliacon video intros! @cormullion

2 Likes