bionic (6) epicycle.6x.gz

Provided by: xscreensaver-data-extra_5.36-1ubuntu1_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 © 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.