GithubHelp home page GithubHelp logo

michalkonecny / exact-function-plotter Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 37.58 MB

An exact-real function plotter in the browser

License: BSD 3-Clause "New" or "Revised" License

Haskell 100.00%

exact-function-plotter's Introduction

Exact Function/Curve/Fractal Plotter

A web widget for reliably plotting function graphs, parametric curves and certain fractals.

Try it now!

Beware: The UI and plotting is quite slow due to the cost of reliable arbitrary-accuracy arithmetic running within your browser.

To speed up rendering, tune the plots with very low accuracy and increase accuracy only for the final rendering.

Examples

infinitely many waves umbrella-like fractal

The above images are obtained by drawing shapes that reliably enclose the exact objects. In particular, rounding errors are correctly accounted for. These graphical enclosures can be computed to an arbitrarily high accuracy.
In the images below the same objects are plotted with a low accuracy so that the shapes are easy to see.

infinitely many waves - low accuracy umbrella-like fractal - low accuracy

The following are high and low accuracy plots of an infinitely winding spiral:

infinite spiral - high accuracy infinite spiral - low and high accuracy infinite spiral - low accuracy

Also, see the screenshots folder and slides for a school outreach featuring plots produced by this tool.

exact-function-plotter's People

Contributors

michalkonecny avatar rasheedja avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

exact-function-plotter's Issues

incorrect enclosure sqrt over sine

When plotting function (sqrt((sin(20*x))+1))-0.5 over the [-1,1] with the default accuracy 100, there is a segment with an obviously incorrect enclosure near -0.1.

plotter dies when exceptions occur

The plotter becomes silently unresponsive when an exception occurs, eg when trying to plot sqrt(x) for negative x. It should plot the graph wherever it is defined.

add svg export

The plotter becomes silently unresponsive when an exception occurs, eg when trying to plot sqrt(x) for negative x. It should plot the graph wherever it is defined.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.