1etruscanvenus(6x) XScreenSaver manual etruscanvenus(6x)
2
3
4
6 etruscanvenus - Draws a 3d immersion of a Klein bottle that smoothly
7 deforms between the Etruscan Venus surface, the Roman surface, the Boy
8 surface surface, and the Ida surface.
9
11 etruscanvenus [--display host:display.screen] [--install] [--visual
12 visual] [--window] [--root] [--window-id number] [--delay usecs]
13 [--fps] [--mode display-mode] [--wireframe] [--surface] [--transparent]
14 [--appearance appearance] [--solid] [--distance-bands] [--direction-
15 bands] [--colors color-scheme] [--onesided-colors] [--twosided-colors]
16 [--distance-colors] [--direction-colors] [--no-change-colors] [--view-
17 mode view-mode] [--walk] [--turn] [--no-deform] [--deformation-speed
18 float] [--initial-deformation float] [--etruscan-venus] [--roman]
19 [--boy] [--ida] [--orientation-marks] [--projection mode] [--perspec‐
20 tive] [--orthographic] [--speed-x float] [--speed-y float] [--speed-z
21 float] [--walk-direction float] [--walk-speed float]
22
24 The etruscanvenus program shows a 3d immersion of a Klein bottle that
25 smoothly deforms between the Etruscan Venus surface, the Roman surface,
26 the Boy surface, and the Ida surface. You can walk on the Klein bottle
27 or turn it in 3d. Topologically, all surfaces are Klein bottles, even
28 the Roman and Boy surfaces, which are doubly covered and therefore ap‐
29 pear to be an immersed real projective plane. The smooth deformation
30 between these surfaces was constructed by George K. Francis.
31
32 The Klein bottle is a non-orientable surface. To make this apparent,
33 the two-sided color mode can be used. Alternatively, orientation mark‐
34 ers (curling arrows) can be drawn as a texture map on the surface of
35 the Klein bottle. While walking on the Klein bottle, you will notice
36 that the orientation of the curling arrows changes (which it must be‐
37 cause the Klein bottle is non-orientable). Since all the surfaces ex‐
38 cept the Ida surface have points where the surface normal is not well
39 defined for some points, walking is only performed on the Ida surface.
40
41 As mentioned above, the Roman and Boy surfaces are doubly covered and
42 therefore appear to be an immersed real projective plane. Since some
43 of the parameter names are based on this interpretation of the surface,
44 the geometry of the real projective plane will be briefly disussed.
45 The real projective plane is a model for the projective geometry in 2d
46 space. One point can be singled out as the origin. A line can be sin‐
47 gled out as the line at infinity, i.e., a line that lies at an infinite
48 distance to the origin. The line at infinity is topologically a cir‐
49 cle. Points on the line at infinity are also used to model directions
50 in projective geometry. Direction and distance bands refer to this in‐
51 terpretation of the surface. If direction bands are used, the bands
52 extend from the origin of the projective plane in different directions
53 to the line at infinity and back to the origin. If distance bands are
54 used, the bands lie at constant distances to the origin. The same in‐
55 terpretation is used for distance and direction colors. Although there
56 is no conceptually equivalent geometric interpretation for the two
57 Klein bottle surfaces (the Etruscan Venus and Ida surfaces), the smooth
58 deformation between the surfaces results in a natural extension of
59 these concepts to the Klein bottle surfaces.
60
61 The immersed surfaces can be projected to the screen either perspec‐
62 tively or orthographically. When using the walking mode, perspective
63 projection to the screen will be used.
64
65 There are three display modes for the Klein bottle: mesh (wireframe),
66 solid, or transparent. Furthermore, the appearance of the surface can
67 be as a solid object or as a set of see-through bands. The bands can
68 be distance bands or direction bands, as explained above.
69
70 The colors with with the surface is drawn can be set to one-sided, two-
71 sided, distance, or direction. In one-sided mode, the surface is drawn
72 with the same color on both sides of the underlying triangles. In two-
73 sided mode, the surface is drawn with one color on one side of the un‐
74 derlying triangles and the complementary color on the other side.
75 Since the surface actually only has one side, the color jumps from red
76 to green along a line on the surface. This mode enables you to see
77 that the surface is non-orientable. In distance mode, the surface is
78 displayed with fully saturated colors that depend on the distance of
79 the points on the projective plane to the origin, as described above.
80 If the surface is displayed as distance bands, each band will be dis‐
81 played with a different color. In direction mode, the surface is dis‐
82 played with fully saturated colors that depend on the angle of the
83 points on the projective plane with respect to the origin (see above
84 for an explanation). If the surface is displayed as direction bands,
85 each band will be displayed with a different color. The colors used to
86 color the surface can either be static or can be changed dynamically.
87
88 The rotation speed for each of the three coordinate axes around which
89 the Klein bottle rotates can be chosen.
90
91 Furthermore, in the walking mode the walking direction in the 2d base
92 square of the surface and the walking speed can be chosen. The walking
93 direction is measured as an angle in degrees in the 2d square that
94 forms the coordinate system of the surface. A value of 0 or 180 means
95 that the walk is along a circle at a randomly chosen distance from the
96 origin (parallel to a distance band). A value of 90 or 270 means that
97 the walk is directly along a direction band. Any other value results
98 in a curved path along the surface. As noted above, walking is per‐
99 formed only on the Ida surface.
100
101 By default, the immersion of the Klein bottle smoothly deforms between
102 the Etruscan Venus surface, the Roman surface, the Boy surface, and the
103 Ida surface. It is possible to choose the speed of the deformation.
104 Furthermore, it is possible to switch the deformation off. It is also
105 possible to determine the initial deformation of the immersion. This
106 is mostly useful if the deformation is switched off, in which case it
107 will determine the appearance of the surface. A value of 0 corresponds
108 to the Etruscan Venus surface, a value of 1000 to the Roman surface, a
109 value of 2000 to the Boy surface, and a value of 3000 to the Ida sur‐
110 face.
111
112 This program is inspired by George K. Francis's book "A Topological
113 Picturebook", Springer, 1987, by George K. Francis's paper "The Etr‐
114 uscan Venus" in P. Concus, R. Finn, and D. A. Hoffman: "Geometric
115 Analysis and Computer Graphics", Springer, 1991, and by a video enti‐
116 tled "The Etruscan Venus" by Donna J. Cox, George K. Francis, and Ray‐
117 mond L. Idaszak, presented at SIGGRAPH 1989.
118
120 etruscanvenus accepts the following options:
121
122 --window
123 Draw on a newly-created window. This is the default.
124
125 --root Draw on the root window.
126
127 --window-id number
128 Draw on the specified window.
129
130 --install
131 Install a private colormap for the window.
132
133 --visual visual
134 Specify which visual to use. Legal values are the name of a
135 visual class, or the id number (decimal or hex) of a specific
136 visual.
137
138 --delay microseconds
139 How much of a delay should be introduced between steps of the
140 animation. Default 10000, or 1/100th second.
141
142 --fps Display the current frame rate, CPU load, and polygon count.
143
144 The following four options are mutually exclusive. They determine how
145 the Klein bottle is displayed.
146
147 --mode random
148 Display the Klein bottle in a random display mode (default).
149
150 --mode wireframe (Shortcut: --wireframe)
151 Display the Klein bottle as a wireframe mesh.
152
153 --mode surface (Shortcut: --surface)
154 Display the Klein bottle as a solid surface.
155
156 --mode transparent (Shortcut: --transparent)
157 Display the Klein bottle as a transparent surface.
158
159 The following four options are mutually exclusive. They determine the
160 appearance of the Klein bottle.
161
162 --appearance random
163 Display the Klein bottle with a random appearance (default).
164
165 --appearance solid (Shortcut: --solid)
166 Display the Klein bottle as a solid object.
167
168 --appearance distance-bands (Shortcut: --distance-bands)
169 Display the Klein bottle as see-through bands that lie at in‐
170 creasing distances from the origin (see above for an explana‐
171 tion).
172
173 --appearance direction-bands (Shortcut: --direction-bands)
174 Display the Klein bottle as see-through bands that lie at in‐
175 creasing angles with respect to the origin (see above for an
176 explanation).
177
178 The following five options are mutually exclusive. They determine how
179 to color the Klein bottle.
180
181 --colors random
182 Display the Klein bottle with a random color scheme (default).
183
184 --colors onesided (Shortcut: --onesided-colors)
185 Display the Klein bottle with a single color.
186
187 --colors twosided (Shortcut: --twosided-colors)
188 Display the Klein bottle with two colors: one color on one
189 "side" and the complementary color on the "other side."
190
191 --colors distance (Shortcut: --distance-colors)
192 Display the Klein bottle with fully saturated colors that de‐
193 pend on the distance of the points on the projective plane to
194 the origin (see above for an explanation). If the Klein bottle
195 is displayed as distance bands, each band will be displayed
196 with a different color.
197
198 --colors direction (Shortcut: --direction-colors)
199 Display the Klein bottle with fully saturated colors that de‐
200 pend on the angle of the points on the projective plane with
201 respect to the origin (see above for an explanation). If the
202 Klein bottle is displayed as direction bands, each band will be
203 displayed with a different color.
204
205 The following options determine whether the colors with which the Klein
206 bottle are displayed are static or are changing dynamically.
207
208 --change-colors
209 Change the colors with which the Klein bottle is displayed dy‐
210 namically (default).
211
212 --no-change-colors
213 Use static colors to display the Klein bottle.
214
215 The following three options are mutually exclusive. They determine how
216 to view the Klein bottle.
217
218 --view-mode random
219 View the Klein bottle in a random view mode (default). The
220 walking mode will be randomly selected in approximately 10% of
221 the cases.
222
223 --view-mode turn (Shortcut: --turn)
224 View the Klein bottle while it turns in 3d.
225
226 --view-mode walk (Shortcut: --walk)
227 View the Klein bottle as if walking on its surface.
228
229 The following options determine whether the surface is being deformed.
230
231 --deform
232 Deform the surface smoothly between the Etruscan Venus surface,
233 the Roman surface, the Boy surface surface, and the Ida surface
234 (default).
235
236 --no-deform
237 Don't deform the surface.
238
239 The following option determines the deformation speed.
240
241 --deformation-speed float
242 The deformation speed is measured in percent of some sensible
243 maximum speed (default: 10.0).
244
245 The following options determine the initial deformation of the surface.
246 As described above, this is mostly useful if --no-deform is specified.
247
248 --initial-deformation float
249 The initial deformation is specified as a number between 0 and
250 4000. A value of 0 corresponds to the Etruscan Venus surface,
251 a value of 1000 to the Roman surface, a value of 2000 to the
252 Boy surface, and a value of 3000 to the Ida surface. The de‐
253 fault value is 0.
254
255 --etruscan-venus
256 This is a shortcut for --initial-deformation 0.
257
258 --roman This is a shortcut for --initial-deformation 1000.
259
260 --boy This is a shortcut for --initial-deformation 2000.
261
262 --ida This is a shortcut for --initial-deformation 3000.
263
264 The following options determine whether orientation marks are shown on
265 the Klein bottle.
266
267 --orientation-marks
268 Display orientation marks on the Klein bottle.
269
270 --no-orientation-marks
271 Don't display orientation marks on the Klein bottle (default).
272
273 The following three options are mutually exclusive. They determine how
274 the Klain bottle is projected from 3d to 2d (i.e., to the screen).
275
276 --projection random
277 Project the Klein bottle from 3d to 2d using a random projec‐
278 tion mode (default).
279
280 --projection perspective (Shortcut: --perspective)
281 Project the Klein bottle from 3d to 2d using a perspective pro‐
282 jection.
283
284 --projection orthographic (Shortcut: --orthographic)
285 Project the Klein bottle from 3d to 2d using an orthographic
286 projection.
287
288 The following three options determine the rotation speed of the Klein
289 bottle around the three possible axes. The rotation speed is measured
290 in degrees per frame. The speeds should be set to relatively small
291 values, e.g., less than 4 in magnitude. In walk mode, all speeds are
292 ignored.
293
294 --speed-x float
295 Rotation speed around the x axis (default: 1.1).
296
297 --speed-y float
298 Rotation speed around the y axis (default: 1.3).
299
300 --speed-z float
301 Rotation speed around the z axis (default: 1.5).
302
303 The following two options determine the walking speed and direction.
304
305 --walk-direction float
306 The walking direction is measured as an angle in degrees in the
307 2d square that forms the coordinate system of the surface of
308 the Klein bottle (default: 83.0). A value of 0 or 180 means
309 that the walk is along a circle at a randomly chosen distance
310 from the origin (parallel to a distance band). A value of 90
311 or 270 means that the walk is directly along a direction band.
312 Any other value results in a curved path along the surface. As
313 noted above, walking is performed only on the Ida surface.
314
315 --walk-speed float
316 The walking speed is measured in percent of some sensible maxi‐
317 mum speed (default: 20.0).
318
320 If you run this program in standalone mode in its turn mode, you can
321 rotate the Klein bottle by dragging the mouse while pressing the left
322 mouse button. This rotates the Klein bottle in 3d. To examine the
323 Klein bottle at your leisure, it is best to set all speeds to 0. Oth‐
324 erwise, the Klein bottle will rotate while the left mouse button is not
325 pressed. This kind of interaction is not available in the walk mode.
326
328 DISPLAY to get the default host and display number.
329
330 XENVIRONMENT
331 to get the name of a resource file that overrides the global
332 resources stored in the RESOURCE_MANAGER property.
333
334 XSCREENSAVER_WINDOW
335 The window ID to use with --root.
336
338 X(1), xscreensaver(1)
339
341 Copyright © 2019-2020 by Carsten Steger. Permission to use, copy, mod‐
342 ify, distribute, and sell this software and its documentation for any
343 purpose is hereby granted without fee, provided that the above copy‐
344 right notice appear in all copies and that both that copyright notice
345 and this permission notice appear in supporting documentation. No rep‐
346 resentations are made about the suitability of this software for any
347 purpose. It is provided "as is" without express or implied warranty.
348
350 Carsten Steger <carsten@mirsanmir.org>, 05-jan-2020.
351
352
353
354X Version 11 6.08-1.fc38 (17-Oct-2023) etruscanvenus(6x)