1romanboy(6x) XScreenSaver manual romanboy(6x)
2
3
4
6 romanboy - Draws a 3d immersion of the real projective plane that
7 smoothly deforms between the Roman surface and the Boy surface.
8
10 romanboy [--display host:display.screen] [--install] [--visual visual]
11 [--window] [--root] [--window-id number] [--delay usecs] [--fps]
12 [--mode display-mode] [--wireframe] [--surface] [--transparent] [--ap‐
13 pearance appearance] [--solid] [--distance-bands] [--direction-bands]
14 [--colors color-scheme] [--onesided-colors] [--twosided-colors] [--dis‐
15 tance-colors] [--direction-colors] [--change-colors] [--view-mode view-
16 mode] [--walk] [--turn] [--no-deform] [--deformation-speed float]
17 [--initial-deformation float] [--roman] [--boy] [--surface-order num‐
18 ber] [--orientation-marks] [--projection mode] [--perspective] [--or‐
19 thographic] [--speed-x float] [--speed-y float] [--speed-z float]
20 [--walk-direction float] [--walk-speed float]
21
23 The romanboy program shows a 3d immersion of the real projective plane
24 that smoothly deforms between the Roman surface and the Boy surface.
25 You can walk on the projective plane or turn in 3d. The smooth defor‐
26 mation (homotopy) between these two famous immersions of the real pro‐
27 jective plane was constructed by François Apéry.
28
29 The real projective plane is a non-orientable surface. To make this
30 apparent, the two-sided color mode can be used. Alternatively, orien‐
31 tation markers (curling arrows) can be drawn as a texture map on the
32 surface of the projective plane. While walking on the projective
33 plane, you will notice that the orientation of the curling arrows
34 changes (which it must because the projective plane is non-orientable).
35
36 The real projective plane is a model for the projective geometry in 2d
37 space. One point can be singled out as the origin. A line can be sin‐
38 gled out as the line at infinity, i.e., a line that lies at an infinite
39 distance to the origin. The line at infinity, like all lines in the
40 projective plane, is topologically a circle. Points on the line at in‐
41 finity are also used to model directions in projective geometry. The
42 origin can be visualized in different manners. When using distance
43 colors (and using static colors), the origin is the point that is dis‐
44 played as fully saturated red, which is easier to see as the center of
45 the reddish area on the projective plane. Alternatively, when using
46 distance bands, the origin is the center of the only band that projects
47 to a disk. When using direction bands, the origin is the point where
48 all direction bands collapse to a point. Finally, when orientation
49 markers are being displayed, the origin the the point where all orien‐
50 tation markers are compressed to a point. The line at infinity can
51 also be visualized in different ways. When using distance colors (and
52 using static colors), the line at infinity is the line that is dis‐
53 played as fully saturated magenta. When two-sided (and static) colors
54 are used, the line at infinity lies at the points where the red and
55 green "sides" of the projective plane meet (of course, the real projec‐
56 tive plane only has one side, so this is a design choice of the visual‐
57 ization). Alternatively, when orientation markers are being displayed,
58 the line at infinity is the place where the orientation markers change
59 their orientation.
60
61 Note that when the projective plane is displayed with bands, the orien‐
62 tation markers are placed in the middle of the bands. For distance
63 bands, the bands are chosen in such a way that the band at the origin
64 is only half as wide as the remaining bands, which results in a disk
65 being displayed at the origin that has the same diameter as the remain‐
66 ing bands. This choice, however, also implies that the band at infin‐
67 ity is half as wide as the other bands. Since the projective plane is
68 attached to itself (in a complicated fashion) at the line at infinity,
69 effectively the band at infinity is again as wide as the remaining
70 bands. However, since the orientation markers are displayed in the
71 middle of the bands, this means that only one half of the orientation
72 markers will be displayed twice at the line at infinity if distance
73 bands are used. If direction bands are used or if the projective plane
74 is displayed as a solid surface, the orientation markers are displayed
75 fully at the respective sides of the line at infinity.
76
77 The immersed projective plane can be projected to the screen either
78 perspectively or orthographically. When using the walking modes, per‐
79 spective projection to the screen will be used.
80
81 There are three display modes for the projective plane: mesh (wire‐
82 frame), solid, or transparent. Furthermore, the appearance of the pro‐
83 jective plane can be as a solid object or as a set of see-through
84 bands. The bands can be distance bands, i.e., bands that lie at in‐
85 creasing distances from the origin, or direction bands, i.e., bands
86 that lie at increasing angles with respect to the origin.
87
88 When the projective plane is displayed with direction bands, you will
89 be able to see that each direction band (modulo the "pinching" at the
90 origin) is a Moebius strip, which also shows that the projective plane
91 is non-orientable.
92
93 Finally, the colors with with the projective plane is drawn can be set
94 to one-sided, two-sided, distance, or direction. In one-sided mode,
95 the projective plane is drawn with the same color on both "sides." In
96 two-sided mode (using static colors), the projective plane is drawn
97 with red on one "side" and green on the "other side." As described
98 above, the projective plane only has one side, so the color jumps from
99 red to green along the line at infinity. This mode enables you to see
100 that the projective plane is non-orientable. If changing colors are
101 used in two-sided mode, changing complementary colors are used on the
102 respective "sides." In distance mode, the projective plane is dis‐
103 played with fully saturated colors that depend on the distance of the
104 points on the projective plane to the origin. If static colors are
105 used, the origin is displayed in red, while the line at infinity is
106 displayed in magenta. If the projective plane is displayed as distance
107 bands, each band will be displayed with a different color. In direc‐
108 tion mode, the projective plane is displayed with fully saturated col‐
109 ors that depend on the angle of the points on the projective plane with
110 respect to the origin. Angles in opposite directions to the origin
111 (e.g., 15 and 205 degrees) are displayed in the same color since they
112 are projectively equivalent. If the projective plane is displayed as
113 direction bands, each band will be displayed with a different color.
114
115 The rotation speed for each of the three coordinate axes around which
116 the projective plane rotates can be chosen.
117
118 Furthermore, in the walking mode the walking direction in the 2d base
119 square of the projective plane and the walking speed can be chosen.
120 The walking direction is measured as an angle in degrees in the 2d
121 square that forms the coordinate system of the surface of the projec‐
122 tive plane. A value of 0 or 180 means that the walk is along a circle
123 at a randomly chosen distance from the origin (parallel to a distance
124 band). A value of 90 or 270 means that the walk is directly from the
125 origin to the line at infinity and back (analogous to a direction
126 band). Any other value results in a curved path from the origin to the
127 line at infinity and back.
128
129 By default, the immersion of the real projective plane smoothly deforms
130 between the Roman and Boy surfaces. It is possible to choose the speed
131 of the deformation. Furthermore, it is possible to switch the deforma‐
132 tion off. It is also possible to determine the initial deformation of
133 the immersion. This is mostly useful if the deformation is switched
134 off, in which case it will determine the appearance of the surface.
135
136 As a final option, it is possible to display generalized versions of
137 the immersion discussed above by specifying the order of the surface.
138 The default surface order of 3 results in the immersion of the real
139 projective described above. The surface order can be chosen between 2
140 and 9. Odd surface orders result in generalized immersions of the real
141 projective plane, while even numbers result in a immersion of a topo‐
142 logical sphere (which is orientable). The most interesting even case
143 is a surface order of 2, which results in an immersion of the halfway
144 model of Morin's sphere eversion (if the deformation is switched off).
145
146 This program is inspired by François Apéry's book "Models of the Real
147 Projective Plane", Vieweg, 1987.
148
150 romanboy accepts the following options:
151
152 --window
153 Draw on a newly-created window. This is the default.
154
155 --root Draw on the root window.
156
157 --window-id number
158 Draw on the specified window.
159
160 --install
161 Install a private colormap for the window.
162
163 --visual visual
164 Specify which visual to use. Legal values are the name of a
165 visual class, or the id number (decimal or hex) of a specific
166 visual.
167
168 --delay microseconds
169 How much of a delay should be introduced between steps of the
170 animation. Default 10000, or 1/100th second.
171
172 --fps Display the current frame rate, CPU load, and polygon count.
173
174 The following four options are mutually exclusive. They determine how
175 the projective plane is displayed.
176
177 --mode random
178 Display the projective plane in a random display mode (de‐
179 fault).
180
181 --mode wireframe (Shortcut: --wireframe)
182 Display the projective plane as a wireframe mesh.
183
184 --mode surface (Shortcut: --surface)
185 Display the projective plane as a solid surface.
186
187 --mode transparent (Shortcut: --transparent)
188 Display the projective plane as a transparent surface.
189
190 The following four options are mutually exclusive. They determine the
191 appearance of the projective plane.
192
193 --appearance random
194 Display the projective plane with a random appearance (de‐
195 fault).
196
197 --appearance solid (Shortcut: --solid)
198 Display the projective plane as a solid object.
199
200 --appearance distance-bands (Shortcut: --distance-bands)
201 Display the projective plane as see-through bands that lie at
202 increasing distances from the origin.
203
204 --appearance direction-bands (Shortcut: --direction-bands)
205 Display the projective plane as see-through bands that lie at
206 increasing angles with respect to the origin.
207
208 The following four options are mutually exclusive. They determine how
209 to color the projective plane.
210
211 --colors random
212 Display the projective plane with a random color scheme (de‐
213 fault).
214
215 --colors onesided (Shortcut: --onesided-colors)
216 Display the projective plane with a single color.
217
218 --colors twosided (Shortcut: --twosided-colors)
219 Display the projective plane with two colors: one color one
220 "side" and the complementary color on the "other side." For
221 static colors, the colors are red and green. Note that the
222 line at infinity lies at the points where the red and green
223 "sides" of the projective plane meet, i.e., where the orienta‐
224 tion of the projective plane reverses.
225
226 --colors distance (Shortcut: --distance-colors)
227 Display the projective plane with fully saturated colors that
228 depend on the distance of the points on the projective plane to
229 the origin. For static colors, the origin is displayed in red,
230 while the line at infinity is displayed in magenta. If the
231 projective plane is displayed as distance bands, each band will
232 be displayed with a different color.
233
234 --colors direction (Shortcut: --direction-colors)
235 Display the projective plane with fully saturated colors that
236 depend on the angle of the points on the projective plane with
237 respect to the origin. Angles in opposite directions to the
238 origin (e.g., 15 and 205 degrees) are displayed in the same
239 color since they are projectively equivalent. If the projec‐
240 tive plane is displayed as direction bands, each band will be
241 displayed with a different color.
242
243 The following options determine whether the colors with which the pro‐
244 jective plane is displayed are static or are changing dynamically.
245
246 --change-colors
247 Change the colors with which the projective plane is displayed
248 dynamically.
249
250 --no-change-colors
251 Use static colors to display the projective plane (default).
252
253 The following three options are mutually exclusive. They determine how
254 to view the projective plane.
255
256 --view-mode random
257 View the projective plane in a random view mode (default).
258
259 --view-mode turn (Shortcut: --turn)
260 View the projective plane while it turns in 3d.
261
262 --view-mode walk (Shortcut: --walk)
263 View the projective plane as if walking on its surface.
264
265 The following options determine whether the surface is being deformed.
266
267 --deform
268 Deform the surface smoothly between the Roman and Boy surfaces
269 (default).
270
271 --no-deform
272 Don't deform the surface.
273
274 The following option determines the deformation speed.
275
276 --deformation-speed float
277 The deformation speed is measured in percent of some sensible
278 maximum speed (default: 10.0).
279
280 The following options determine the initial deformation of the surface.
281 As described above, this is mostly useful if --no-deform is specified.
282
283 --initial-deformation float
284 The initial deformation is specified as a number between 0 and
285 1000. A value of 0 corresponds to the Roman surface, while a
286 value of 1000 corresponds to the Boy surface. The default
287 value is 1000.
288
289 --roman This is a shortcut for --initial-deformation 0.
290
291 --boy This is a shortcut for --initial-deformation 1000.
292
293 The following option determines the order of the surface to be dis‐
294 played.
295
296 --surface-order number
297 The surface order can be set to values between 2 and 9 (de‐
298 fault: 3). As described above, odd surface orders result in
299 generalized immersions of the real projective plane, while even
300 numbers result in a immersion of a topological sphere.
301
302 The following options determine whether orientation marks are shown on
303 the projective plane.
304
305 --orientation-marks
306 Display orientation marks on the projective plane.
307
308 --no-orientation-marks
309 Don't display orientation marks on the projective plane (de‐
310 fault).
311
312 The following three options are mutually exclusive. They determine how
313 the projective plane is projected from 3d to 2d (i.e., to the screen).
314
315 --projection random
316 Project the projective plane from 3d to 2d using a random pro‐
317 jection mode (default).
318
319 --projection perspective (Shortcut: --perspective)
320 Project the projective plane from 3d to 2d using a perspective
321 projection.
322
323 --projection orthographic (Shortcut: --orthographic)
324 Project the projective plane from 3d to 2d using an ortho‐
325 graphic projection.
326
327 The following three options determine the rotation speed of the projec‐
328 tive plane around the three possible axes. The rotation speed is mea‐
329 sured in degrees per frame. The speeds should be set to relatively
330 small values, e.g., less than 4 in magnitude. In walk mode, all speeds
331 are ignored.
332
333 --speed-x float
334 Rotation speed around the x axis (default: 1.1).
335
336 --speed-y float
337 Rotation speed around the y axis (default: 1.3).
338
339 --speed-z float
340 Rotation speed around the z axis (default: 1.5).
341
342 The following two options determine the walking speed and direction.
343
344 --walk-direction float
345 The walking direction is measured as an angle in degrees in the
346 2d square that forms the coordinate system of the surface of
347 the projective plane (default: 83.0). A value of 0 or 180
348 means that the walk is along a circle at a randomly chosen dis‐
349 tance from the origin (parallel to a distance band). A value
350 of 90 or 270 means that the walk is directly from the origin to
351 the line at infinity and back (analogous to a direction band).
352 Any other value results in a curved path from the origin to the
353 line at infinity and back.
354
355 --walk-speed float
356 The walking speed is measured in percent of some sensible maxi‐
357 mum speed (default: 20.0).
358
360 If you run this program in standalone mode in its turn mode, you can
361 rotate the projective plane by dragging the mouse while pressing the
362 left mouse button. This rotates the projective plane in 3d. To exam‐
363 ine the projective plane at your leisure, it is best to set all speeds
364 to 0. Otherwise, the projective plane will rotate while the left mouse
365 button is not pressed. This kind of interaction is not available in
366 the walk mode.
367
369 DISPLAY to get the default host and display number.
370
371 XENVIRONMENT
372 to get the name of a resource file that overrides the global
373 resources stored in the RESOURCE_MANAGER property.
374
375 XSCREENSAVER_WINDOW
376 The window ID to use with --root.
377
379 X(1), xscreensaver(1)
380
382 Copyright © 2013-2020 by Carsten Steger. Permission to use, copy, mod‐
383 ify, distribute, and sell this software and its documentation for any
384 purpose is hereby granted without fee, provided that the above copy‐
385 right notice appear in all copies and that both that copyright notice
386 and this permission notice appear in supporting documentation. No rep‐
387 resentations are made about the suitability of this software for any
388 purpose. It is provided "as is" without express or implied warranty.
389
391 Carsten Steger <carsten@mirsanmir.org>, 06-jan-2020.
392
393
394
395X Version 11 6.08-1.fc39 (17-Oct-2023) romanboy(6x)