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