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

NAME

6       projectiveplane - Draws a 4d embedding of the real projective plane.
7

SYNOPSIS

9       projectiveplane  [--display  host:display.screen] [--install] [--visual
10       visual]  [--window]  [--root]  [--window-id  number]  [--delay   usecs]
11       [--fps] [--mode display-mode] [--wireframe] [--surface] [--transparent]
12       [--appearance appearance]  [--solid]  [--distance-bands]  [--direction-
13       bands]  [--colors color-scheme] [--onesided-colors] [--twosided-colors]
14       [--distance-colors]  [--direction-colors]  [--change-colors]  [--depth-
15       colors] [--view-mode view-mode] [--walk] [--turn] [--walk-turn] [--ori‐
16       entation-marks]  [--projection-3d  mode]  [--perspective-3d]  [--ortho‐
17       graphic-3d]   [--projection-4d   mode]   [--perspective-4d]   [--ortho‐
18       graphic-4d] [--speed-wx float] [--speed-wy  float]  [--speed-wz  float]
19       [--speed-xy float] [--speed-xz float] [--speed-yz float] [--walk-direc‐
20       tion float] [--walk-speed float]
21

DESCRIPTION

23       The projectiveplane program shows a 4d embedding of the real projective
24       plane.   You  can  walk  on the projective plane, see it turn in 4d, or
25       walk on it while it turns in 4d.  The fact that the surface is  an  em‐
26       bedding  of  the  real  projective plane in 4d can be seen in the depth
27       colors mode (using static colors): set all rotation speeds to 0 and the
28       projection mode to 4d orthographic projection.  In its default orienta‐
29       tion, the embedding of the real projective plane will then  project  to
30       the  Roman  surface,  which has three lines of self-intersection.  How‐
31       ever, at the three lines of self-intersection the parts of the  surface
32       that intersect have different colors, i.e., different 4d depths.
33
34       The  real  projective  plane is a non-orientable surface.  To make this
35       apparent, the two-sided color mode can be used.  Alternatively,  orien‐
36       tation  markers  (curling  arrows) can be drawn as a texture map on the
37       surface of the projective  plane.   While  walking  on  the  projective
38       plane,  you  will  notice  that  the  orientation of the curling arrows
39       changes (which it must because the projective plane is non-orientable).
40
41       The real projective plane is a model for the projective geometry in  2d
42       space.  One point can be singled out as the origin.  A line can be sin‐
43       gled out as the line at infinity, i.e., a line that lies at an infinite
44       distance  to  the  origin.  The line at infinity, like all lines in the
45       projective plane, is topologically a circle.  Points on the line at in‐
46       finity  are  also used to model directions in projective geometry.  The
47       origin can be visualized in different  manners.   When  using  distance
48       colors  (and using static colors), the origin is the point that is dis‐
49       played as fully saturated red, which is easier to see as the center  of
50       the  reddish  area  on the projective plane.  Alternatively, when using
51       distance bands, the origin is the center of the only band that projects
52       to  a  disk.  When using direction bands, the origin is the point where
53       all direction bands collapse to a  point.   Finally,  when  orientation
54       markers  are being displayed, the origin the the point where all orien‐
55       tation markers are compressed to a point.  The  line  at  infinity  can
56       also  be visualized in different ways.  When using distance colors (and
57       using static colors), the line at infinity is the  line  that  is  dis‐
58       played  as fully saturated magenta.  When two-sided (and static) colors
59       are used, the line at infinity lies at the points  where  the  red  and
60       green "sides" of the projective plane meet (of course, the real projec‐
61       tive plane only has one side, so this is a design choice of the visual‐
62       ization).  Alternatively, when orientation markers are being displayed,
63       the line at infinity is the place where the orientation markers  change
64       their orientation.
65
66       Note that when the projective plane is displayed with bands, the orien‐
67       tation markers are placed in the middle of  the  bands.   For  distance
68       bands,  the  bands are chosen in such a way that the band at the origin
69       is only half as wide as the remaining bands, which results  in  a  disk
70       being displayed at the origin that has the same diameter as the remain‐
71       ing bands.  This choice, however, also implies that the band at  infin‐
72       ity  is half as wide as the other bands.  Since the projective plane is
73       attached to itself (in a complicated fashion) at the line at  infinity,
74       effectively  the  band  at  infinity  is again as wide as the remaining
75       bands.  However, since the orientation markers  are  displayed  in  the
76       middle  of  the bands, this means that only one half of the orientation
77       markers will be displayed twice at the line  at  infinity  if  distance
78       bands are used.  If direction bands are used or if the projective plane
79       is displayed as a solid surface, the orientation markers are  displayed
80       fully at the respective sides of the line at infinity.
81
82       The  program projects the 4d projective plane to 3d using either a per‐
83       spective or an orthographic projection.  Which of the two  alternatives
84       looks  more  appealing  is up to you.  However, two famous surfaces are
85       obtained if orthographic 4d projection is used: The Roman  surface  and
86       the cross cap.  If the projective plane is rotated in 4d, the result of
87       the projection for certain rotations is a Roman surface and for certain
88       rotations it is a cross cap.  The easiest way to see this is to set all
89       rotation speeds to 0 and the rotation speed around the yz  plane  to  a
90       value  different from 0.  However, for any 4d rotation speeds, the pro‐
91       jections will generally cycle between the Roman surface and  the  cross
92       cap.   The difference is where the origin and the line at infinity will
93       lie with respect to the self-intersections in the projections to 3d.
94
95       The projected projective plane can then be projected to the screen  ei‐
96       ther  perspectively or orthographically.  When using the walking modes,
97       perspective projection to the screen will be used.
98
99       There are three display modes for the  projective  plane:  mesh  (wire‐
100       frame), solid, or transparent.  Furthermore, the appearance of the pro‐
101       jective plane can be as a solid object  or  as  a  set  of  see-through
102       bands.   The  bands  can be distance bands, i.e., bands that lie at in‐
103       creasing distances from the origin, or  direction  bands,  i.e.,  bands
104       that lie at increasing angles with respect to the origin.
105
106       When  the  projective plane is displayed with direction bands, you will
107       be able to see that each direction band (modulo the "pinching"  at  the
108       origin)  is a Moebius strip, which also shows that the projective plane
109       is non-orientable.
110
111       Finally, the colors with with the projective plane is drawn can be  set
112       to  one-sided,  two-sided, distance, direction, or depth.  In one-sided
113       mode, the projective plane  is  drawn  with  the  same  color  on  both
114       "sides."  In two-sided mode (using static colors), the projective plane
115       is drawn with red on one "side" and green on the "other side."  As  de‐
116       scribed  above,  the  projective  plane only has one side, so the color
117       jumps from red to green along the line at infinity.  This mode  enables
118       you  to  see  that the projective plane is non-orientable.  If changing
119       colors are used in two-sided mode, changing  complementary  colors  are
120       used on the respective "sides."  In distance mode, the projective plane
121       is displayed with fully saturated colors that depend on the distance of
122       the points on the projective plane to the origin.  If static colors are
123       used, the origin is displayed in red, while the  line  at  infinity  is
124       displayed in magenta.  If the projective plane is displayed as distance
125       bands, each band will be displayed with a different color.   In  direc‐
126       tion  mode, the projective plane is displayed with fully saturated col‐
127       ors that depend on the angle of the points on the projective plane with
128       respect  to  the  origin.   Angles in opposite directions to the origin
129       (e.g., 15 and 205 degrees) are displayed in the same color  since  they
130       are  projectively  equivalent.  If the projective plane is displayed as
131       direction bands, each band will be displayed with  a  different  color.
132       Finally,  in  depth  mode the projective plane is displayed with colors
133       chosen depending on the 4d "depth" (i.e.,  the  w  coordinate)  of  the
134       points  on  the  projective plane at its default orientation in 4d.  As
135       discussed above, this mode enables you to see that the projective plane
136       does not intersect itself in 4d.
137
138       The  rotation speed for each of the six planes around which the projec‐
139       tive plane rotates can be chosen.  For the walk-and-turn mode, only the
140       rotation  speeds around the true 4d planes are used (the xy, xz, and yz
141       planes).
142
143       Furthermore, in the walking modes the walking direction in the 2d  base
144       square  of  the  projective  plane and the walking speed can be chosen.
145       The walking direction is measured as an angle  in  degrees  in  the  2d
146       square  that  forms the coordinate system of the surface of the projec‐
147       tive plane.  A value of 0 or 180 means that the walk is along a  circle
148       at  a  randomly chosen distance from the origin (parallel to a distance
149       band).  A value of 90 or 270 means that the walk is directly  from  the
150       origin  to  the  line  at  infinity  and back (analogous to a direction
151       band).  Any other value results in a curved path from the origin to the
152       line at infinity and back.
153
154       This program is somewhat inspired by Thomas Banchoff's book "Beyond the
155       Third Dimension: Geometry, Computer Graphics, and  Higher  Dimensions",
156       Scientific American Library, 1990.
157

