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 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
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
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
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
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
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
396 Carsten Steger <carsten@mirsanmir.org>, 06-jan-2020.
397
398
399
400X Version 11 6.04-1.fc36 (06-Jun-2022) projectiveplane(6x)