1klein(6x)                     XScreenSaver manual                    klein(6x)
2
3
4

NAME

6       klein - Draws a 4d Klein bottle.
7

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

INTERACTION

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

ENVIRONMENT

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

SEE ALSO

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

AUTHOR

319       Carsten Steger <carsten@mirsanmir.org>, 11-jan-2020.
320
321
322
323X Version 11               6.08-1.fc39 (17-Oct-2023)                 klein(6x)
Impressum