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 [-twosided-colors] [-distance-colors] [-direction-colors] [-depth-col‐
14 ors] [-view-mode view-mode] [-walk] [-turn] [-walk-turn] [-orientation-
15 marks] [-projection-3d mode] [-perspective-3d] [-orthographic-3d]
16 [-projection-4d mode] [-perspective-4d] [-orthographic-4d] [-speed-wx
17 float] [-speed-wy float] [-speed-wz float] [-speed-xy float] [-speed-xz
18 float] [-speed-yz float] [-walk-direction float] [-walk-speed float]
19
21 The projectiveplane program shows a 4d embedding of the real projective
22 plane. You can walk on the projective plane, see it turn in 4d, or
23 walk on it while it turns in 4d. The fact that the surface is an
24 embedding of the real projective plane in 4d can be seen in the depth
25 colors mode: set all rotation speeds to 0 and the projection mode to 4d
26 orthographic projection. In its default orientation, the embedding of
27 the real projective plane will then project to the Roman surface, which
28 has three lines of self-intersection. However, at the three lines of
29 self-intersection the parts of the surface that intersect have differ‐
30 ent colors, i.e., different 4d depths.
31
32 The real projective plane is a non-orientable surface. To make this
33 apparent, the two-sided color mode can be used. Alternatively, orien‐
34 tation markers (curling arrows) can be drawn as a texture map on the
35 surface of the projective plane. While walking on the projective
36 plane, you will notice that the orientation of the curling arrows
37 changes (which it must because the projective plane is non-orientable).
38
39 The real projective plane is a model for the projective geometry in 2d
40 space. One point can be singled out as the origin. A line can be sin‐
41 gled out as the line at infinity, i.e., a line that lies at an infinite
42 distance to the origin. The line at infinity is topologically a cir‐
43 cle. Points on the line at infinity are also used to model directions
44 in projective geometry. The origin can be visualized in different man‐
45 ners. When using distance colors, the origin is the point that is dis‐
46 played as fully saturated red, which is easier to see as the center of
47 the reddish area on the projective plane. Alternatively, when using
48 distance bands, the origin is the center of the only band that projects
49 to a disk. When using direction bands, the origin is the point where
50 all direction bands collapse to a point. Finally, when orientation
51 markers are being displayed, the origin the the point where all orien‐
52 tation markers are compressed to a point. The line at infinity can
53 also be visualized in different ways. When using distance colors, the
54 line at infinity is the line that is displayed as fully saturated
55 magenta. When two-sided colors are used, the line at infinity lies at
56 the points where the red and green "sides" of the projective plane meet
57 (of course, the real projective plane only has one side, so this is a
58 design choice of the visualization). Alternatively, when orientation
59 markers are being displayed, the line at infinity is the place where
60 the orientation markers change their orientation.
61
62 Note that when the projective plane is displayed with bands, the orien‐
63 tation markers are placed in the middle of the bands. For distance
64 bands, the bands are chosen in such a way that the band at the origin
65 is only half as wide as the remaining bands, which results in a disk
66 being displayed at the origin that has the same diameter as the remain‐
67 ing bands. This choice, however, also implies that the band at infin‐
68 ity is half as wide as the other bands. Since the projective plane is
69 attached to itself (in a complicated fashion) at the line at infinity,
70 effectively the band at infinity is again as wide as the remaining
71 bands. However, since the orientation markers are displayed in the
72 middle of the bands, this means that only one half of the orientation
73 markers will be displayed twice at the line at infinity if distance
74 bands are used. If direction bands are used or if the projective plane
75 is displayed as a solid surface, the orientation markers are displayed
76 fully at the respective sides of the line at infinity.
77
78 The program projects the 4d projective plane to 3d using either a per‐
79 spective or an orthographic projection. Which of the two alternatives
80 looks more appealing is up to you. However, two famous surfaces are
81 obtained if orthographic 4d projection is used: The Roman surface and
82 the cross cap. If the projective plane is rotated in 4d, the result of
83 the projection for certain rotations is a Roman surface and for certain
84 rotations it is a cross cap. The easiest way to see this is to set all
85 rotation speeds to 0 and the rotation speed around the yz plane to a
86 value different from 0. However, for any 4d rotation speeds, the pro‐
87 jections will generally cycle between the Roman surface and the cross
88 cap. The difference is where the origin and the line at infinity will
89 lie with respect to the self-intersections in the projections to 3d.
90
91 The projected projective plane can then be projected to the screen
92 either perspectively or orthographically. When using the walking
93 modes, perspective projection to the screen will be used.
94
95 There are three display modes for the projective plane: mesh (wire‐
96 frame), solid, or transparent. Furthermore, the appearance of the pro‐
97 jective plane can be as a solid object or as a set of see-through
98 bands. The bands can be distance bands, i.e., bands that lie at
99 increasing distances from the origin, or direction bands, i.e., bands
100 that lie at increasing angles with respect to the origin.
101
102 When the projective plane is displayed with direction bands, you will
103 be able to see that each direction band (modulo the "pinching" at the
104 origin) is a Moebius strip, which also shows that the projective plane
105 is non-orientable.
106
107 Finally, the colors with with the projective plane is drawn can be set
108 to two-sided, distance, direction, or depth. In two-sided mode, the
109 projective plane is drawn with red on one "side" and green on the
110 "other side". As described above, the projective plane only has one
111 side, so the color jumps from red to green along the line at infinity.
112 This mode enables you to see that the projective plane is non-ori‐
113 entable. In distance mode, the projective plane is displayed with
114 fully saturated colors that depend on the distance of the points on the
115 projective plane to the origin. The origin is displayed in red, the
116 line at infinity is displayed in magenta. If the projective plane is
117 displayed as distance bands, each band will be displayed with a differ‐
118 ent color. In direction mode, the projective plane is displayed with
119 fully saturated colors that depend on the angle of the points on the
120 projective plane with respect to the origin. Angles in opposite direc‐
121 tions to the origin (e.g., 15 and 205 degrees) are displayed in the
122 same color since they are projectively equivalent. If the projective
123 plane is displayed as direction bands, each band will be displayed with
124 a different color. Finally, in depth mode the projective plane with
125 colors chosen depending on the 4d "depth" (i.e., the w coordinate) of
126 the points on the projective plane at its default orientation in 4d.
127 As discussed above, this mode enables you to see that the projective
128 plane does not intersect itself in 4d.
129
130 The rotation speed for each of the six planes around which the projec‐
131 tive plane rotates can be chosen. For the walk-and-turn mode, only the
132 rotation speeds around the true 4d planes are used (the xy, xz, and yz
133 planes).
134
135 Furthermore, in the walking modes the walking direction in the 2d base
136 square of the projective plane and the walking speed can be chosen.
137 The walking direction is measured as an angle in degrees in the 2d
138 square that forms the coordinate system of the surface of the projec‐
139 tive plane. A value of 0 or 180 means that the walk is along a circle
140 at a randomly chosen distance from the origin (parallel to a distance
141 band). A value of 90 or 270 means that the walk is directly from the
142 origin to the line at infinity and back (analogous to a direction
143 band). Any other value results in a curved path from the origin to the
144 line at infinity and back.
145
146 This program is somewhat inspired by Thomas Banchoff's book "Beyond the
147 Third Dimension: Geometry, Computer Graphics, and Higher Dimensions",
148 Scientific American Library, 1990.
149
151 projectiveplane accepts the following options:
152
153 -window Draw on a newly-created window. This is the default.
154
155 -root Draw on the root window.
156
157 -install
158 Install a private colormap for the window.
159
160 -visual visual
161 Specify which visual to use. Legal values are the name of a
162 visual class, or the id number (decimal or hex) of a specific
163 visual.
164
165 -delay microseconds
166 How much of a delay should be introduced between steps of the
167 animation. Default 10000, or 1/100th second.
168
169 -fps Display the current frame rate, CPU load, and polygon count.
170
171 The following four options are mutually exclusive. They determine how
172 the projective plane is displayed.
173
174 -mode random
175 Display the projective plane in a random display mode
176 (default).
177
178 -mode wireframe (Shortcut: -wireframe)
179 Display the projective plane as a wireframe mesh.
180
181 -mode surface (Shortcut: -surface)
182 Display the projective plane as a solid surface.
183
184 -mode transparent (Shortcut: -transparent)
185 Display the projective plane as a transparent surface.
186
187 The following three options are mutually exclusive. They determine the
188 appearance of the projective plane.
189
190 -appearance random
191 Display the projective plane with a random appearance
192 (default).
193
194 -appearance solid (Shortcut: -solid)
195 Display the projective plane as a solid object.
196
197 -appearance distance-bands (Shortcut: -distance-bands)
198 Display the projective plane as see-through bands that lie at
199 increasing distances from the origin.
200
201 -appearance direction-bands (Shortcut: -direction-bands)
202 Display the projective plane as see-through bands that lie at
203 increasing angles with respect to the origin.
204
205 The following four options are mutually exclusive. They determine how
206 to color the projective plane.
207
208 -colors random
209 Display the projective plane with a random color scheme
210 (default).
211
212 -colors twosided (Shortcut: -twosided-colors)
213 Display the projective plane with two colors: red on one "side"
214 and green on the "other side." Note that the line at infinity
215 lies at the points where the red and green "sides" of the pro‐
216 jective plane meet, i.e., where the orientation of the projec‐
217 tive plane reverses.
218
219 -colors distance (Shortcut: -distance-colors)
220 Display the projective plane with fully saturated colors that
221 depend on the distance of the points on the projective plane to
222 the origin. The origin is displayed in red, the line at infin‐
223 ity is displayed in magenta. If the projective plane is dis‐
224 played as distance bands, each band will be displayed with a
225 different color.
226
227 -colors direction (Shortcut: -direction-colors)
228 Display the projective plane with fully saturated colors that
229 depend on the angle of the points on the projective plane with
230 respect to the origin. Angles in opposite directions to the
231 origin (e.g., 15 and 205 degrees) are displayed in the same
232 color since they are projectively equivalent. If the projec‐
233 tive plane is displayed as direction bands, each band will be
234 displayed with a different color.
235
236 -colors depth (Shortcut: -depth)
237 Display the projective plane with colors chosen depending on
238 the 4d "depth" (i.e., the w coordinate) of the points on the
239 projective plane at its default orientation in 4d.
240
241 The following four options are mutually exclusive. They determine how
242 to view the projective plane.
243
244 -view-mode random
245 View the projective plane in a random view mode (default).
246
247 -view-mode turn (Shortcut: -turn)
248 View the projective plane while it turns in 4d.
249
250 -view-mode walk (Shortcut: -walk)
251 View the projective plane as if walking on its surface.
252
253 -view-mode walk-turn (Shortcut: -walk-turn)
254 View the projective plane as if walking on its surface. Addi‐
255 tionally, the projective plane turns around the true 4d planes
256 (the xy, xz, and yz planes).
257
258 The following options determine whether orientation marks are shown on
259 the projective plane.
260
261 -orientation-marks
262 Display orientation marks on the projective plane.
263
264 -no-orientation-marks
265 Don't display orientation marks on the projective plane
266 (default).
267
268 The following three options are mutually exclusive. They determine how
269 the projective plane is projected from 3d to 2d (i.e., to the screen).
270
271 -projection-3d random
272 Project the projective plane from 3d to 2d using a random pro‐
273 jection mode (default).
274
275 -projection-3d perspective (Shortcut: -perspective-3d)
276 Project the projective plane from 3d to 2d using a perspective
277 projection.
278
279 -projection-3d orthographic (Shortcut: -orthographic-3d)
280 Project the projective plane from 3d to 2d using an ortho‐
281 graphic projection.
282
283 The following three options are mutually exclusive. They determine how
284 the projective plane is projected from 4d to 3d.
285
286 -projection-4d random
287 Project the projective plane from 4d to 3d using a random pro‐
288 jection mode (default).
289
290 -projection-4d perspective (Shortcut: -perspective-4d)
291 Project the projective plane from 4d to 3d using a perspective
292 projection.
293
294 -projection-4d orthographic (Shortcut: -orthographic-4d)
295 Project the projective plane from 4d to 3d using an ortho‐
296 graphic projection.
297
298 The following six options determine the rotation speed of the projec‐
299 tive plane around the six possible hyperplanes. The rotation speed is
300 measured in degrees per frame. The speeds should be set to relatively
301 small values, e.g., less than 4 in magnitude. In walk mode, all speeds
302 are ignored. In walk-and-turn mode, the 3d rotation speeds are ignored
303 (i.e., the wx, wy, and wz speeds). In walk-and-turn mode, smaller
304 speeds must be used than in the turn mode to achieve a nice visualiza‐
305 tion. Therefore, in walk-and-turn mode the speeds you have selected
306 are divided by 5 internally.
307
308 -speed-wx float
309 Rotation speed around the wx plane (default: 1.1).
310
311 -speed-wy float
312 Rotation speed around the wy plane (default: 1.3).
313
314 -speed-wz float
315 Rotation speed around the wz plane (default: 1.5).
316
317 -speed-xy float
318 Rotation speed around the xy plane (default: 1.7).
319
320 -speed-xz float
321 Rotation speed around the xz plane (default: 1.9).
322
323 -speed-yz float
324 Rotation speed around the yz plane (default: 2.1).
325
326 The following two options determine the walking speed and direction.
327
328 -walk-direction float
329 The walking direction is measured as an angle in degrees in the
330 2d square that forms the coordinate system of the surface of
331 the projective plane (default: 83.0). A value of 0 or 180
332 means that the walk is along a circle at a randomly chosen dis‐
333 tance from the origin (parallel to a distance band). A value
334 of 90 or 270 means that the walk is directly from the origin to
335 the line at infinity and back (analogous to a direction band).
336 Any other value results in a curved path from the origin to the
337 line at infinity and back.
338
339 -walk-speed float
340 The walking speed is measured in percent of some sensible maxi‐
341 mum speed (default: 20.0).
342
344 If you run this program in standalone mode in its turn mode, you can
345 rotate the projective plane by dragging the mouse while pressing the
346 left mouse button. This rotates the projective plane in 3D, i.e.,
347 around the wx, wy, and wz planes. If you press the shift key while
348 dragging the mouse with the left button pressed the projective plane is
349 rotated in 4D, i.e., around the xy, xz, and yz planes. To examine the
350 projective plane at your leisure, it is best to set all speeds to 0.
351 Otherwise, the projective plane will rotate while the left mouse button
352 is not pressed. This kind of interaction is not available in the two
353 walk modes.
354
356 DISPLAY to get the default host and display number.
357
358 XENVIRONMENT
359 to get the name of a resource file that overrides the global
360 resources stored in the RESOURCE_MANAGER property.
361
363 X(1), xscreensaver(1)
364
366 Copyright © 2005-2014 by Carsten Steger. Permission to use, copy, mod‐
367 ify, distribute, and sell this software and its documentation for any
368 purpose is hereby granted without fee, provided that the above copy‐
369 right notice appear in all copies and that both that copyright notice
370 and this permission notice appear in supporting documentation. No rep‐
371 resentations are made about the suitability of this software for any
372 purpose. It is provided "as is" without express or implied warranty.
373
375 Carsten Steger <carsten@mirsanmir.org>, 03-oct-2014.
376
377
378
379X Version 11 5.43-2.fc31 (27-Aug-2019) projectiveplane(6x)