OPTIONS

159       projectiveplane accepts the following options:
160
161       --window
162               Draw on a newly-created window.  This is the default.
163
164       --root  Draw on the root window.
165
166       --window-id number
167               Draw on the specified window.
168
169       --install
170               Install a private colormap for the window.
171
172       --visual visual
173               Specify  which  visual  to use.  Legal values are the name of a
174               visual class, or the id number (decimal or hex) of  a  specific
175               visual.
176
177       --delay microseconds
178               How  much  of a delay should be introduced between steps of the
179               animation.  Default 10000, or 1/100th second.
180
181       --fps   Display the current frame rate, CPU load, and polygon count.
182
183       The following four options are mutually exclusive.  They determine  how
184       the projective plane is displayed.
185
186       --mode random
187               Display  the  projective  plane  in  a random display mode (de‐
188               fault).
189
190       --mode wireframe (Shortcut: --wireframe)
191               Display the projective plane as a wireframe mesh.
192
193       --mode surface (Shortcut: --surface)
194               Display the projective plane as a solid surface.
195
196       --mode transparent (Shortcut: --transparent)
197               Display the projective plane as a transparent surface.
198
199       The following three options are mutually exclusive.  They determine the
200       appearance of the projective plane.
201
202       --appearance random
203               Display  the  projective  plane  with  a random appearance (de‐
204               fault).
205
206       --appearance solid (Shortcut: --solid)
207               Display the projective plane as a solid object.
208
209       --appearance distance-bands (Shortcut: --distance-bands)
210               Display the projective plane as see-through bands that  lie  at
211               increasing distances from the origin.
212
213       --appearance direction-bands (Shortcut: --direction-bands)
214               Display  the  projective plane as see-through bands that lie at
215               increasing angles with respect to the origin.
216
217       The following four options are mutually exclusive.  They determine  how
218       to color the projective plane.
219
220       --colors random
221               Display  the  projective  plane with a random color scheme (de‐
222               fault).
223
224       --colors onesided (Shortcut: --onesided-colors)
225               Display the projective plane with a single color.
226
227       --colors twosided (Shortcut: --twosided-colors)
228               Display the projective plane with two  colors:  one  color  one
229               "side"  and  the  complementary color on the "other side."  For
230               static colors, the colors are red and  green.   Note  that  the
231               line  at  infinity  lies  at the points where the red and green
232               "sides" of the projective plane meet, i.e., where the  orienta‐
233               tion of the projective plane reverses.
234
235       --colors distance (Shortcut: --distance-colors)
236               Display  the  projective plane with fully saturated colors that
237               depend on the distance of the points on the projective plane to
238               the origin.  For static colors, the origin is displayed in red,
239               while the line at infinity is displayed  in  magenta.   If  the
240               projective plane is displayed as distance bands, each band will
241               be displayed with a different color.
242
243       --colors direction (Shortcut: --direction-colors)
244               Display the projective plane with fully saturated  colors  that
245               depend  on the angle of the points on the projective plane with
246               respect to the origin.  Angles in opposite  directions  to  the
247               origin  (e.g.,  15  and  205 degrees) are displayed in the same
248               color since they are projectively equivalent.  If  the  projec‐
249               tive  plane  is displayed as direction bands, each band will be
250               displayed with a different color.
251
252       --colors depth (Shortcut: --depth)
253               Display the projective plane with colors  chosen  depending  on
254               the  4d  "depth"  (i.e., the w coordinate) of the points on the
255               projective plane at its default orientation in 4d.
256
257       The following options determine whether the colors with which the  pro‐
258       jective plane is displayed are static or are changing dynamically.
259
260       --change-colors
261               Change  the colors with which the projective plane is displayed
262               dynamically.
263
264       --no-change-colors
265               Use static colors to display the projective plane (default).
266
267       The following four options are mutually exclusive.  They determine  how
268       to view the projective plane.
269
270       --view-mode random
271               View the projective plane in a random view mode (default).
272
273       --view-mode turn (Shortcut: --turn)
274               View the projective plane while it turns in 4d.
275
276       --view-mode walk (Shortcut: --walk)
277               View the projective plane as if walking on its surface.
278
279       --view-mode walk-turn (Shortcut: --walk-turn)
280               View  the projective plane as if walking on its surface.  Addi‐
281               tionally, the projective plane turns around the true 4d  planes
282               (the xy, xz, and yz planes).
283
284       The  following options determine whether orientation marks are shown on
285       the projective plane.
286
287       --orientation-marks
288               Display orientation marks on the projective plane.
289
290       --no-orientation-marks
291               Don't display orientation marks on the  projective  plane  (de‐
292               fault).
293
294       The following three options are mutually exclusive.  They determine how
295       the projective plane is projected from 3d to 2d (i.e., to the screen).
296
297       --projection-3d random
298               Project the projective plane from 3d to 2d using a random  pro‐
299               jection mode (default).
300
301       --projection-3d perspective (Shortcut: --perspective-3d)
302               Project  the projective plane from 3d to 2d using a perspective
303               projection.
304
305       --projection-3d orthographic (Shortcut: --orthographic-3d)
306               Project the projective plane from 3d  to  2d  using  an  ortho‐
307               graphic projection.
308
309       The following three options are mutually exclusive.  They determine how
310       the projective plane is projected from 4d to 3d.
311
312       --projection-4d random
313               Project the projective plane from 4d to 3d using a random  pro‐
314               jection mode (default).
315
316       --projection-4d perspective (Shortcut: --perspective-4d)
317               Project  the projective plane from 4d to 3d using a perspective
318               projection.
319
320       --projection-4d orthographic (Shortcut: --orthographic-4d)
321               Project the projective plane from 4d  to  3d  using  an  ortho‐
322               graphic projection.
323
324       The  following  six options determine the rotation speed of the projec‐
325       tive plane around the six possible hyperplanes.  The rotation speed  is
326       measured  in degrees per frame.  The speeds should be set to relatively
327       small values, e.g., less than 4 in magnitude.  In walk mode, all speeds
328       are ignored.  In walk-and-turn mode, the 3d rotation speeds are ignored
329       (i.e., the wx, wy, and wz  speeds).   In  walk-and-turn  mode,  smaller
330       speeds  must be used than in the turn mode to achieve a nice visualiza‐
331       tion.  Therefore, in walk-and-turn mode the speeds  you  have  selected
332       are divided by 5 internally.
333
334       --speed-wx float
335               Rotation speed around the wx plane (default: 1.1).
336
337       --speed-wy float
338               Rotation speed around the wy plane (default: 1.3).
339
340       --speed-wz float
341               Rotation speed around the wz plane (default: 1.5).
342
343       --speed-xy float
344               Rotation speed around the xy plane (default: 1.7).
345
346       --speed-xz float
347               Rotation speed around the xz plane (default: 1.9).
348
349       --speed-yz float
350               Rotation speed around the yz plane (default: 2.1).
351
352       The following two options determine the walking speed and direction.
353
354       --walk-direction float
355               The walking direction is measured as an angle in degrees in the
356               2d square that forms the coordinate system of  the  surface  of
357               the  projective  plane  (default:  83.0).   A value of 0 or 180
358               means that the walk is along a circle at a randomly chosen dis‐
359               tance  from  the origin (parallel to a distance band).  A value
360               of 90 or 270 means that the walk is directly from the origin to
361               the  line at infinity and back (analogous to a direction band).
362               Any other value results in a curved path from the origin to the
363               line at infinity and back.
364
365       --walk-speed float
366               The walking speed is measured in percent of some sensible maxi‐
367               mum speed (default: 20.0).
368

