Fractals/mandelbrot-perturbator

From Wikibooks, open books for an open world
Jump to navigation Jump to search

m-perturbator is a Mandelbrot set explorer GUI with:

  • annotation
  • efficient deep zooming ( perturbation)

Versions[edit]

Install[edit]

  • see README.md from repo

From parent dir :

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


dependecies[edit]

  • 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[edit]

 git pull

Run[edit]

  • m-perturbator-gtk
  • m-perturbator-glfw3
  • m-perturbator-offline
  • m-perturbator-automorph

Menu[edit]

N[edit]

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

Filaments[edit]

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[edit]

  • 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[edit]

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[edit]

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[edit]

Problems[edit]

run[edit]

 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[edit]

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[edit]

  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