home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD1.img
/
d1xx
/
d175
/
plot
/
plot.doc
< prev
next >
Wrap
Text File
|
1989-02-04
|
8KB
|
136 lines
Plot4.1, a 3-D function plotting program © 1988 by Terry W. Gintz.
I am releasing this program as Shareware, (not into Public Domain) freely
redistributable. Enjoy using this program and pass it on to a friend.
If you want to encourage the production of others like it, or need help with
how it works, send me a small donation to the below address.
Terry W. Gintz
4237 Marcum Lane
Eugene, OR 97402
Plot4.1 is a major revision of the previous public-domain program by the
same author. The plotting is now over three times as fast (using the
Motorola FFP library.) A single window with proportional gadgets replaces
most of the menus in the previous version, plus expands and adds features
not available before.
About the menus and new options:
On the main menu:
New Formula calls up a formula window containing the main formula gadget,
four parameter substitution gadgets and a title gadget. The four smaller
string gadgets are labeled D,E,F and G. Use these to enter mini-formulas to
use in the main formula. Thus, D might be entered as X+Y. The main
formula could be written SIN d. The program would then compute and plot the
equivalent formula sin(x+y), which could be used in the title gadget to
label the plot. Do not use forward referencing in the sustitution gadgets.
The functions d-g are calculated in real time, so d will be calculated
before g. G could be written as sin d, where d might have the formula x+y.
However if d were written as sin g, where g was X+Y, the plot would appear
to work, but it would jag due to inaccurate data on the previous pass. For
the same reason recursion does not work. Use of square root should not be
embedded in a mini-function. If d = SQR x and e = 2d and the main formula
is Sin E only the positive values of SQR x will be plotted.
Stop Plotting halts the drawing after New Plot or New
Formula have initialized a new drawing cycle.
Use erase screen to clear the background before drawing a new plot.
The screen is not cleared automatically before each plot to allow one to
compare similiar plots side-by-side. The plot title is printed on the screen
for subsequent plots one line up from the previous one, until the screen is
erased. The title will then be drawn at the bottom left of the screen.
Use save function to save a configuration for future recall. This saves
all the slider options described below, all the substitution formulas and
the main formula plus the plot title, so that unusual plots can be easily
shared between Plot users.
Load function loads a previously saved function configuration. After
the file is loaded, the set-options window is displayed. Click on Okay to
set the new options. Then the formula window is shown. Click on Okay to
set the new formula. Use New Plot to show the new function.
The 'Set Options' window called up by the second menu, contains 13 slider-
type gadgets for setting up variables to handle most plotting requirements.
Spin defines the amount of x axis rotation, and tip defines the
amount of y axis rotation used in displaying the plot. Defaults are 205°
and 155°, respectively. Z-Axis is normally perpendicular to the other
planes, or 90°. Vary for special effects. Limits are 0 to 360 degrees for
each axis.
Magx and Magy determine the overall magnification on the x and y
dimensions. Some formulas require more or less magnification to view well.
Limits are .1 to 100X.
X Steps and Y Steps determine the spacing between dots and rows on the
screen. Vary 1-300 for increasing resolution. Generally a much smaller
number of Y steps than X Steps is required for clarity. Use 1 step to see
the function in two rather than three dimensions.
Minx, Miny, Maxx, Maxxy are the ranges for the loops that determine which
numbers (angles) are scanned to produce the plot. Provision is made for PI
-PI, -2*PI and 2*PI on the sliders, so accurate plotting can be made on trig
functions. Limits are -20 to 20 radians.
Minz and Maxz set the maximum z factor. This is usually the value of the
main formula before scaling occurs. Therefore, it is possible to plot cones
that look like textbook examples without the exponential curl at the edges.
Limits can be set from -50 to 50.
When plotting new formulas with 'New Plot' and 'New Formula' use the
green cursor to locate the plot on the screen, clicking the left mouse
button to start plotting.
Use 'New Formula' to enter your own formula. The program
treats parenthesis as blank space. The trig functions translated include
sine, arc sine (asn),cosine, arc cosine (acs), tangent, and arc tangent(atn).
The math functions are *,-,/, and +, plus SQR (square root).
Note: Range limits may exist for arc sine, arc cosine and arc tangent.
The Manx limits are 0 to pi for arc cosine, -pi/2 to pi/2 for arc tangent
and arc sine. If you use a loop range greater than this, the function could
return an arbitrary value. (These are the ranges specified by Manx for its
standard arc functions. The FFP library may have different limits.)
Syntax for an acceptable formula is AS([XY])+bs([xy])...
.up to 60 characters per formula. Also, SQR(formula) is acceptable.
The below information applies to the main formula as well as
mini-formulas. However, bear in mind the mini-formulas were added to
overcome some of the limitations of original plot parser.
The squareroot function "SQR" is available for use in formulas
on a limited basis. "SQR" must be the first 3 characters in any formula
that uses it, and the parser interprets this as meaning the square root
of the entire formula. That is, it calculates everything else in the
formula first, then takes the square root of it. It is thus possible to
plot much more intricate functions, like "SQR(atn(x)*cos(x)+cos(y))"!
However, the function "SQR(sin(x))+sin(y)" would be interpreted as
"SQR(sin(x)+sin(y))"!
A and B are optional constants, 0 to 9, (no floating point
supported; a number over 9 is treated as two or more numbers multiplied --
hence 99 = 9*9 or 81 to the parser),
S is an optional trig function (1 or three letters, the first letter will
work, except with the arc functions and square root--use the 3 letter
abbreviations above.)
X and Y are the standard variables (or use d-g in place of parenthesis
with the additional string gadgets).
The '+' could be any of the four math functions.
Parenthesis is treated as blank space, but useful for titles--
therefore cos(x)*cos(y) works as well as cx cy
but cos(x+y) doesn't work. Use the equivalent formula cos x cos y - sin x
sin y.
Use the math operators mainly to separate expressions of a complex
function, such as x/2 - sin y. Use of math operators inside trig
expressions is not supported. However, some limited multiplication inside
factors can be done using implied multiplication, such as 2 sin 2xy.
Note: the expression 'x*x+y*y' doesn't work because the parser
interprets this as '(xx+y)*y', (use 'xx+yy'). Don't nest trig functions.
4x*cos(x)+tan(x) works as well as 4xcx+tx,
but tan(cos(xy)) doesn't work.
Use Line Plot to produce a plot that connects the space between dots.
Generally, you reverse the amount of x and y steps from a point-by-point
plot. The advantages of a line plot are a faster plot(though cruder with
fewer steps), and more continuity (some plots do not become continuous
even with the maximum number of steps on a point-by-point basis.)
Use Two Pass to plot a cross pattern on the previous one to enhance
viewability on some plots.