Provided by: xscreensaver-data-extra_5.45+dfsg1-2ubuntu1_amd64 bug

NAME

       epicycle - draws a point moving around a circle which moves around a cicle which...

SYNOPSIS

       epicycle  [-display  host:display.screen] [-root] [-window] [-mono] [-install] [-noinstall] [-visual viz]
       [-colors N] [-foreground name] [-color-shift N] [-delay microseconds] [-holdtime seconds] [-linewidth  N]
       [-min_circles  N]  [-max_circles  N]  [-min_speed  number]  [-max_speed number] [-harmonics N] [-timestep
       number] [-divisor_poisson probability] [-size_factor_min number] [-size_factor_max number] [-fps]

DESCRIPTION

       The epicycle program draws the path traced out by a point on the edge of a circle.  That  circle  rotates
       around a point on the rim of another circle, and so on, several times.  The random curves produced can be
       simple or complex, convex or concave, but they are always closed curves (they never go in indefinitely).

       You  can  configure both the way the curves are drawn and the way in which the random sequence of circles
       is generated, either with command-line options or X resources.

OPTIONS

       -display host:display.screen
               Specifies which X display we should  use  (see  the  section  DISPLAY  NAMES  in  X(1)  for  more
               information about this option).

       -root   Draw on the root window.

       -window Draw on a newly-created window.  This is the default.

       -mono   If  on  a  color  display, pretend we're on a monochrome display.  If we're on a mono display, we
               have no choice.

       -install
               Install a private colormap for the window.

       -noinstall
               Don't install a private colormap for the window.

       -visual viz
               Specify which visual to use.  Legal values are the name of a  visual  class,  or  the  id  number
               (decimal or hex) of a specific visual.  Possible choices include

               default,   best,  mono,  monochrome,  gray,  grey,  color,  staticgray,  staticcolor,  truecolor,
               grayscale, greyscale, pseudocolor, directcolor, number

               If a decimal or hexadecimal number  is  used,  XGetVisualInfo(3X)  is  consulted  to  obtain  the
               required visual.

       -colors N
               How many colors should be used (if possible).  The colors are chosen randomly.

       -foreground name
               With -mono, this option selects the foreground colour.

       -delay microseconds
               Specifies the delay between drawing successive line segments of the path.   If you do not specify
               -sync,  some  X servers may batch up several drawing operations together, producing a less smooth
               effect.   This is more likely to happen in monochrome mode (on monochrome servers or  when  -mono
               is specified).

       -holdtime seconds
               When the figure is complete, epicycle pauses this number of seconds.

       -linewidth N
               Width  in  pixels  of  the  body's  track.    Specifying values greater than one may cause slower
               drawing.   The fastest value is usually zero, meaning one pixel.

       -min_circles N
               Smallest number of epicycles in the figure.

       -max_circles N
               Largest number of epicycles in the figure.

       -min_speed number
               Smallest possible value for the base speed of revolution of the epicycles.  The actual speeds  of
               the epicycles vary from this down to min_speed / harmonics.

       -max_speed number
               Smallest possible value for the base speed of revolution of the epicycles.

       -harmonics N
               Number  of  possible  harmonics;  the  larger  this value is, the greater the possible variety of
               possible speeds of epicycle.

       -timestep number
               Decreasing this value will reduce the distance the body moves for  each  line  segment,  possibly
               producing a smoother figure.  Increasing it may produce faster results.

       -divisor_poisson probability
               Each  epicycle rotates at a rate which is a factor of the base speed.  The speed of each epicycle
               is the base speed divided by some integer between 1 and the value of the -harmonics option.  This
               integer is decided by starting at 1 and tossing a biased coin.  For each  consecutive  head,  the
               value  is  incremented  by  one.   The  integer  will  not  be incremented above the value of the
               -harmonics option.  The argument of this  option  decides  the  bias  of  the  coin;  it  is  the
               probability that that coin will produce a head at any given toss.

       -size_factor_min number
               Epicycles are always at least this factor smaller than their parents.

       -size_factor_max number
               Epicycles are never more than this factor smaller than their parents.

       -fps    Display the current frame rate and CPU load.

RESOURCES

       Option            Resource               Default Value
       ------            --------               -------------
       -colors           .colors                100
       -delay            .delay                 1000
       -holdtime         .holdtime              2
       -linewidth        .lineWidth             4
       -min_circles      .minCircles            2
       -max_circles      .maxCircles            10
       -min_speed        .minSpeed              0.003
       -max_speed        .maxSpeed              0.005
       -harmonics        .harmonics             8
       -timestep         .timestep              1.0
       -divisor_poisson  .divisorPoisson        0.4
       -size_factor_min  .sizeFactorMin         1.05
       -size_factor_max  .sizeFactorMax         2.05
                         .timestepCoarseFactor  1.0
       Before  the  drawing  of  the  figure is begun, a preliminary calculation of the path is done in order to
       scale the radii of the epicycles so as to fit the figure on the screen or window.  For the sake of speed,
       This calculation is done with a larger timestep than the actual drawing.  The time-step used is the value
       of the -timestep option multiplied by the timestepCoarseFactor resource.  The default  value  of  1  will
       almost always work fast enough and so this resource is not available as a command-line option.

USER INTERFACE

       The program runs mostly without user interaction.  When running on the root window, no input is accepted.
       When  running  in its own window, the program will exit if mouse button 3 is pressed.  If any other mouse
       button is pressed, the current figure will be abandoned and another will be started.

HISTORY

       The geometry of epicycles was perfected by Hipparchus of Rhodes at some time around 125 B.C.,  185  years
       after  the  birth  of  Aristarchus of Samos, the inventor of the heliocentric universe model.  Hipparchus
       applied epicycles to the Sun and the Moon.  Ptolemy of Alexandria went on to apply them to what was  then
       the known universe, at around 150 A.D.  Copernicus went on to apply them to the heliocentric model at the
       beginning  of  the  sixteenth  century.   Johannes  Kepler  discovered  that the planets actually move in
       elliptical orbits in about 1602.  The inverse-square law of gravity was suggested by  Boulliau  in  1645.
       Isaac  Newton's  Principia  Mathematica was published in 1687, and proved that Kepler's laws derived from
       Newtonian gravitation.

BUGS

       The colour selection is re-done for every figure.  This may generate too much network  traffic  for  this
       program to work well over slow or long links.

COPYRIGHT

       Copyright  ©  1998,  James Youngman.  Permission to use, copy, modify, distribute, and sell this software
       and its documentation for any purpose is hereby granted without fee, provided that  the  above  copyright
       notice  appear  in  all  copies  and that both that copyright notice and this permission notice appear in
       supporting documentation.  No representations are made about the suitability of  this  software  for  any
       purpose.  It is provided "as is" without express or implied warranty.

AUTHOR

       James Youngman <jay@gnu.org>, April 1998.

X Version 11                                   5.45 (08-Dec-2020)                                   epicycle(6x)