Program:     3D graphing calculator with symbollic differentiation

             and simplification

 

author:      Harleigh Chris Marsh

 

------------------------

 

description:

     this program, takes in an expression and a differentation variable from the user, and then symbollically differentiates the expression, and, if the user chooses so, the program symbollically simplifies the differentated expression.   Once the expression has been entered into the program, the user

can graph the expression, graph the derivative, and can graph both the expression and its derivative at the same time.  The program places a different twist on how an expression is explored, the program implaments the standard change of x y and z axis to fit the function in the viewable window, but, the twist comes from the functionality of the program's  'camera'  mode.  In camera mode, the user explors the graphed expression, as if they were, themselves, inside the program, the camera functions as a standard 'first person shooter' camera, the user can move left, right, forawrd and backward, as well as levitate up, and dowm, and the 'looking' of the camera changes based on the movement of the mouse--ie: move the mouse to the left, and the camera 'looks' to the left, as if it was a person's head the user was controlling, and they are looking out of their eyes.

 

 

 

list of the main functionality of the program:

     symbollic differentation of a general expression of n variables

     symbollic simplification of a general expression of n variables

     variables may be up to 30 characters long

     2D  graphing

     3D  graphing

     graph a function

     graph the derivative of a function

     graph a function, and its derivative at the same time

     change the drawing style and color of the function and its derivative

     change the viewing window, the x, y, and z axis

     change the level of detail for graphs (by changing the steping amount)

     camera mode:

        the user can explore the plotted function--either the function, its

        dericative, or both the function and its derivative--as if they were

        inside the program; the camera functions like a standard 'first

        person shooter' camera

 

 

main benifits using this program:

 

     the user is able to visually see a function and its derivative, this is

     especially usefull for three dimentional functions

 

     using the camera mode--see above for description of camera mode--the

     user is able to explore the function--and its derivative--as if they

     were inside the program, thus a very easy way to examine the graphed

     function and its derivative; this way of exploring a functionis a

     different twist to current mathematical graphing software

 

samples:

 

 

2D graphing of an expression, and its derivative:

 

 

 

  graph of x3 and its derivative, 3*x2

      x3 is displaied as black dots, and 3*x2 is depicted as a red line

 

 

 

 

 

 

 

 

 

 

3D plot:

graph:  x3y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3D plot of the derivative of x3y

graph of the derivative of x3y with respect to x

 

 

 

 

 

 

 

 

 

 

 

 

 

interesting 3D equation plot and its derivative:

 

graph of (x3y2)/(x+y)

 

 

 

 

graph of the derivative of (x3y2)/(x+y) with respect to x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

symbolic simplification and differentation:

 

 

top expression: x*y3 differentiated with respect to y

        and the simplified derivative

bottom expression: x*y3 differentiated with respect to y

        and the unsimplified derivative

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

user's guide:

 

display a function and/or its derivative in the

view window:

 

    note:  to graph, use only lower case x and

           y as the variables for the function

 

    if a function has already been enteren into the graphing

       calculator

      then  press the 'Clear' button once in the 'Equation' panel

 

 

    1)  enter the function into the graphing calculator

           

 

    2)  press 'graph f' button to graph f

        press 'graph f'' button to graph f'

        press 'graph f and graph f'' button to graph f and f'

 

    optional 3) print the function and its derivative on the

                console

 

    optional 4) change the draw style and color of the function

                and its derivative

   

    optional 5) change the view window or the stepping amount

                in x or y

 

    6)  to enter another function, clear the view window

        and equation

 

 

 

 

 

 

 

 

 

to enter a function into the graphing calculator

 

    1)  type the function in the 'function' text field within

        the 'Equation' panel

 

            <function>;<derivative variable>

 

                function =>  the function to be graphed and/or

                             differentiated

                                can contain n variables, each variable

                                can be up to 30 characters long

 

                ;        =>  symbol that denotes the end of the

                             function

 

                derivative variable  =>  the variable which the

                                         function is differentiated

                                         by

                                           derivative variable can be

                                           up to 30 characters long

                                           

 

                examples of legal expressions:

 

                    1/x; x

 

                    (7 + x*y)/(x+y); y

 

                    (apple#bananna - peach)/canalope; canalope

 

                    (a*b/c + 5)/7 + (x*y); z

 

 

 

    2)  press the 'Enter' button once

 

 

 

 

 

 

 

 

 

 

