Click on the screen-shot to enlarge
This article explains a program that is intended to plot relations between two variables. This program generalises a function plotter program written by myself in 2006. On the right of this screen is a screen-shot of the program running. The program is freely available as a Windows Executable under the GNU General Public License. If you also want the C++ source code, then please email me.
The function plotter mentioned earlier could plot equations of the following form: y = f(x) whereas the relation plotter program can plot more general equations of the form g(x,y) = h(x,y) or equivalently g(x,y) = 0. The function in the screen-shot on the right was plotted by entering the following in the console at the bottom of the screen:
x^3 - y^3 = 3*x*y
Features of the program include:
Arbitrary relations can be composed in a way that is similar to the operation of most modern scientific calculators. Specifically, the following operators are supported: addition (+), subtraction (-), multiplication (*), division (/), exponentiation (^), brackets ( ... ) for grouping and seven built in functions: sin, cos, tan, exp, log, sqrt, and abs plus the built-in constant PI (also known as π).
Control of the program is achieved by a DOS-style console, complete with a history of all previous commands (available with Cursor Up/Down) so that it is easy to go back to a relation that was plotted earlier. The command line can also be edited with the following familiar keys: Cursor Left/Right, Backspace, Delete, Home and End.
Because this program is intended for children, I have left out features that might be confusing to them.
While I was in high school I wrote a program in Microsoft Amiga Basic that could plot arbitrary real-valued functions of a real-valued variable, which I found useful to learn calculus. As my understanding of computer science was limited, it was necessary to change the source code of the program every time you wanted to print a different function. It is only now with my greater understanding that I am able to revisit this problem and rewrite the program in C++ so that it can compose functions at run-time.
This program is available as a Windows Executable The download size is approximately ½ megabytes, which should take just over 2 minutes to download on Dial-up Internet, and even less with broadband! This program was written using a cross-platform graphics library known as Allegro, so in theory it should be possible to compile this program on other platforms such as GNU/Linux and MacOS.
|Back to Research Projects|
This page has the following hit count: