GraphApplet 1.05
Author Patrik Lundin, patrik@lundin.info, http://www.lundin.info

 Description

The GraphApplet 1.05 is a full featured Graphing Calculator with some rare features added.

It is recommended that you use Netscape 4.x or higher or IE 4.x or higher for this applet and
at least 800x600 resolution with more than 256 colors. Result in older browsers and with different
resolution or color depth may vary, some problems have been noticed in older browsers.

The GraphApplet has all the common operators and functions as expected from any scientific
calculator and combines it with function graphing capabilities.

The GraphApplet supports juxtaposition which means you can write your expressions just as you
would write them on a piece of paper, for example xcos(x) or 5x^3-6x

The GraphApplet has support for symbolic differentiation using the diff function.

To use the applet as a calculator click on the buttons or use the keyboard to form your expression
and then press enter or click the Eval button to evaluate.
Note that when you click on a function button it will fill in a left parenthesis, you will have to match it
with a right parenthesis either by clicking on the ) button or enter it with the keyboard.

To draw a function enter the function by clicking on the buttons or enter them with the keyboard
and then press the PlotF button, you can only draw function of type y=f(x) .
To zoom into an area, select an area with the mouse ( click, hold down and drag ) and release,
the area you selected will be zoomed in, to zoom out use the ZOut button.
To reset the bounds to the original x:[-10,10] y:[-10,10] click on the Reset button.

To clear the input field click the Clear button, to clear a individual drawed function double click on the
function name in the list to the right of the applet or click on the Cls button to clear the whole screen.

To enter something into memory first click the M-> button and click on either m1 or m2,
to clear the memory first click on MCls and then either m1 or m2

 All Functions

Calculator Controls

Eval    - Evaluates an expression, the calculator first tries to evaluate the expression,
if it fails then it tries to draw the expression.

Clear   - Clears the input area.

PlotF   - Plots a function of type y=f(x)

ZOut   - Zooms out the current area with a factor of x2.
To Zoom into an area, select the area with the mouse and release.

Reset  - Reset the bounds to the original x:[-10,10] y:[-10,10]

Cls      - Clears the whole drawing area and all functions.
To clear an individual function double click on the function in the list to the right of the applet.

M->    - Enters an expression or a value into memory, first click this button and then chose either m1 or m2

MCls  - Clears the memory, first click this button and then on either m1 or m2 to clear that memory.
Note that memory will be gone if you leave the page with the applet and then return at a later point.

m1      - Memory 1

m2      - Memory 2

Operators and Functions

sqrt     -  sqrt of a value or expression.

sin       -  sin of a value or expression.

cos      -  cos of a value or expression.

tan      -  tan of a value or expression.

atan    -  atan of a value or expression.

acos   -  acos of a value or expression.

asin    -  asin of a value or expression.

acotan    -  acotan of a value or expression.

exp       -  The constant euler raised to a value or expression.

ln          - The natural logarithm.

10log    -  The 10 logarithm of a value or expression.

fac        -  The faculty of a value or expression.

diff        -  Symbolically differentiates an expression of one variable

pi          - The constant PI

euler      - The Euler constant, base for the natural logarithm.

-             - Subtraction operator.

*            - Multiplication operator.

/             - Division operator.

^           - Raised to operator.

The calculator also supports the following functions when entered through the keyboard:

sinh        -  Hyperbolic sine

cosh       -  Hyperbolic cosine

tanh        -  Hyperbolic tangens

abs         -  Absolute value of value or expression.

ceil         -  Returns the smallest (closest to negative infinity)
value that is not less than the argument and is equal to
a mathematical integer.

floor       - Returns the largest (closest to positive infinity)
value that is not greater than the argument and is
equal to a mathematical integer.

sfac       - Semifaculty of value or expression.

round     - rounds the argument to the closest mathematical integer.
Example: round( 3.4 ) = 3.0, round( 4.99 ) = 5.0 etc...

fpart      -  returns the decimalvalue of its argument

[base]log(..)   - any logaritm.  Example: 10log(10) = 1.0, exp(1)log(exp(1)) = 1.0

%           - Modulo.

==          - Equal, returns 1.0 if it's arguments are equal or 0.0 othervise.

!=          - Not Equal, returns 1.0 if it's arguments are not equal or 0.0 othervise.

&&        - And, returns 1.0 if both arguments evaluates to 1.0, or 0.0 othervise.

||            - Or, returns 1.0 if any of it's arguments evaluates to 1.0, or 0.0 othervise.

>            - Larger than, returns 1.0 if the value of the argument to the left is larger
than the value of the argument to the right, or 0.0 othervise.

<           - Less than, returns 1.0 if the value of the argument to the left is less
than the value of the argument to the right, or 0.0 othervise.

>=         - Larger than or equal to, returns 1.0 if the value of the argument to the left is larger
than or equal to the value of the argument to the right, or 0.0 othervise.

<=         - Less than or equal to, returns 1.0 if the value of the argument to the left is less
than or equal to the value of the argument to the right, or 0.0 othervise.

!           - Not, returns 0.0 if it's argument evaluates to 1.0 and returns 1.0 if
it's argument evaluates to anything other than 1.0

Author Patrik Lundin, patrik@lundin.info, http://www.lundin.info
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Patrik Lundin

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA