The desmos graphing calculator, besides being a good graphing calculator, can also be used for simulation thanks to its feature of actions.
fast_desmos
is a project to replicate desmos for faster simulation, and make it potentially feasible for game dev.
- Input a desmos URL and it'll run it
- 150x speedup from execution on Edge, 20x speedup from Chrome
Not all desmos features are supported. In fact, most desmos features that makes a "graphing calculator" aren't supported, such as the ability to draw arbitrary curves, find curve intersections, calculus, regressions, etc.
What is supported however are features useful for simulation, such as tickers, actions, drawing points and lines and simple parametrics, etc.
Below is a full list of supported and to-be-supported features, at least for me: (contribution to add other features is welcome)
- denotes already supported feature.
- denotes planned support.
- Parametric equations
- Straight line parametric functions with arbitrary bounds
- Curved parametrics
- Explicit Equations
- Straight line explicit equations with explicit bounds, like like
y = 1 {0 < x < 2}
- Straight line explicit equations without bounds
- Curved explicit equations
- Straight line explicit equations with explicit bounds, like like
- Polygons
- Polygons with custom fill, lines, but not line type
- Points
- Points with custom sizes, opacity, but not point type
- draggable
- draggable on both or no axis
- draggable on only x-axs or y-axis
- Custom colors (
rgb
,hsv
) - All Builtin functions except for distributions
- Most desmos syntax (if-else, sum, prod, fractions, etc) except for calculus
- Actions
- Tickers without the ability to turn them off
- Clickable
- Points
- Polygons
- Custom control options
- keyboard controlled variables / actions
- panning points
Have Rust installed, clone the repository, run cargo run --release
in the project directory.
Download the executable from the releases, and run it. This is untested, there may be issues. It also only supports Windows right now.
Run the program, and input the desmos url into the box, using either the paste clipboard button or typing it manually. Then press the load button.