Copyright: Copyright (c) 1998-2001 Greg VanMullem, All Rights Reserved.


Help Contents

MathGV™ Help File Contents.

Overview of Capabilities

New Features

Getting Started

System Requirements

2 Dimensional Cartesian Graphs

Polar Graphs

3 Dimensional Cartesian Graphs

Graph Units, Pixels, Bitmap Coordinates, Zoom

Mathematical Expression Rules

Predefined Mathematical Functions: Ln( ), Sin( ), CosH( )…Etc.

Graph Tool Bar and Hot Keys (F2 - F12)

Adding Labels to a Graph

Selecting a Bitmap Region

Saving a Graph

Frequently Asked Questions

Dialog Help Pages Index

MathGV™ FREEWARE Version 3

Copyright © 1998-2001 Greg VanMullem, All Rights Reserved.

Designed For Windows 95/98, NT4 and 2000

This program is FREEWARE. You may use it free of charge.

For up to date information visit the MathGV™ web page at: http://www.mathgv.com

Warning: This program is protected by copyright law and international treaties. Failure to abide by the

following legal conditions may result in severe civil and criminal penalties, and will be prosecuted to the

maximum extent possible under law.

Legal Conditions:

1. You may use this program free of charge.

2. You may distribute this program using any method or media type.

3. This program may be distributed only in its complete unmodified form with all associated files.

4. There are no restrictions on what you may do with saved graph files. This applies to bitmap picture files

(*.BMP) and MathGV™ format graph files (*.MGF).

5. You may not modify, disassemble or, reverse-engineer this program.

6. All rights to the visual and design elements of the program interface are reserved.

7. No warranty implied or otherwise is included with this program.

8. No customer service or technical support is included with this program.

9. These conditions apply to this version only, not to other versions of MathGV™.

10. All legal conditions, and legal disclaimers listed here apply to the program, install program, help file

and, all other included files.

11. MathGV, MathGV16, and MathGV32 are trademarks owned and used by Greg VanMullem. All rights

to these trademarks are reserved.

12. All rights not specifically granted here are reserved.

Legal Disclaimer: The author of this program, Greg VanMullem, is not responsible for any direct or

indirect damages incurred from the use, distribution, or existence of this program, help file, or any

information contained within. Greg VanMullem is not responsible for any direct or indirect damages

incurred from bugs, programming errors or incorrect information.


Overview of Capabilities

MathGV is a software program designed to generate graphs of mathematical functions. It can not plot raw data points. It can plot functions only.

1. Plots 5 function types; 2D Cartesian (X, Y), parametric, polar, 3D Cartesian (X,Y,Z), 2D function rotated into 3 dimensions.

2. Graphs can contain multiple functions.

3. All graphs are drawn on resizable bitmaps, and displayed in scrolling windows.

4. Graph bitmaps can be copied and pasted into other programs, or saved to disk.

5. Multiple document interface (MDI) allows for simultaneous viewing of multiple graphs.

6. Can calculate negative numbers to fractional powers.

7. Function calculator that can give decimal or fractional results.

8. All changes take effect immediately after they are made.

9. Use tool bar buttons to zoom, rotate, and page up, down, left, right.

10. Graphs can be saved in bitmap (bmp), jpg or MathGV format.

11. Label tool bar for drawing, lines, free hand lines, rectangles, circles, round rectangles, flood fills, and text.

12. Labels can be selected, dragged, dropped, resized, added and deleted on any graph at any time.

For a list of new features in version 3 see: New Features


New Features

New features in MathGV version 3 include:

1. A tabbed options dialog.
2. Can calculate negative numbers to fractional powers.

3. Parametric functions.

4. New 2D Cartesian function options.

5. Lots of small interface enhancements.

6. Improved menus.

7. New tabbed dialogs.

8. Saving JPG files.

9. Repeating tool bar buttons.

10. Improved function calculator that can give decimal or fractional results.

11. A bug fix for users in countries that use a comma instead of a period for a decimal separator.

For a complete list of features see: Overview of Capabilities


Getting Started

MathGV works much like a painting, drawing or graphics design program. All graphs are drawn on resizable bitmap pictures and displayed in scrollable windows. These bitmaps can be copied to the clipboard and pasted into another program, or saved to disk as a picture file (*.BMP or *.JPG). Graphs can also be saved in MathGV (*.MGF) format for later use.

A Typical Graph Design Process

The steps to designing a graph can be done in an infinite number of different orders. The following steps might be used to design a typical graph.

1. Create A New Graph - Use one of  the three "File / New" menu items to create to create a new graph of the desired type. Graph types are: 2 dimensional Cartesian, polar, and 3 dimensional Cartesian.

2. Resize Graph Bitmap - Use the "Graph / Bitmap Size Colors…" menu item to adjust the size of the graph's bitmap drawing surface.

3. Add Functions - Use the "Function / New" menu items to add functions to the graph.

4. Zoom, Rotate, Scroll, or Page Up, Down, Left, Right - Use the graph tool bar or hot keys (F2 - F12) to easily manipulate the graph's view close to the desired view.

5. Fine Tune The Graph's View - Use the "View / Change View…" menu item to get a more precise graph view (Zoom, Rotate, and Page settings).

6. Change Graph Setting - Use the "Graph / Graph Settings…" menu item to make changes to the visual background attributes of the graph.

7. Add Labels - Use the "Label / Show Hide Label Tool Bar" menu item to display the label tool bar which allows labels to be added to a graph. For more information see: Adding Labels to a Graph.

8. Print, Save, or Copy to Clipboard - The final step is to do something with the finished graph. Graphs can be printed, saved to disk, or copied to the clipboard for use in another program.


System Requirements

1. Requires Microsoft Windows 95/98, NT4 or 2000.

2. Mouse.
3. Approximately one megabyte of disk space for program files.

4. Will run from a floppy disk, remote network drive, or hard drive.

5. Requires no special registry settings, DLL's, OCX's or other changes to Windows.

Minimum

200mhz Pentium Processor

32 Megabytes of Ram

Recommended Minimum

500mhz Pentium Processor

64 Megabytes of Ram or more


Graph Units, Pixels, Bitmap Coordinates, Zoom

All function points are first calculated using "Graph Coordinates", they are then translated into "Pixel Coordinates", and finally into "Bitmap Coordinates" before being drawn. It is sometimes necessary to work with all three of these coordinate systems.

Bitmap Coordinates - All graphs are drawn on resizable bitmaps, and displayed in scrolling windows. These bitmaps can be copied and pasted into other programs, or saved to disk. Bitmap coordinates are measured in points or pixels. In bitmap coordinates (0, 0) is the top left corner. The "X" value increases to the right, and the "Y" value increases as you move down. Negative numbers are not allowed.

Pixel Coordinates - Like bitmap coordinates, pixel coordinates are measured in points or pixels. Pixel coordinates work like Cartesian coordinates in all other respects. The origin (center) is at (0, 0). The "X" value increases to the right, and the "Y" value increases as you move up.

Graph Units (Graph Coordinates) - Graph units are used when functions are plotted. They can be expressed as 2D Cartesian, 3D Cartesian, or polar coordinates. Graph units are calculated as "GraphUnits = PixelUnits / Zoom"; this means that graph units change when the zoom changes.

Zoom - The zoom is used to increase or decrease the relative size of a graph and its functions. Bigger zoom values give bigger function graphs. Pixel units are calculated using "PixelUnits = GraphUnits * Zoom". Because of this equation, a zoom greater than 1 will give more than 1 pixel unit per graph unit, and a zoom less than 1 will give multiple graph units per pixel unit. Zoom values must be greater than 0. The 3D graphs allow only integer zoom values. The 2D Cartesian graphs allow for separate "X" and "Y" zoom values.


Mathematical Expression Rules

Constant Expressions

Constant expressions are subject to the same syntax rules as function expressions, but may contain no variables (X, Y, Z, Theta). All constant expressions are simplified/calculated, and appropriate error messages are displayed before a dialog closes.

Examples

-13.5601

6.50*10^3

(3*Pi)/2

E - 8.3

Ln(2(4 + 3))

