Penguin
Annotated edit history of epicycle(1) version 4, including all changes. View license author blame.
Rev Author # Line
1 perry 1 XScreenSaver
2 !!!XScreenSaver
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 OPTIONS
7 RESOURCES
8 USER INTERFACE
9 HISTORY
10 BUGS
11 COPYRIGHT
12 AUTHOR
13 ----
14 !!NAME
15
16
17 epicycle - draws a point moving around a circle which moves around a cicle which...
18 !!SYNOPSIS
19
20
21 __epicycle__ [[-display ''host:display.screen'']
22 [[-root] [[-window] [[-mono] [[-install] [[-noinstall] [[-visual
23 ''viz''] [[-colors ''N''] [[-foreground ''name'']
24 [[-color-shift ''N''] [[-delay ''microseconds'']
25 [[-holdtime ''seconds''] [[-linewidth ''N'']
26 [[-min_circles ''N''] [[-max_circles ''N''] [[-min_speed
27 ''number''] [[-max_speed ''number''] [[-harmonics
28 ''N''] [[-timestep ''number''] [[-divisor_poisson
29 ''probability''] [[-size_factor_min ''number'']
30 [[-size_factor_max ''number'']
31 !!DESCRIPTION
32
33
34 The epicycle program draws the path traced out by a point on
35 the edge of a circle. That circle rotates around a point on
36 the rim of another circle, and so on, several times. The
37 random curves produced can be simple or complex, convex or
38 concave, but they are always closed curves (they never go in
39 indefinitely).
40
41
42 You can configure both the way the curves are drawn and the
43 way in which the random sequence of circles is generated,
44 either with command-line options or X
45 resources.
46 !!OPTIONS
47
48
49 __-display__ ''host:display.screen''
50
51
52 Specifies which X display we should use (see the section
4 perry 53 DISPLAY NAMES in X(1) for more information about this
1 perry 54 option).
55
56
57 __-root__
58
59
60 Draw on the root window.
61
62
63 __-window__
64
65
66 Draw on a newly-created window. This is the
67 default.
68
69
70 __-mono__
71
72
73 If on a color display, pretend we're on a monochrome
74 display. If we're on a mono display, we have no
75 choice.
76
77
78 __-install__
79
80
81 Install a private colormap for the window.
82
83
84 __-noinstall__
85
86
87 Don't install a private colormap for the
88 window.
89
90
91 __-visual__ ''viz''
92
93
94 Specify which visual to use. Legal values are the name of a
95 visual class, or the id number (decimal or hex) of a
96 specific visual. Possible choices include
97
98
99 default, best, mono, monochrome, gray, grey, color,
100 staticgray, staticcolor, truecolor, grayscale, greyscale,
101 pseudocolor, directcolor, ''number''
102
103
104 If a decimal or hexadecimal number is used,
105 __XGetVisualInfo__(3X) is consulted to obtain the
106 required visual.
107
108
109 __-colors__ ''N''
110
111
112 How many colors should be used (if possible). The colors are
113 chosen randomly.
114
115
116 __-foreground__ ''name''
117
118
119 With __-mono__, this option selects the foreground
120 colour.
121
122
123 __-delay__ ''microseconds''
124
125
126 Specifies the delay between drawing successive line segments
127 of the path. If you do not specify __-sync__, some X
128 servers may batch up several drawing operations together,
129 producing a less smooth effect. This is more likely to
130 happen in monochrome mode (on monochrome servers or when
131 __-mono__ is specified).
132
133
134 __-holdtime__ ''seconds''
135
136
137 When the figure is complete, ''epicycle'' pauses this
138 number of seconds.
139
140
141 __-linewidth__ ''N''
142
143
144 Width in pixels of the body's track. Specifying values
145 greater than one may cause slower drawing. The fastest value
146 is usually zero, meaning one pixel.
147
148
149 __-min_circles__ ''N''
150
151
152 Smallest number of epicycles in the figure.
153
154
155 __-max_circles__ ''N''
156
157
158 Largest number of epicycles in the figure.
159
160
161 __-min_speed__ ''number''
162
163
164 Smallest possible value for the base speed of revolution of
165 the epicycles. The actual speeds of the epicycles vary from
166 this down to ''min_speed /
167 harmonics''__.__
168
169
170 __-max_speed__ ''number''
171
172
173 Smallest possible value for the base speed of revolution of
174 the epicycles.
175
176
177 __-harmonics__ ''N''
178
179
180 Number of possible harmonics; the larger this value is, the
181 greater the possible variety of possible speeds of
182 epicycle.
183
184
185 __-timestep__ ''number''
186
187
188 Decreasing this value will reduce the distance the body
189 moves for each line segment, possibly producing a smoother
190 figure. Increasing it may produce faster
191 results.
192
193
194 __-divisor_poisson__ ''probability''
195
196
197 Each epicycle rotates at a rate which is a factor of the
198 base speed. The speed of each epicycle is the base speed
199 divided by some integer between 1 and the value of the
200 __-harmonics__ option. This integer is decided by
201 starting at 1 and tossing a biased coin. For each
202 consecutive head, the value is incremented by one. The
203 integer will not be incremented above the value of the
204 __-harmonics__ option. The argument of this option
205 decides the bias of the coin; it is the probability that
206 that coin will produce a head at any given
207 toss.
208
209
210 __-size_factor_min__ ''number''
211
212
213 Epicycles are always at least this factor smaller than their
214 parents.
215
216
217 __-size_factor_max__ ''number''
218
219
220 Epicycles are never more than this factor smaller than their
221 parents.
222 !!RESOURCES
223
224
225 Option Resource Default Value
226 ------ -------- -------------
227 -colors .colors 100
228 -delay .delay 1000
229 -holdtime .holdtime 2
230 -linewidth .lineWidth 4
231 -min_circles .minCircles 2
232 -max_circles .maxCircles 10
233 -min_speed .minSpeed 0.003
234 -max_speed .maxSpeed 0.005
235 -harmonics .harmonics 8
236 -timestep .timestep 1.0
237 -divisor_poisson .divisorPoisson 0.4
238 -size_factor_min .sizeFactorMin 1.05
239 -size_factor_max .sizeFactorMax 2.05
240 .timestepCoarseFactor 1.0
241 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.
242 !!USER INTERFACE
243
244
245 The program runs mostly without user interaction. When
246 running on the root window, no input is accepted. When
247 running in its own window, the program will exit if mouse
248 button 3 is pressed. If any other mouse button is pressed,
249 the current figure will be abandoned and another will be
250 started.
251 !!HISTORY
252
253
254 The geometry of epicycles was perfected by Hipparchus of
255 Rhodes at some time around 125 B.C., 185 years after the
256 birth of Aristarchus of Samos, the inventor of the
257 heliocentric universe model. Hipparchus applied epicycles to
258 the Sun and the Moon. Ptolemy of Alexandria went on to apply
259 them to what was then the known universe, at around 150 A.D.
260 Copernicus went on to apply them to the heliocentric model
261 at the beginning of the sixteenth century. Johannes Kepler
262 discovered that the planets actually move in elliptical
263 orbits in about 1602. The inverse-square law of gravity was
264 suggested by Boulliau in 1645. Isaac Newton's ''Principia
265 Mathematica'' was published in 1687, and proved that
266 Kepler's laws derived from Newtonian
267 gravitation.
268 !!BUGS
269
270
271 The colour selection is re-done for every figure. This may
272 generate too much network traffic for this program to work
273 well over slow or long links.
274 !!COPYRIGHT
275
276
277 Copyright 1998, James Youngman. Permission to use, copy,
278 modify, distribute, and sell this software and its
279 documentation for any purpose is hereby granted without fee,
280 provided that the above copyright notice appear in all
281 copies and that both that copyright notice and this
282 permission notice appear in supporting documentation. No
283 representations are made about the suitability of this
284 software for any purpose. It is provided
285 !!AUTHOR
286
287
288 James Youngman
289 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.