Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have yet to see a Mandelbrot explorer written in Javascript that allows infinite zoom without losing detail and a good UI that works on desktop on mobile.

Does anybody know one?

If there is none, I would build one this year. If anyone wants to join forces, let me know.



I made https://mandeljs.hgreer.com

The real glory of it is the math – it’s using Webassembly to calculate the reference orbit, and then the GPU to calculate all the pixels, but with an enormous amount of fussing to get around the fact that shaders only have 32 bit floats. The interface works on mobile and desktop, but if you have any tips on how to polish it, let me know.


You could polish it by using variable size precision floats or at least quadruple size 128 bit floating point. This requires you to create a programming language compiler or use my parallel Squeak programming language (it is portable) and have that run on Webassembly or WebGL. It would be easier to have it run directly on CPU, GPU and Neural Engine hardware. The cheapest hardware today would be the M4 Mac mini or design your own chips (see my other post in this thread).

An example of this polished solution is [1] but this example does not yet use high precision floating point [2].

[1] https://tinlizzie.org/~ohshima/shadama2/

[2] https://github.com/yoshikiohshima/Shadama


This is already implemented in it- I just did it in pen and paper and directly wrote the shader from my results instead of writing a language first.

https://www.hgreer.com/JavascriptMandelbrot/#an_ugly_hack_th...


> to get around the fact that shaders only have 32 bit floats

I wonder if there are places around the set where rounding through the iterations depending on the number format chosen, materially affects the shape (rather than just changing many pixels a bit so some smoothness or definition is lost).


You get effects somewhat like that from perturbation theory glitches, as discussed in the article.


Hey, this is pretty cool!

Have you considered publishing it under an open source license?

Then I could see myself working on some features like: Selectable color palette, drag&drop and pinch-to-zoom on mobile and fractional rendering (so that when you move the position, only the new pixels get calculated).


https://github.com/HastingsGreer/mandeljs

i’ll whack a license on it later today


I'm building one.

I have an old "beta" release of sorts that's live: https://fracvizzy.com/. Change the color mode to "histogram", it creates much more interesting pictures imo. Doesn't really work on mobile yet fyi.

I Just got back into the project recently. I'm almost done implementing smooth, "google maps" style continuous zoom. I have lots of ideas for smoother, more efficient exploration as well as expanded coloring approaches and visualization styles. I'm also working on features for posting / sharing what you find, so you can see the beautiful locations that others find and the visualization parameters they chose. As well as making it easy to bookmark your own finds.

Infinite zoom is probably a long ways out (if ever), but with JS numbers you can zoom pretty far before hitting precision issues. There's a lot to explore there. I'd love to get infinite zoom someday though.

Here's a few example locations I found quickly (I have more links saved somewhere....):

* https://fracvizzy.com/?pos[r]=-0.863847413354&pos[i]=-0.2309...

* https://fracvizzy.com/?pos[r]=-1.364501&pos[i]=-0.037646&z=1...

* https://fracvizzy.com/?pos[r]=-0.73801&pos[i]=-0.18899&z=12&...


I lost access to my original hn acct so I created this one just give you a heads up I'll be sending an email!


This is right up my alley :-) I'll message you




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: