- Able to visualize Parametric Surfaces and Curves, Vector Fields, and Bivariate (two inputs) Functions.
- It can change Metric Functions into non-Euclidean Spaces.
- Moveable Camera with WASD and Rotations (Click and move cursor)
Bivariate Function:
Parametric Surface:
Vector Fields:
Custom Metric Functions:
main/
|--js/
|--js/calculator.js
|--js/metric.js
|--js/points.js
|--js/lines.js
|--js/triangles.js
|--js/shapes.js
etc
|--main.js
|--index.html
etc
- Changes metrics into any given the formula using (x1,y1,z1) variables and (x2,y2,z2) variables.
- Able to graph regular 3d equations put in the form x+y=z.
- Able to graph parametric surfaces you must use two variables (x and y) and put it in the form x+y,x-y,x.
- To graph parametric curves you must use one variable (t) and put in the form t,t+5,-t.
- Both parametric features use the range 0-6.28.
- Vector fields must be graphed in point form (x-y+z,y+x+z,x-z+y) and can use three variables
Points are projected from 3D to 2D using a manual perspective function:
- Each point is transformed using a custom distance metric (Euclidean or non-Euclidean)
- 3D coordinates are converted to 2D canvas pixels with a perspective scale
- Point radius decreases with distance to simulate depth
- Points are stored globally for easy updates and rendering
Desmos websites:
- For Metric Function: https://www.desmos.com/calculator/r6gg89pz9l
- For Vector Scaling: https://www.desmos.com/calculator/t4mcxzfy2i
- For Perspective Rendering: https://www.desmos.com/calculator/ajuuhjxbe8