# Inflector Gadget
Inflection mapping gadget for complex quadratic polynomials.
Starting from the Mandelbrot set, choose a Julia set. Then each mouse click warps the image around the clicked point. The resulting sequences of patterns sometimes resemble that of Mandelbrot set deep zoom Julia morphings.
# 1 Download
0.6 2023-09-24, perturbation (preliminary); port to SDL2
-
inflector-gadget-0.6.tar.bz2 (Source code) (30kB) (sig)
-
inflector-gadget-0.6-win.zip (Windows binaries) (5.6MB) (sig)
0.5 2023-09-06, major enhancements
-
inflector-gadget-0.5.tar.bz2 (Source code) (28kB) (sig)
-
inflector-gadget-0.5-win.zip (Windows binaries) (2.7MB) (sig)
0.4 2017-12-14, inflection discs
-
inflector-gadget-0.4.tar.bz2 (Source code) (20kB) (sig)
-
inflector-gadget-0.4-win.zip (Windows binaries) (660kB) (sig)
0.3.2
-
inflector-gadget-0.3.2.tar.bz2 (Source code) (20kB) (sig)
-
inflector-gadget-0.3.2-win.zip (Windows binaries) (660kB) (sig)
0.3.1
-
inflector-gadget-0.3.1.tar.bz2 (Source code) (20kB) (sig)
-
inflector-gadget-0.3.1-win.zip (Windows binaries) (1.5MB) (sig)
0.3
-
inflector-gadget-0.3.tar.bz2 (Source code) (20kB) (sig)
-
inflector-gadget-0.3-win.zip (Windows binaries) (680kB) (sig)
0.2
-
inflector-gadget-0.2.tar.bz2 (Source code) (20kB) (sig)
-
inflector-gadget-0.2-win.zip (Windows binaries) (160kB) (sig)
0.1.1
- inflector-gadget-0.1.1.tar.bz2 (Source code) (20kB) (sig)
0.1
-
inflector-gadget-0.1.tar.bz2 (Source code) (20kB) (sig)
-
inflector-gadget-0.1-win.zip (Windows binaries) (160kB) (sig)
# 2 Development
Latest sources are hosted in a git repository:
git clone https://code.mathr.co.uk/inflector-gadget.git
# 3 Controls
# 3.2 Keyboard Animation
- SPACE
-
add keyframe
- DELETE
-
delete keyframe
- LEFT
-
activate previous keyframe
- RIGHT
-
activate next keyframe
- ENTER
-
play animation (press again to stop)
- [
-
play slower (more with SHIFT)
- ]
-
play faster (more with SHIFT)
- P
-
reset speed to default (set to 1.0 with SHIFT)
- V
-
(without SHIFT) toggle video mode (stopframe, keyframe)
- V
-
(with SHIFT) save video sequence
# 3.3 Mouse Controls
- WHEEL
-
zoom about mouse cursor position
- LEFT
-
add inflection point at cursor position
- RIGHT
-
undo add inflection point
- MIDDLE
-
recenter window about mouse cursor position
# 4 Colours
# 4.1 Default Theme
Black on white.
# 4.2 Dark Theme
White on black.
# 4.3 Accented Rainbow
Press A to randomize accent colour, SHIFT A to reset.
# 4.4 Binary Decomposition
Press B to randomize binary decomposition colours, SHIFT B to reset.
# 4.5 Accented Decomposition
A and B can be combined.
# 5 Examples
Choosing morph points in parts of the Mandelbrot set let you evolve a number of different shapes equal to the period in the Mandelbrot set.
# 5.1 One Thing
Morphing in the period 1 cardioid.
# 5.2 Two Things
Morphing in the period 2 disk.
# 5.3 Three Things
Morphing in the period 3 disk at internal angle 1/3.
# 6 Example Videos
# 6.1 ABaABb
2560x1416p2 MP4 (2MB), no sound
Experiment with nested repeating patterns, starting from an “airplane” location.
This one has an ABC pattern, where C alternates between a and b, so unwrapped it’s ABaABb repeating. Aa is an open tree structure and Bb is a solid “basilica”-like shape.
# 6.2 Five Things
Five things near 1 2 1/3 5 (screencast)
1280x720p30 MKV (117MB), 6m05s, no sound
Process of constructing five different shapes in a fractal, near the period 5 baby Mandelbrot set in the 1/3 branch of the 1/2 bulb.
Weird pixelation in parts is due to insufficient precision. Even double-precision is not enough. Using double-double arithmetic for higher precision is slow and awkward in GLSL shaders, but a possible future enhancement.
# 6.3 Parallel Evolution
1280x720p30 MKV (25MB), 3m29s, no sound
Process of constructing trees interleaved with lines, following the idea from DinkydauSet’s “Parallel Evolution” deep Mandelbrot set location.
# 6.4 Evolution of Trees
1280x720p30 MKV (5MB), 1m22s, no sound
Short screencast in which I mimic the patterns in DinkydauSet’s “Evolution of Trees” deep Mandelbrot set location.
# 6.5 Session 2023-09-02
STROBE WARNING
1280x720p8 MP4 (6MB), 1m03s, no sound
Each mouse click warps the image about the clicked point. Pressing the S key exports an image. I did that 500 times and made a stop-motion video.
In released version 0.5, the export can be automated: press V to switch to stop motion history mode, then SHIFT P to set speed to 1.0, then SHIFT V to export video. The bug that made the boundary disappear is also fixed.
# 7 Tutorials
# 7.1 Keyframe Animation Tutorial
You can generate animations interpolating between keyframes, provided that all the keyframes have the same number of inflection discs. If you try to interpolate between keyframes with different numbers of inflection discs, unpredictable results are to be expected. Possibly it will get stuck in places or otherwise not do what you want.
(This tutorial was made with 0.3.1, in 0.4 you need to drag the inflection disc rather than just clicking. 0.5 goes back to simply clicking.)
On first load you should see this:
Left-click near the top and you get something like this:
(This tutorial was made with 0.3.1, in 0.3.2 the centering mode default is changed, so don’t press ‘C’, or press ‘C’ twice to see what it does.)
Press the ‘C’ key to toggle the centering mode:
Left-click near the top left:
Left-click near the top left:
Left-click near the top left:
Left-click near the right, and press ‘SPACE’ to add a key frame:
Right-click to undo the last morph:
Right-click to undo the last morph:
Left-click near left:
Left-click near top, and press ‘SPACE’ to add a key frame:
Press ‘ENTER’ to see an animation between the two key frames.
Press ‘ENTER’ again to stop the animation.
Right-click to undo the last morph:
Right-click to undo the last morph:
Left-click near top:
Left-click near top, and press ‘SPACE’ to add a key frame:
Press ‘ENTER’ to see an animation between the three key frames.
Press ‘ENTER’ again to stop the animation.
Press ‘LEFT ARROW’ to see the previous key frame.
Press ‘LEFT ARROW’ to see the previous key frame.
Press ‘LEFT ARROW’ to see the previous key frame.
Press ‘RIGHT ARROW’ to see the next key frame.
Right-click to undo the last morph:
Right-click to undo the last morph:
Left-click near the middle:
Left-click near the middle and press ‘SPACE’ to add a key frame:
Right-click to undo the last morph:
Right-click to undo the last morph:
Left-click near the tip:
Left-click near the tip and press ‘SPACE’ to add a key frame:
Press ‘RIGHT ARROW’ to see the next key frame.
Press ‘M’ for Mandelbrot mode.
(Note: removed in 0.5, instead ‘M’ toggles a Mandelbrot set overlay.)
Press ‘J’ to return to Julia mode.
(Note: removed in 0.5, instead ‘J’ adjusts image samples per pixel.)
Press ‘ENTER’ to see an animation between the five key frames.
Press ‘SHIFT-]’ twice to speed it up by a factor of 4.
Press ‘ENTER’ again to stop the animation.
Press ‘SHIFT-V’ to save an image sequence. Here it is:
Press ‘Q’ or ‘ESC’ to quit, or use the window close button.
# 8 Legal
Inflector Gadget (C) 2017-2023 Claude Heiland-Allen
Inflector Gadget is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Inflector Gadget is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Inflector Gadget. If not, see https://www.gnu.org/licenses/.