I’m Sam, and I make projects with several different programming languages and technologies to help myself and others do math. Some examples:

  • I made a 3D grapher with python and pygame called MathGraph3D. It can plot 2D/3D functions, parametric functions with 1 or 2 parameters, functions with cylindrical coordinates and spherical coordinates, vector fields, and surfaces of revolution (for the AP calc gang). You can download it on this site under “Downloads” if you want to try it out (and there’s some plot examples on the side). The source code for it is hosted at my GitHub.
  • MathGraph3D is also available on the Google play store! That version is made with java. I might make a version with p5.js too so I can put it live on my website.
  • I created an algebraic expression parser (again, a python version and a java version) that can parse and evaluate mathematical expressions, calculate derivatives, and solve simple equations and inequalities.
  • I’ve created numerous other small projects with the same theme, such as a complex Fourier series visualizer, a “4D” plotter (2 input dimensions and two output dimensions – a real part and imaginary part for each), a little physics simulator, an implicit plot creator, a contour plot creator, and I’ve used python to solve a bunch of challenges from Project Euler.
  • I’ve also made some games, too. The one that’s available in Downloads was created for the 2019 Community Game Jam in a couple of hours before the deadline.

A parametric surface – the “twisted torus”. Solid red with lighting enabled
A cylindrical coordinates function with white color and lighting enabled
A surface of revolution with the “reds” preset style