Fractals/mandelbrot-perturbator

m-perturbator is a Mandelbrot set explorer GUI with:

  • annotation
  • efficient deep zooming ( perturbation)

VersionsEdit

InstallEdit

  • see README.md from repo

From parent dir :

 make -C mandelbrot-perturbator/c/lib install
 make -C mandelbrot-perturbator/c/bin install

dependeciesEdit

  • 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

updateEdit

 git pull

RunEdit

  • 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

MenuEdit

NEdit

N*2 and N/2 change the iteration count limit of the image (you may need to increase it when zooming deeper)

FilamentsEdit

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-unitEdit

  • 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

NucleusEdit

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 inEdit

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

DocEdit

ProblemsEdit

runEdit

 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 directoryEdit

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

ReferencesEdit

  1. Mu-unit from the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2018.
  2. Nucleus From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2018
  3. floating_constant in cpp ref
  4. stackoverflow question: error-while-loading-shared-libraries-cannot-open-shared-object-file-no-such-fi
  5. stackoverflow question: linux-error-while-loading-shared-libraries-cannot-open-shared-object-file-no-s