m-perturbator is a Mandelbrot set explorer GUI with:
- annotation
- efficient deep zooming ( perturbation)
Versions
- mandelbrot-book GUI porgram - old version
- m-perturbator-colourize
- m-perturbator-glfw3
- m-perturbator-gtk ( annotations)
Install
- see README.md from repo
From parent dir :
make -C mandelbrot-perturbator/c/lib install make -C mandelbrot-perturbator/c/bin install
dependecies
- mandelbrot symbolics
- mandelbrot numerics
- GTK
- GLEW
- GLFW
apt-get install libsndfile-dev sudo apt-get install build-essential libgtk-3-dev sudo apt-get install libglfw3-dev sudo apt-get install libglew-dev
update
git pull
Run
- m-perturbator-gtk
- m-perturbator-glfw3
- m-perturbator-offline
- m-perturbator-automorph
Example:
export LD_LIBRARY_PATH=${HOME}/opt/lib export PATH=${HOME}/opt/bin:${PATH} ./m-perturbator-gtk
Menu
N
N*2 and N/2 change the iteration count limit of the image (you may need to increase it when zooming deeper)
Filaments
Filaments traces rays to prune filaments from minibrots and embedded Julia sets. See https://mathr.co.uk/blog/2013-10-02_islands_in_the_hairs.html and https://post.lurk.org/@mathr/102922605930156945 (the embedded Julia set rays are found by prepending the periodic block of the central island rays to periodic blocks of the influencing island rays)
Mu-unit
- definition from Mu-Ency by R Munafo[1]
Steps:
- select nucleus
- first click on the menu
- then using mouse left click and hold make a circle over a space where nucleus is. Number showing period of the nucleus is shown on the image and on the Annotations panel on the right
- mark the nucleus number on the Annotations panel and click Mu-Unit menu item
Nucleus
Nucleus of a Mu-Atom[2] = center of hyperbolic component of the Mandelbrot set
Steps:
- select nucleus
- first click on the menu
- then using mouse left click and hold make a circle over a space where nucleus is. Number showing period of the nucleus is shown on the image and on the Annotations panel on the right
Ray in
Draw parameter ray from infinity toward Mandelbrot set boundary
Options
- external angle ( binary fraction),
- preperiod ( positive int )
- period ( positive int )
- depth ( positive int)
Example of accepted values of external angle ( without zero from the the whole-number[3]) :
- periodic : .(1)
- preperiodic: .01(0110)
- ? .1(0)
Bad ( non accepted) values are
- .1
One can chack it also in the web interface
Doc
Problems
run
m-perturbator-glfw3
result :
m-perturbator-glfw3: command not found
solution :
~/mandelbrot-perturbator/c/bin/m-perturbator-glfw3
error while loading shared libraries: libmandelbrot-perturbator.so: cannot open shared object file: No such file or directory
Check ldconfig path:[4]
ldconfig -p>l.txt
If there is no libmandelbrot-perturbator.so library file in that path, find where the library file is placed if you don't know it:
sudo find / -name libmandelbrot-perturbator.so
The result :
/home/a/opt/lib/libmandelbrot-perturbator.so
Check for the existence of the dynamic library path environment variable(LD_LIBRARY_PATH):[5]
echo $LD_LIBRARY_PATH
So the solution :
export LD_LIBRARY_PATH=${HOME}/opt/lib
References
- ↑ Mu-unit from the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2018.
- ↑ Nucleus From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2018
- ↑ floating_constant in cpp ref
- ↑ stackoverflow question: error-while-loading-shared-libraries-cannot-open-shared-object-file-no-such-fi
- ↑ stackoverflow question: linux-error-while-loading-shared-libraries-cannot-open-shared-object-file-no-s