Sin(Pi/2)^2 + Cos(Pi/2)^2

Function Expressions

Function expressions must follow the standard mathematical definition of a function. For a 2 dimensional function, each domain value (X), is given a single range value (Y). Graphing an equation that is not a function such as "1 = X^2 + Y^2" (Equation for a circle with radius 1) must be done in two separate pieces. Solving this equation for "Y" gives two results "Y = +Sqrt(1 - X^2)", and "Y = -Sqrt(1 - X^2)". Plotting both of these halves creates a whole circle. When entering a function such as "f(x) = x^2",or "Y = x^2" enter only the right side "x^2".

Examples

When entering a function do not enter the bold left hand side.

Y=f(x)= x^2 - 1

R= 4Cos(2*theta)

Y=f(x,z)= x^2 + z^2

Fractional Results

The Function Calculator can often give fractional results like "7/5" or "2/3". These fractional results are also used to calculate negative numbers to fractional powers. There are some things that will cause rounding. If rounding occurs, a floating point value like "0.333333" will be given instead of "1/3". Most functions will cause rounding. Functions that might not cause rounding are: Exp(), Grint(), Int(), Sqrt(), Square(), Trunc( ), Round(), Frac(), Abs(), Fact(). Fractions where the numerator or denominator is greater 10 billion or less than –10 billion can cause rounding.

Syntax Rules

MathGV supports all of the most common expression syntax rules used in mathematics. Many of these such as implied multiplication are not commonly supported by computer applications.

Order of Operations - Mathematical operations are evaluated using the standard order of operations. All operations on same level are done from left to right.

    1. Operations in parentheses "(", ")" are done first.

    2. "^" Exponents. Done from left to right, not right to left.

    3. "*", "/" Multiplication and division.

    4. "+", "-" Addition and subtraction are done last.

Exponentiation "^" is also done from left to right. This means that the expression "2 ^ 3 ^ 4" will be evaluated as "(2 ^ 3) ^ 4". If three to the fourth power needs to be done first, then the expression must be written as "2 ^ (3 ^ 4)".

Grouping - the grouping characters "( )", "{ }", and "[ ]" may all be used interchangeably.

Functions - A large number of standard predefined mathematical functions and their inverses are supported.

Function Arguments Must Be In Parentheses - Predefined function arguments must be enclosed in parentheses. The expression "Log X" is illegal, it must be written as "Log(X)".

    Examples

    ln(x)

    sin(2pi + 1)

    exp(ln(x + 2))

Scientific Notation - Standard scientific notation (where 6500 = 6.50E+03) is not directly supported. The character "E" is defined as the constant value 2.718. The expression (6.50E+03) will not cause an error. It will be evaluated as (6.50*2.718+3) giving a result of 20.667, not the 6500 that scientific notation would give. Scientific notation can be written using the form (6500 = 6.50*10^3) or for small number (0.0065 = 6.50*10^-3).

Constant Values PI and E - The predefined constant values PI and E are supported.

    PI = 3.14159265358979

    E = 2.71828182845905 = EXP(1.0)

Implied Multiplication - Implied multiplication notation is supported. When two variables, constants, numbers, etc. are written with no operation between them a multiplication "*" is implied. The following is a list of equivalent legal examples.

Implied	Not Implied
2x	2*x
2Pi	2*Pi
3.5x^2 - 1	3.5*(x^2) – 1
X(3 - y)	x*(3 - y)
(x – 1)(x + 1)	(x - 1)*(x + 1)
Ln(x - 1)x	Ln(x - 1)*x
XLn(x - 1)	x*Ln(x - 1)

Double Negatives, and Positives - The following expressions are legal. They are simplified when the expression is evaluated.

Legal Expression	Simplified Equivalent
X - - 2	x + 2
3 + + x	3 + x
4 + - x	4 – x
X - + - + - 5	x – 5

Negative Numbers to Fractional Powers - Negative numbers to fractional powers are supported. The exponent can not be a rounded number. Functions like Sin() and Sqrt() can cause rounding. Fractions where the numerator or denominator is greater 10 billion or less than –10 billion can cause rounding. See the Fractional Results section above for more information.

Factorials - Factorials using the "3!" notation are not allowed. The "Fact(x)" function allows only integer values in (0 <= X <= 20).

Blank Spaces - All blank spaces in mathematical expressions are ignored.

Upper and Lower Case Letters - All mathematical expressions are not case sensitive. Upper and lower case letters are treated exactly the same.


Graph Tool Bar and Hot Keys (F2 - F12)

The graph tool bar buttons and F2 through F12 keys can be used to easily manipulate graphs. The tool bars are "dockable" and can be "docked" at the top and bottom of the main window. The Zoom, Scroll, Page and Rotate buttons will repeat if held down.

New 2 dimensional Cartesian graph.

New polar graph.

New 3 dimensional Cartesian graphs.

Open a MathGV (*.MGF) graph file.

Save as a MathGV (*.MGF) graph file.

Center Function View <Shift+F2>: Undo/Rest current graph’s scroll, page and rotate settings.

Center Bitmap in Window <F2>: Center the current graph’s scroll bars.

 Zoom In <F3>: Increase current graph's zoom value.

 Zoom Out <F4>: Decrease current graph's zoom value.

If The Current Graph Is A: 2 dimensional Cartesian graph.

Zoom X Axis In <F9>: Increase current graph's X zoom value.

Zoom X Axis Out <F10>: Decrease current graph's X zoom value.

Zoom Y Axis In <F11>: Increase current graph's Y zoom value.

Zoom Y Axis Out <F12>: Decrease current graph's Y zoom value.

If The Current Graph Is A: 2 dimensional Cartesian graph or a polar graph.

Scroll View Up <F5>: Moves the current graph's view center up buy a small (configurable) amount.

Scroll View Down <F6>: Moves the current graph's view center down buy a small (configurable) amount.

Scroll View Left <F7>: Moves the current graph's view center left buy a small (configurable) amount.

Scroll View Right <F8>: Moves the current graph's view center right buy a small (configurable) amount.

Page View Up <Shift+F5>: Moves the current graph's view center up buy half its height.

Page View Down <Shift+F6>: Moves the current graph's view center down buy half its height.

Page View Left <Shift+F7>: Moves the current graph's view center left buy half its width.

 Page View Right <Shift+F8>: Moves the current graph's view center right buy half its width.

If The Current Graph Is A: 3 dimensional Cartesian graphs.

Rotate - to X Axis <F5>: Rotate the current 3D graph in the negative direction parallel to the "X" axis.

Rotate + to X Axis <F6>: Rotate the current 3D graph in the positive direction parallel to the "X" axis.

Rotate - to Y Axis <F7>: Rotate the current 3D graph in the negative direction parallel to the "Y" axis.

Rotate + to Y Axis <F8>: Rotate the current 3D graph in the positive direction parallel to the "Y" axis.

Rotate + to Z Axis <F9>: Rotate the current 3D graph in the positive direction parallel to the "Z" axis.

Rotate - to Z Axis <F10>: Rotate the current 3D graph in the negative direction parallel to the "Z" axis.


Adding Labels to a Graph

Labels "float" on top of graphs. Labels are unaffected by any changes made to the graph. Rotating, zooming, and scrolling will have no effect on the labels.

Label Tool Bar

The label tool bar is displayed by selecting the "Tools / Show Hide Label Tool Bar" menu item. The tool bars are "dockable" and can be "docked" at the top and bottom of the main window.

Types of Labels

Label Tools Off - Turns the label tool bar off.

Draw Line - Draws a straight line.

Draw Rectangle - Draws a rectangle.

Draw Ellipse - Draws an ellipse.

Draw Round Rectangle - Draws a rectangle with rounded corners.

Draw Free Hand - Draws a free hand line.

Flood Fill - Fills an area of the graph with the brush color, and brush style.

Text Label - Puts an edit line and cursor on top of the graph allowing a text label to be typed.

Label Attributes

Pen, brush and font attributes are applied to the next label created. To change the attributes for an existing label see the "Modifying a Label" section below.

Adding a Label

