Category : Science and Education
Archive   : EGAGRAPH.ZIP

Output of file : EGAGRAPH.DOC contained in archive : EGAGRAPH.ZIP
Robert L. Clowers Programming language: BASIC
5114 Geyer Springs Rd. Egagraph.exe: 89k (object code)
Little Rock, Arkansas 72209 Egagraph.bas: 26k (source code)

Mathematical Descriptions

I searched and searched the bulletin boards for a program
that would demonstrate a combination of mathematics and graphing
plus show off my EGA monitor (this program also works with CGA).
I found only a few programs, and they were either too short or
too similar to each other. I was wanting a program that would
plot hyperbolas, parabolas, ellipses, sin wave functions,
cycloids, polar coordinates and the like. Plus I wanted some
stuff that would just look neat on the screen! Back in the
summer I "discovered" how to plot some simple parametric
equations, and that opened up a whole can of worms for me. I
decided I would have to write my own program! I have a
background in math, so I promptly turned to my old (now ancient)
classroom notes and searched through a number of my old textbooks
to find corresponding inspiration.
This program--Mathematical Descriptions--is essentially a
series of individual programs that have been combined into one
larger program through an integrated menu system.
When you enter "egagraph" at the DOS prompt, an introductory
screen will inquire if your monitor is EGA or CGA compatible.
With EGA you get full color; CGA is in black and white. After
selecting the appropriate monitor compatibility, you will next
view a screen that displays the following descriptive text:

Most of the mathematical functions or relations found here
are seen in algebra, trigonometry, or calculus textbooks.
The "fun stuff" are merely variations! The input values
vary for each of these descriptions. In some cases, small
values are appropriate (as with y = sin x), while larger
values are better for others (such as the ellipse or
circle). The Cardioid is most versatile: a value of 1 is
interesting as is a value of 782.9 or 785. Some
descriptions, such as the Cycloid and Epicycloid, are
"fragile" and require experimentation with the entered
values before they will begin to look like they should. All
entered values must be followed by the return key. In cases
where too large a value is entered, either the screen will
appear blank for a period of time before there is any
visible output, or you will get an error message (in which
case you must restart this program). All entered values
should be greater than zero. Negative numbers give
unpredictable results. Generally speaking, most of the
values you enter will be between one and 50. In some
cases, values up to 1000 could prove interesting. You
are encouraged to try any values you like as well as
mix the major and minor axis values. Pressing the
return key without entering a value will return the
main menu.

Following the descriptive screen, the main menu comes next.
Simply press the letter or number corresponding to the program
you want to run. Each program will then prompt you for some
value; enter a value and press the return key to start that
program. Pressing the return key once during the execution of
the lengthier programs will suspend those computations and return
you to that program's initial prompting; pressing the return key
alone at any individual program's initial prompting will return
you to the main menu. As the screen with the descriptive text
will indicate, most of the values you enter will be between 1 and
50. For some of the programs, such the probability curve, the
useful values you enter will be small, for example, ranging from
1 to 6. The logarithm function, y = ln(x), has a useful range of
1 to 250. For the cycloid, try values of 5 and 2 or 15 and 3 for
the major and minor axis values respectively. When running the
epicycloid, try values for the major axis that are multiples of
the minor axis, such as 24 and 6. Note: entering too large a
value, such as 10 for y = tan(x), will cause an overflow and the
program will end. Just restart if this occurs.
Some of the "just for fun to look at stuff" include the
filled rectangles (try values from 1 to 500), filled targets (try
1 second), random lines (try 1 to whatever), random ellipses (my
favorite--try 3 seconds), the slinky (try 10 and 35), the slinky
atom (try 3 or 9), and so forth.
The slinky itself needs some explanation; it is the only one
of the programs that make use of the function keys, in this case
F1 and F2. The F1 key will simply pause the program after the
current "leg" it is drawing has been completed; this allows you
to look at your work without the slinky continuing to move
around; pressing any other key after it has paused will resume
the program. The F2 key is used to overlay the drawing of one
slinky diameter size with that of another; pressing F2 while the
program is drawing will cause what is being drawn to pause much
like the F1 key except that you will also be prompted for another
diameter value; entering a second (or a third, forth, etc.) value
will draw a slinky over what has already been drawn. If you
press the return key rather that the F1 or F2 keys, the image
will be interrupted immediately, and you will be prompted for
another diameter value. If you press the return key at the
diameter prompt without entering a value, you are returned to the
main menu. The purpose of the F1 and F2 keys is simply to make
the slinky drawing neater and more controllable. Try this: when
prompted for a diameter value, enter 10 and press return; then
watch it go around for a while; next press the F2 key and enter a
value of 35 and press return; watch this cycle for a while; if
you see a design appear that is especially interesting, press the
F1 key, and it will pause until you press any other key to
continue. You will find that you are able to create an infinite
number of graphic designs this way.
The Pythagorean triples program is perhaps the most
dissimilar of the programs. This program calculates the
instances where a right triangle is formed when the sum of the
squares of two legs of a triangle is equal to the square of the
hypotenuse of the formed triangle using whole number values. The
term "lower bound" refers to the smallest hypotenuse you wish to
look for. The term "upper bound" refers to the largest
hypotenuse you wish to look for. For example, if you enter 1 for
the lower bound and 10 for the upper bound, you will find that
there are 2 right triangles formed from whole numbers when the
hypotenuse was attempted for all whole number values ranging
through 10.
As a postscript to this text, I should make note of the use
of the source code as a learning tool. The 33 different modules
that comprise this overall program can be examined for
programing techniques to make various graphic images. Writing
this program has been a true learning experience for myself!
An examination of the source code will reveal a piecemeal approach.
While the modules were originally written and tested independent of
the main program, they were only slightly modified before being
added to the main program. Please feel free to write for information
concerning the source code.


  3 Responses to “Category : Science and Education
Archive   : EGAGRAPH.ZIP

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: