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 vis‐
10       ual] [-window]  [-root]  [-delay  usecs]  [-fps]  [-mode  display-mode]
11       [-wireframe]   [-surface]   [-transparent]   [-appearance   appearance]
12       [-solid] [-distance-bands]  [-direction-bands]  [-colors  color-scheme]
13       [-onesided-colors]  [-twosided-colors]  [-distance-colors] [-direction-
14       colors] [-change-colors] [-depth-colors] [-view-mode view-mode] [-walk]
15       [-turn]  [-walk-turn] [-orientation-marks] [-projection-3d mode] [-per‐
16       spective-3d] [-orthographic-3d] [-projection-4d mode] [-perspective-4d]
17       [-orthographic-4d]   [-speed-wx  float]  [-speed-wy  float]  [-speed-wz
18       float] [-speed-xy float] [-speed-xz float] [-speed-yz float] [-walk-di‐
19       rection float] [-walk-speed float]
20

DESCRIPTION

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

OPTIONS

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

INTERACTION

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

ENVIRONMENT

377       DISPLAY to get the default host and display number.
378
379       XENVIRONMENT
380               to get the name of a resource file that  overrides  the  global
381               resources stored in the RESOURCE_MANAGER property.
382

SEE ALSO

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

AUTHOR

396       Carsten Steger <carsten@mirsanmir.org>, 06-jan-2020.
397
398
399
400X Version 11               6.02-4.fc35 (09-Nov-2021)       projectiveplane(6x)
Impressum