This file is designed to be a simple description of how to use the calculator.  I will break this down into sections.  

1. Quick Start
2. Tab Bar
3. Functions
4. Menu Bar
5. Math Descriptions


1. Quick Start

This is designed to be used quickly.  As in if you want to see a graph to compare some functions or numbers then you can start this program, from GraphCutie.exe (windows) or by executing the script GraphCutie.py (linux).  Once you are in the program you will see a Text input field at the bottom of the window.  Enter a function in there and click plot.

The function follows a syntax similar to Gnuplot and Python for entering mathematical expressions.  More about this will be explained in section 5 Math Descriptions.

2.  Tab Bar

When the program is running there are 5 tab windows in the tab bar.  

Calculator: The calculator allows you to enter a mathematical expression in the input line and it will display the answer.  If you want to reference the value that you just entered you can use the variable 'ans'.  You can assign variables and create single variable functions too.  The calculator display should display any error messages that the program emits.

Graph:  At the very bottom of the program there is a function input, you can enter any function as a function of x and the graph will plot it.  You do not need to assign the function, it is implied.  Just enter the function with 'x' as your varied parameter.  You function can use any variables or funcitons you have defined in the calculator.

Settings:  This allows you to configure the number of points the graph plots and it allows you to change the display type from scientific notation to decimal notation.  Also you can change the number of decimals points it maintains.

Plot Range:   Here you can set your x-y range and you can turn off the autoscale feature and set the range of y to view small sections.

Function List:  This shows you a list of all of the currently defined functions and variables.  There are descriptions for the functions from pythons math module.  The end of the list includes the currently assigned variables.

3. Functions

At the bottom of the display you can enter a function here the function follows the same mathematical logic as the calculator except, your function is Always a function of x, but you can use other variables and functions defined in the calculator.  
To the left of the function input there is an up/down arrow that allows you to select different functions to plut, up to four simultaneously.  Note, F2 can use F1(x), but F1 cannot use F2.
Lastly there is the color select so you can change the color of the plot.

4.  Menu Bar
The menu options are meant to be simple for saving plots or scripts 
image:
  save as image:
    Save as image will save the current plot as an image, either bmp, jpg, or png.
  save as svg:
    The output will be an svg/text file.
script:
  save script:
    The script referes to the valid commands entered into the calculator and the current plot functions.  The resulting script is intended to be compatable with gnuplot, but most gnuplot scripts will not be compatible with Graphcutie.
  load script:
    This will load a previously saved script.  The purpose of this function is to load saved variables and functions that have previously been defined.  Any variables and functions defined in the script will overwrite and current variables or functions.  Any functions you have in your plot functions could also be overwritten.
help:
  help:
    Display this file.
  about:
    display liscense info.

5. Math Descriptions
  Data is input as a string and converted into a list of stackes.  These stacks are then evaluated with basic python operators. 
  Variables are input by name, eg 'x', 'theta'
  Functuions are input by name ( arg ) pairs, eg sin(0.12), sin(theta), note that theta must already be difined.
  Numeric values can be entered as a number or in scientific notation, eg.  1.2, 3, 2e2, 2e-2. The scientific notation will be evaluated first so the 2e-2 is the same as entering 0.02.
  Then there are assignments.  
	my_variable = 3.5
  The left hand side has to be a single variable and the right hand side has to be a valid expression, that evaluates to a single number.
  Assigning functions follows the same system.
	y(x) = 3.5*x
  When you make an assingment like this the variable x is assumbed to exist, but you will need to use a valid variable, or number when you call the function y, eg.
	y(2) will return 7.
  Order of operations, this follows your standard mathematics order of operations.  If there is some ambiguity then by all means use some extra parenthesis to control the flow.