Shape (Line, Rectangle, Ellipse, Round Rectangle, Free Hand Line) - Select the desired shapes tool button. Move the mouse pointer to the shapes starting position. Press and hold the left mouse button. Move the mouse to the shapes ending position, and release the button.

Flood Fill - Select the flood fill tool button. Move the mouse pointer to the desired position, and press the left mouse button.

Text Label - Select the text label tool button. Move the mouse pointer to the desired position of the first character, and press the left mouse button. This will put a cursor on top of the graph allowing a text label to be typed. Press the <Enter> key when done.

Selecting a Label

Shapes and Text Labels - Set the label tool to "Off". Move the mouse pointer on or near the label and press the left button. The last label created can also be selected with the "Label / Select Top" menu item. Small square highlights will appear at the corners of a selected label. To un-select a label click the left mouse button on an unused section of the graph.

Flood Fill - Set the label tool to "Off".  Select the "Label / Show Flood Fill Locations" menu item. Flood fills can then be selected, modified, moved or deleted just like any other label.

Modifying a Label

Shape or Flood Fill - Select the label. Select the "Label / Edit Label…" menu item to open the edit label dialog.

Text Label – Text labels can be modified just like shape labels or in place editing can be activated by double clicking.

Moving a Label

Select the label. Move the mouse pointer on or near the label. Press and hold the left button. Move the mouse to the label's new position, and release the button. Un-select the label.

Resizing a Label

For Line, Rectangle, Ellipse and Round Rectangle labels. Select the label. Hold down the <Ctrl> key or select the "Tools / Resize Labels Mode" menu item. Move the mouse pointer on or near the label. Press and hold the left button. Move the mouse to the label's new size, and release the button. Un-select the label.

Deleting a Label

Select the label. Use the "Label / Delete Selected Label" menu item or press the <Ctrl-Delete> keys. To delete all the labels on a graph use the "Label / Delete All Labels" menu item.


Brush Style

Available label brush style patterns. For more information on labels see: Adding Labels to a Graph.

Solid

Horizontal

Vertical

Forward Diagonal

Backward Diagonal

Cross

Diagonal Cross


Selecting a Bitmap Region

A rectangular region of a graph's bitmap can be selected using three different methods. This selected region can then be printed, copied to the clipboard, or saved in a picture file (bitmap *.BMP or *.JPG). Selected regions will have a dashed rectangle bordering them. To undo a region selection click the left mouse button once anywhere on the graph.

Method #1 - Select the "Graph / Select Bitmap Region" menu item. Move the mouse pointer to the regions starting position. Press and hold the left mouse button. Move the mouse to the regions ending position, and release the button.

Method #2 - Move the mouse pointer to the regions starting position. Press and hold the <Shift> key, and the left mouse button. Release the <Shift> key any time after this. Move the mouse to the regions ending position, and release the mouse button.

Method #3 -Use the "Graph / Bitmap Region Dialog" menu item to open the " Selected Bitmap Region" dialog. This dialog can be used to select a region, or to modify a region selected with methods #1 or #2.


Saving a Graph

Graphs can be saved in three different formats; MathGV (*.MGF) format, bitmap picture (*.BMP) format and jpeg picture format (*.JPG).

MathGV ™ (*.MGF) - These files can be opened and modified at a later time. They require much less disk space than bitmap files. The entire graph must be save in this format; a selected region can not be saved in this format.

Bitmap (*.BMP) - All graphs are drawn on resizable bitmaps. A graph's entire bitmap or a selected region may be saved in a bitmap file. Saved bitmap picture files can be used by other programs. For information on bitmap and graph color resolution see: Frequently Asked Questions.

JPEG (*.JPG) – Graphs can be saved as jpeg picture files. These compressed files usually require less disk space than bitmap files.


Frequently Asked Questions

Plots Function Only – MathGV can not plot raw data points, mathematical functions only.

Floating Point Rounding Errors - Most calculations performed by this program are done with floating point (scientific notation) and have a range of (3.4*10^-4932) to (1.1*10^4932) with an accuracy of 19-20 digits. This may cause some unexpected rounding when very large or small numbers are used. For example, the expression "(1+10^20)-10^20" should equal "1" but will be rounded to "0".

Negative Zero - Even though the value "-0" doesn't make a lot of mathematical sense, the math coprocessor will generate it. The "negative zero" value is treated the same as "zero" but, may be displayed as "-0".

Intel Pentium Floating Point Bug - This program contains a software fix for this widely publicized bug. It should produce correct results when run on a computer with this bug.

Program Files - MathGV requires only three program files MATHGV.EXE, MATHGV.HLP and MATHGV.INI. No DLL's, VBX's, TSR's, Drivers or special setting are needed.

Saved Graph Files - Can have (*.MGF), (*.BMP) or (*.JPG) extensions. For more information see: Saving a Graph. Bitmaps are saved using their current color resolution.

MATHGV.INI Settings File – MathGV uses a standard ini file to store program settings.  Most of these settings are located in the Program Options dialog box.

There are 2 ways to prevent MathGV from saving updated settings to this file. This feature could be very useful when installing MathGV in a shared computer lab. If the ini file does not exist in the same directory then MathGV will not attempt to create a new one or save any settings. If the ini file is empty then MathGV will add settings information and use it normally.

The ini file can be locked (write protected but still read) by adding the following two lines with notepad.

[CanSaveOptions]

AllowIniFileChanges=0


Dialog Help Pages Index

This is an index of all the available dialog help pages. These pages can be opened from their associated dialogs by pressing the "Help" button or "F1" key.

General Dialog Pages

Change Current Window Bitmap Size

Edit Function List

Options

Print Scale

Area to Use

Selected Bitmap Region

Function Calculator

Label Dialog Pages

Edit Label List

Edit Line Label

Edit Rectangle/Ellipse/Round Rectangle Label

Edit Free Hand Line Label

Edit Flood Fill Label

Edit Text Label

2D Cartesian Dialog Pages

2D Cartesian Graph Settings

Add/Modify 2D Function

Row Values

Add/Modify Parametric Function

Change 2D Cartesian View

Polar Dialog Pages

Polar Graph Settings

Standard Axis Lists

Add/Modify Polar Function

Change Polar View

3D Cartesian Dialog Pages

3D Cartesian Graph Settings

Add/Modify 2D Function Rotated Into 3D

Add/Modify 3D Function

Change 3D Cartesian View


2 Dimensional Cartesian Graphs

The Cartesian coordinate system is named after its chief inventor Rene Descartes (1596-1650). This system is also referred to as the "Rectangular Coordinate System". To create a new 2D Cartesian graph select the "File / New 2D Cartesian" menu item. These graphs can contain 2D and parametric functions.

2 Dimensional Functions

Two possible inaccuracies can occur when graphing 2D functions that go to positive or negative infinity in the "Y" direction.

Inaccurate Graph #1

The incorrect line shown in this graph is caused by a vertical asymptote (undefined point) where the "Y" value goes to positive infinity from one side and negative infinity from the other side. The "Attempt Positive To Negative Vertical Asymptote Fix up" option in the " Add/Modify 2D Function" dialog can be used to fix this error.

Inaccurate Graph #2

This is a graph of "Y = Tan(X)" with "Zoom = 7.5". Many of the lines in this graph do not go off the bottom and top edges to positive and negative infinity, as they should. This loss of accuracy can occur when a function becomes nearly vertical. Increasing the zoom factor also increases drawing accuracy, and can fix most of this loss of accuracy.

Accurate Graph #3

This is the same function definition as graph #2 but, the "Attempt Extra Drawing Accuracy Near Undefined Points" and "Special X Values to Plot" options have been used to correct the inaccuracies. The following series was entered into the "Special X Values to Plot" list:

First Value	Second Value	Third Value	Function of X	Will Generate
-101	-99	101	X*(Pi/2)	"-101*(Pi/2)", "-99*(Pi/2)" to "101*(Pi/2)"

This function series generates undefined points for the "Tan(X)" function. Telling MathGV about these undefined points helps it to "Attempt Extra Drawing Accuracy Near Undefined Points". For more information see:  Add/Modify 2D Function

Parametric Functions

