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] [colorshift 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 commandline 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 newlycreated 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.

default, best, mono, monochrome, gray, grey, color, staticgray, staticcolor,
truecolor, grayscale, greyscale, pseudocolor, directcolor, number
 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 timestep 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 commandline option.