home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 1996 July
/
AMIGA_1996_7.BIN
/
ausgabe_7_96
/
pd-programmierung
/
ace_prgs.lha
/
gfx
/
EyeCandy03.lha
/
EyeCandy03.doc
< prev
next >
Wrap
Text File
|
1994-09-22
|
21KB
|
408 lines
User Document for EyeCandy03 for the
Commodore AMIGA "family" of computers. 94-09-20
I. Introduction to EyeCandy
---------------------------
EyeCandy is a program that generates various designs to please
the eye. This program started life as "SpiroDraw", which simulates
the spiral drawing toy called SpiroGraph (tm?). There are additional
designs that may now be created (thus the new name for the program):
"YarnBall"
"CircleStar"
"RotoBoxes"
"RotoAngle"
"PolyGen"
As time goes on, I hope to add more designs into the program.
This program is the third release for "EyeCandy". EyeCandy03
has been compiled with ACE (c)David Benn on a Commodore Amiga
A2000HD computer running OS 2.1, and also tested on an A1000 (1.3).
New enhancements to the "03" version from the "02" version are:
o Corrected a bug in the SpiroDraw "Set Data..." parameters
window which prevented the user from selected different
ways the "drawing wheel" is placed inside, outside or
both on the "guide ring".
o Accommodates Amiga system font sizes up to 15
o Sets window font size explicitly to 8 in case
the user has some other default window font size.
This is a temporary setting only during use of EyeCandy.
o Changed the 'Set Resolution' MENU function. This previously
invoked a mini-window in which the user selected one of the
three available SCREEN resolutions in EyeCandy. All three
SCREEN resolutions are now directly selectable in the MENUs.
If you get any enjoyment or productive use from this program, drop
me a line. I'd like to receive any comments and suggestions you
may have and of course, if you REALLY like it, and you find yourself
using this program to entertain yourself or friends or family with
it, stick a little $ (how about $5.00 US) in the envelope - please!).
Thanks go to Bill from Arizona who was the first send some $ my way.
If you have tried this program and do not feel it is worth the
"asking" fee, _please_, by all means, drop me a line to share
your thoughts... I promise I will NOT be offended or get hurt
feelings, etc. !
Charles E. Kenney, II
4 Burbank Circle
Framingham, MA 01701
USA
phone: (508) 877-5959
If you send me a disk and a stamped self-addressed disk mailer,
I will also send you the latest version of "EyeCandy" and any
other programs I may have since written.
This program may be freely distributed as long as this document
accompanies the program AND no more than a _small_ non-profit
fee is charged for copying and or distribution.
EyeCandy03 and its accompanying document (this file) may be
reproduced on a CD collection (or similar medium). I only ask
that I be notified of the particulars, and if possible, that
a copy of the CD (or whatever) be forwarded to me if possible.
Thanks.
-ck.
P.S. Thanks again to David Benn for his wonderful compiler, "ACE".
II. Program Set-up and Menu Descriptions
----------------------------------------
"EyeCandy" starts with default settings for each design type,
except for the SpiroDraw "mode", which has 8 sets of settings
in a "cyclable" memory buffer (See "Last" gadget below). This
was done so the user can see immediately what "EyeCandy" can
do without having to set any initial parameters. Following
are descriptions of the various menus and resultant actions:
The "Project" menu contains the "standard" Load and Save functions.
The only design parameters that are complicated enough to warrant
saving (in my opinion) are for the SpiroDraw designs, so I have
implemented "Load" and "Save" only for SpiroDraw data.
Load - The user may load data for a previously saved design.
Data files for SpiroDraw designs always have a ".spd"
extension. If the user does not include a ".spd" file
extension, "EyeCandy" will add it automatically.
The current SpiroDraw data is "backed-up" in a memory
buffer before the data is loaded (See "Last" gadget above).
"LIBS:arp.library" must be installed on WB 1.3 systems
in order for the "Load" MENU item to function.
Save - The user may save data for a SpiroDraw design if desired.
If the user does not include a ".spd" file extension,
"EyeCandy" will add it automatically.
"LIBS:arp.library" must be installed on WB 1.3 systems
in order for the "Save" MENU item to function.
Draw - Draws the selected design for the data and other
parameters currently in effect for the currently
selected design. The user may interrupt a design
which is in the process of being drawn with the famous
'CTRL-C' keys or by clicking the Left Mouse Button.
About - A little message about "EyeCandy" and its author...
...and a mild little ShareWare nag!
Quit - Well... This is how to exit "EyeCandy"!
The "Design" menu contains all the functions
the user needs to set the design parameters:
Set Data... - Invokes a window which allows the user to specify
the different parameters for the currently selected
design type. The user may also invoke a function
which randomizes parameters for the current design.
SpiroDraw - Places "EyeCandy" into "SpiroDraw mode" and then invokes
the "Set Data" function for SpiroDraw: A window opens
which allows the user to specify three "size" parameters
for the SpiroDraw design: Guide Ring, Drawing Wheel and
Pen-Hole (see also "A few words about "SpiroDraw" below
for a more detailed description of these).
Clicking on the "In/Out" gadget cycles the placement
of the Drawing Wheel to inside-only, outside-only or
both inside-and-outside on the Guide Ring.
Clicking on the "Last" gadget "recalls" the last
data from the "parameters buffer". This buffer is
capable of holding 8 sets of SpiroDraw design data -
(Guide Ring, Drawing Wheel and Pen-Hole parameters).
When the user clicks on this gadget, the previous
data in use before the current data is placed into
the current data and the other 7 sets of data are
"bubbled-up", with the current data being "sent down"
to the 8th set of data. Note that any time the user
modifies the current data by loading new data from
disk, by exiting the "Set Data..." window after
making changes, or by selecting the "Random" gadget,
(see below), the current data is "backed-up" to the
"1st" buffer, the "1st" to the "2nd", the "2nd" to
the "3rd", etc. The "8th" set of data simply gets
"pushed off the cliff" and is lost forever.
Clicking on the "Random" gadget randomizes the design
sizes for the Guide Ring, Drawing Wheel and Pen-hole.
The current data is "backed-up" before the data is
randomized (See "Last" gadget description above).
Clicking on the "Done" gadget exits this function
and the user is asked whether or not to draw the
new design using the new design parameters.
Detail... (SpiroDraw only, "ghosted" for other design selections) -
Invokes a window which allows the user to specify how
detailed the SpiroDraw design will be.
Clicking on the "Next" gadget cycles through all possible
choices (each selection in the order below causes the
design to take progressively longer to be drawn):
DOTTY - plots dots at visible intervals rather than
drawing a continuous line while the design
is being drawn (dots may be connected with
a line between each dot - see the description
for the "Connect Dots" menu item below).
SKETCHY - plots dots at smaller intervals than "DOTTY"
COARSE - plots dots at _really_ small intervals.
FINE - plots dots so close together that they are
a continuous line when "SpiroDraw" draws.
Connect Dots (SpiroDraw only, "ghosted" for other design selections) -
The user may "check-mark" this menu item to connect the
dots plotted with lines to give the design a continuous-
line appearance. This menu item is automatically disabled
if the user selects "FINE" in the "Detail..." menu
(see above) since the design will already have a
continuous appearance.
YarnBall - Places "EyeCandy" into "YarnBall mode" and then invokes
the "Set Data" function for YarnBall: A window opens
which allows the user to specify the two design parameters
required for drawing the "YarnBall" design:
Size and number of spokes. This design is easier seen than
explained so I will leave it to the user to experiment.
CircleStar - Places "EyeCandy" into "CircleStar mode" and then invokes
the "Set Data" function for CircleStar: A window opens
which allows the user to specify three design parameters
required for drawing the "CircleStar" design:
Size, number of spokes and number of "radial" divisions.
Again, this design is easier seen than explained so I
will leave it to the user to experiment.
RotoBoxes - Places "EyeCandy" into "RotoBoxes mode" and then invokes
the "Set Data" function for RotoBoxes: A window opens
which allows the user to specify the design parameters
for drawing the "RotoBox" design: Size, number of sides
on polygons and a growth factor. The user may also choose
different "pieces" of the RotoBoxes to draw (there are
sixteen to choose from). Again, this design is easier
seen than explained.
RotoAngle - Places "EyeCandy" into "RotoAngle mode" and then invokes
the "Set Data" function for RotoAngle: A window opens
which allows the user to specify three design parameters
required for drawing the "RotoAngle" design: Size, angle
to draw the "next" segment at, and a "line" growth factor.
Again, this design is easier seen than explained.
PolyGen - Places "EyeCandy" into "PolyGen mode" and then invokes
the "Set Data" function for PolyGen: A window opens
which allows the user to specify three design parameters
required for drawing the "PolyGen" design: Number of sides
on the polygons, angle to draw "next" polygon (from last
polygon) and growth factor for the polygons. There is
also a "Spokes" gadget which enables to user to vary the
"PolyGen" design in six different ways. Yes, this design
is also easier seen than explained!
The "Preferences" menu contains the following functions:
Ask Save (SpiroDraw only) - When data is changed, the user is
asked whether or not to save the "old" data if this
menu item is "check-marked". "UN-check-marking" this
menu item stops "EyeCandy" from asking each time the
data is changed. "EyeCandy" _always_ asks the user
whether to save the new data (if it has been changed)
when the "Quit" menu item is selected, regardless of
the "check-mark" status of this menu item. The file,
"LIBS:arp.library" must be installed on WB 1.3 systems
in order for the "Ask Save" MENU item to be enabled
(See also "Load" and "Save" above).
Show Activity (SpiroDraw only) - When this item is "check-marked",
a running '% completed' is displayed in the upper left
corner of the 'drawing window'. This is done to show that
"EyeCandy" is "doing something" and to give the user an
idea of how long it will take to draw the design. It is
difficult to see the design actually being drawn sometimes
if the Pen-Hole value is very near zero or if the sizes of
the Guide Ring and the Drawing Wheel are nearly equal.
There are instances when the "% completed" message would
ruin the appearance of the design so to avoid this, the
user may "UN-check-mark" this "Show Activity" menu item.
Clear Canvas - The user may "check-mark" this menu item to clear
the drawing "canvas" before drawing each design.
If this menu item is not "check-marked" then many
designs can be drawn "on top of" each other.
Visual Round - If the user selects "Visual Round", designs will be
drawn with a circular appearance on the screen.
Screen Round - If the user selects "Screen Round", designs will be
drawn with a slightly oval appearance on the screen,
but this is a useful selection if the design "window"
is "saved" as an IFF file (using one of those nice
"screen-capture-to-IFF-file" programs and then
imported into a paint package capable of animation.
Once this is done, the design can be rotated in a
"Paint" program while maintaining its "roundness".
This has been used successfully by me with DPaint.
Window Round - If the user selects "Window Round", designs will be
drawn with an elliptical appearance on the screen,
with the height-to-width ratio of the ellipse set
to approximate the height-to-width ratio of the
current window.
Low-res - "EyeCandy" changes to LOW resolution (320 x 200).
Med-res - "EyeCandy" changes to MEDIUM resolution (640 x 200).
High-res - "EyeCandy" changes to HIGH resolution (640 x 400).
III. A few words about "SpiroDraw"
--------------------------------------
The Guide Ring was, for the child's toy, the plastic ring with
"gearing" on each side that was so hard to hold perfectly in place
on the paper while winding the Drawing Wheel around the inside or
outside of the Guide Ring. Even pinning the Guide Ring down through
the paper onto cardboard was never much help either! "SpiroDraw"
holds the Guide Ring in place quite nicely though. "SpiroDraw"
always places the Guide Ring in the center of the screen.
The Drawing Wheel was, for the child's toy, the plastic "wheel"
with "gearing" (to mesh with the Guide Ring) that was so hard to keep
engaged to the gearing of the Guide Ring while winding the Drawing
Wheel around the inside or outside of the Guide Ring. If you went
too slowly you would sometimes get "stuck" due to the "cam" effect
of the pen-hole in the Drawing Wheel that you had chosen, especially
if you chose a pen-hole way out near the edge of the Drawing Wheel!
If you went too fast, the gearing between the Drawing Wheel and the
Guide Ring would slip or disengage altogether and you would draw a
nice ugly, frantic and ruinous line across your design! This was
REALLY frustrating, especially if you were "almost done"... and only
6 years old! "SpiroDraw" will never know gear slips and getting
stuck by the "cam" effect!
The "Pen-Hole" was, for the child's toy, the little hole in the
Drawing Wheel (there were lots of these little holes in each wheel)
that you would put your pen into which would determine the "character"
of the design - the holes closest to the center of the Drawing Wheel
would produce "circular" designs (for "SpiroDraw", small values for
the Pen-hole distance from the center of the Drawing Wheel), and the
holes closest to the edges of the Drawing Wheel would produce very
"spirally" designs (for "SpiroDraw", large values for the Pen-hole
distance from the center of the Drawing Wheel). Note that "SpiroDraw"
allows a distance for the Pen-hole which is larger than the radius of
the Drawing Wheel but only within practical limits depending upon whether
the 'current' screen resolution is LOW, MEDIUM or HIGH. You may go ahead
and TRY putting a pen into a hole on the Drawing Wheel that is larger
than the Drawing Wheel itself using the child's toy!
IV. A few words about "YarnBall" and "CircleStar"
--------------------------------------------------
Many (and I _do_ mean many) years ago, while doodling in Art
class at school I came upon (or was shown by somebody) these two
"designs". Remembering the fun I had drawing these by hand, I
decided to implement them into this program. Hopefully I won't
be the only one now to get some enjoyment from doodling with these
two little designs.
V. A few words about "RotoBoxes" and "RotoAngle"
-------------------------------------------------
These designs were inspired by Dave Haynie's article in
AmigaWorld magazine about 'C' programming. I was trying to
come up with a few more designs that would be interesting to
add for EyeCandy03 and along came this little article. I have
expanded upon the designs somewhat to give the user a few more
options when setting design data for the two design generators.
These two design generators were new for "EyeCandy03".
VI. A few words about "PolyGen"
--------------------------------
After implementing "RotoBoxes" and "RotoAngle", I decided to
implement a "tunnely" design generator. In fact, this one
initially started out being named "Tunnels" until I came up
with the "Spokes" modifier which made many design variations
possible which did not look at all very "tunnely". So I just
changed the name of the design generator to "PolyGen".
This design generator was new for "EyeCandy03".
V. What about futures?
-----------------------
I am hoping to add still more design generators over time.
Comments, suggestions, ideas for new design generators and
features, and yes, criticisms in general are also welcome.
Please write!
VI. A "useful" way to use this program
(depending on your definition of "useful")
-----------------------------------------------
Here is a neat little tidbit for using this program with a
Paint package (if you would like to play with or animate any of
your designs that you generate with this program):
For DPaint, anyway, this works nicely...
1. Start up a "screen-saver" program "in the background"
which is capable of saving a screen as an IFF file.
I have used "PictSaver" by Preben Nielsen successfully.
2. Generate your design after "check-marking" the menu item,
"Screen Roundness". This is known to work for DPaint.
3. Once the design has finished being generated, execute
whatever key sequence is required by the "screen saver"
program you have and save the "screen" onto which the
"EyeCandy" design has been drawn, as an IFF file.
4. Call up your Paint package and do whatever. I have
had fun "rolling" my designs across the screen or
"into the distance" or even using the design as a
circular border for other brushes, etc.
The first code which produced SpiroDraw designs
was initially written on a Commodore-64 in 1984.
As of the first writing of this document
(for the SpiroDraw01 release), 94-02-17,
this program was only 3 days shy of its 10th birthday!
"A DECADE IN THE MAKING!"