Parametric graphs are defined by a set of functions with "X" and "Y" as dependant variables and "T" as the independent variable. For more information see: Add/Modify Parametric Function

Example 2D Graph


Polar Graphs

The polar coordinate system has an origin (pole) in the center. Points are expressed as P(R, Theta), where "R" is the distance and "Theta" is the angle from the origin. To create a new polar graph select the "File / New Polar" menu item.

Example Graph


3 Dimensional Cartesian Graphs

The Cartesian coordinate system is named after its chief inventor Rene Descartes (1596-1650). This system is also referred to as the "Rectangular Coordinate System". To create a new 3D Cartesian graph select the "File / New 3D Cartesian" menu item. Two different types of functions can be added to a 3D graph.

2D function rotated into 3D

This function type is created by rotating a 2 dimensional function around an axis. In this example the 2D parabola "Y = X^2" is rotated about the "Y" axis.

3D Function

This function type is created by plotting function points with three variables (X, Y, Z). These functions have one dependent (range) variable and two independent (domain) variables. The dependent variable may be "X", "Y", or "Z". In this example "Y = X^3"; "Y" is the dependent variable, and "X", "Z" are the independent variables.


Trigonometric Functions

Sin( )	Cos( )	Tan( )
Csc( )	Sec( )	Cot( )

Y = Sin(X)

Sine.

Domain: -Infinity < X < +Infinity

Range:    -1 <= Y <= +1

Y = Cos(X)

Cosine.

Domain: -Infinity < X < +Infinity

Range:    -1 <= Y <= +1

Y = Tan(X)

Tangent.

Definition: Tan(X) = Sin(X) / Cos(X); where Cos(X) not equal to 0

Domain: All real numbers except odd integer multiples of (Pi/2).

Range:    -Infinity < Y < +Infinity

Y = Csc(X)

Cosecant.

Definition: Csc(X) = 1/Sin(X); where Sin(X) not equal to 0

Domain: X not equal 0, (+ or - Pi), (+ or - 2Pi), …

Range:    Y <= -1 and Y >= +1

Y = Sec(X)

Secant.

Definition: Sec(X) = 1/Cos(X); where Cos(X) not equal to 0

Domain: X not equal to (+ or - Pi/2), (+ or - 3Pi/2), …

Range:    Y <= -1 and Y >= +1

Y = Cot(X)

Cotangent.

Definition: Cot(x) = Cos(X) / Sin(X); where Sin(X) not equal to 0

Domain: X not equal 0, (+ or - Pi), (+ or - 2Pi), …

Range: -Infinity < Y < +Infinity


Inverse Trigonometric Functions

ArcSin( )	ArcCos( )	ArcTan( )
ArcCsc( )	ArcSec( )	ArcCot( )

Y = ArcSin(X)

Inverse Sine.

Domain: -1 <= X <= +1

Range:    -Pi/2 <= Y <= +Pi/2

Y = ArcCos(X)

Inverse Cosine.

Domain: -1 <= X <= +1

Range:    0 <= Y <= +Pi

Y = ArcTan(X)

Inverse Tangent.

Domain: -Infinity < X < +Infinity

Range:    -Pi/2 < Y < +Pi/2

Y = ArcCsc(X)

Inverse Cosecant.

Domain: abs(X) >= +1

Range:    0 < abs(Y)<= +Pi/2

Y = ArcSec(X)

Inverse Secant.

Domain: abs(X) >= +1

Range:    0 <= Y <= +Pi; where Y not equal to +Pi/2

Y = ArcCot(X)

Inverse Cotangent.

Domain: -Infinity < X < +Infinity

Range:    0 < Y < +Pi


Hyperbolic Functions

SinH( )	CosH( )	TanH( )
CscH( )	SecH( )	CotH( )

Y = SinH(X)

Hyperbolic Sine.

Definition: SinH(X) = (e^X - e^-X) / 2

Domain: -Infinity < X < +Infinity

Range:    -Infinity < Y < +Infinity

Y = CosH(X)

Hyperbolic Cosine.

Definition: CosH(X) = (e^X + e^-X) / 2

Domain: -Infinity < X < +Infinity

Range:    +1 <= Y < +Infinity

Y = TanH(X)

Hyperbolic Tangent.

Definition: TanH(X) = (e^X - e^-X) / (e^X + e^-X)

Domain: -Infinity < X < +Infinity

Range:    -1 < Y < +1

Y = CscH(X)

Hyperbolic Cosecant.

Definition: CscH(X) = 2 / (e^X - e^-X)

Domain: X not equal to 0

Range:    Y not equal to 0

Y = SecH(X)

Hyperbolic Secant.

Definition: SecH(X) = 2 / (e^X + e^-X)

Domain: -Infinity < X < +Infinity

Range:    0 < Y <= +1

Y = CotH(X)

Hyperbolic Cotangent.

Definition: CotH(X) = (e^X + e^-X) / (e^X - e^-X)

Domain: X not equal to 0

Range:    Y < -1 or Y > +1


Inverse Hyperbolic Functions

ArcSinH( )	ArcCosH( )	ArcTanH( )
ArcCscH( )	ArcSecH( )	ArcCotH( )

Y = ArcSinH(X)

Inverse Hyperbolic Sine.

Domain: -Infinity < X < +Infinity

Range:    -Infinity < Y < +Infinity

Y = ArcCosH(X)

Inverse Hyperbolic Cosine.

Domain: +1 <= X < +Infinity

Range:    0 <= Y < +Infinity

Y = ArcTanH(X)

Inverse Hyperbolic Tangent.

Domain: -1 < X < +1

Range:    -Infinity < Y < +Infinity

Y = ArcCscH(X)

Inverse Hyperbolic Cosecant.

Domain: X not equal to 0

Range:    Y not equal to 0

Y = ArcSecH(X)

Inverse Hyperbolic Secant.

Domain: 0 < X <= +1

Range:    0 <= Y < +Infinity

Y = ArcCotH(X)

Inverse Hyperbolic Cotangent.

Domain: X < -1 or X > +1

Range:    Y not equal to 0


Predefined Mathematical Functions

MathGV Supports 24 functions and 2 constants that can be used to write mathematical expressions.

General Algebraic Functions

Exp( )	Ln( )	Log( )
Sqrt( )	Square( )	Fact( )
Abs( )	GrInt( )	Int( )
Trunc( )	Round( )	Frac( )
DegToRad()	RadToDeg()	GragToRad()
RadToGrad()	CycleToRad()	RadToCycle()

Trigonometric Functions

Sin( )	Cos( )	Tan( )
Csc( )	Sec( )	Cot( )

Inverse Trigonometric Functions

ArcSin( )	ArcCos( )	ArcTan( )
ArcCsc( )	ArcSec( )	ArcCot( )

Hyperbolic Functions

SinH( )	CosH( )	TanH( )
CscH( )	SecH( )	CotH( )

Inverse Hyperbolic Functions

ArcSinH( )	ArcCosH( )	ArcTanH( )
ArcCscH( )	ArcSecH( )	ArcCotH( )

Predefined Constants

Values are rounded.

Pi = 3.1415926535897932385

e = Exp(1.0) = 2.718281828


General Algebraic Functions

Exp( )	Ln( )	Log( )
Sqrt( )	Square( )	Fact( )
Abs( )	GrInt( )	Int( )
Trunc( )	Round( )	Frac( )

Y = Exp(X)

Exponential Function.

Definition: Exp(X) = e^X; where (e = 2.718281828)

Domain: -Infinity < X < +Infinity

Range:    0 < Y < +Infinity

Y = Ln(X)

Natural Logarithm (base e).

Domain: 0 < X < +Infinity

Range:    -Infinity < Y < +Infinity

Y = Log(X)

Logarithm (base 10).

Domain: 0 < X < +Infinity

Range:    -Infinity < Y < +Infinity

Y = Sqrt(X)

Square Root.

Domain: 0 <= X < +Infinity

Range:    0 <= Y < +Infinity

Y = Square(X)

Definition: Square(X) = X^2

Domain: -Infinity < X < +Infinity

Range:    0 <= Y < +Infinity

Y = Abs(X)

Absolute Value.

