1klein(6x) XScreenSaver manual klein(6x)
2
3
4
6 klein - Draws a 4d Klein bottle.
7
9 klein [--display host:display.screen] [--install] [--visual visual]
10 [--window] [--root] [--window-id number] [--delay usecs] [--fps]
11 [--klein-bottle bottle-name] [-figure-8] [-pinched-torus] [-lawson]
12 [--mode display-mode] [--wireframe] [--surface] [--transparent] [--ap‐
13 pearance appearance] [--solid] [--bands] [--colors color-scheme]
14 [--onesided] [--twosided] [--rainbow] [--depth] [--change-colors]
15 [--view-mode view-mode] [--walk] [--turn] [--walk-turn] [--orientation-
16 marks] [--projection-3d mode] [--perspective-3d] [--orthographic-3d]
17 [--projection-4d mode] [--perspective-4d] [--orthographic-4d] [--speed-
18 wx float] [--speed-wy float] [--speed-wz float] [--speed-xy float]
19 [--speed-xz float] [--speed-yz float] [--walk-direction float] [--walk-
20 speed float]
21
23 The klein program shows three different Klein bottles in 4d: the fig‐
24 ure-8 Klein bottle, the pinched torus Klein bottle, or the Lawson Klein
25 bottle. You can walk on the Klein bottle, see it turn in 4d, or walk
26 on it while it turns in 4d. The figure-8 Klein bottle is well known in
27 its 3d form. The 4d form used in this program is an extension of the
28 3d form to 4d that does not intersect itself in 4d (which can be seen
29 in the depth colors mode when using static colors). The pinched torus
30 Klein bottle also does not intersect itself in 4d (which can be seen in
31 the depth colors mode when using static colors). The Lawson Klein bot‐
32 tle, on the other hand, does intersect itself in 4d. Its primary use
33 is that it has a nice appearance for walking and for turning in 3d.
34
35 The Klein bottle is a non-orientable surface. To make this apparent,
36 the two-sided color mode can be used. Alternatively, orientation mark‐
37 ers (curling arrows) can be drawn as a texture map on the surface of
38 the Klein bottle. While walking on the Klein bottle, you will notice
39 that the orientation of the curling arrows changes (which it must be‐
40 cause the Klein bottle is non-orientable).
41
42 The program projects the 4d Klein bottle to 3d using either a perspec‐
43 tive or an orthographic projection. Which of the two alternatives
44 looks more appealing depends on the viewing mode and the Klein bottle.
45 For example, the Lawson Klein bottle looks nicest when projected per‐
46 spectively. The figure-8 Klein bottle, on the other hand, looks nicer
47 while walking when projected orthographically from 4d. For the pinched
48 torus Klein bottle, both projection modes give equally acceptable pro‐
49 jections.
50
51 The projected Klein bottle can then be projected to the screen either
52 perspectively or orthographically. When using the walking modes, per‐
53 spective projection to the screen should be used.
54
55 There are three display modes for the Klein bottle: mesh (wireframe),
56 solid, or transparent. Furthermore, the appearance of the Klein bottle
57 can be as a solid object or as a set of see-through bands. Finally,
58 the colors with with the Klein bottle is drawn can be set to one-sided,
59 two-sided, rainbow, or depth. In one-sided mode, the Klein bottle is
60 drawn with the same color on both "sides." In two-sided mode (using
61 static colors), the Klein bottle is drawn with red on one "side" and
62 green on the "other side." Of course, the Klein bottle only has one
63 side, so the color jumps from red to green along a curve on the surface
64 of the Klein bottle. This mode enables you to see that the Klein bot‐
65 tle is non-orientable. If changing colors are used in two-sided mode,
66 changing complementary colors are used on the respective "sides." The
67 rainbow color mode (using static colors) draws the Klein bottle with a
68 color wheel of fully saturated rainbow colors. If changing colors are
69 used, the color wheel's colors change dynamically. The rainbow color
70 mode gives a very nice effect when combined with the see-through bands
71 mode or with the orientation markers drawn. The depth color mode draws
72 the Klein bottle with colors that are chosen according to the 4d
73 "depth" of the points. If static colors are used, this mode enables
74 you to see that the figure-8 and pinched torus Klein bottles do not in‐
75 tersect themselves in 4d, while the Lawson Klein bottle does intersect
76 itself.
77
78 The rotation speed for each of the six planes around which the Klein
79 bottle rotates can be chosen. For the walk-and-turn mode, only the ro‐
80 tation speeds around the true 4d planes are used (the xy, xz, and yz
81 planes).
82
83 Furthermore, in the walking modes the walking direction in the 2d base
84 square of the Klein bottle and the walking speed can be chosen.
85
86 This program is somewhat inspired by Thomas Banchoff's book "Beyond the
87 Third Dimension: Geometry, Computer Graphics, and Higher Dimensions",
88 Scientific American Library, 1990.
89
91 klein accepts the following options:
92
93 --window
94 Draw on a newly-created window. This is the default.
95
96 --root Draw on the root window.
97
98 --window-id number
99 Draw on the specified window.
100
101 --install
102 Install a private colormap for the window.
103
104 --visual visual
105 Specify which visual to use. Legal values are the name of a
106 visual class, or the id number (decimal or hex) of a specific
107 visual.
108
109 --delay microseconds
110 How much of a delay should be introduced between steps of the
111 animation. Default 10000, or 1/100th second.
112
113 --fps Display the current frame rate, CPU load, and polygon count.
114
115 The following three options are mutually exclusive. They determine
116 which Klein bottle is displayed.
117
118 --klein-bottle random
119 Display a random Klein bottle (default).
120
121 --klein-bottle figure-8 (Shortcut: --figure-8)
122 Display the figure-8 Klein bottle.
123
124 --klein-bottle pinched-torus (Shortcut: --pinched-torus)
125 Display the pinched torus Klein bottle.
126
127 --klein-bottle lawson (Shortcut: --lawson)
128 Display the Lawson Klein bottle.
129
130 The following four options are mutually exclusive. They determine how
131 the Klein bottle is displayed.
132
133 --mode random
134 Display the Klein bottle in a random display mode (default).
135
136 --mode wireframe (Shortcut: --wireframe)
137 Display the Klein bottle as a wireframe mesh.
138
139 --mode surface (Shortcut: --surface)
140 Display the Klein bottle as a solid surface.
141
142 --mode transparent (Shortcut: --transparent)
143 Display the Klein bottle as a transparent surface.
144
145 The following three options are mutually exclusive. They determine the
146 appearance of the Klein bottle.
147
148 --appearance random
149 Display the Klein bottle with a random appearance (default).
150
151 --appearance solid (Shortcut: --solid)
152 Display the Klein bottle as a solid object.
153
154 --appearance bands (Shortcut: --bands)
155 Display the Klein bottle as see-through bands.
156
157 The following five options are mutually exclusive. They determine how
158 to color the Klein bottle.
159
160 --colors random
161 Display the Klein bottle with a random color scheme (default).
162
163 --colors one-sided (Shortcut: --onesided)
164 Display the Klein bottle with a single color.
165
166 --colors two-sided (Shortcut: --twosided)
167 Display the Klein bottle with two colors: one color one "side"
168 and the complementary color on the "other side." For static
169 colors, the colors are red and green.
170
171 --colors rainbow (Shortcut: --rainbow)
172 Display the Klein bottle with fully saturated rainbow colors.
173 If the Klein bottle is displayed as see-through bands, each
174 band will be displayed with a different color.
175
176 --colors depth (Shortcut: --depth)
177 Display the Klein bottle with colors chosen depending on the 4d
178 "depth" of the points.
179
180 The following options determine whether the colors with which the Klein
181 bottle is displayed are static or are changing dynamically.
182
183 --change-colors
184 Change the colors with which the Klein bottle is displayed dy‐
185 namically.
186
187 --no-change-colors
188 Use static colors to display the Klein bottle (default).
189
190 The following four options are mutually exclusive. They determine how
191 to view the Klein bottle.
192
193 --view-mode random
194 View the Klein bottle in a random view mode (default).
195
196 --view-mode walk (Shortcut: --walk)
197 View the Klein bottle as if walking on its surface.
198
199 --view-mode turn (Shortcut: --turn)
200 View the Klein bottle while it turns in 4d.
201
202 --view-mode walk-turn (Shortcut: --walk-turn)
203 View the Klein bottle as if walking on its surface. Addition‐
204 ally, the Klein bottle turns around the true 4d planes (the xy,
205 xz, and yz planes).
206
207 The following options determine whether orientation marks are shown on
208 the Klein bottle.
209
210 --orientation-marks
211 Display orientation marks on the Klein bottle.
212
213 --no-orientation-marks
214 Don't display orientation marks on the Klein bottle (default).
215
216 The following three options are mutually exclusive. They determine how
217 the Klein bottle is projected from 3d to 2d (i.e., to the screen).
218
219 --projection-3d random
220 Project the Klein bottle from 3d to 2d using a random projec‐
221 tion mode (default).
222
223 --projection-3d perspective (Shortcut: --perspective-3d)
224 Project the Klein bottle from 3d to 2d using a perspective pro‐
225 jection.
226
227 --projection-3d orthographic (Shortcut: --orthographic-3d)
228 Project the Klein bottle from 3d to 2d using an orthographic
229 projection.
230
231 The following three options are mutually exclusive. They determine how
232 the Klein bottle is projected from 4d to 3d.
233
234 --projection-4d random
235 Project the Klein bottle from 4d to 3d using a random projec‐
236 tion mode (default).
237
238 --projection-4d perspective (Shortcut: --perspective-4d)
239 Project the Klein bottle from 4d to 3d using a perspective pro‐
240 jection.
241
242 --projection-4d orthographic (Shortcut: --orthographic-4d)
243 Project the Klein bottle from 4d to 3d using an orthographic
244 projection.
245
246 The following six options determine the rotation speed of the Klein
247 bottle around the six possible hyperplanes. The rotation speed is mea‐
248 sured in degrees per frame. The speeds should be set to relatively
249 small values, e.g., less than 4 in magnitude. In walk mode, all speeds
250 are ignored. In walk-and-turn mode, the 3d rotation speeds are ignored
251 (i.e., the wx, wy, and wz speeds). In walk-and-turn mode, smaller
252 speeds must be used than in the turn mode to achieve a nice visualiza‐
253 tion. Therefore, in walk-and-turn mode the speeds you have selected
254 are divided by 5 internally.
255
256 --speed-wx float
257 Rotation speed around the wx plane (default: 1.1).
258
259 --speed-wy float
260 Rotation speed around the wy plane (default: 1.3).
261
262 --speed-wz float
263 Rotation speed around the wz plane (default: 1.5).
264
265 --speed-xy float
266 Rotation speed around the xy plane (default: 1.7).
267
268 --speed-xz float
269 Rotation speed around the xz plane (default: 1.9).
270
271 --speed-yz float
272 Rotation speed around the yz plane (default: 2.1).
273
274 The following two options determine the walking speed and direction.
275
276 --walk-direction float
277 The walking direction is measured as an angle in degrees in the
278 2d square that forms the coordinate system of the surface of
279 the Klein bottle (default: 7.0).
280
281 --walk-speed float
282 The walking speed is measured in percent of some sensible maxi‐
283 mum speed (default: 20.0).
284
286 If you run this program in standalone mode in its turn mode, you can
287 rotate the Klein bottle by dragging the mouse while pressing the left
288 mouse button. This rotates the Klein bottle in 3D, i.e., around the
289 wx, wy, and wz planes. If you press the shift key while dragging the
290 mouse with the left button pressed the Klein bottle is rotated in 4D,
291 i.e., around the xy, xz, and yz planes. To examine the Klein bottle at
292 your leisure, it is best to set all speeds to 0. Otherwise, the Klein
293 bottle will rotate while the left mouse button is not pressed. This
294 kind of interaction is not available in the two walk modes.
295
297 DISPLAY to get the default host and display number.
298
299 XENVIRONMENT
300 to get the name of a resource file that overrides the global
301 resources stored in the RESOURCE_MANAGER property.
302
303 XSCREENSAVER_WINDOW
304 The window ID to use with --root.
305
307 X(1), xscreensaver(1)
308
310 Copyright © 2005-2020 by Carsten Steger. Permission to use, copy, mod‐
311 ify, distribute, and sell this software and its documentation for any
312 purpose is hereby granted without fee, provided that the above copy‐
313 right notice appear in all copies and that both that copyright notice
314 and this permission notice appear in supporting documentation. No rep‐
315 resentations are made about the suitability of this software for any
316 purpose. It is provided "as is" without express or implied warranty.
317
319 Carsten Steger <carsten@mirsanmir.org>, 11-jan-2020.
320
321
322
323X Version 11 6.08-1.fc38 (17-Oct-2023) klein(6x)