to print an equation and its derivative to the console:

 

    1)  enter the equation into the graphing calculator

    2)  press the 'Print' button in the 'Equations' panel

 

 

 

 

 

 

 

 

 

to change the draw style and color of the

function and its derivative:

 

    to change the draw style of f:

        in the f panel, select a style in the 'draw style'

        combo box

 

    to change the color of f:

        in the f panel, select a color in the 'color'

        combo box

 

 

    to change the draw style of f':

        in the f' panel, select a style in the 'draw style'

        combo box

 

    to change the color of f':

        in the f' panel, select a color in the 'color'

        combo box

 

 

 

 

 

 

 

 

 

change the view window or the stepping amount in x or y

 

    1)  change the x y and z axes as desired

 

    2)  press the 'Sync' button in the View panel once

 

 

 

 

 

 

 

to clear the view window and equation:

 

    1)  press the 'Clear' button in the 'Equation' menu once

 

 

 

 

 

 

 

 

 

 

 

 

 

 

field descriptions:

 

    Equation  panel:

   

        this panel contains the functionality that is used to enter an equation into the 3D graphing calculator so it can be differentiated and, if the user chooses to do so, graphed in the viewing window

 

        'function':   enter the function to be graphed or symbollicaly

                      differentiated

 

        'enter':      enters the equation into the graphing calculator

 

        'print':      prints the equation, and the derivative of the

                      equation, to the console

                        Note:  if 'Simplify Equations' in the 'Options panel'

                               is checked, the derivative is symbollicaly

                               simplified before it is displaied on the

                               console--see 'Options  panel' below

 

        'clear'       clears the equation entered in the graphing calculator,

                      clears the viewing window of any graphed functions

 

 

 

 

 

 

 

 

    Graph  panel:

 

        this panel contains the functionality to graph and display

        f and f' on the viewing window, as well as to change the

        display properties of the graph of f and of f'--ie: color,

        draw style of the function,...

    

 

        f panel

          'draw style'  draw style for function  f

                            points      draw f as points

                            dashes      draw f as dashes

                            line strip  draw f as a single line strip

          'color'       color style for function  f

 

 

        f' panel

          'draw style'  draw style for function  f'

                            points      draw f' as points

                            dashes      draw f' as dashes

                            line strip  draw f' as a single line strip

          'color'       color style for function  f'

 

 

        'graph f'       graph function f  in the viewing window

 

        'graph f' '     graph function f' in the viewing window

 

        'graph f and graph f' '

                        graph both function f and f' in the viewing

                        window

 

 

 

 

 

    View  panel:

 

        this pannel contains the functionality to change the viewing

        window for the graphed functions

 

        X min       minimun x value

        X max       maximum x value

        X step      x distance between sampling points

 

        Y min       minimun y value

        Y max       maximum y value

        Y step      y distance between sampling points

 

        Z min       minimum z value

        Z max       maximum z value

 

        'Reset'     reset the view window to the original dimentions

 

        'Sync'      redraw the graph based upon the current view window

                    dimentions and stepping amounts

       

 

 

 

 

 

 

 

    Camera  panel:

 

        this pannel displays information on the camera mode functionality

        of the program

 

            c:  press the 'c' key on the keyboard to toggle the camera mode

                on and off--see 'State' below

 

            u:  when the camera mode is off--when 'State' displaies 'off',

                see below--press the 'u' key on the keyboard to reset the

                default position of the camera

 

            'State':   displaies whether the camera mode is on or off

                            'on'  => camera mode is on

                            'off' => camera mode is off

 

 

 

 

 

 

 

    Options    panel:

 

        this pannel contains various options of the program

 

 

        'Draw Axes'     on (check mark visible) => draw the axes

                        off(no check mark)      => do not draw axes

 

        'Simplify Equations'

                   on (check mark visible) => run the simplification

                                              algorithm on the

                                              derivative of the

                                              equation

 

                   off(no check mark)      => do not simplify the derivative

                                              of the equation