dwww Home | Manual pages | Find package

epicycle(6x)                  XScreenSaver manual                 epicycle(6x)

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

SYNOPSIS
       epicycle [-display host:display.screen] [-root] [-window] [-mono] [-in-
       stall]  [-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  probabil-
       ity] [-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 DIS-
               PLAY 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,  di-
               rectcolor, 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 com-
       mand-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 ap-
       plied 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  be-
       ginning  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 New-
       ton's Principia Mathematica was published in 1687, and proved that  Ke-
       pler'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  pur-
       pose  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 repre-
       sentations are made about the suitability of this software for any pur-
       pose.  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)

Generated by dwww version 1.14 on Fri Jan 24 09:40:08 CET 2025.