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] [-win‐
10       dow] [-root] [-delay usecs] [-fps] [-klein-bottle  bottle-name]  [-fig‐
11       ure-8]  [-pinched-torus]  [-lawson]  [-mode  display-mode] [-wireframe]
12       [-surface] [-transparent] [-appearance  appearance]  [-solid]  [-bands]
13       [-colors  color-scheme]  [-onesided]  [-twosided]  [-rainbow]  [-depth]
14       [-change-colors] [-view-mode view-mode]  [-walk]  [-turn]  [-walk-turn]
15       [-orientation-marks]  [-projection-3d  mode] [-perspective-3d] [-ortho‐
16       graphic-3d] [-projection-4d mode] [-perspective-4d]  [-orthographic-4d]
17       [-speed-wx float] [-speed-wy float] [-speed-wz float] [-speed-xy float]
18       [-speed-xz float] [-speed-yz  float]  [-walk-direction  float]  [-walk-
19       speed float]
20

DESCRIPTION

22       The  klein  program shows three different Klein bottles in 4d: the fig‐
23       ure-8 Klein bottle, the pinched torus Klein bottle, or the Lawson Klein
24       bottle.   You  can walk on the Klein bottle, see it turn in 4d, or walk
25       on it while it turns in 4d.  The figure-8 Klein bottle is well known in
26       its  3d  form.  The 4d form used in this program is an extension of the
27       3d form to 4d that does not intersect itself in 4d (which can  be  seen
28       in  the depth colors mode when using static colors).  The pinched torus
29       Klein bottle also does not intersect itself in 4d (which can be seen in
30       the depth colors mode when using static colors).  The Lawson Klein bot‐
31       tle, on the other hand, does intersect itself in 4d.  Its  primary  use
32       is that it has a nice appearance for walking and for turning in 3d.
33
34       The  Klein  bottle is a non-orientable surface.  To make this apparent,
35       the two-sided color mode can be used.  Alternatively, orientation mark‐
36       ers  (curling  arrows)  can be drawn as a texture map on the surface of
37       the Klein bottle.  While walking on the Klein bottle, you  will  notice
38       that  the  orientation  of  the  curling  arrows changes (which it must
39       because the Klein bottle is non-orientable).
40
41       The program projects the 4d Klein bottle to 3d using either a  perspec‐
42       tive  or  an  orthographic  projection.   Which of the two alternatives
43       looks more appealing depends on the viewing mode and the Klein  bottle.
44       For  example,  the Lawson Klein bottle looks nicest when projected per‐
45       spectively.  The figure-8 Klein bottle, on the other hand, looks  nicer
46       while walking when projected orthographically from 4d.  For the pinched
47       torus Klein bottle, both projection modes give equally acceptable  pro‐
48       jections.
49
50       The  projected  Klein bottle can then be projected to the screen either
51       perspectively or orthographically.  When using the walking modes,  per‐
52       spective projection to the screen should be used.
53
54       There  are  three display modes for the Klein bottle: mesh (wireframe),
55       solid, or transparent.  Furthermore, the appearance of the Klein bottle
56       can  be  as  a solid object or as a set of see-through bands.  Finally,
57       the colors with with the Klein bottle is drawn can be set to one-sided,
58       two-sided,  rainbow,  or depth.  In one-sided mode, the Klein bottle is
59       drawn with the same color on both "sides."  In  two-sided  mode  (using
60       static  colors),  the  Klein bottle is drawn with red on one "side" and
61       green on the "other side."  Of course, the Klein bottle  only  has  one
62       side, so the color jumps from red to green along a curve on the surface
63       of the Klein bottle.  This mode enables you to see that the Klein  bot‐
64       tle  is non-orientable.  If changing colors are used in two-sided mode,
65       changing complementary colors are used on the respective "sides."   The
66       rainbow  color mode (using static colors) draws the Klein bottle with a
67       color wheel of fully saturated rainbow colors.  If changing colors  are
68       used,  the  color wheel's colors change dynamically.  The rainbow color
69       mode gives a very nice effect when combined with the see-through  bands
70       mode or with the orientation markers drawn.  The depth color mode draws
71       the Klein bottle with colors  that  are  chosen  according  to  the  4d
72       "depth"  of  the  points.  If static colors are used, this mode enables
73       you to see that the figure-8 and pinched torus  Klein  bottles  do  not
74       intersect  themselves  in 4d, while the Lawson Klein bottle does inter‐
75       sect itself.
76
77       The rotation speed for each of the six planes around  which  the  Klein
78       bottle  rotates  can  be  chosen.  For the walk-and-turn mode, only the
79       rotation speeds around the true 4d planes are used (the xy, xz, and  yz
80       planes).
81
82       Furthermore,  in the walking modes the walking direction in the 2d base
83       square of the Klein bottle and the walking speed can be chosen.
84
85       This program is somewhat inspired by Thomas Banchoff's book "Beyond the
86       Third  Dimension:  Geometry, Computer Graphics, and Higher Dimensions",
87       Scientific American Library, 1990.
88

