#InflectorGadget #maths actually seems to work with a different colouring algorithm. not sure if real or coincidence...

```glsl
#version 300 es

#ifdef GL_FRAGMENT_PRECISION_HIGH
precision highp float;
#else
precision mediump float;
#endif

out vec4 fragColor;

uniform vec2 resolution;

vec2 cSqr(vec2 z)
{
return vec2(z.x * z.x - z.y * z.y, 2.0 * z.x * z.y);
}

void main(void) {
vec2 z = (gl_FragCoord.xy - resolution.xy * 0.5) / resolution.x * 4.0;

vec2 c[2];
c[0] = vec2(-0.9237192701539101, 0);
c[1] = vec2(-0.8931031149745472, 0);

float m = length(z);
for (int i = 0; i < 1024; ++i)
{
float mz = length(z);
if (mz < m) m = mz;
if (mz > 25.0 || mz < 0.001)
{
break;
}
z = cSqr(z) + c[i & 1];
}

fragColor = vec4(vec3(m < 0.11), 1);
}
```

#InflectorGadget #maths

a second working example means it seems it's true: but having to tune the escape to zero radius is annoying: this one used 0.03

technical details:

0. i copied the ig url hash to base64 -d in termux

1. i copied the resulting json into node repl

2. i calculated the first differences of the inflection points

3. i copied the last 6 into shader editor and reformatted as vec2 c[6] array.

4. shader iterates z <- z^2+c[5-(i%6)]

5. shader colours by the first iteration index mod 6 that |z| < 0.03

this could be integrated into inflector gadget and automated, with inputs for cycle length and threshold

improved the colouring using distance estimates

still not happy with the infinite cycle julia set - the lack of detail inside the tree looks bad.

I have an idea how to proceed (repeat the cycle a large but finite number of times before continuing with the rest of the inflections until escape).

also if you set the period widget to the wrong number, it goes very wrong - need to add autodetection...

This extrapolation sort of works, but suffers from imprecision (eventually the points are not where they should be, leading to the disappearance of sensible shapes in the interior). Solving this seems hard, without going all the way to the algorithm outlined in the future work section of my Alpaca2025 paper (to appear, preliminary web link https://mathr.co.uk/inflect ).
Patterns in Inflected Julia Sets :: mathr

Just contort the set to produce whatever feature you want to create, then render just that, rather than brute force the pattern by relentless zooming. -- stardust4ever, 2014.

https://mathr.co.uk/ig/2/

I put v2 of the web version online, with polynomial Julia set conversion and rudimentary inflection extrapolation (remember to set the period to something correct for your fractal).

Existing links should open in v1, with an option to upgrade to v2. v2 has an option to open in v1, because v1 looks different (uses low-bailout escape radius calculations for exterior, I prefer how it looks).

Roadmap for future versions:

1. integrate the new features from the web version into the desktop version and make a new binary release.

2. port desktop version to use textures instead of SSBO, to be WebGL2 compatible

3. add ImGUI widgets instead of cryptic key commands with no status display

4. add JSON support in addition to TOML

5. compile desktop version for web using Emscripten

Other features:

- improve inflection point extrapolation by assuming they converge geometrically to a limit cycle (given 3 points, find next on spiral)

Inflector Gadget :: mathr

Julia set inflection mapping fractal gadget

tinkering with the geometric extrapolation using wxMaxima computer algebra system

unfortunately it doesn't really work - probably assumption of geometric convergence was bogus