Contents of the SPIRO.DOC file
Copyright (C) 1990
Spiroplot is a computerized version of Spirograph( a trademark of
Kenner products). The designs are plotted with three wheels. A fixed
wheel and two movable wheels, one inside and one outside of the fixed
wheel. Each of the movable wheels have a "pencil" which is used the
draw, or plot, the design on the computer screen. One or both of the
movable wheels can be used for the plot. Because the wheels are only
mathematical models, with Spiroplot you can create designs which are
impossible in the real world. For example you can have the inside
moveable wheel larger than the fixed wheel which it is inside of. You
can also have the pencil radius of a movable wheel lager than the
wheel itself. Spiroplot also will allow you to save the wheel settings
to a file an play back all the spiroplots in a demonstration fashion.
With version 2.0 the spiroplots can be drawn in color on EGA/VGA
A graphics card is required for this program. If you have a EGA or a
VGA card you will be able to plot the spiroplots in color. Because of
the low resolution of CGA the text will be in color but the spiroplots
will only be monochrome in order to obtain a higher resolution. The
program SPIRO.EXE and a graphic driver are required for operation. The
graphics information specific to your graphics card is contained in
one of the *.BGI files. The BGI file appropriate for you graphics card
must be in the default directory or included in the APPEND path( DOS
3.2 or greater). Only the one BGI file for your peculiar graphics card
need be present. The included BGI files are,
ATT BGI - Graphics device driver for AT&T 6300
CGA BGI - Graphics device driver for CGA and MCGA
EGAVGA BGI - Graphics device driver for EGA and VGA
HERC BGI - Graphics device driver for Hercules mono
PC3270 BGI - Graphics device driver for 3270 PC
IBM8514 BGI - Graphics device driver for IBM 8514
If you wish to use the included demonstration file, SPIRO.DEM also
include this file in the default directory.
To start this program start up your computer as you normally do. At
the DOS prompt type
Note on some keyboards the key is marked . You can
force the use of monochrome colors with the "/MONO" option. Type
and the monochrome colors will be used even on color displays. This
may be useful for monochrome EGA/VGA displays which show colors as
shades of gray. This program detects which kind of graphics card you
have. Normally the program will correctly detect the graphics card
being used. However, not all graphics can be properly detected. The
IBM-8514 will detect as a VGA card. The auto-detection can be
overridden with one of the driver options typed after the program
name. The following driver options are available.
For example to use the IBM-8514 card you would type
The driver option can also be combined with the mono option. It does
not matter what order you list the options. For example, to use a VGA
card with monochrome colors you would type,
SPIRO /DriverVGA /Mono
When the program first starts the copyright message will first be
displayed. The type of graphic display and resolution being used is
also displayed. Pressing any key will move you on to the main menu
screen. If you press any key while the file is being loaded the
copyright message will be skipped over.
The opening screen( shown below ) displays the menu and all the
current settings. The selection of the menu items is accomplished by
using the arrow key to highlight the desired item and then pressing
the key. The menu items may also be selected by pressing the
first letter of the desired item. The line above the menu is the help
line and will give a brief description of the currently highlighted
by Don MacFarlane
Set the radius of the fixed wheel and the background color
Fixed Inside Outside Show Plot Demo Add Quit
Radius 60.00 Background Black
MOVING WHEELS InsideOutside SHOW WHEELS
Active Yes Yes
Wheel Radius 14.00 23.00 Show Wheels No
Radius of pencil 14.00 17.00
Reverse radius Yes No Wait between No
Time increment 0.050 0.100
Maximum Time 43.90 144.51
Color White White
The basic operation is to set the parameters for the wheels and
then select the plot option. After the spiroplot is completed,
pressing any key will return you to the menu. Pressing the escape key
during any plot will return you to the main menu. Pressing the
space bar will stop what ever spiroplot is currently doing and
go on to the next. If you press during a plot, the current
wheel will stop and the next wheel, if any, will continue. If the
wheels are being displayed, pressing will stop the wheel
display for that wheel and go on plotting with out the wheel display.
If you are anxious to see what Spiroplot can do, skip down to the
description for the Demo and run the included demonstration file,
When you select a menu item which requires input a window will pop
up and ask for the necessary information. The default values will be
displayed in parentheses. To select the default value simple press
. To change the value type in the new value and then press the
. If a improper value has been entered the computer will beep
and the value will not be changed. For prompts requiring a Yes or No
answers, "Yes" or "Y" may be entered for a yes answer and "No" or "N"
for a no answer. Only the fist letter is required.
If you have a EGA or VGA card you will be able to set the
background an drawing colors. On CGA and monochrome you are still able
to set the colors but when plotted the background will always be black
and the drawing color will be white. When entering color names you may
type out the whole name but only the part which makes the name unique
is looked at. The table on the next page is a list of colors
available. Only the letters which are capitalized are required.
Apiroplot Color Names
BLUe LTBlue or LIGHTBule
GREen LTGREen or LIGHTGREen
Cyan LTCyan or LIGHTCyan
Red LTRed or LIGHTRed
Magenta LTMagenta or LIGHTMagenta
LTGRAy or LIGHTGRAy White
F1 or Func1 ( multi-color )
To get some idea about setting the parameters look in the demo file
Spiro.Dem. It is a ASCII file and you can print it out if you want.
Compare the parameters with the spiroplots when the Demo menu item is
selected and the demo is run. You will notice when the ratio of the
moving wheel to the fixed is not a integer spiroplot will be more
complex because it will take a longer time before the spiroplot starts
to repeat. You may also find it helpful selecting the show wheels
option which will display the position of the wheels.
When changing the parameters for one of the movable wheels, inside
or outside, you will be asked the following questions(Inside wheel
shown). Each question is explained below.
Use The Wheel? (Yes) -->
Radius ( 14.00)-->
Radius of pencil ( 14.00)-->
Reverse radius? (Yes) -->
Time increment ( 0.050)-->
Max Time ( 43.90)-->
Color (White )-->
Use Inside/Outside Wheel ? - Answer "Yes" if you want to use the
inside/outside wheel. Make sure to select at least one.
Otherwise you wont see anything. One or both wheels may be
used. If both are selected the inside will be used first and
then the outside.
Radius - Radius of the wheel. The fixed wheel is always centered in
the middle of the screen. The units are setup such that it is
100 units to the top of the screen and 100 units to the
bottom. Note that the radius of the inside wheel may be larger
than the radius of the fixed wheel even though it is not
possible in the real world. Whenever the radius is changed a
new default max time is computed using the current fixed wheel
radius. You should set the fixed wheel first before setting
any of the movable wheels. Otherwise the default max time will
Radius of pencil - The distance from the center of the moving wheel
to the "position of the pencil". This is the position the
imaginary pencil, used for plotting, is placed. This distance
may be lager than the radius itself.
Reverse radius ? - Answer "No" to use a normal radius. By using the
normal radius Spiroplot will behave like the real Spirograph.
The radius and the pencil will move in the correct direction
as a real wheel would. If you answer "Yes" then the radius and
pencil will move in the opposite direction. This will
completely change the design.
Time increment - The steps of time when the pencil position is
evaluated. The way Spiroplot works is at these time steps the
position of the pencil is mathematically evaluated and a line
is drawn form the last position to the current position. By
using small time increments the lines will produce smother
curves but will take much longer to plot. You will probable
want to start out with a large(0.1-1) time increment so the
spiroplot will be quick until you have the basic shape you
want. Then decrease the increment until the curves are smooth
enough. By using a large increment you can also get some
interesting effects. Some of the spiroplots in the demo file
use large time increments. Take a look at the spiroplots
Demo#16 - Demo#27. They all use the same wheel parameters but
the time increment is varied from 0.1 to 11.
Max time - The maximum time the spiroplot is allowed to run. This is
not real time but the mathematical time used in evaluating the
pencil position. The time units are not really important but
they are set up such that it takes 2(6.283) units of time for
the movable will to rotate once about the fixed wheel.
A spiroplot will eventually start to repeat itself. The
default maximum time is set to the time when the spiroplot
starts to repeat. If you use a longer time the spiroplot will
start tracing over itself but because of roundoff errors it
will be slightly off and make the line a little thicker than
the rest. The default max time is computed ONLY when you
change the moving wheel radius. The computation is based on
the current radius of the fixed wheel. It is important to set
the fixed wheel first before you set the moving wheels.
Otherwise the default max time will be off. The max time is
not updated for each of the moving wheels when you change the
fixed wheel radius. This is prevent from wiping out a
different maxtime you may have set.
If you use large time increments, the curves become
discontinues line segments. The max time will not work because
spiroplot may never start to repeat. Start with the default
value and keep increasing max time till it looks the way you
Color - The color to draw with for this wheel. Use one of the colors
listed above. Note it is possible to set the drawing color to
the same color of the background and if you do this of corse
you will not see anything. On CGA and monochrome displays you
enter a color here but the spiroplots will always be drawn in
Each of the main menu items is explained below
Fixed - Set the radius of the fixed wheel. The fixed wheel is
always positioned in the center of the screen. You can also
set the background color here. Use one of the solid colors
listed above. The background color can not be set to a color
Inside - Set parameters for the inside wheel (see above).
Outside - Set parameters for the outside wheel (see above).
Show - Select the show wheel option. This option will help you in
determining the wheel parameters and can be just fun to watch.
The fixed wheel, moving wheel and pencil position will be
displayed along with the spiroplot. You are also asked if you
want the plot to pause after each wheel display. If you answer
"Yes", then after each wheel movement the plot will stop and
wait for you to press any key(except or ).
Displaying the wheels will greatly slow down the plot. You can
cancel the wheel display at any time by pressing .
Pressing will only quit the show wheels option for
that wheel. After pressing the key the plot for that wheel
will continue with out the wheel display. If you press
again while the plot is being drawn with out the wheel
display, you will quit out of the plot itself. Pressing
will bring you back to the main menu.
Plot - Plot the current spirograph using the current settings.
Pressing will stop the plot and return you to the main
menu. Pressing the will only stop the current wheel.
Demo - Run a demo file. Each line in a demo file contains all the
parameters for a spiroplot along with a optional title. You
will be asked for the file you want to run and how many
seconds to pause between plots. The default file is the one
included with this program Spiro.Dem. The spiroplots will be
displayed one after another. When the end of the file is
reached the demo will go back to the top. The demo may be
stopped by pressing . You will quit the demo and return
to the main menu. Note if the wheel display is set to yes the
wheels will be displayed for all of the demo. Pressing
during the demo will do the same as in the Plot option. The
plot will stop with the current wheel and go on to the next,
if any. This can be used to skip parts of the demo you are not
New spiroplots can be added by selection the main menu item
Add. The file itself is a ASCII file and can be edited with
any ASCII text processor (use Non-document for Word Star).
Comments lines may be used by placing a "*" in the first
column. Take a look at the included demo file. It will give
some good examples.
ADD - Add the current parameters to a demo file(see Demo). You
will be asked for the file to add to. If the file is not found
you will be asked if you want create a new one. If answered
yes a new file will be created and the current parameters
added to it. A optional title may be used. If a title is
entered the title will be displayed at the bottom left of the
screen when the demo is run.
Quit - Quit Spiroplot and return to the system.
I hope you will enjoy this program. This program is free. Anyone is
welcome to use it and pass it along as they like, as long as no fee
is charged for the program and this program and the documentation are
distributed only in there original, unmodified state. The graphic
driver files(*.BGI) are proprietary to Borland International and must
not be given or used apart from this program. I would like to hear of
any suggestions or problems. The number of possible spiroplot is
unlimited. If find some you particularly like and would like to share,
send me a copy of the parameters. I will try to put them all in to the
demo file supplied with this program and give appropriate credit to
the authors in the spiroplot titles.
If you would like to support this type of programming or are
interested in the inner workings of this program for $12(5), $13(3)
you will receive a disk containing the heavily commented Turbo Pascal
5.0 source code. A version which uses the math coprocessor is also
included. If you have a math coprocessor, the coprocessor version is
about three times faster. If you recompile the source code Turbo
Professional is required for the exploding windows. The source code is
fully functional with out Turbo Professional but just no fancy
Please direct all replies to the address below,
80 Browning Ave.
Nashua, NH 03062
CompuServe ID: 72411,2146