1projectiveplane(6x) XScreenSaver manual projectiveplane(6x)
2
3
4
6 projectiveplane - Draws a 4d embedding of the real projective plane.
7
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
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
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
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
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
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
404 Carsten Steger <carsten@mirsanmir.org>, 06-jan-2020.
405
406
407
408X Version 11 6.08-1.fc39 (17-Oct-2023) projectiveplane(6x)