Project Trajectory.

Jan 25, 2010 at 2:49 PM

Project Trajectory

The goal for this program is to be able to produce high quality two dimensional graphs that are difficult to produce otherwise.  This means that we want to handle the messy functions, not just the easy cases.  The philosophy for handling difficult functions is the "special point".  We will assume for now that the program is not going to be able to determine where the special points are, but if told where they are it will handle discontinuities and removed points correctly and automatically.  For instance given:

(x - 3)(x + 2)/(x - 3)

in the straightforward implementation we would end up with just a straight line, but knowing that there is a special point at x=3, we can verify that it is a removable discontinuity using some numeric analysis and plot a removed point (open circle) at that spot.  We want to address all two dimensional plotting issues with solutions this simple.


Eventually we want to embed this in a DSL that makes sense for 2d graphing.  So we must capture all the functions we want to include (piecewise is a must).  Also "handwavy" functions that often appear in textbooks.  Markup of lines and TeX labels.  The language must be declarative and allow references to functions in markup (i.e. positioning a label relative to a function location).