1romanboy(6x)                  XScreenSaver manual                 romanboy(6x)
2
3
4

NAME

6       romanboy  -  Draws  a  3d  immersion  of the real projective plane that
7       smoothly deforms between the Roman surface and the Boy surface.
8

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

INTERACTION

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

ENVIRONMENT

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

SEE ALSO

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

AUTHOR

382       Carsten Steger <carsten@mirsanmir.org>, 06-jan-2020.
383
384
385
386X Version 11               6.02-4.fc35 (09-Nov-2021)              romanboy(6x)
Impressum