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

NAME

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

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

INTERACTION

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

ENVIRONMENT

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

SEE ALSO

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

AUTHOR

350       Carsten Steger <carsten@mirsanmir.org>, 05-jan-2020.
351
352
353
354X Version 11               6.08-1.fc39 (17-Oct-2023)         etruscanvenus(6x)
Impressum