This is the graphing.* implementation for the Graph program.

All graphing functionality is encapsulated in the GraphPaperPDK and GraphablePDK. GraphKeysPDK is generated and used automatically, without user intervention. All other Renderables are from the graphing.noop package.

To create a graph, obtain an instance of GraphPaper and configure it appropriately: set the ranges. Next create a Graphable. For a standard graph (xy Cartesian) add an expression using the variable 'x' with the key Graphable.STANDARD_GRAPH. Polar graphs use an expression in 't' and GRAPH_POLAR. Parametric equations require two expressions, each in the variable 't': one added with PARAMETRIC_X and the other with PARAMETRIC_Y. If the graph range is not the same as the limits selected, addLimit() with the limits 'from', 'to', and 'steps'. Add the graph to the GraphPaper and it is ready to render! Of course more graphs can be added.

GraphPaper renders to a String formatted to fit into a .grf file. It can be pasted there from the clipboard or written directly with MathFileIO.

DISCLAIMER!

The data generated by this package is based on dissection and experimentation on several .grf files generated by Graph. If used properly everything should work properly. If not, Graph may crash. If it does, re-examine the code carefully and make sure no extraneous expressions or graphs were added by mistake.