Domain: -Infinity < X < +Infinity

Range:    0 <= Y < +Infinity

Y = GrInt(X)

Greatest Integer.

Domain: -Infinity < X < +Infinity

Range:    All Integer Values

Y = Fact(X)

Factorial Function.

Domain: X must be an integer in (0 <= X <= 20)

Example: Fact(4) = (4*3*2*1) = 24

Y = Int(X) and Y = Trunc(X)

Integer and Truncate Functions.

Both functions return the integer portion of a real number without rounding.

Example: Int(45.89) = 45

Example: Trunc(45.89) = 45

Y = Round(X)

This function rounds a real number to the nearest integer.

Example: Round(45.89) = 46

Y = Frac(X)

This function returns the fractional portion of a real number.

Example: Frac(123.456) = 0.456

Example: Frac(-123.456) = -0.456

Y = DegToRad(X)

Converts degrees to radians.

Equal To: Y = X * (PI / 180)

Y = RadToDeg(X)

Converts radians to degrees.

Equal To: Y = X * (180 / PI);

Y = GragToRad(X)

Converts gradians to radians.

Equal To: Y = X * (PI / 200);

Y = RadToGrad(X)

Converts radians to gradians.

Equal To: Y = X * (200 / PI);

Y = CycleToRad(X)

Converts cycles to radians.

Equal To: Y = X * (2 * PI);

Y = RadToCycle(X)

Convert radians to cycles.

Equal To: Y = X / (2 * PI);


Current Window Bitmap Attributes

All graphs are drawn on resizable bitmap pictures and displayed in scrollable windows. This dialog is used to change the current window's bitmap size and color depth (colors per pixel). For more information on bitmap coordinates see: Graph Units, Pixels, Bitmap Coordinates, Zoom.

Bitmap Height - Changes the height of the current graph window bitmap. Must be an integer value in (16 <= Height <= 2000).

Bitmap Width - Changes the width of the current graph window bitmap. Must be an integer value in (16 <= Width <= 2000).

Bitmap Color Depth (Colors Per Pixel) – This setting is not saved in MathGV (*.mgf) files. It will default to the same color depth as your video card. Select from the following settings: 16 Colors (4 bit), 256 Colors (8 bit), 32,768 Colors (15 bit), 65,536 Colors (16 bit), True Color (24 bit), True Color (32 bit).


Edit Function List

This dialog lists the definitions of all the functions in the current graph.

Re-Order - To change the order in which a function is drawn: select (highlight) it in the list, then mouse click the large up or down arrow buttons to move it with in the list.

Modify - To modify a function's settings: select (highlight) it in the list, then push the "Modify" button. Double clicking the function definition will have to same effect. This will open a dialog to modify the function. Changes made to functions are final as soon as their individual dialogs close. Using the "Cancel" button to exit from the "Edit Function List" dialog will not undo these modifications.

Delete - To delete a function from the current graph: select (highlight) it in the list, then push the "Delete" button.

Cancel - Use this button to close the "Edit Function List" dialog and not save "Re-Order" or "Delete" changes. This button will not undo modifications made to individual functions.


Options

The settings in this dialog affect all graphs of the appropriate type. To restore the default settings, select the "Default" check box and click the OK button. MathGV uses a standard ini file to store these program settings. For more information about the ini file see: Frequently Asked Questions.

General Tab

This tab contains miscellaneous program settings.

Repeating Tool Bar Buttons – This setting affects the Zoom, Scroll, Page and Rotate buttons on the graph tool bar.

Default Graph Bitmap Attributes – This setting affects the initial size and color depth of new graph bitmaps. To change an existing graph's attributes use the Change Current Window Bitmap Size dialog.

Miscellaneous – The "Flat Tool Bars Effect" setting changes the way the tool bars look. The "Default Font" setting changes the font that will be used for new graph labels.

Dialog Box Locations – This setting affects the initial position of MathGV dialog boxes.

Status Line Tab

This tab changes the type of information displayed on the status line (bottom of main window) about each graph window. For more information see: Graph Units, Pixels, Bitmap Coordinates, Zoom.

2D and Polar Hotkeys Tabs

These fields determine how much the zoom and scroll values of 2 dimensional Cartesian and polar graphs change when the graph tool bar buttons or hot keys are pressed. Different zoom increment amounts are allowed for each of the listed ranges. For more information see: Graph Units, Pixels, Bitmap Coordinates, Zoom.

3D Hotkeys Tab

These fields determine how much the zoom values and rotation angles of all 3 dimensional Cartesian graphs change when the graph tool bar buttons or hot keys are pressed. For more information see: Graph Units, Pixels, Bitmap Coordinates, Zoom.


Edit Line Label

Use this dialog to edit the size, location and visual attributes for an existing line label. The brush color is only used if the pen style is not solid (dashed, dotted, etc.). For more information see: Adding Labels to a Graph.


Edit Rectangle/Ellipse/Round Rectangle Label

Use this dialog to edit the shape type, size, location and visual attributes for an existing rectangle, ellipse, or round rectangle label. For more information see: Adding Labels to a Graph.


Edit Free Hand Line Label

Use this dialog to edit the location and visual attributes for an existing free hand line label. The brush color is only used if the pen style is not solid (dashed, dotted, etc.). For more information see: Adding Labels to a Graph.


Edit Flood Fill Label

Use this dialog to edit the location, color and brush style for a flood fill label. For more information see: Adding Labels to a Graph.


Edit Text Label

Use this dialog to edit the text, location and font for a text label. For more information see: Adding Labels to a Graph.


Edit Label List

This dialog lists the labels in the current graph. For more information see: Adding Labels to a Graph.

Re-Order - To change the order in which a label is drawn: select (highlight) it in the list, then mouse click the large up or down arrow buttons to move it with in the list.

Modify - To modify a labels settings: select (highlight) it in the list, then push the "Modify" button. Double clicking the label item will have to same effect. This will open a dialog to modify the label. Changes made to labels are final as soon as their individual dialogs close. Using the "Cancel" button to exit from the "Edit Label List" dialog will not undo these modifications.

Delete - To delete a label from the current graph: select (highlight) it in the list, then push the "Delete" button.

OK / Select - Use this button to save changes, close the "Edit Label List" dialog and select the highlighted label.

Cancel - Use this button to close the "Edit Label List" dialog and not save "Re-Order" or "Delete" changes. This button will not undo modifications made to individual labels.


Print Scale

This setting is used to stretch or shrink graph printouts. The stretching and shrinking performed by this setting can cause a decrease in print quality. Because of this, the recommended method for increasing or decreasing print size is to increase or decrease the graph's bitmap size.

The value (100%) will cause no stretching or shrinking. The value (200%) will cause a printout two times the normal size. The value (50%) will cause a printout one half the normal size.

This setting is global, it affects the printouts of all graph types. This setting is not saved to disk. It can be reset to its original value by exiting and restarting the program.


Area to Use

This is a simple dialog that opens when copying to the clipboard or printing a selected bitmap region.

Selected Rectangle - If this option is selected then the requested operation will be performed on the currently selected region.

All Bitmap Area - If this option is selected then the requested operation will be performed on the entire bitmap area.


Selected Bitmap Region

This dialog can be used to select a region, or to modify an already selected region. The region must be in rectangular bitmap coordinates where the "Bottom Right Corner (X, Y)" is at least five greater than "Top Left Corner: (X, Y)". For more information see: Selecting a Bitmap Region.


Function Calculator

This dialog can be used to compute a function with zero to three variables. With any program that uses the math coprocessor minor floating point rounding errors can occur, this dialog is no exception. For more information on rounding error see: Frequently Asked Questions. It can also give fractional results for some functions (Example "3/5"). For more information see: Mathematical Expression Rules.

Function Definition

Enter the function to be evaluated here. The function may contain the variable names listed below. For more information on functions and syntax see: Mathematical Expression Rules.

Variable Name - Enter a variable name to be used in evaluating the function here. Variables names can contain the letters "A" to "Z" and, can not equal a predefined function name like "Sin", "Cos" and "Sqrt".

Variable Value - Enter the value to be used in evaluating the function here. Must be a valid constant mathematical expression.

Result Format

This setting determines the numeric format used by the "Function Result" field.

Setting	Example Output
Integer/Fraction	3 or 2/3
Fraction	7/1
Mixed Fraction	5 and 2/5
Decimal	7.5
Scientific	3.141592653E+0

Calculate Button - This button recalculates the "Function Result". Pressing the <Enter> key while editing any of the dialogs fields will have the same result.

Function Result

Y=f(x,z)= This field displays the result of the function evaluation. This field is can not be edited.


An Incompatible Value String Was Found

This error dialog should be extremely rare. It will only appear when a saved mathematical function or value can not be evaluated. Edit the function to remove the error or, cancel to abort loading the graph.


2D Cartesian Graph Settings

Use this dialog to make changes to the visual background attributes of a 2 dimensional Cartesian graph.

Axis Lines Tab

(X, Y) Axis Line - These properties modify the length and appearance of the X and Y axis lines.

Background Color - Color button opens a dialog to change the background color. The current color is displayed in the sample rectangle.

Tick Marks Tab

(X, Y) Tick Marks - Tick marks are little lines along each axis that add a sense of scale to the graph. Grid lines can be drawn in stead of tick marks and are the same length as the axis lines they are parallel to. Grid marks are extra tick marks drawn at grid intersection points. The "Increments" setting is the distance between each tick mark (in graph units).

Axis Labels Tab

(X, Y) Label Properties - Use these settings to change the appearance and format of the numeric tick mark labels. The "Thousands Separator" setting inserts commas into numbers (Example: 1,000,000). The "Plus Sign" setting puts a plus sign in front of all positive numbers (Example: +12.5).


Add/Modify 2D Function

This dialog is used to add or modify a 2 dimensional Cartesian graph function. For more information see: 2 Dimensional Cartesian Graph.

Function Definition Tab

These fields describe the mathematical attributes of the function to be graphed.

Y=f(x)= Enter the function to be graphed here, must be a valid function definition containing only "X" variables. For more information on functions and syntax see: Mathematical Expression Rules.

Examples	Graph Result
3	Horizontal Line At Y=3
x^2	Parabola
Sin(x)	Repeating Sine Wave
x^3+2x^2-3x-1	Third Degree Polynomial
-Sqrt(1 - x^2)	Bottom Half of Circle; Radius 1

Lower Bound (Optional) And Upper Bound (Optional) - Used to restrict the functions lower or upper domain (X value). Negative infinity is assumed if lower bound is left blank, and positive infinity is assumed if upper bound is left blank. The specified bound is always included in the graph. For example, if (lower bound = -2) and (upper bound = 3) then the plotted domain is (-2 <= X <= 3). Must be a valid constant mathematical expression (in graph units).

Attempt Positive To Negative Vertical Asymptote Fix up - Like most graphing software, MathGV plots functions by calculating a large number of points from left to right along the x-axis, and drawing lines between these points. This plotting method works great for continuous functions, but can cause incorrect results with some non-continuous functions. This option fixes errors caused by vertical asymptotes (undefined points) where the "Y" value goes to positive infinity from one side and negative infinity from the other side. With out this option an incorrect line will often be drawn through the vertical asymptote connecting the highest and lowest points on either side. This option has no effect on other asymptotes.

To see a good example of this graph "Tan(x)", or "1/(X - 1.876)" with this fix up on and off. In the second example the "- 1.876" insures that the plotting method probably will not pick and calculate the exact value of the vertical asymptote. The exact value is often picked with simple functions such as "1/X".  If the exact value is, by chance, picked then that asymptote is handled properly regardless of weather this fix up is enabled.

There may be some very rare instances when this fix up can be fooled into thinking that a positive to negative infinity vertical asymptote exists when one does not exits. If this error occurs uncheck the box to disable the fix up.

Attempt Extra Drawing Accuracy Near Undefined Points - MathGV will detect undefined points in two different ways; if it happens to pick one while plotting a function, or if it is told about them with the "Special X Values to Plot" option. With this feature enabled, if MathGV detects an undefined point, it will attempt to calculate extra points very close to the undefined point. It then draws these extra accuracy points.

Properties - These settings determine the visual appearance of the function.

Special X Values to Plot Tab

MathGV will automatically pick X values to plot but, sometimes these values are not the most important values. This feature is used to specify extra points (X values) to plot such as: minimum, maximum, undefined points, and asymptotes. This feature is designed to work with the "Attempt Extra Drawing Accuracy Near Undefined Points" option.

Values Grid

The grid supports 3 methods for entering values. To see the values produced by a series click the show values button.

Single value - Enter single values in the "FirstValue" column.

Series of values - To enter a series of values use the "First Value", "Second Value" and "End Value" columns.

First Value	Second Value	Third Value	Result
1	2	10	Integers from 1 to 10
5	4	-20	Integers from 5 to –20
0	0.25	10	One quarter fractions from 0 to 10

Function series – A function can be used to calculate a series of values. For example: the undefined points for "Tan(x)" are odd integer multiples of (Pi/2). The following example enters undefined points in 2 rows. This can also be entered in 1 row.

First Value	Second Value	Third Value	Function of X	Will Generate
1	3	101	X*(Pi/2)	"1*(Pi/2)", "3*(Pi/2)" to "101*(Pi/2)"
-1	-3	-101	X*(Pi/2)	"-1*(Pi/2)", "-3*(Pi/2)" to "-101*(Pi/2)"

Behavior Settings

Use these settings to explicitly tell MathGV how a function behaves at each special value. Abbreviations for these settings are displayed in the last 3 rows of the grid. The settings for the current row are displayed and edited in boxes below.

At Value, Function Behavior - This setting can be used to force a value to be undefined.

Left and Right, Side Behavior

This setting specifies how the function behaves as it approaches the value from each side.

Auto - Automatic (Use Default) - With this setting the actual plotting behavior will be controlled by the "Attempt Extra Drawing Accuracy Near Undefined Points" feature on the "Function Definition" tab.

Extr - Extra Accuracy (If Undefined) - This setting forces the same calculation as the "Attempt Extra Drawing Accuracy Near Undefined Points" feature on the "Function Definition" tab.

NoEx - No Extra Accuracy (Normal) - This setting causes MathGV to plot the value and do no extra fixups.

PosI - Draw to Positive Infinity - This setting will draw the function line to positive infinity if the value is undefined. It has no effect if the value is defined.

NegI - Draw to Negative Infinity - This setting will draw the function line to negative infinity if the value is undefined. It has no effect if the value is defined.

NotC - Not Continuous - This setting will prevent a line from being drawn to the value. This feature is very useful when plotting the greatest integer function Grint(x).


Row Values

This is a popup dialog from the Add/Modify 2D Function dialog. It displays the values that will be generated by the current Special Values row. If the list is very long it will be truncated and a bold text label will be shown.


Add/Modify Parametric Function

This dialog is used to add or modify a parametric function. For more information see: 2 dimensional Cartesian graph

Function Definition

These fields describe the mathematical attributes of the function to be graphed.

X= and Y= Enter the parametric functions to be graphed here, must be a valid function definition containing only "T" variables. For more information on functions and syntax see: Mathematical Expression Rules.

Examples	Bounds	Graph Results
X=cos(t); Y=sin(t)	0 <= t <= 2pi	Circle With Radius 1
X=t; Y=t^2	-100 <= t <= 100	Parabola
X=sec(t); Y=tan(t)	-pi/2 <= t <= pi/2	Hyperbola

Lower Bound And Upper Bound - Used to restrict the functions lower and upper domain ("T" value). Both bounds are required and must be in; (-10,000Pi <= Theta <= 10,000Pi). The specified bound is always included in the graph. For example, if (lower bound = -Pi/2) and (upper bound = 4Pi) then the plotted domain is (-Pi/2 <= Theta <= 4Pi). Must be a valid constant mathematical expression (in radian graph units).

Properties

These settings determine the visual appearance of the function.

Samples - This setting adjusts the level of accuracy that the function is drawn with. It is the number of function points that will be calculated and draw between the lower and upper bounds.

Color - Opens a dialog to changes the function line color. Current color is displayed in the sample rectangle.

