Okay ! I've read that PhD, it's just as great as I expected ! I looove when things are detailed and as clear as mountain water !

Hence, I've generated by myself some images :

+

http://matplotlib.deviantart.com/art/Julia-set-SIC-algorithm-c-0-5-0-25i-679827575+

http://matplotlib.deviantart.com/art/Julia-set-SIC-algorithm-c-0-75-0-11i-679827809?ga_submit_new=10%3A1494428357+

http://matplotlib.deviantart.com/art/Julia-set-SIC-algorithm-c-0-4-0-6i-679829631?ga_submit_new=10%3A1494429324Let me copy/paste the info I gave on the images' page :

Smooth iteration count : u(z

_{0})=n+1+log

_{d}{ln(M)/ln|z

_{n}|} where n is the number of iterations, M the maximum radius bound, and d the degree of equation : z

_{n+1}=az

_{n}^{d}+Q(z

_{n}) where deg(Q)<=d-1

Now, the palette I use is defined as follows :

+ r=⌊u(z

_{0})/n

_{max}⌋

+ g,b = r,r

This means I have a palette that has length 256, and palette[

i]=i for i∈[|0,255|]. But here are some issues I get :

+ u(z

_{0}) appears to never reach n

_{max}. Therefore, I never get r greater than a bouded value (usually around 150). What is the maximum bound of this function u I'm using ? I have tried using the famous u(z

_{0})=n+1-log

_{d}{|z

_{n}|}, but this does not change much the values taken.

+ How to use an adapted coloured palette ? It looks like the values taken by u get stuck on one side of the palette, that side

**depending on** the current fractal. I have no clue of how to generate

*beautiful* images using all the colours on the palette. Instead, it only uses half the palette.

Here's a palette I'm using (

*.python/numpy* code) :

palette_r = list(map(lambda z: int(z),np.linspace(0,90,538).tolist() +np.linspace(90,251,428).tolist() +np.linspace(251,251,544).tolist()+np.linspace(251,130,542).tolist()))

palette_g = list(map(lambda z: int(z),np.linspace(0,233,538).tolist()+np.linspace(233,222,428).tolist()+np.linspace(222,0,544).tolist() +np.linspace(0,0,542).tolist()))

palette_b = list(map(lambda z: int(z),np.linspace(140,0,538).tolist()+np.linspace(0,2,428).tolist() +np.linspace(2,4,544).tolist() +np.linspace(4,127,542).tolist()))

It looks like this :

Now, let's generate the Julia set for the value c=0.5+0.25i using this palette (smaller size) :

I'm basically calling palette_X[

I] for I=⌊L*u/n

_{max}⌋ where L=len(palette_X). As you can notice, the render is not that good, as a lot of the image is coloured blue.

Also, another issue is that sometimes, u/n

_{max} can exceed 1, so I have an "out of range" error raised. That can be easily fixed by having the palette looping itself and using a modulo, but I just don't get why it behaves like this, as I noticed that u

**never** reached values higher than n

_{max} (I had no problems using the B&W palette).