Symbolic math and 2-D and 3-D graphing

MathMan had many incarnations. It started off as Algebra Tutor, an algebraic problem solver that was one of the First or Second Grant winners in a junior-high state science fair. (Which was it? I can’t remember.)

That program was written in Microsoft BASIC, which lacked recursive or dynamic data structures. The program was able to parse, simplify, and solve algebraic equations using a static 7-dimensional array. The first dimension was either 1 or 2: at each step, the program would copy from one to the other as it worked.

At each step until the equation was solved, the program would summarize what it did and give the user a chance to work out the next step his or herself, thus the Tutor bit.

Later, I rewrote it in C++, added the support for 2-D graphing, user-defined functions and variables, numeric integration as the user dragged along the X axis of a 2-D graph, animation export into QuickTime movies, 3-D mesh graphing using my own graphics routines, then 3-D graphing using QuickDraw 3D.

Language Object C then C++, THINK Class Library.
Compatibility Macintosh System 7 and up. Power Macintosh required for QuickDraw 3D graphing.
Download This program is not currently available for distribution. Let me know if there is interest.


Also see the graphing movies.


Graph using QuickDraw 3D (Nov. 21, 1995)


The default set of globals.


A user has just defined two variables by entering the text at the top. The first acts as a function of the second (and graphing one against the other will show the relationship).