fofx 0.5 README, July 31, 1997
(c)1997 Tom Stepleton
TABLE OF CONTENTS
1. What is fofx?
2. Pronunciation
3. Installation
4. Usage
5. To do
6. Feedback
7. Etcetera
1. What is fofx?
fofx is a function grapher for character-cell terminals. Sure, everyone
may be using X11/MacOS/Win95/BeOS/GEM/Lisa Office System/whatever these
days, but for those of us less fortunate or for those of us who want a
fast, easy way of seeing what a function looks like (or even for those
of us who want their pdp11 running v7 UNIX to be able to output some eye
candy), fofx is a useful tool to keep around.
fofx is programmed in 100% pure ANSI C, so porting shouldn't be too
difficult.
2. Pronunciation
Note: This is opinion, really. You are free to pronounce fofx any way
you please. This information is only provided for those who might ask,
"well, how do YOU pronounce it?"
Wrong: fohfix, fuvix, foffix, etc...
Correct: eff-uhv-ecks, as in f of x, as in f(x) = <function>.
3. Installation
All (step 1):
Edit fofx.h and change MAX_COLUMNS and MIN_COLUMNS. These declare the
maximum and minimum number of columns a user may specify with the
-cols command line option (see Usage). Users outside of the USA may
then want to change DECIMAL_SEPARATOR and THOUSAND_SEPARATOR to their
liking (and for all I know, users in the USA may wish to do the same).
Die-hard math fans may want to change DETERMINANT_H to a more accurate
setting, but for most uses it's probably OK the way it is. Don't set
DETERMINANT_H to zero: bad things may happen.
UNIX (and clones and relatives):
fofx is provided with a rudimentary makefile. Edit it and set the
compiler/compiler options to your liking. Then type make and go. It is
up to you to strip it and, if you administrate your machine, install
it (I suggest putting it in /usr/local/bin). fofx is also provided
with a section 1 manpage.
Non-UNIX:
Since fofx is ANSI C compliant, you shouldn't have too much trouble.
Complie main.c, graph.c, parse.c, and preparse.c into separate objects
and link them with the math library. Good luck!
4. Usage:
Try a simple equation first. The bare-bones syntax is:
fofx [options] <function>
Here's a good one for starters:
fofx "sin(x)"
which produces output like this:
\
\
\
|
|
/
/
|
|
\
\
\
|
|
/
/
|
|
\
\
\
As you may or may not be able to tell, the default viewing window is
from (-7,7) in the "top left corner" to (7,-7) in the "bottom right".
More obvous, however, is the fact that the function graph has been
rotated 90 degrees to the right. For sticklers about accuracy and those
who believe that the f(x) axis should always be up, I suggest you follow
suit with your head.
Command-line options:
-axes
Forces crude x and f(x) axes to be drawn
-cols <n>
Forces the number of columns allowed to n.
-tlx <n>
Specifies the abscissa of the point representing the top left corner
of the viewing window.
-tly <n>
Specifies the ordinate of the point representing the top left corner
of the viewing window.
-brx <n>
Specifies the abscissa of the point representing the bottom right
corner of the viewing window.
-bry <n>
Specifies the ordinate of the point representing the bottom right
corner of the viewing window.
-iv <n>
Specifies the distance between points plotted.
5. To do
Completely rework the command-line parser. It's a hack. Currently the
command line options aren't careful about non-numeric inputs, so
fofx -brx steve is entirely possible. In addition, even if your new
window dimensions are all in range, they must be submitted in this
order: -tlx -tly -brx -tlx or else range errors may occur.
Make the function parser more efficient.
Add command line options -deg and -grad. fofx only does radians today.
6. Feedback
fofx is currently beta software. I would appreciate any feedback
whatsoever: please send it to ssteplet@artsci.wustl.edu .
7. Etcetera
fofx is available for use on the World Wide Web: try it out at
http://galena.tjs.org/cgi-bin/grapher
fofx is certified compatable with the tvi950 and LisaTerminal on the
Apple Lisa.