Inflector Gadget - inflection mapping for complex quadratic polynomials

  • 6 Replies
  • 468 Views

0 Members and 1 Guest are viewing this topic.

Online claude

  • *
  • 3d
  • ****
  • Posts: 986
    • mathr.co.uk
« on: November 10, 2017, 01:16:51 PM »
I wrote a little gadget to do inflection mapping. This means translation and squaring of complex coordinates before regular Mandelbrot or Julia set iterations.

It's a bit rough around the edges, press H to print the help to the terminal you started it from (or read the documentation), but in short, each click wraps the pattern twice around the clicked point, allowing you to sculpt patterns out of Julia sets (or the Mandelbrot set if you press M).

Similar sculpting can be achieved by zooming into specfic locations in the Mandelbrot set. The effect is much the same (the outer decorations are missing in the inflector gadget) but it takes a zillion times longer to zoom so deep as required.

Version 0.3.2 adds a keyframe animation feature among other goodies (like being able to switch between single and double precision while the program is running).

Homepage: https://mathr.co.uk/ig/ig.html

Offline quaz0r

  • *
  • Fractal Friar
  • *
  • Posts: 101
« Reply #1 on: November 11, 2017, 02:27:54 AM »
sounds neat!  though i cloned it and built it and it segfaults for me..  also it complained about an environment variable XDG_RUNTIME_DIR which i then set manually to /tmp, but still segfaults.  using gcc 7.2, and tried both bfd and gold linkers in case that was the problem.

Online claude

  • *
  • 3d
  • ****
  • Posts: 986
    • mathr.co.uk
« Reply #2 on: November 11, 2017, 03:53:53 PM »
There could be more error checking it is true.   The most obvious way to me that it would segfault is if creating the window with GLFW fails.  First it tries OpenGL 4.0, if that fails it falls back to OpenGL 3.3, if that fails it probably crashes :(  (I pushed a fix for this crash to the git repo, it prints out some info about OpenGL contexts too).

What is the output of "glxinfo | grep 'OpenGL version'" on your machine (assuming Debain-alike Linux, it's from the mesa-utils package iirc - for Mac OS X or Windows I have no clue how to get the version info)?

No clue about the XDG environment variable either, must be a libglfw thing?  Here on Debian Stretch it seems to be set automatically to XDG_RUNTIME_DIR=/run/user/1000 (1000 is my uid).

Offline 3DickUlus

  • *
  • 3e
  • *****
  • Posts: 1048
    • Digilantism
« Reply #3 on: November 11, 2017, 04:59:14 PM »
from https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
Quote
$XDG_RUNTIME_DIR defines the base directory relative to which user-specific non-essential runtime files and other file objects (such as sockets, named pipes, ...) should be stored. The directory MUST be owned by the user, and he MUST be the only one having read and write access to it. Its Unix access mode MUST be 0700.
...
If $XDG_RUNTIME_DIR is not set applications should fall back to a replacement directory with similar capabilities and print a warning message. Applications should use this directory for communication and synchronization purposes and should not place larger files in it, since it might reside in runtime memory and cannot necessarily be swapped out to disk.
Resistance is fertile... you will be illuminated!

https://en.wikibooks.org/wiki/Fractals/fragmentarium

Offline quaz0r

  • *
  • Fractal Friar
  • *
  • Posts: 101
« Reply #4 on: November 11, 2017, 08:07:41 PM »
OpenGL version string: 4.6.0 NVIDIA 387.12

i tried rebuilding glfw and glew, and also setting that xdg thing to the dir you suggested which is the same on my system, but still no go... its probably just something funky with my bleeding-edge gentoo stuff  O:-)

inflector-gadget 0.3.2+git (GPL) 2017-11-11 Claude Heiland-Allen                                                                                     
could not initialize OpenGL 4.0                                                                                                                       
could not initialize OpenGL 3.3, giving up

Online claude

  • *
  • 3d
  • ****
  • Posts: 986
    • mathr.co.uk
« Reply #5 on: November 11, 2017, 11:47:09 PM »
Here I have this:

OpenGL version string: 4.5.0 NVIDIA 375.82

Do other OpenGL programs work (like glxgears for example)?

I get strange issues (ie, broken OpenGL) if I upgraded graphics drivers without rebooting, could that be your case?
« Last Edit: November 11, 2017, 11:58:42 PM by claude »

Online claude

  • *
  • 3d
  • ****
  • Posts: 986
    • mathr.co.uk
« Reply #6 on: December 14, 2017, 06:13:37 PM »
New version 0.4, has variable-sized inflection discs instead of fixed size inflection points.  Not sure the slight added flexibililty is worth the UI pain of having to drag discs instead of just clicking for points.  On the old forum hapf had suggested the inflection radius is necessary for full generality but I'm not so sure it does much more than rescale the output: currently it does
Code: [Select]
c = cSqr((c - i)/r)*r + i;but that probably should be
Code: [Select]
c = cSqr((c - i)/r)*r*r + i;which is mathematically identical to
Code: [Select]
c = cSqr(c - i) + i;So I may revert this change in the next release...


xx
3D Complex Logistics Map Set - Zo initial condition mapping

Started by RobinB on Fractal Mathematics And New Theories

0 Replies
84 Views
Last post December 17, 2018, 09:27:16 PM
by RobinB
question
New Theory of Super-Real and Complex-Complex Numbers and Aleph-Null

Started by M8W on Fractal Mathematics And New Theories

2 Replies
365 Views
Last post January 06, 2018, 08:40:15 AM
by M8W
clip
Roots of polynomials

Started by Ebanflo on Fractal Mathematics And New Theories

3 Replies
218 Views
Last post March 26, 2018, 10:20:28 PM
by claude
xx
Explore fractals (inflection tool)

Started by Dinkydau on Other

5 Replies
332 Views
Last post March 08, 2019, 02:17:15 AM
by Dinkydau
xx
Mapping images into fractal renders

Started by FractalDave on Fractal Mathematics And New Theories

5 Replies
218 Views
Last post November 25, 2018, 08:14:59 AM
by xenodreambuie