OPTIONS

90       klein accepts the following options:
91
92       -window Draw on a newly-created window.  This is the default.
93
94       -root   Draw on the root window.
95
96       -install
97               Install a private colormap for the window.
98
99       -visual visual
100               Specify which visual to use.  Legal values are the  name  of  a
101               visual  class,  or the id number (decimal or hex) of a specific
102               visual.
103
104       -delay microseconds
105               How much of a delay should be introduced between steps  of  the
106               animation.  Default 10000, or 1/100th second.
107
108       -fps    Display the current frame rate, CPU load, and polygon count.
109
110       The  following  three  options  are mutually exclusive.  They determine
111       which Klein bottle is displayed.
112
113       -klein-bottle random
114               Display a random Klein bottle (default).
115
116       -klein-bottle figure-8 (Shortcut: -figure-8)
117               Display the figure-8 Klein bottle.
118
119       -klein-bottle pinched-torus (Shortcut: -pinched-torus)
120               Display the pinched torus Klein bottle.
121
122       -klein-bottle lawson (Shortcut: -lawson)
123               Display the Lawson Klein bottle.
124
125       The following four options are mutually exclusive.  They determine  how
126       the Klein bottle is displayed.
127
128       -mode random
129               Display the Klein bottle in a random display mode (default).
130
131       -mode wireframe (Shortcut: -wireframe)
132               Display the Klein bottle as a wireframe mesh.
133
134       -mode surface (Shortcut: -surface)
135               Display the Klein bottle as a solid surface.
136
137       -mode transparent (Shortcut: -transparent)
138               Display the Klein bottle as a transparent surface.
139
140       The following three options are mutually exclusive.  They determine the
141       appearance of the Klein bottle.
142
143       -appearance random
144               Display the Klein bottle with a random appearance (default).
145
146       -appearance solid (Shortcut: -solid)
147               Display the Klein bottle as a solid object.
148
149       -appearance bands (Shortcut: -bands)
150               Display the Klein bottle as see-through bands.
151
152       The following five options are mutually exclusive.  They determine  how
153       to color the Klein bottle.
154
155       -colors random
156               Display the Klein bottle with a random color scheme (default).
157
158       -colors one-sided (Shortcut: -onesided)
159               Display the Klein bottle with a single color.
160
161       -colors two-sided (Shortcut: -twosided)
162               Display  the Klein bottle with two colors: one color one "side"
163               and the complementary color on the "other  side."   For  static
164               colors, the colors are red and green.
165
166       -colors rainbow (Shortcut: -rainbow)
167               Display  the  Klein bottle with fully saturated rainbow colors.
168               If the Klein bottle is displayed  as  see-through  bands,  each
169               band will be displayed with a different color.
170
171       -colors depth (Shortcut: -depth)
172               Display the Klein bottle with colors chosen depending on the 4d
173               "depth" of the points.
174
175       The following options determine whether the colors with which the Klein
176       bottle is displayed are static or are changing dynamically.
177
178       -change-colors
179               Change  the  colors  with  which  the Klein bottle is displayed
180               dynamically.
181
182       -no-change-colors
183               Use static colors to display the Klein bottle (default).
184
185       The following four options are mutually exclusive.  They determine  how
186       to view the Klein bottle.
187
188       -view-mode random
189               View the Klein bottle in a random view mode (default).
190
191       -view-mode walk (Shortcut: -walk)
192               View the Klein bottle as if walking on its surface.
193
194       -view-mode turn (Shortcut: -turn)
195               View the Klein bottle while it turns in 4d.
196
197       -view-mode walk-turn (Shortcut: -walk-turn)
198               View  the Klein bottle as if walking on its surface.  Addition‐
199               ally, the Klein bottle turns around the true 4d planes (the xy,
200               xz, and yz planes).
201
202       The  following options determine whether orientation marks are shown on
203       the Klein bottle.
204
205       -orientation-marks
206               Display orientation marks on the Klein bottle.
207
208       -no-orientation-marks
209               Don't display orientation marks on the Klein bottle (default).
210
211       The following three options are mutually exclusive.  They determine how
212       the Klein bottle is projected from 3d to 2d (i.e., to the screen).
213
214       -projection-3d random
215               Project  the  Klein bottle from 3d to 2d using a random projec‐
216               tion mode (default).
217
218       -projection-3d perspective (Shortcut: -perspective-3d)
219               Project the Klein bottle from 3d to 2d using a perspective pro‐
220               jection.
221
222       -projection-3d orthographic (Shortcut: -orthographic-3d)
223               Project  the  Klein  bottle from 3d to 2d using an orthographic
224               projection.
225
226       The following three options are mutually exclusive.  They determine how
227       the Klein bottle is projected from 4d to 3d.
228
229       -projection-4d random
230               Project  the  Klein bottle from 4d to 3d using a random projec‐
231               tion mode (default).
232
233       -projection-4d perspective (Shortcut: -perspective-4d)
234               Project the Klein bottle from 4d to 3d using a perspective pro‐
235               jection.
236
237       -projection-4d orthographic (Shortcut: -orthographic-4d)
238               Project  the  Klein  bottle from 4d to 3d using an orthographic
239               projection.
240
241       The following six options determine the rotation  speed  of  the  Klein
242       bottle around the six possible hyperplanes.  The rotation speed is mea‐
243       sured in degrees per frame.  The speeds should  be  set  to  relatively
244       small values, e.g., less than 4 in magnitude.  In walk mode, all speeds
245       are ignored.  In walk-and-turn mode, the 3d rotation speeds are ignored
246       (i.e.,  the  wx,  wy,  and  wz speeds).  In walk-and-turn mode, smaller
247       speeds must be used than in the turn mode to achieve a nice  visualiza‐
248       tion.   Therefore,  in  walk-and-turn mode the speeds you have selected
249       are divided by 5 internally.
250
251       -speed-wx float
252               Rotation speed around the wx plane (default: 1.1).
253
254       -speed-wy float
255               Rotation speed around the wy plane (default: 1.3).
256
257       -speed-wz float
258               Rotation speed around the wz plane (default: 1.5).
259
260       -speed-xy float
261               Rotation speed around the xy plane (default: 1.7).
262
263       -speed-xz float
264               Rotation speed around the xz plane (default: 1.9).
265
266       -speed-yz float
267               Rotation speed around the yz plane (default: 2.1).
268
269       The following two options determine the walking speed and direction.
270
271       -walk-direction float
272               The walking direction is measured as an angle in degrees in the
273               2d  square  that  forms the coordinate system of the surface of
274               the Klein bottle (default: 7.0).
275
276       -walk-speed float
277               The walking speed is measured in percent of some sensible maxi‐
278               mum speed (default: 20.0).
279

