home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
f
/
feedback.zip
/
FEEDBACK.DOC
< prev
next >
Wrap
Text File
|
1991-11-03
|
38KB
|
774 lines
The program consists of five independent subprograms,
each accessed through the Main Menu. These notes take
up the subprograms one at a time.
The subprogram ONE DIMENSION is only for iteration of
real functions F of a real variable x. This function
may depend on a parameter r, as is the case with the
default F(x) = rx(1-x). The value of r may be adjusted
as desired.
To produce a Web Diagram, one begins by using the
command Graph to draw the graphs of y = F(x) and y = x.
It may also be necessary to adjust the viewing window
with Ctrl-W. Given an F (and an r-value), one is
interested in the orbit produced by a prescribed Seed
value for x; this serves as the 0th term in the
resulting sequence. One can request a particular member
of the sequence by means of Iteration. The Current term
of the sequence is always on display. By means of the
options One and Many, the movement from one term of the
orbit to the next can be seen in the graphics window and
heard on the speaker. The Trace and Noise keys allow
one to disable either function. The speed is also
adjustable to a limited extent by means of the + and -
keys. [Incidentally, the chaotic sounds one often
encounters in such experimentation are occasionally (and
erroneously) called "random". For the purpose of
contrast, sound produced by an actual random-number
generator is available; call up Noise in the One
Dimension menu.]
In addition to the graphical display of orbit behavior,
one may wish to see numerical data. The List key stores
such data in memory, starting with the current term, and
continuing until the user presses Escape (or until the
available memory is exhausted). Press Display to scroll
though the resulting data, or else Print it.
In the Bifurcation menu, one considers how the orbit of
a specified seed value is affected by varying the value
of the parameter r. Each orbit is plotted vertically
(as a set of dots), while the r-axis runs across the
screen horizontally. The command Graph begins the
process, which proceeds from left to right. If it is
interrupted, the process starts where it left off,
unless the screen has been cleared (Ctrl-C), the window
has been reset, or the function has been changed. The
graphing window is adjusted by means of Ctrl-W, as
usual. Inasmuch as the scales on axes are not
geometrically linked, they are adjusted independently.
Moreover, Zoom presents another windowing option: Use
the graphics cursor to mark one corner of the desired
window, then move to the opposite corner and RETURN.
There are two other parameters of significance. One
must decide how many points of each orbit are to be
plotted (before moving to the next r); one must also
decide whether to skip (and not plot) any of the first
transient terms of each orbit - doing so allows one to
see only the limiting behavior. One may also Overlay
the graph of a function X(r) on the bifurcation diagram;
once there, however, it can not be removed without
clearing the screen.
The subprograms MANDELBROT and FRACTAL are for two-
dimensional iteration:
MANDELBROT produces fractal images that come from the
iteration of Q(z) = zz + c, where z and c are complex
variables. There are two types of images. First there
are Julia images, for which one chooses a definite value
of c and then colors points of the z-plane according to
their dynamic behavior. Then there is the Mandelbrot
set, in which values of the parameter c are colored
according to the dynamic behavior of z = 0 [In other
words, is z = 0 attracted to infinity? If so, how
quickly?] The Mode switch in this menu allows the user
to choose between the dynamic and parameter planes.
The Julia Menu offers a variety of ways to draw a Julia
set. First, however, one must have the desired c-value
in place; press X or Y to make any adjustments.
The quickest drawing method is Inverse images. There is
not much to this menu; just Ctrl-Clear screen and Draw.
N.B: By Ctrl-Clear is meant Ctrl-C. Similarly, Ctrl-
Print and Ctrl-Retrieve mean Ctrl-P and Ctrl-R,
respectively.
Another method to get a (monochrome) filled-in Julia set
is with the Distance-Estimator Method, or DEM. Clear
the screen, then press Draw. Until one presses Esc, the
program keeps trying to find more points to color in the
exterior of the Julia set. As new patches are colored,
their boundary points are put on a stack for eventual
processing. To assist the program in finding (small)
isolated pockets, use the Cursor; the DEM search begins
with the cursor position each time.
It is occasionally the case that one is trying to create
an image that has thin, filament-like parts; these will
not show up very well unless they are highlighted in
some fashion, either with colored borders (see below) or
by thickening the actual object being graphed. In the
DEM menu, this is the meaning of the Boundary parameter,
which can be adjusted to suit the example (usually a
value between 1 and 3 works). Remember that thickening
the boundary results in the blurring of the entire
image.
The Slow Draw process produces fractal images one pixel
at a time. There are two options: One can create files
for Screen display, or one can create files to be dumped
directly to the Printer.
Screen image files are drawn as they are filed. If the
project is a long one, however, it is desirable to turn
off the monitor.
With either storage mode, one needs to have made some
preparations first. Make sure that the window is
positioned correctly. Use Rep max to select the
maximum number of iterations. The Escape threshhold
determines when orbits have migrated close enough to
infinity to be terminated. [For many drawings, one
wants to set this at 4, which is minimal, but the DEM
procedure and the Binary coloring scheme (below) require
a higher setting for the sake of accuracy.] Finally,
set up the Colors. This is a list of the colors that
will be used cyclically to mark the escape to infinity.
To enter such a list, one Appends individual color
numbers to the existing list, which can be Emptied if a
fresh list is desired. Only color numbers in the range
0..Max color number are understood. If one is preparing
an image for the printer (see below), color numbers can
refer to shades of grey, and the displayed Max is
adjusted accordingly. When all preparations are
complete, press Slow Draw. A file name will be
requested. The screen is filled eight rows at a time,
so there will be periods when nothing seems to be
happening (except that the counter shows which row is
being worked on). The drawing process can be
interrupted by pressing Escape. A drawing can be
resumed by pressing Finish. There are two additional
switches in the Colors menu: If Binary is on, the
program will use only the first two colors in the list
to highlight the external rays and the equipotential
lines of the Julia set. The Override switch allows you
to alter an image when it is redrawn with Ctrl-Retrieve.
Each fractal image is stored as if there were a 255-
color palette available. The chosen color sequence
(stored with the image) is automatically selected to
decipher the data, unless the Override switch is on, in
which case the current color sequence is used instead.
Printer files store high-resolution images, which make
it possible to surpass the resolution of one's graphics
card. No printing is done, however, until the file is
requested with Ctrl-Retrieve. As above, there are a few
preparations that must be made before file creation can
begin. Here are the details that apply specifically to
printer files: One must designate how the color
sequence is to be interpreted by the printer. In other
words, each tabled screen color must be associated to
some ink color; if one does not have a color printer,
then one may assign shades of gray to the screen colors.
Moreover, even if one does not have a color graphics
card, the color table numbers (still called "screen
colors") can be matched with shades of gray. The
matching of color to ink is done in the Ctrl-Print menu,
which is also where one must identify the printer that
will receive the completed image. It is also necessary
to select the number of horizontal dots. There are
constraints: Dot-matrix printers in 80-column mode can
handle at most 960 horizontal bits. Laser printers must
store the entire image before it can be printed. The
greater the resolution, the greater the time needed to
produce the image.
If the finished image is symmetric, the program will
produce the second half by copying the first half. For
example, if the window is centered at the origin, then a
Julia image will have odd symmetry. Or, if the window
is bisected by the x-axis, then a Mandelbrot image will
have x-axis symmetry. The detection is automatic.
It is possible to significantly reduce drawing time, by
capitalizing on the periodicity that the black points
represent. Most of the orbits that do not lead to
infinity fall into repeating cycles of points, and one
can save a lot of time if such cycling is detected,
thereby preventing the repetition counter from reaching
Rep Max. This is the purpose of the Periodicity menu,
where one can specify whether cycle-detecting is to take
place (it does take time, of course, and may therefore
be not worth turning on), and which periods are to be
looked for. The Tolerance, which is entered in pixel-
width units, defines how close two points of an orbit
have to be in order for the detector to consider the
orbit a closed cycle. Cycle-detection can save time,
but it also can err near the boundary, where convergence
is a slow process, anyway. For this reason, the program
tries to sense when the boundary is near and then
temporarily disable this feature; still, errors can
occur. The Destiny menu described below can help
determine which periods to check for. When framing a
sketch (with the Zoom window), it is best to include
complete black components (i.e., avoid wide swatches of
border points), for it takes a long time for points near
the border (black or not) to reveal their true colors.
The Orbits menu activates a cursor in the graphics
window, which can be placed by using the arrow keys.
One can follow an orbit by pressing One step at a time,
or else Many for autopilot. This cursor retains its
position in the program (even after one Escapes the
Orbit menu); this is handy when one wants to go back and
forth between Mandelbrot mode and Julia mode. To see
where the orbit is going, press Destiny. Black points
near the boundary can produce unreliable results.
Most of the drawing options that are present in Julia
(dynamic) mode also apply in Mandelbrot (parameter)
mode. The Cursor entry in this menu allows one to
select points in the Mandelbrot set (for use in the
Julia menu, perhaps) and to examine their Destinies
(actually the destiny of zero).
One common option is the Animation feature, which allows
the user to create a sequence of small images, which can
be saved to disk and Played back later. Press Start to
begin. After the filename (for the sequence of frames)
has been chosen, the drawing starts. It appears in the
small animation window (whose default position is the
upper left corner of the graphing window). Each frame
is produced by the slow-draw process; the completed
images are written to separate diskfiles FILENAME.F##.
Drawing continues until there is no more room in RAM to
store all the images (or until Esc is pressed), for the
Playback requires that they all be stored there. The
size and placement of the animation window can be
adjusted; press Move window. Larger windows mean fewer
frames will fit in RAM, of course.
There are two Types of sequences:
First there are Zoom sequences. One centers the window,
then chooses a Reduction percentage (which determines
how each window relates in linear dimensions to the
preceding; default is 80%). All images are concentric.
Second (for Julia mode only) there are Promenades. One
chooses a path in the parameter plane (the c-plane),
specified by two coordinate functions and an interval of
t-values. The t-interval is divided by as many t-values
as the number of frames allows. Each image has a common
window, but shows a different Julia set.
A special Mandelbrot item is the Zero Orbit menu. One
can request those points of the Mandelbrot set for which
the orbit of zero is finite. In other words, one can
obtain the coordinates either for centers of the
periodic components (Transients = 0) or for Misiurewicz
points (0 < Transients). Press Draw to show the current
list on the screen, then press Cursor to see coordinates
for individual entries. The search for (more) examples
of the current type is activated by pressing Find. As
many as 3200 can be held in memory. The search
procedure does not automatically eliminate redundant
entries. That is, examples of period 3 will appear in
the list for period 6. However, entries in the periodic
list will not appear in the eventually periodic list;
therefore the former list should be compiled first.
Period 1 and 2 examples are automatically excluded from
the Misiurewicz lists.
Whenever the cursor is moved about in the plane of the
Mandelbrot set (as in the preceding), its coordinates
are always retained as the current Julia constant (and
stored as constants A and B). This is a convenience
when one wishes to jump back and forth from Mandelbrot
to Julia mode. One also can center the window at the
current cursor value by setting X=A and Y=B in the
window change menu (Ctrl-W).
Finally, consider the special Ctrl-Keys that apply in
this program. Ctrl-X will superimpose the coordinate
axes on the graphics window; pressing Ctrl-X a second
time will erase them. Ctrl-D allows one to set the
degree of the mapping at values other than the default 2
(one can explore mappings of the form z^n + c for n-
values from 2 to 9). If the computer is equipped with
an EGA card, or if a VGA card is used in medium-
resolution mode (which is the same as EGA), then there
is enough video memory available to activate the Ctrl-L
key, which allows one to toggle back and forth between
the last two retrieved screens, or the Ctrl-T key, which
determines whether the image-retrieval process is shown.
Ctrl-R retrieves files from disk. Ctrl-S will save the
contents of the drawing window. Finally, Ctrl-Zoom is
for color cycling, in which rapid recoloring of the
color bands gives the appearance of motion. One must
have an EGA card for this to work, however.
The FRACTAL subprogram is for examining two-dimensional
iterations that are not of the special type that MANDEL
can handle. One iterates a single function (a trans-
formation of the plane, that is) and colors the points
of the plane according to their orbital behavior. The
function is provided through the menu entry Mapping,
and it may be given component by component; the first
is called F and the second is called G. For instance,
the complex squaring function zz can be written as
(x+yi)(x+yi) = xx - yy + 2xyi, so that F could be
entered as xx - yy and G as 2xy. Because it is so
cumbersome to describe a one-dimensional complex example
as a two-dimensional real example, however, the user is
permitted to simply enter F(z) in this case. Use the
Input switch to select the desired entry mode. After
providing a transformation, one must then describe how
colors are going to be assigned, once drawing begins.
This is done by means of two menus.
A plotted color is determined as soon as an orbit enters
a designated region of the plane. These regions can be
specified by means of the Neighborhoods menu. To add a
new neighborhood to the list, first select New. There
are two types of neighborhood description. One can
provide a target point and the radius of a disk centered
there, or one can provide an inequality in the form 0 <
D(x,y). If both descriptions are present, the latter
takes precedence. Neighborhoods of infinity are dealt
with in the latter fashion. The list of neighborhoods
may be inspected with the up/down arrow keys and edited.
As in MANDEL, the Colors menu is where one specifies
color sequences. This can be done only after one has
entered the target neighborhoods; these will then appear
in the menu, ready to be assigned their color lists.
One may also adjust the maximum number of Repetitions
that can take place before calculations with a given
orbit are broken off. Ctrl-W places the viewing window.
In the rare situation where the finished diagram has
either x-axis or origin symmetry, the computer will take
advantage of this by copying the second (lower) half of
the diagram from the first half. The user must inform
the computer by setting the Symmetry switch, however.
Finally, select Draw. One can produce files for display
on either the printer or on the screen. After making
the necessary choices, one is asked for a file name, and
drawing will then begin.
The Animation menu (described for Mandelbrot/Julia)
applies to FRACTAL explorations also.
The quadratic method Inverse Iteration can be applied to
general examples, but one must work through the IFS
subprogram, described below.
It is also possible to produce parameter-plane diagrams,
which are analogous to the Mandelbrot set. In other
words, one has a family of mappings F(c,z) of the plane,
and one wishes to create a colored map that shows how
the orbit of zero is dependent on the value of the
parameter c. To produce an image of this sort, press
Ctrl-Dynamics. This will toggle the mode ON or OFF. To
see which state is active, call up the Ctrl-Key list; it
will display the effect of the next Ctrl-D press (thus
if the next press turns Dynamics ON, it is currently
OFF). In the resulting drawing, it may be necessary to
allow for moving targets; in other words, the
neighborhood centers may depend on c. (This was not
the case in the Mandelbrot menu, where the only target
was the point at infinity.) If this is the case, the
information must be entered as follows: First use the
Special descriptor key to enter a formula for the
position of the center, as a complex-valued function of
c. Then provide a negative Radius entry. This signed
entry is read as a signal that the Special descriptor
defines a target point (not a neighborhood).
It may happen that the parameter-plane diagram (Dynamics
OFF) contains some black (undecided) points, and there
may be enough of them to make periodicity-checking worth
the time. This is handled just as in the Mandelbrot
menu. The Destiny calculation (in the Orbit menu) can
help discover which periods are to be detected.
In Dynamical mode, the Orbits menu allows one to watch a
moving cursor trace out the orbits of the transformation
under investigation. The most helpful aspect of this
feature is that it can be used to locate and specify
target points before the drawing begins! In other
words, let the cursor find a fixed point, then Add it to
the target list. It will still be necessary to enter
the Neighborhood menu to adjust the radius entries, or
to delete any unwanted neighborhoods.
ITERATED FUNCTION SYSTEM subprogram:
IFS is the customary abbreviation. One has a
transformation of the plane that is actually a list of
transformations, randomly accessed; which one is used in
any given application is not known in advance, though
the probabilities can be affected by means of the Weight
that is associated with each entry. To input the list,
call up the Mapping menu. Each transformation in the
list is entered according to the conventions described
above. Use New to add to the list, use F and G to edit
existing entries, and use the up/down arrows to inspect
the list. One may also retrieve IFS files from the disk
with Ctrl-R.
The Inverse Iteration method for generating Julia sets
(described above) is an example of an IFS, so this IFS
subprogram provides another way of generating (non-
quadratic) Julia sets. It is necessary to provide a
formula for every branch of the inverse transformation.
Because many interesting IFS include affine mappings,
there are two auxiliary ways provided for defining such
transformations:
The Fixed Points menu is where one can focus on the
geometric properties of each affine map; to specify
such a map, it suffices to provide a fixed point, a
rotation angle - interpreted in radians - and a dilation
constant. If Randomize is selected, the data is
randomly selected, but it may be entered or altered via
the editing process. The number of transformations
(i.e., the number of fixed points - initially 3) is
increased when a New (random) pt is requested; it is
decreased by Kill (the current) pt. When the geometric
data is acceptable, press Set-up/Orbits, which makes the
program calculate and store the functions F (and G) for
each mapping, then go automatically to the Orbit menu.
The other auxiliary menu is Collage, which allows one to
define mappings by means of what they do individually to
a reference triangle. Triangle Show places a triangle
ABC (initially random) on the screen; it may be
repositioned at any time by moving its vertices. The A,
B, C keys match the vertices with the cursor, which is
then moved with the arrow keys. At any stage, the state
of the triangle can be shown by Triangle Show. To
define a new affine map (with reference to the source
triangle), one chooses Make new image, which
(invisibly) re-establishes the source triangle on the
screen, ready to be transformed (via the cursor) into
its image. The complete list of image triangles can be
inspected by a combination of Next and Triangle Show;
editing is of course possible. When the list is
complete, Set-up/Orbits causes the program to calculate
the system of functions (F,G), then exit automaticallly
to the Orbits menu. This method of creating IFS makes
it easy to draw ferns, for example.
Given that an IFS is in place, one uses the Orbit menu
to see the orbits. Before drawing, Ctrl-Clear the
screen and press Autowindow. This positions the window
to enclose the dynamics. (If additional adjustment is
necessary, use Ctrl-W.) Switch on Trace in order to see
the points on an orbit. In addition to the One step
option, one can activate specific component functions of
the IFS by pressing 1, 2, ....
Use Ctrl-S to save information to disk storage. From
the Mapping menu, this stores the actual IFS; from the
Collage or Fixed point menus, this stores the geometric
data instead, from which the functions are calculated.
In any case, Ctrl-R retrieves all the necessary
information. There is of course no need to save IFS
sketches!
The POTPOURRI subprogram calls up a variety of standard
fractal images.
First there are Monster Curves, which are defined as
limits of piecewise-linear examples; one gets the next
stage by requesting Next.
The submenu Your Example allows you to examine the
string-rewriting codes that produce these curves, as
well as invent some of your own. Each example is
generated in a LOGO-like fashion by a string of
instructions, where + and - signify changes of direction
(rotations through some prescribed angle), letters A..F
stand for segments (traced in the forward direction),
and letters U..Z mark places where code replacements are
made: In the transition from one stage to the next, the
instruction string is enlarged, each symbol replaced
according to a table. For instance, the triangle
F++F++F (where + is interpreted according to a 6-sector
division of 360 degrees) turns into the von Koch
snowflake when the single replacement rule F --> F-
F++F-F is applied over and over again. Because the
instruction strings become very long, the computer
usually runs out of memory after about five generations
(which is often simultaneous with a loss of clarity on
the screen). One alters the current table of
replacements by entering this menu and then selecting
the Character and then entering the Replacement string
for it. For example, alter the von Koch replacement
rule to F --> FF-F++F-FF, then Draw. The Initial
configuration may also be altered. It is customary for
+ and - to carry over unaltered to the next generation,
but even this is not a hard and fast rule. Sectors=10
means that each + becomes a 36-degree counter-clockwise
change of direction, and so forth. Another string-
rewriting option is to use left/right parentheses, which
tell the computer to save/recall the cursor position
during the drawing process [in other words, ) means lift
the pen and put it down at the place the previous (
marked]. For an example that illustrates this, request
Plant. The (relative) Lengths of the forward movements
A..F are also adjustable; the Sierpinski example
illustrates this.
The Cantor menu produces examples that are obtained by
punching out pieces from standard shapes. The Growth
menu presents some simulations. Crystal places a seed
at the center of the screen and sets several point
molecules randomly floating in solution; when a molecule
happens to collide with the seed, it sticks (and is
replaced by a new floater). The number of active
floaters is controlled by Points. Visible changes in
the pattern are SLOW to occur at first! Vegetation is
similar; a steady rain of random cells produces growth
from the bottom of the screen upward. For both
simulations, use Ctrl-Clear screen first. To see the
random points, use the Ctrl-Watch switch.
GENERAL INFORMATION
PEANUT software should run on all IBM compatibles. It
is only necessary that the appropriate graphics
interface file be present. If these programs are
copied, it is therefore important that the appropriate
file *.BGI be copied, too. The programs automatically
try to select the finest graphics mode; to override the
default selection, press Ctrl-G (this will be necessary
with the ATT 6300, for example). The programs are
compiled with Borland's Turbo Pascal, version 5.5. If
the host computer has a numeric coprocessor (in other
words, an 8087 chip), these programs will try to take
advantage of it. Most of the programs have associated
documentation files *.DOC; you are reading one now!
Interaction with the computer takes two forms: Either
the user is making menu selections or else the user is
providing buffered input (that is, numbers or names).
In the former case, no ENTER is required - touching a
single key (perhaps in combination with the Ctrl key)
does the job. In the latter case, however, the computer
has to be told when the input is complete, and this
requires ENTER as a signal. When the computer is
waiting for this type of input, a box will open up on
the screen, into which the necessary information is to
be typed. One may edit the data in the box, using the
left and right arrow keys to move the cursor. If the
first keypress of an editing session is not an editing
keypress (an arrow, say), the input box is emptied.
There are a few standard two-key combinations. For
example, Ctrl-C clears the graphics window, Ctrl-P is
for printing, Ctrl-W gets the window reset menu, Ctrl-F
gets function library menus, and Ctrl-END ends programs.
Other Ctrl-keys are described below. Alt-C allows the
user to assign new values to the twenty-six variables
A..Z. Pressing the desired letter displays the current
value of that letter, and pressing = activates the input
process. Alt-F toggles between fixed point and floating
point display formats (see below). In each program,
Ctrl-K calls up a menu of all the available special
keys. These keys are usually not mentioned elsewhere in
the menus.
Whenever the program is in a scrolling mode (the arrow
keypad used to examine a text or a table), one can
request a search by pressing ENTER. The program finds
the first instance of the string you enter, and places
it in the window, usually on the top display line. The
search is not case-sensitive. For example, to scroll
through THIS file, together with a program-specific help
file, just press ?. The necessary *.DOC files must be
found in the current directory.
The function interpreter built into the programs has
been taught to understand most elementary function names
(sin, cos, tan, csc, sec, cot, ln, log, exp, sinh, cosh,
tanh, arcsin, arccos, arctan, int, sqr = square root,
abs, and !) as well as some unconventional ones:
root(n,x) = nth root of x; pow(n,x) = nth power of x;
iter(n,f(x)) = n-fold iteration of f(x); max(a,b,..);
min(a,b,..); sgn(x) = x/abs(x); frac(x) = x-int(x);
binom(n,r) = n!/r!/(n-r)!; join(f|c,g|d,...,h) =
function defined by y=f(x) for x<=c, y=g(x) for c<x<=d,
..., and y=h(x) for remaining x-values; sum(b,f(n,x)) =
sum of f(n,x) for n=0 to n=b; prod(b,f(n,x)) = product
of f(n,x) for n=0 to n=b. In the latter two cases, the
indexing variable defaults to n and the starting value
defaults to 0, but both can be adjusted by means of the
Ctrl-Function library menu.
If the host computer is new enough, the user will be
able to choose between pi and Ctrl-P, sqr and Ctrl-S,
and sq (or ^2) and Ctrl-E; these Ctrl-key presses insert
the special graphics characters. The program routinely
inserts a left parenthesis after Ctrl-S, for parentheses
are required in all function calls.
The user is permitted to add to the library of function
names, by calling up the New Names submenu of the
Function library menu. Each new function name is
limited to six alphabetic characters (no numerals). The
variables used to define the new functions are of no
significance; OSC(T)=SIN(1/T) produces the same result
as OSC(X)=SIN(1/X), that is.
The usual signs of algebra are used. Exponentiation may
be denoted ^. The multiplicative * can usually be left
out. For example, 2x is interpreted to mean 2*x.
However, pix is not read pi*x. Any letter can be used
as a numerical variable, and assigned a specific value
at any time, via the Alt-C option (see above). For
example, axx + bx + c stands for a general quadratic
function, whose coefficients may be adjusted at will,
without the necessity of retyping the formula every
time. Any string of letters and numbers will be treated
as a product of constants and variables, if it is not
found in the library of function names. In particular,
note that xpi is read as x*pi, whereas pix is read as
p*i*x. The process of translation starts at the left
end of every string. Upper and lower cases are not
distinguished. Brackets, braces, and parentheses may
all be used as grouping symbols.
It is occasionally convenient to be able to enter
numerical input in non-decimal form; sqr(3) instead of
1.73205, 2pi instead of 6.28319, etc. This is usually
allowable.
In many of the graphics programs, it is desirable or
necessary to move the viewing window around or to change
its size. This is done by adjusting either the Width of
the frame or the coordinates (Horiz and Vert) of the
Center. For blowups, there is a rigid tenfold Zoom
window. When coordinate axes are showing, it is
occasionally necessary to regulate the scale markings on
the axes, by means of the Units/tick settings. For
example, setting Horiz = pi/2 might be desirable when
graphing trigonometric functions. For another, if the
viewing window showed x-values from -60 to 120, it would
be of no use to have 180 divisions marked on the x-axis.
In this case, one could simply direct the computer to
mark every tenth one (Horiz = 10), which produces a less
confusing image. In fact, if a window request causes
the program to mark more than about fifty tick marks on
an axis, it will automatically adjust the setting for
that axis. One may compress or expand the vertical
Scale, relative to the scale on the horizontal axis.
One may also blow up a (small) portion of the window
with a Flexible window, defined by Marking one corner
and then moving to the opposite corner and pressing
ENTER. Because the shape of the resulting box is
variable, this procedure will necessarily distort the
vertical scale. When you are done with the tiny window,
the screen can be restored to its nominal appearance, by
pressing Default in the main Window menu. It is also
possible to define a window by specifying the four
Extreme values of the variables. This will probably
also distort the vertical scale.
Sending images to your printer is fairly easy, unless
you wish to avoid the built-in distortion that computing
machinery produces. In other words, your circles may
not look like circles, and perpendicular lines may
appear to be non-perpendicular. It is possible to
compensate for this effect by adjusting the Vertical
scale in the Window Change menu, but only before the
drawing is done. You will have to experiment a bit.
The unfortunate rule is that drawings can appear correct
either on the screen or on the printer, but seldom on
both. Overhead projection devices complicate matters
even more.
Most procedures are interruptible. If you do not want
to finish a drawing (or a game) in progress (whether on
the screen or on your printer), just press Esc.
In the event that a program creates files, the program
will prompt the user for filenames, and it will
understand if files on other drives are specified. For
example, an elaborate geometric construction could be
stored as B:GOLDEN, which tells the computer not only
what the file is to be named (GOLDEN), but also where
the file is to be placed (on drive B). This also
applies to file retrieval, of course. Do not include
extensions in your filenames - they will be ignored.
(Each program assigns special extensions.)
Some of the plotting programs are equipped with a menu
that allows one to add text to diagrams. This feature
is activated with the Ctrl-Add/Del Text key. The
displayed text string can be placed anywhere in the
figure. When you request Write, the text is centered at
the cursor position, and stored as part of the figure;
when you request Erase, it is removed from the record.
Some of these programs are equipped with small pop-up
windows, activated with the function keys F1 .. F4, and
deactivated with Ctrl-F1 .. Ctrl-F4. Side-by-side
comparisons of related graphs are thus made possible.
Windowing commands (issued through Ctrl-C or Ctrl-W) are
always applied to whichever of the five windows is
currently active. Whenever one of these windows is
activated from within the Window Reset menu, its
parameters are automatically set equal to the parameters
of the previously active window. These auxiliary
windows tie up a lot of memory; if you want to disable
them (to reclaim memory), use the Ctrl-G option in the
main menu.
If your graphics card allows, the programs will run in
color. The Ctrl-H key calls up a color menu. The T, F,
M, and D keys cycle through the available colors for
text, frame, messages/axes, and drawing, respectively.
Tapping the spacebar cycles through other color
combinations, including the background. In sixteen-
color mode, one can choose the sixteen from sixty-four
available colors; use the arrow keys.
There are two methods of displaying decimal values:
floating-point and non floating-point. For example, if
only eleven spaces were available for display, the
number 0.00001234567 could appear either as 0.000012346
or as 1.234567E-5; the latter is preferable because it
shows more significant digits. Programs are in a fixed-
point mode initially; to switch modes, press Alt-F. In
floating-point mode, the computer will choose the
display that shows more significant digits. If only
eight spaces are available, then 0.012346 is better left
as is, for 1.235E-3 shows fewer significant digits. On
the other hand, large numbers are shown exponentially
regardless of the mode; 123456789101112131415 has to be
shown (approximately) as 1.234567891E+20, if fifteen
spaces are available for display.
Printer support is provided for the standard dot-matrix
printer, as well as the Hewlett-Packard LaserJet and
PaintJet printers. To get the printing menu, use Ctrl-P.
The Device switch steps through the available printers.
The Region switch selects how much of the screen is to
be copied: everything, or else just the graphing window.
One may also associate specific screen colors with
printed colors (black, white, and shades of gray for
printers that can not produce color). For simple black-
and-white images, there should be no need to change the
default settings; just press P for action. If the
program does not detect a printer online, it will tell
you so.
This program is perpetually in a state of revision. You
may obtain an up-to-date copy at any time by sending a
formatted diskette (360K, 720K, or 1.2M) and a prepared
mailer to
Richard Parris
Phillips Exeter Academy
Exeter NH 03833
Comments and suggestions welcome. Tel: (603)-772-1044