Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => Mandelbrot & Julia Set => Topic started by: claude on March 09, 2016, 11:35:43 PM




Title: Mandelbrot symbolics / combinatorics web interface
Post by: claude on March 09, 2016, 11:35:43 PM
I've been writing various Haskell code to explore symbolic / combinatorial algorithms related to the Mandelbrot set.  Yesterday I installed GHCJS (compiler from Haskell to Javascript) and this is the result:

http://mathr.co.uk/mandelbrot/web/

No documentation yet, but hopefully clicking around the examples should be enough to get you going.

There are a few hard-coded limits to avoid DoSing your browser, if you find them too restrictive I recommend playing with the Haskell code native on your system.

Source code is spread across a few git repositories:
http://code.mathr.co.uk/mandelbrot-symbolics the meat of the algorithms
http://code.mathr.co.uk/mandelbrot-text parsing and pretty-printing
http://code.mathr.co.uk/mandelbrot-web the web interface itself

It might render images eventually, but for now it's all just symbolic stuff (external angles, angled internal addresses, etc).
If anyone knows of an arbitrary precision floating point browser-compatible javascript library that isn't jank, let me know!


Title: Re: Mandelbrot symbolics / combinatorics web interface
Post by: Adam Majewski on March 10, 2016, 04:26:36 PM
very nice, but :
"binary angle too large, period limit 64"

When you add gmp ? (:-))
It would be great if your library could have such www interface

one can also use program Mandel by Wolf Jung ( also limited to period 64) :
http://mndynamics.com/indexp.html







Title: Re: Mandelbrot symbolics / combinatorics web interface
Post by: claude on March 10, 2016, 05:50:20 PM
that is an arbitrary limit, GHCJS uses JSBN for arbitray precision integers so going higher works, it just takes a long time and the browser pops up a dialog about it...
the other arbitrary limit is not listing things of period (plus preperiod) > 8, because the list has length O(2^n).

I can increase (or even remove) the first limit, and maybe I will next time I rebuild it, but the second limit will stay in case you type p1000 and get multi GB of HTML generated...


Title: Re: Mandelbrot symbolics / combinatorics web interface
Post by: claude on March 10, 2016, 08:14:35 PM
ok I lifted the first limit, and also avoided the timeout popup by using async threads (things can take a long time with high periods, and the browser might lag a bit, but it works)


Title: Re: Mandelbrot symbolics / combinatorics web interface
Post by: claude on March 15, 2016, 09:35:06 PM
Added image rendering (coloured using exterior and interior distance estimate):

http://mathr.co.uk/mandelbrot/web/#!q=-0.75+0.0i@1.25 (http://mathr.co.uk/mandelbrot/web/#!q=-0.75+0.0i@1.25)

The rendering is implemented in plain JavaScript because I couldn't get the Haskell version compiled with GHCJS to be fast enough to be practical.

No deep zoom support, expect glitches beyond 1e-11 or so.  Friendly zooming by clicking on the canvas is done now too still to do, for now you have to enter numbers manually.