INTERACTION

281       If  you  run  this program in standalone mode in its turn mode, you can
282       rotate the Klein bottle by dragging the mouse while pressing  the  left
283       mouse  button.   This  rotates the Klein bottle in 3D, i.e., around the
284       wx, wy, and wz planes.  If you press the shift key while  dragging  the
285       mouse  with  the left button pressed the Klein bottle is rotated in 4D,
286       i.e., around the xy, xz, and yz planes.  To examine the Klein bottle at
287       your  leisure, it is best to set all speeds to 0.  Otherwise, the Klein
288       bottle will rotate while the left mouse button is  not  pressed.   This
289       kind of interaction is not available in the two walk modes.
290

ENVIRONMENT

292       DISPLAY to get the default host and display number.
293
294       XENVIRONMENT
295               to  get  the  name of a resource file that overrides the global
296               resources stored in the RESOURCE_MANAGER property.
297

SEE ALSO

299       X(1), xscreensaver(1)
300
302       Copyright © 2005-2020 by Carsten Steger.  Permission to use, copy, mod‐
303       ify,  distribute,  and sell this software and its documentation for any
304       purpose is hereby granted without fee, provided that  the  above  copy‐
305       right  notice  appear in all copies and that both that copyright notice
306       and this permission notice appear in supporting documentation.  No rep‐
307       resentations  are  made  about the suitability of this software for any
308       purpose.  It is provided "as is" without express or implied warranty.
309

AUTHOR

311       Carsten Steger <carsten@mirsanmir.org>, 11-jan-2020.
312
313
314
315X Version 11               5.45-1.fc33 (10-Dec-2020)                 klein(6x)
Impressum