Line Width - Changes the function line width.


Change 2D Cartesian View

Use this dialog to change the view center and zoom factor of a 2 dimensional Cartesian graph.

View Center (Graph Units From Center) and (Pixels From Center)

Use these properties to change the center of the graph area currently being drawn. There are two ways of specifying the view center (Graph Units From Center) and (Pixels From Center). Graph units are used when functions are plotted, but change when the zoom changes. Pixel units are not affected by changes in zoom. Both methods for changing the view center require standard (X, Y) Cartesian coordinates in the fields "X=" and "Y=". For more information see: Graph Units, Pixels, Bitmap Coordinates, Zoom.

(Graph Units From Center) - Both "X=" and "Y=" must be valid constant mathematical expressions that satisfy "Abs(X) <= Zoom*1,000,000".

(Pixels From Center) - Both "X=" and "Y=" must be valid simple integer expressions in; (-1,000,000 <= X <= 1,000,000).

View Zoom

Zoom values are given in pixels per graph unit. Values greater than 1 cause multiple pixels per graph unit. Values less than 1 cause multiple graph units per pixel. Must be a valid constant mathematical expression in; (0.0001 <= Zoom <= 10,000). For more information see: Graph Units, Pixels, Bitmap Coordinates, Zoom.


Polar Graph Settings

Use this dialog to make changes to the visual background attributes of a polar graph.

Axis Properties

These properties modify the appearance of the axis lines, which are drawn from the graph center/origin at the listed angles.

Axis List (Degrees) - Use this list box to add, modify, and delete the axis lines which are drawn from the graph center/origin at the listed angles.  All axis angles must be in degrees. All angles not in (0 <= Angle < 360) will be rotated to their equivalent angle in this range. For example, "365" will become "5", and "-10" will become "350". This control will not accept constant mathematical expressions such as "3+4", and "90*(Pi/180)". Only simple real numbers such as "180", and "-64.409" are allowed. The list is cleaned and sorted when it looses the input focus, or the dialog closes. A maximum of 360 axis lines are allowed.

Standard Axis Lists - This button opens the standard axis list dialog, used to automatically create the most commonly used axis list angles.

Axis Color - Opens a dialog to change the axis line color. Current color is displayed in the sample rectangle.

Axis Line Width - Changes the width of the axis lines.

Axis Line Style - Select from the following line styles Solid, Dash, Dot, Dash Dot, or Dash Dot Dot.

Background Color

Color button opens a dialog to change the background color. Current color is displayed in the sample rectangle.

Graph Radius

When the "Restrict Radius" option is checked the length of the background axis lines is restricted to the radius specified in the edit line. This setting affects only the axis lines and their associated tick marks; it does not effect polar functions drawn on the graph. Must be a valid constant mathematical expression (in graph units); greater than zero.

Tick Mark Properties

Two types of tick marks are can be used to add a sense of scale to the graph. Dashes are short lines along each axis. Circles cross each axis line in the same spots as dashes, and are centered at the origin.

Increments - Distance between each tick mark dash, or circle radius (in graph units). Must be a valid constant mathematical expression; greater than or equal to zero.

Color - Opens a dialog to change the tick mark color. Current color is displayed in the sample rectangle.

Tick Mark Type - This property selects the tick mark type, choices are "Dashes", "Circles", or "None".

Circle Style - This property only takes effect when "Tick Mark Type" is set to "Circles". Select from the following circle styles Solid, Dash, Dot, Dash Dot, or Dash Dot Dot.

Dash Length / Circle Width / No Tick Marks - The title and usage of this scroll bar changes when the "Tick Mark Type" property changes. When "Dashes" is selected the tick mark dash length can be changed. Dash width is always the same as "Axis Line Width". When "Circles" is selected the circle width can be changed. When "None" is selected the title changes to "No Tick Marks", and the scroll bar has no effect.

Label Properties

Use these settings to change the appearance of the numeric tick mark labels.

Show Labels - Enables/Disables drawing of the tick mark labels.

Format Combo Box – Selects the label format type.

"," – Inserts commas into numbers. Example: 1,000,000

"+" – Puts a plus sign in front of all positive numbers. Example: +12.5

Decimal Places - Maximum number of decimal places for each tick mark label.

Font - Opens a dialog to change the tick mark label font.


Standard Axis Lists

This dialog automatically creates the most commonly used axis list angles. The angles generated by this dialog replace the current "Axis List" values found in the polar graph settings dialog.

Quick Lists (Degrees)

Use this property to select one of the following axis angle lists.

    "None"

    "0, 90, 180, 270"

    "0, 45, 90, 135, 180, 225, 270, 315"

    "0,30,60,90,120,150,180,210,240,270,300,330"

    "Specified Intervals"

Interval Amount (Degrees)

If "Specified Intervals" is selected then angles will be added to the "Axis list" at increments of this amount. The generated angles always start at 0, and end at 360 degrees. For example, in interval of "5" will generate the angles "0,5,10,15, …, 345, 350, 355". The value must be "1 <= Angle <= 359".


Add/Modify Polar Function

This dialog is used to add or modify a polar graph function.

Function Definition

These fields describe the mathematical attributes of the function to be graphed.

R= Enter the function to be graphed here, must be a valid function definition containing only "Theta" variables. The character "X" can be substituted for "Theta" to save on typing. For more information on functions and syntax see: Mathematical Expression Rules.

Examples	Graph Result
3	Circle With Radius 3
Theta	Spiral
1-Cos(Theta)	Cardioid
4*cos(2*Theta)	Four-Leafed Rose

Lower Bound (Radians) And Upper Bound - Used to restrict the functions lower and upper domain (Theta value). Both bounds are required and must be in; (-10,000Pi <= Theta <= 10,000Pi). The specified bound is always included in the graph. For example, if (lower bound = -Pi/2) and (upper bound = 4Pi) then the plotted domain is (-Pi/2 <= Theta <= 4Pi). Must be a valid constant mathematical expression (in radian graph units).

Properties

These settings determine the visual appearance of the function.

Samples - This setting adjusts the level of accuracy that the function is drawn with. It is the number of function points that will be calculated and draw between the lower and upper bounds.

Color - Opens a dialog to changes the function line color. Current color is displayed in the sample rectangle.

Line Width - Changes the function line width.


Change Polar View

Use this dialog to change the view center and zoom factor of a polar graph.

View Center (Polar Coordinates), (Cartesian Coordinates), and (Pixels From Center)

Use these properties to change the center of the graph area currently being drawn. There are 3 ways of specifying the view center (Polar Coordinates), (Cartesian Coordinates), and (Pixels From Center). Polar and Cartesian graph coordinates are used when functions are plotted, but change when the zoom changes. Pixel units are not affected by changes in zoom. For more information see: Graph Units, Pixels, Bitmap Coordinates, Zoom.

(Polar Coordinates) - Requires standard (R, Theta) polar coordinates in the fields "R=" and "Theta=". If "R" equals zero then "Theta" is automatically zero. The maximum/minimum values for "R" are dependent on "Theta" and "View Zoom". Both "R=" and "Theta=" must be a valid constant mathematical expressions.

(Cartesian Coordinates) - Requires standard (X, Y) Cartesian coordinates in the fields "X=" and "Y=". Both fields must be valid constant mathematical expressions that satisfy; "Abs(X) <= Zoom*1,000,000".

(Pixels From Center) - Requires standard (X, Y) Cartesian coordinates in the fields "X=" and "Y=". Both fields must be valid simple integer expressions in; (-1,000,000 <= X <= 1,000,000).

View Zoom

Zoom values are given in pixels per graph unit. Values greater than 1 cause multiple pixels per graph unit. Values less than 1 cause multiple graph units per pixel. Must be a valid constant mathematical expression in; (0.0001 <= Zoom <= 10,000). For more information see: Graph Units, Pixels, Bitmap Coordinates, Zoom.


3D Cartesian Graph Settings

Use this dialog to make changes to the visual background attributes of  a 3 dimensional Cartesian graph.

(X, Y, Z) Axis Settings