INTERACTION

370       If you run this program in standalone mode in its turn  mode,  you  can
371       rotate  the  projective  plane by dragging the mouse while pressing the
372       left mouse button.  This rotates the  projective  plane  in  3D,  i.e.,
373       around  the  wx,  wy,  and wz planes.  If you press the shift key while
374       dragging the mouse with the left button pressed the projective plane is
375       rotated  in 4D, i.e., around the xy, xz, and yz planes.  To examine the
376       projective plane at your leisure, it is best to set all  speeds  to  0.
377       Otherwise, the projective plane will rotate while the left mouse button
378       is not pressed.  This kind of interaction is not available in  the  two
379       walk modes.
380

ENVIRONMENT

382       DISPLAY to get the default host and display number.
383
384       XENVIRONMENT
385               to  get  the  name of a resource file that overrides the global
386               resources stored in the RESOURCE_MANAGER property.
387
388       XSCREENSAVER_WINDOW
389               The window ID to use with --root.
390

SEE ALSO

392       X(1), xscreensaver(1)
393
395       Copyright © 2013-2020 by Carsten Steger.  Permission to use, copy, mod‐
396       ify,  distribute,  and sell this software and its documentation for any
397       purpose is hereby granted without fee, provided that  the  above  copy‐
398       right  notice  appear in all copies and that both that copyright notice
399       and this permission notice appear in supporting documentation.  No rep‐
400       resentations  are  made  about the suitability of this software for any
401       purpose.  It is provided "as is" without express or implied warranty.
402

AUTHOR

404       Carsten Steger <carsten@mirsanmir.org>, 06-jan-2020.
405
406
407
408X Version 11               6.08-1.fc39 (17-Oct-2023)       projectiveplane(6x)
Impressum