solendil / fractaljs Goto Github PK
View Code? Open in Web Editor NEWA realtime fractal exporer running in the browser
Home Page: http://solendil.github.io/fractaljs/
License: MIT License
A realtime fractal exporer running in the browser
Home Page: http://solendil.github.io/fractaljs/
License: MIT License
The URL mechanism is based on a binary format.
Pro : it is small
Con : it is hard to extend
For #33, or other future enhancements, there will be the need of more parameters. Maybe the URL mechanism should be a JSON object (URL encoded or compressed/b64).
Add some standard palettes plus an interface to shift/modulo them.
Full palette creation interface might come at a later stage.
The goal being that the user is always presented with a beautiful picture
If you find nice images with FractalJS, please post the links here for everyone to enjoy.
I might also use them in the future.
Thanks.
Strength: number of subpixels per pixels.
Grid: random or ordered or patterned, etc...
Algorithm: mean, median, geometric mean, etc...
On some pictures, it could bring nice improvements
http://solendil.github.io/fractaljs/#Bt_3&x_-1.4373588346492963&y_0.000012104309150282335&w_0.00024330775750026489&i_255&fs_1&ct_0&co_0&cd_20
When first accessing FractalJS, the fractal is displayed, but the zoom does not work and the console displays "TypeError: l is not a function"
At least for laptops that don't have scroll wheels.
When color density is low and offset is on a black, changing a new fractal type make the whole screen black with no clue on what's happening... Maybe reset color offset and density when choosing a new fractal type.
Display a grid when viewport is changing to help user align stuff.
Display the maximum square when user is sharing to show her the shareable zone.
This mode would trigger an overlay that would guide user in its exploration of the sets.
There would be areas, points, comments and links.
The goal would be to let user explore, but there could be a form of auto-nav with links.
The exploration would be described as a friendly JSON/HTML file for other to edit/enhance.
It would demonstrate immediatly the strong embedability.
Because the project is detected as mostly css in Github right now...
Supersampling should be improved:
...until after another change has been made
Mapping between screen and plane is implemented using ad-hoc equations and is not well-defined. Features such as #32 pinch to zoom are hard to implement. Moreover I would like to have rotation, shear and scale features as some images would benefit from such transformation (see http://solendil.github.io/fractaljs/#AAQBLAAMAAACbJWUwkYbmv0YFDbI5ddm*fc2PXyOUkD8AAKBBAQAAAA__ for example)
A simple affine transform would have a negligible effect on performances and would allow such features.
A more thorough definition of the "minimum extent" is also needed. I propose the biggest square included and centered in the screen as the display unit. Everything outside of the square being a "bonus".
An information menu item could display fractal parameters, even those under mouse
Implement a deep zoom mechanism to be triggered when standard precision limit has been reached
Requires #3
Embeddability should work through iFrame, javascript, and other means.
This is just truly amazing work!
My only feedback is that the direction of the zoom gesture is opposite to what we are all used form maps (Google Map).
Have a nice day!
Some feedback on rendering in the form of a spinning wheel, or a percent indicator. On hover, more details and possible highlight of tiles being drawn/invalid.
For example when SHIFT is pressed, movement is more precise
Current algorithm is fully automatic. The UI in info pane could be
Iterations : 500 [ automatic | + | - ]
With a press on +/- disabling the automatic mode.
The button could provide:
By redrawing only parts of image that were in the set
FractalJS must be a showcase for Javascript technologies. As such, it needs to implement the following technologies:
The ability to switch from Julia to Mandelbrot is more of a UI/UX problem than a technological problem.
It would be awesome to have a continuous smooth zoom as you hold the mouse button down.
XaoS does this: http://matek.hu/xaos/doku.php
I saved this example from many years ago and no longer can find the source, but here it is:
jsFractalZoomer1.html.zip
The tiling algorithm could be made better. Here are some hints:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.