Inflector Gadget v0.10 released, with bugfixes to the perturbation implementation (thanks FractalLion) and support for variable wavyness everywhere:

source tarball and windows binaries available here:

https://mathr.co.uk/web/inflector-gadget.html#v010

web version available here:

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

example:

https://mathr.co.uk/ig/4/#cHJvZ3JhbSA9ICJpbmZsZWN0b3ItZ2FkZ2V0Igp2ZXJzaW9uID0gIjAuMTAiCmZvcm1hdCA9IDQKY2VudGVyID0gICAgICAgICAgICAgICAgICAgICAgICAgICAiKDcuODYxNjM1MjIwMTI2MDA2MDA5MDkxOTI4Mzc2MzM4Njc2MTkzMjA4ZS00IC03Ljg2MTYzNTIyMDEyNTUwNjk5NDA0MTMyODUxMDIzOTEzMTQ5NTcyMmUtNCkiCnJhZGl1cyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjAKd2lkdGggPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNDc0CmhlaWdodCA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyNzIKcXVhbnRpemUgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlCmFsZ29yaXRobSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKcmVmZXJlbmNlID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKC0xLjE1NTc1MjA5NjQzNjA1ODUzNTMyMjQ2NTAzODE5MDQ2OTAzMTcwNyAxLjU4MTQ5ODk1MTc4MTk1NjY0Nzc2MzE5NDcxNzU3NDc5ODA4MTgwM2UtMikiCmluZmxlY3Rpb24gPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwCnBlcmlvZCA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKY3Jvc3NoYWlyID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZQp3YXZlID0gWy0xNDIuMjI5ODg4OTE2MDE1NjI1LDIwNDUuMjYzMTgzNTkzNzVdCmFjY2VudCA9IFswLjAxMDU4NiwwLjM3NjU2LDAuNzI3NzYsMC43NjA0NV0KaW5mbGVjdGlvbnMgPSBbCiAgICAiKC0xLjc2NjQxMDM0NTIwNTc0MzE2MjY5MjI4ODAzMzUzNzMwMzk5ODE5MyA0LjE3NDE0MDc3NzM5NTc1OTg3MDAxNzI0NzQ5NjE5MTc0MzI0ODA4MmUtMikiLAogICAgIigtMy4wOTU1MjAxNTM3MzU5NTI0MzczNjUyMzMzODczMzE3MDM1MDQ4OTIgNi4wMTgwOTU2MzM2ODU1MjA0MTQxNTIyMzc3MjI3MzQ0MDIyMzc2OTVlLTIpIiwKICAgICIoLTQuMjQ3NzUyMDc3MDg5MzEyMDgwNjgwMzk4MjU4MzAwNjMzNjMzMTU3IDYuODE1NDkwMTEwNDk2NzM4NDI3MjA0ODgyNzk3MDgyNTUyMzY1MzI1ZS0yKSIsCiAgICAiKC01LjMzODMyMjgyOTA5ODY4ODUxNDY3NzgxMjA4MjIyNzg1OTIyMTE3MiA4Ljg5MTc0Mzg1NzYxMTQ4Nzg1NDY3MzM2ODE3OTk3ODY0NjI2Nzg5MGUtMikiLAogICAgIigtNi4zODE4MTM1NTY0NTc4MjMzMDY1NzY3NzAwMDkzOTQ1NjUxMzYwMzEgOS44ODg4OTM5NjQyMDM1NDUyNDQ1ODM2NjYzNDM2MDY3ODk1NDc4MTllLTIpIiwKICAgICIoLTcuNDk5NDIwNzk5MjU4NjQzNjcyOTA5NjMyNzA5NzUzMTMwMDQ4MjA4IDEuNDEzOTE1NzY0ODM3NjQ3OTg4MzA2OTk0MzExODg0NjA2NTA4ODg5ZS0xKSIsCiAgICAiKC04LjU1NTc4MjY4MTczODUzMDM2NTU0OTA4MDAyNTY2NDM5MTg3NjIwNSAxLjYxNjU3MDkzNzk2MDM2MTU5OTc5NDg2ODg3NzAzNzEwNDg1MzQwNmUtMSkiLAogICAgIigtOS43ODY3MTk1OTk1Nzg0NTcwMDUyMDQwNzc4ODkwNTYxNTYwNDkwMzkgMi4wNjk3NzM2OTM3MzY0OTY2NDQ0NzM1MTkxMTY0NTQ5NjAzODUyNzZlLTEpIiwKICAgICIoLTEuMDg5Mjk2MzI5NTczODk5NzAzMzIyNDkwNjEwNDQzMTAxNDM0Mzc0ZSsxIDIuMjg3MDYyOTE0NzUxNjczNjU3NTU2MTE1NjUwMTE2NjAxNDIwMTg1ZS0xKSIsCiAgICAiKC0xLjIyMjkxNTkyOTUzNTQ5MTkxNDE1MjU4MjExNDk1ODQ1NjYyMjAyMWUrMSAyLjYxOTc4MDYyMjc1MjM1ODY5Njg4ODk5NTc2Mjc4ODE2NDcxODgxOWUtMSkiLApdCgo=

#InflectorGadget #MandelbrotSet #JuliaSet #Fractals #MathArt

DecemberAdventure 11th

some small experiment with buddhabrot style rendering of hopfbrot, nothing impressive due to curse of dimensionality

DecemberAdventure 12th

no code today

DecemberAdventure 13th

I fixed the perturbation code in inflector-gadget - now uses 1 reference per inflection point and 1 extra for image center. hopefully correct rendering in more circumstances now. thanks to FractalLion on fractalforums.org for the push and a test case (which previously failed, now works).

also added variable wave support to the inflected renderer, which changes appearance of old parameters (so another url update coming for the web version so as not to break existing links; will need to minor update the old versions to have options to fwd to the new).

new release coming very soon, testing appreciated especially within the next 24 hours:

git clone https : / / code.mathr.co.uk / inflector-gadget.git

and check the README.md for build instructions

#InflectorGadget #DecemberAdventure

Inflector Gadget 0.9 is released!

https://mathr.co.uk/web/inflector-gadget.html

The most visible change since 0.8 (among many) is a version for Web built with Emscripten. Also: wavy hybrid Julia sets.

Try it online:

https://mathr.co.uk/ig

Get source code and binaries for Windows and Web here:

https://mathr.co.uk/web/inflector-gadget.html#Download

#InflectorGadget #MandelbrotSet #JuliaSet #fractals #MathArt

Inflector Gadget :: mathr

Inflection mapping gadget for complex quadratic polynomials.

recent #InflectorGadget updates (at home WIP, not hosted anywhere yet):

✅ fixed 8MB/render terrible memory leak in perturbation code

✅ fixed crash when parsing TOML fails (unhandled syntax error exception)

✅ minimal full-window canvas instead of the default Emscripten code

✅ copy/paste to/from system clipboard works in web version via ugly hacks (intercept Ctrl-V before it gets to SDL2; probably fails on systems that use a different shortcut)

✅ refactored shaders to avoid so much copy/paste duplication

✅ use Emscripten's libpng port

✅ use GLAD instead of GLEW to load OpenGL functions

hmm, i think the wavy escape equipotentials are from the escape circle not being centered on the middle of the shape at each stage... forgot to make notes on my derivation, so need to reverse engineer my equations in the source code to figure out how i did it. the inflected julia sets use (z-cn)^2+cn with cn typically getting larger and larger in magnitude but polynomial uses just z^2+c'n with a few small c'n in a loop, so converting might not be trivial... #InflectorGadget #maths #ComplexDynamics

#InflectorGadget desktop v0.7 released

inflection mapping gadget for complex quadratic polynomials, for making #MathArt #fractals #patterns

download source tarball and Windows binaries:

https://mathr.co.uk/web/inflector-gadget.html#Download

latest updates in repository as ever:

```
git clone https : / / code.mathr.co.uk / inflector-gadget.git
```

(remove the spaces, added to prevent fediverse clients obscuring full link text)

highlights of new features:

ssbo: use buffers for large data to try to avoid "too many registers" shader compiler crash

quantize: snap inflection points to node centers, toggle with Q key

one-shot: add --output=myfile.png to the command line to render, save and exit

exray out: hover over Julia set and press X to trace ray, digits printed to terminal (probably doesn't work on Windows)

crosshair: show next inflection in undo/redo

Inflector Gadget :: mathr

Inflection mapping gadget for complex quadratic polynomials.

#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

#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);
}
```

thinking about #InflectorGadget #maths - in the limit of a regular pattern of N quadratic inflections repeated forever, i think the inflection points converge to a limit cycle. what would happen if you skip all the buildup and jumped straight into the limit cycle repeated forever (or until pixel escapes)?

I'm guessing it might look like the Julia set for a particular degree 2^N polynomial whose coefficients depend on the limit cycle of inflection points.

if it looks the same as the original pattern of inflections, or close enough, that would be amazing: I do wonder how much precision would be required though?