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