home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / Programme_zum_Heft / Programmieren / Kurztests / ACE / Prgs / Gfx / EyeCandy03.lha / EyeCandy03.doc < prev    next >
Text File  |  1994-09-22  |  21KB  |  408 lines

  1.  
  2.     User Document for EyeCandy03 for the
  3.     Commodore AMIGA "family" of computers.     94-09-20
  4.  
  5.  
  6.     I. Introduction to EyeCandy 
  7.     ---------------------------
  8.          EyeCandy is a program that generates various designs to please
  9.     the eye.  This program started life as "SpiroDraw", which simulates
  10.     the spiral drawing toy called SpiroGraph (tm?).  There are additional
  11.     designs that may now be created (thus the new name for the program):
  12.  
  13.              "YarnBall"
  14.              "CircleStar"
  15.              "RotoBoxes"
  16.              "RotoAngle"
  17.              "PolyGen"
  18.  
  19.     As time goes on, I hope to add more designs into the program.
  20.  
  21.          This program is the third release for "EyeCandy".  EyeCandy03
  22.     has been compiled with ACE (c)David Benn on a Commodore Amiga
  23.     A2000HD computer running OS 2.1, and also tested on an A1000 (1.3).
  24.  
  25.     New enhancements to the "03" version from the "02" version are:
  26.  
  27.          o  Corrected a bug in the SpiroDraw "Set Data..." parameters
  28.         window which prevented the user from selected different
  29.         ways the "drawing wheel" is placed inside, outside or
  30.         both on the "guide ring".
  31.          o  Accommodates Amiga system font sizes up to 15
  32.          o  Sets window font size explicitly to 8 in case
  33.         the user has some other default window font size.
  34.         This is a temporary setting only during use of EyeCandy.
  35.      o  Changed the 'Set Resolution' MENU function.  This previously
  36.         invoked a mini-window in which the user selected one of the
  37.         three available SCREEN resolutions in EyeCandy.  All three
  38.         SCREEN resolutions are now directly selectable in the MENUs.
  39.         
  40.     If you get any enjoyment or productive use from this program, drop
  41.     me a line.  I'd like to receive any comments and suggestions you
  42.     may have and of course, if you REALLY like it, and you find yourself
  43.     using this program to entertain yourself or friends or family with
  44.     it, stick a little $ (how about $5.00 US) in the envelope - please!).
  45.     Thanks go to Bill from Arizona who was the first send some $ my way.
  46.  
  47.     If you have tried this program and do not feel it is worth the
  48.     "asking" fee, _please_, by all means, drop me a line to share
  49.     your thoughts... I promise I will NOT be offended or get hurt
  50.     feelings, etc. !  
  51.  
  52.         Charles E. Kenney, II
  53.         4 Burbank Circle
  54.         Framingham, MA 01701
  55.         USA
  56.               phone: (508) 877-5959
  57.  
  58.     If you send me a disk and a stamped self-addressed disk mailer,
  59.     I will also send you the latest version of "EyeCandy" and any
  60.     other programs I may have since written.
  61.  
  62.     This program may be freely distributed as long as this document
  63.     accompanies the program AND no more than a _small_ non-profit
  64.     fee is charged for copying and or distribution.
  65.  
  66.     EyeCandy03 and its accompanying document (this file) may be
  67.     reproduced on a CD collection (or similar medium).  I only ask
  68.     that I be notified of the particulars, and if possible, that
  69.     a copy of the CD (or whatever) be forwarded to me if possible.
  70.  
  71.     Thanks.
  72.        -ck.
  73.  
  74.     P.S. Thanks again to David Benn for his wonderful compiler, "ACE".
  75.  
  76.  
  77.     II. Program Set-up and Menu Descriptions
  78.     ----------------------------------------
  79.  
  80.     "EyeCandy" starts with default settings for each design type,
  81.     except for the SpiroDraw "mode", which has 8 sets of settings
  82.     in a "cyclable" memory buffer (See "Last" gadget below).  This
  83.     was done so the user can see immediately what "EyeCandy" can
  84.     do without having to set any initial parameters.  Following
  85.     are descriptions of the various menus and resultant actions:
  86.  
  87.     The "Project" menu contains the "standard" Load and Save functions.
  88.     The only design parameters that are complicated enough to warrant
  89.     saving (in my opinion) are for the SpiroDraw designs, so I have
  90.     implemented "Load" and "Save" only for SpiroDraw data.
  91.  
  92.       Load - The user may load data for a previously saved design.
  93.              Data files for SpiroDraw designs always have a ".spd"
  94.              extension.  If the user does not include a ".spd" file
  95.              extension,  "EyeCandy" will add it automatically.
  96.              The current SpiroDraw data is "backed-up" in a memory
  97.              buffer before the data is loaded (See "Last" gadget above).
  98.              "LIBS:arp.library" must be installed on WB 1.3 systems
  99.              in order for the "Load" MENU item to function.
  100.  
  101.       Save - The user may save data for a SpiroDraw design if desired.
  102.              If the user does not include a ".spd" file extension,
  103.              "EyeCandy" will add it automatically.
  104.              "LIBS:arp.library" must be installed on WB 1.3 systems
  105.              in order for the "Save" MENU item to function.
  106.  
  107.       Draw - Draws the selected design for the data and other
  108.              parameters currently in effect for the currently
  109.              selected design.  The user may interrupt a design
  110.              which is in the process of being drawn with the famous
  111.              'CTRL-C' keys or by clicking the Left Mouse Button.
  112.  
  113.       About - A little message about "EyeCandy" and its author...
  114.               ...and a mild little ShareWare nag!
  115.  
  116.       Quit - Well... This is how to exit "EyeCandy"!
  117.  
  118.  
  119.     The "Design" menu contains all the functions
  120.     the user needs to set the design parameters:
  121.  
  122.       Set Data... - Invokes a window which allows the user to specify
  123.                     the different parameters for the currently selected
  124.                     design type.  The user may also invoke a function
  125.                     which randomizes parameters for the current design.
  126.  
  127.       SpiroDraw - Places "EyeCandy" into "SpiroDraw mode" and then invokes
  128.                   the "Set Data" function for SpiroDraw:  A window opens
  129.                   which allows the user to specify three "size" parameters
  130.                   for the SpiroDraw design: Guide Ring, Drawing Wheel and
  131.                   Pen-Hole (see also "A few words about "SpiroDraw" below
  132.                   for a more detailed description of these).
  133.                   Clicking on the "In/Out" gadget cycles the placement
  134.                   of the Drawing Wheel to inside-only, outside-only or
  135.                   both inside-and-outside on the Guide Ring.
  136.                   Clicking on the "Last" gadget "recalls" the last
  137.                   data from the "parameters buffer".  This buffer is
  138.                   capable of holding 8 sets of SpiroDraw design data -
  139.                   (Guide Ring, Drawing Wheel and Pen-Hole parameters).
  140.                   When the user clicks on this gadget, the previous
  141.                   data in use before the current data is placed into
  142.                   the current data and the other 7 sets of data are
  143.                   "bubbled-up", with the current data being "sent down"
  144.                   to the 8th set of data.  Note that any time the user
  145.                   modifies the current data by loading new data from
  146.                   disk, by exiting the "Set Data..." window after
  147.                   making changes, or by selecting the "Random" gadget,
  148.                   (see below), the current data is "backed-up" to the
  149.                   "1st" buffer, the "1st" to the "2nd", the "2nd" to
  150.                   the "3rd", etc.  The "8th" set of data simply gets
  151.                   "pushed off the cliff" and is lost forever.
  152.                   Clicking on the "Random" gadget randomizes the design
  153.                   sizes for the Guide Ring, Drawing Wheel and Pen-hole.
  154.                   The current data is "backed-up" before the data is
  155.                   randomized (See "Last" gadget description above).
  156.                   Clicking on the "Done" gadget exits this function
  157.                   and the user is asked whether or not to draw the
  158.                   new design using the new design parameters.
  159.  
  160.       Detail... (SpiroDraw only, "ghosted" for other design selections) -
  161.                 Invokes a window which allows the user to specify how
  162.                 detailed the SpiroDraw design will be.
  163.                 Clicking on the "Next" gadget cycles through all possible
  164.                 choices (each selection in the order below causes the
  165.                 design to take progressively longer to be drawn):
  166.  
  167.                    DOTTY   - plots dots at visible intervals rather than
  168.                              drawing a continuous line while the design
  169.                              is being drawn (dots may be connected with
  170.                              a line between each dot - see the description
  171.                              for the "Connect Dots" menu item below).
  172.  
  173.                    SKETCHY - plots dots at smaller intervals than "DOTTY"
  174.  
  175.                    COARSE  - plots dots at _really_ small intervals.
  176.  
  177.                    FINE    - plots dots so close together that they are
  178.                              a continuous line when "SpiroDraw" draws.
  179.  
  180.       Connect Dots (SpiroDraw only, "ghosted" for other design selections) -
  181.                    The user may "check-mark" this menu item to connect the
  182.                    dots plotted with lines to give the design a continuous-
  183.                    line appearance.  This menu item is automatically disabled
  184.                    if the user selects "FINE" in the "Detail..." menu
  185.                    (see above) since the design will already have a
  186.                    continuous appearance.
  187.  
  188.       YarnBall - Places "EyeCandy" into "YarnBall mode" and then invokes
  189.                  the "Set Data" function for YarnBall:  A window opens
  190.                  which allows the user to specify the two design parameters
  191.                  required for drawing the "YarnBall" design:
  192.                  Size and number of spokes.  This design is easier seen than
  193.                  explained so I will leave it to the user to experiment.
  194.  
  195.       CircleStar - Places "EyeCandy" into "CircleStar mode" and then invokes
  196.                    the "Set Data" function for CircleStar:  A window opens
  197.                    which allows the user to specify three design parameters
  198.                    required for drawing the "CircleStar" design:
  199.                    Size, number of spokes and number of "radial" divisions.
  200.                    Again, this design is easier seen than explained so I
  201.                    will  leave it to the user to experiment.
  202.  
  203.       RotoBoxes - Places "EyeCandy" into "RotoBoxes mode" and then invokes
  204.                   the "Set Data" function for RotoBoxes:  A window opens
  205.                   which allows the user to specify the design parameters
  206.                   for drawing the "RotoBox" design:  Size, number of sides
  207.                   on polygons and a growth factor.  The user may also choose
  208.                   different "pieces" of the RotoBoxes to draw (there are
  209.                   sixteen to choose from).  Again, this design is easier
  210.                   seen than explained.
  211.  
  212.       RotoAngle - Places "EyeCandy" into "RotoAngle mode" and then invokes
  213.                   the "Set Data" function for RotoAngle:  A window opens
  214.                   which allows the user to specify three design parameters
  215.                   required for drawing the "RotoAngle" design:  Size, angle
  216.                   to draw the "next" segment at, and a "line" growth factor.
  217.                   Again, this design is easier seen than explained.
  218.  
  219.       PolyGen - Places "EyeCandy" into "PolyGen mode" and then invokes
  220.                 the "Set Data" function for PolyGen:  A window opens
  221.                 which allows the user to specify three design parameters
  222.                 required for drawing the "PolyGen" design:  Number of sides
  223.                 on the polygons, angle to draw "next" polygon (from last
  224.                 polygon) and growth factor for the polygons.  There is
  225.                 also a "Spokes" gadget which enables to user to vary the
  226.                 "PolyGen" design in six different ways.  Yes, this design
  227.                 is also easier seen than explained!
  228.  
  229.  
  230.     The "Preferences" menu contains the following functions:
  231.  
  232.       Ask Save (SpiroDraw only) - When data is changed, the user is
  233.                asked whether or not to save the "old" data if this
  234.                menu item is "check-marked".  "UN-check-marking" this
  235.                menu item stops "EyeCandy" from asking each time the
  236.                data is changed.  "EyeCandy" _always_ asks the user
  237.                whether to save the new data (if it has been changed)
  238.                when the "Quit" menu item is selected, regardless of
  239.                the "check-mark" status of this menu item.  The file,
  240.                "LIBS:arp.library" must be installed on WB 1.3 systems
  241.                in order for the "Ask Save" MENU item to be enabled
  242.                (See also "Load" and "Save" above).
  243.  
  244.       Show Activity (SpiroDraw only) - When this item is "check-marked",
  245.                a running '% completed' is displayed in the upper left
  246.                corner of the 'drawing window'.  This is done to show that
  247.                "EyeCandy" is "doing something" and to give the user an
  248.                idea of how long it will take to draw the design.  It is
  249.                difficult to see the design actually being drawn sometimes
  250.                if the Pen-Hole value is very near zero or if the sizes of
  251.                the Guide Ring and the Drawing Wheel are nearly equal.
  252.                There are instances when the "% completed" message would
  253.                ruin the appearance of the design so to avoid this, the
  254.                user may "UN-check-mark" this "Show Activity" menu item.
  255.  
  256.       Clear Canvas - The user may "check-mark" this menu item to clear
  257.                      the drawing "canvas" before drawing each design.
  258.                      If this menu item is not "check-marked" then many
  259.                      designs can be drawn "on top of" each other.
  260.  
  261.       Visual Round - If the user selects "Visual Round", designs will be
  262.                      drawn with a circular appearance on the screen.
  263.  
  264.       Screen Round - If the user selects "Screen Round", designs will be
  265.                      drawn with a slightly oval appearance on the screen,
  266.                      but this is a useful selection if the design "window"
  267.                      is "saved" as an IFF file (using one of those nice
  268.                      "screen-capture-to-IFF-file" programs and then
  269.                      imported into a paint package capable of animation.
  270.                      Once this is done, the design can be rotated in a
  271.                      "Paint" program while maintaining its "roundness".
  272.                      This has been used successfully by me with DPaint.
  273.  
  274.       Window Round - If the user selects "Window Round", designs will be
  275.                      drawn with an elliptical appearance on the screen,
  276.                      with the height-to-width ratio of the ellipse set
  277.                      to approximate the height-to-width ratio of the
  278.                      current window.
  279.              
  280.       Low-res      - "EyeCandy" changes to LOW resolution (320 x 200).
  281.  
  282.       Med-res      - "EyeCandy" changes to MEDIUM resolution (640 x 200).
  283.  
  284.       High-res     - "EyeCandy" changes to HIGH resolution (640 x 400).
  285.  
  286.  
  287.     III.  A few words about "SpiroDraw"
  288.     --------------------------------------
  289.  
  290.          The Guide Ring was, for the child's toy, the plastic ring with
  291.     "gearing" on each side that was so hard to hold perfectly in place
  292.     on the paper while winding the Drawing Wheel around the inside or
  293.     outside of the Guide Ring.  Even pinning the Guide Ring down through
  294.     the paper onto cardboard was never much help either!  "SpiroDraw"
  295.     holds the Guide Ring in place quite nicely though.  "SpiroDraw"
  296.     always places the Guide Ring in the center of the screen.
  297.  
  298.          The Drawing Wheel was, for the child's toy, the plastic "wheel"
  299.     with "gearing" (to mesh with the Guide Ring) that was so hard to keep
  300.     engaged to the gearing of the Guide Ring while winding the Drawing
  301.     Wheel around the inside or outside of the Guide Ring.  If you went
  302.     too slowly you would sometimes get "stuck" due to the "cam" effect
  303.     of the pen-hole in the Drawing Wheel that you had chosen, especially
  304.     if you chose a pen-hole way out near the edge of the Drawing Wheel!
  305.     If you went too fast, the gearing between the Drawing Wheel and the
  306.     Guide Ring would slip or disengage altogether and you would draw a
  307.     nice ugly, frantic and ruinous line across your design!  This was
  308.     REALLY frustrating, especially if you were "almost done"... and only
  309.     6 years old!  "SpiroDraw" will never know gear slips and getting
  310.     stuck by the "cam" effect!
  311.  
  312.          The "Pen-Hole" was, for the child's toy, the little hole in the
  313.     Drawing Wheel (there were lots of these little holes in each wheel)
  314.     that you would put your pen into which would determine the "character"
  315.     of the design - the holes closest to the center of the Drawing Wheel
  316.     would produce "circular" designs (for "SpiroDraw", small values for
  317.     the Pen-hole distance from the center of the Drawing Wheel), and the
  318.     holes closest to the edges of the Drawing Wheel would produce very
  319.     "spirally" designs  (for "SpiroDraw", large values for the Pen-hole
  320.     distance from the center of the Drawing Wheel).  Note that "SpiroDraw"
  321.     allows a distance for the Pen-hole which is larger than the radius of
  322.     the Drawing Wheel but only within practical limits depending upon whether
  323.     the 'current' screen resolution is LOW, MEDIUM or HIGH.  You may go ahead
  324.     and TRY putting a pen into a hole on the Drawing Wheel that is larger
  325.     than the Drawing Wheel itself using the child's toy!
  326.  
  327.  
  328.     IV.  A few words about "YarnBall" and "CircleStar"
  329.     --------------------------------------------------
  330.  
  331.          Many (and I _do_ mean many) years ago, while doodling in Art
  332.     class at school I came upon (or was shown by somebody) these two
  333.     "designs".  Remembering the fun I had drawing these by hand, I
  334.     decided to implement them into this program.  Hopefully I won't
  335.     be the only one now to get some enjoyment from doodling with these
  336.     two little designs.
  337.  
  338.  
  339.     V.  A few words about "RotoBoxes" and "RotoAngle"
  340.     -------------------------------------------------
  341.  
  342.          These designs were inspired by Dave Haynie's article in
  343.     AmigaWorld magazine about 'C' programming.  I was trying to
  344.     come up with a few more designs that would be interesting to
  345.     add for EyeCandy03 and along came this little article.  I have
  346.     expanded upon the designs somewhat to give the user a few more
  347.     options when setting design data for the two design generators.
  348.     These two design generators were new for "EyeCandy03".
  349.  
  350.  
  351.     VI.  A few words about "PolyGen"
  352.     --------------------------------
  353.  
  354.     After implementing "RotoBoxes" and "RotoAngle", I decided to
  355.     implement a "tunnely" design generator.  In fact, this one
  356.     initially started out being named "Tunnels" until I came up
  357.     with the "Spokes" modifier which made many design variations
  358.     possible which did not look at all very "tunnely".  So I just
  359.     changed the name of the design generator to "PolyGen".
  360.     This design generator was new for "EyeCandy03".
  361.  
  362.  
  363.     V.  What about futures?
  364.     -----------------------
  365.  
  366.     I am hoping to add still more design generators over time.
  367.     Comments, suggestions, ideas for new design generators and
  368.     features, and yes, criticisms in general are also welcome.
  369.     Please write!
  370.  
  371.  
  372.     VI.  A "useful" way to use this program
  373.          (depending on your definition of "useful")
  374.     -----------------------------------------------
  375.  
  376.          Here is a neat little tidbit for using this program with a
  377.     Paint package (if you would like to play with or animate any of
  378.     your designs that you generate with this program):
  379.  
  380.          For DPaint, anyway, this works nicely...
  381.  
  382.          1.  Start up a "screen-saver" program "in the background"
  383.              which is capable of saving a screen as an IFF file.
  384.              I have used "PictSaver" by Preben Nielsen successfully.
  385.  
  386.          2.  Generate your design after "check-marking" the menu item,
  387.              "Screen Roundness".  This is known to work for DPaint.
  388.  
  389.          3.  Once the design has finished being generated, execute
  390.              whatever key sequence is required by the "screen saver"
  391.              program you have and save the "screen" onto which the
  392.              "EyeCandy" design has been drawn, as an IFF file.
  393.  
  394.          4.  Call up your Paint package and do whatever.  I have
  395.              had fun "rolling" my designs across the screen or
  396.              "into the distance" or even using the design as a
  397.              circular border for other brushes, etc.
  398.  
  399.  
  400.     The first code which produced SpiroDraw designs
  401.     was initially written on a Commodore-64 in 1984.
  402.  
  403.     As of the first writing of this document
  404.     (for the SpiroDraw01 release), 94-02-17,
  405.     this program was only 3 days shy of its 10th birthday!
  406.  
  407.     "A DECADE IN THE MAKING!"
  408.