Show (X, Y, Z) Axis Line - Use this setting to enable/disable drawing of the axis line. When an axis line is disabled its associated labels are not drawn.

Line Color - Opens a dialog to change the axis line color. Current color is displayed in the sample rectangle.

Label "+ -" Axis - Use these settings to enable/disable drawing of the labels at the ends of each axis line.

Show "+ -" Sign - Use this setting to enable/disable drawing of the plus (+) and minus (-) signs on each axis label.

Label Font - Opens a dialog to change the axis label font.

Graph Attributes

Background Color - Opens a dialog to change the background color. The current color is displayed in the sample rectangle.

All Line Colors - Opens a dialog to change all the axis line colors at once.

All Label Fonts - Opens a dialog to change all the label fonts at once.


Add/Modify 2D Function Rotated Into 3D

This dialog is used to add or modify a 3 dimensional Cartesian graph function.

Enter 2D Function to be Rotated Here

These fields describe the mathematical attributes of the function to be graphed.

Y= f(x) = Enter the function to be graphed here, must be a valid function definition containing only "X" variables. For more information on functions and syntax see: Mathematical Expression Rules.

Lower Bound, And Upper Bound - Used to restrict the functions lower and upper domain (X value). Both bounds are required, and must be in; (-700 <= Bound <= +700). The lower bound must be less than or equal to the upper bound. The specified bound is always included in the graph. For example, if (lower bound = -2) and (upper bound = 3) then the plotted domain is (-2 <= X <= 3). Must be a valid constant mathematical expression (in graph units).

Examples

1. "Y = abs(X)"; Where (0 <= X <= 1); Rotated About "X", or "Y" Axis. This will produce a "Cone" shape.

2. "Y = 2"; Where (-3 <= X <= +3); Rotated About "X" Axis. This will produce a "Pipe" shape.

3. "Y = X^2" Where (0 <= X <= 1); Rotated About "Y" Axis. This will produce a "Paraboloid", or "Satellite Dish" shape.

4. "Y = -Sqrt(1 - x^2)" ; Where (-1 <= X <= +1); Rotated About "X" Axis.  This will produce a "Sphere" shape (Rotated Bottom Half of a 2D Circle; Radius 1).

Function Appearance

These settings determine the visual appearance of the function.

Lines - Use this setting to change the number of function lines drawn at evenly spaced angles as the 2D function is rotated. Must be an integer value between 0 and 100.

Detail (Below Lines) - Use this setting to change the number of plotted points on each line between each circle. Must be an integer value greater than or equal to 0. The maximum value is dependent on the current "Circles" value. Bigger "Circles" values cause smaller maximum line detail values.

Circles - Use this setting to change the number of circles that will be drawn from points on the 2D function when it is rotated. Must be an integer value between 0 and 100.

Detail (Below Circles) - Use this setting to change the number of plotted points on each circle between each line. Must be an integer value greater than or equal to 0. The maximum value is dependent on the current "Lines" value. Bigger "Lines" values cause smaller maximum circle detail values.

Color - Opens a dialog to changes the function line color. Current color is displayed in the sample rectangle.

Axis of Rotation

Use this setting to determine the axis that the 2D function will be rotated into 3 dimensions around.

X Axis - This setting will rotate the function about the "X" axis.

Y Axis - This setting will rotate the function about the "Y" axis.

Specified Line - Choose this setting to rotate the function about a custom axis of rotation entered in the "Specified Rotation Line" box.

Specified Rotation Line

These fields are used to rotate a function about any line at any angle. Two points are require to define the rotation line; Point #1(X, Y), and Point #2(X, Y). These fields take effect only when the "Axis of Rotation" setting is "Specified Line". These fields require a valid constant mathematical expression (in graph units), even when "Specified Line" is not selected. All values must be in; (-700 <= Point <= +700).

Values > 700

3D graphs can not plot any function values (in graph units) less than -700 or greater than +700. When a function's range (Y value) becomes greater than this limit it must be rounded, or not drawn. The "Round Down" option can cause miss-shaped (flattened) graphs. The "Don't Draw" option ignores any function points less than -700 or greater than +700. This can cause an incomplete but correctly shaped graph. The "Don't Draw" option is recommended when a function definition can not be modified to limit its range.


Add/Modify 3D Function

This dialog is used to add or modify a 3 dimensional Cartesian graph function.

Function Definition

These fields describe the mathematical attributes of the function to be graphed.

Y=f(x,z)= or X=f(y,z)= or Z=f(x,y)= - The dependent (range) variable in a three 3D function is set here, and may be "X", "Y", or "Z". Mouse click on the down arrow for this combo box, or type an "X", "Y", or "Z" to change dependent variables. If "Y=f(x,z)=" is selected then the function definition may contain only "X", and "Z" independent (domain) variables etc.

Function - Enter the function to be graphed here, must be a valid function definition that agrees with the selected dependent variable. For more information on functions and syntax see: Mathematical Expression Rules.

Examples

1. " X= Y"; Where (-1 <= Y <= 1), (-1 <= Z <= 1). This will produce a "Flat Plane" shape.

2. "Z= X^2"; Where (-1 <= X <= 1), (-1 <= Y <= 1).

3. "Z= X^2 + Y^2"; Where (-1 <= X <= 1), (-1 <= Y <= 1). This will produce a "Paraboloid", or "Satellite Dish" shape.

4. "Y= sin(X)"; Where (-2pi <= X <= 2pi), (-2pi <= Z <= 2pi).

5. "Y= sin(X)+sin(Z)"; Where (-2pi <= X <= 2pi), (-2pi <= Z <= 2pi).

Color - Opens a dialog to changes the function line color. Current color is displayed in the sample rectangle.

(X), (Y), (Z) Variable

The titles and meanings of these two boxes changes when the dependent function variable combo box changes. The settings in these two boxes always refer to the two independent (domain) variables.

If "Y=f(x,z)=" is selected then box #1 is "X Variable", and box #2 is "Z Variable".

If "X=f(y,z)=" is selected then box #1 is "Y Variable", and box #2 is "Z Variable".

If "Z=f(x,y)=" is selected then box #1 is "X Variable", and box #2 is "Y Variable".

Wire Lines Parallel to (X), (Y), (Z) - Use this setting to change the number of evenly spaced lines drawn parallel to the given axis line. Must be an integer value between 0 and 100.

Wire Detail - Use this setting to change the number of plotted points on each line between each line that is drawn parallel to the other axis. Must be an integer value greater than or equal to 0. The maximum value is dependent on the current number of lines parallel to the other axis.

Lower Bound, And Upper Bound - Used to restrict the functions lower and upper domain values for both independent variables. Both bounds are required, and must be in (-700 <= Bound <= +700). The lower bound must be less than or equal to the upper bound. The specified bound is always included in the graph. For example, if (lower bound = -2) and (upper bound = 3) then the plotted domain is (-2 <= X <= 3). Must be a valid constant mathematical expression (in graph units).

Values > 700

3D graphs can not plot any function values (in graph units) less than -700 or greater than +700. When a function's dependent (range) variable becomes greater than this limit it must be rounded, or not drawn. The "Round Down" option can cause miss-shaped (flattened) graphs. The "Don't Draw" option ignores any function points less than -700 or greater than +700. This can cause an incomplete but correctly shaped graph. The "Don't Draw" option is recommended when a function definition can not be modified to limit its range.


Change 3D Cartesian View

Use this dialog to change the rotation angle and zoom factor of a 3 dimensional Cartesian graph.

Current Rotation Angles (in Degrees)

Rotate Parallel to (X), (Y), (Z) Axis - Use these three fields to change the angle of rotation about the "X", "Y", and "Z" axis. Must be a valid constant mathematical expression (in degrees). All angles not in (-360 < Angle < 360) will be rotated to their equivalent angle in this range. For example, "365.7" will become "5.7", and "-460" will become "-100".

Current Zoom

Zoom values are given in pixels per graph unit. A lager zoom creates more pixels and thus a larger picture of the function. Unlike 2D zoom values, 3D values must be an integer value in; (1 <= Zoom <= 1,000). For more information see: Graph Units, Pixels, Bitmap Coordinates, Zoom.