dwww Home | Manual pages | Find package

klein(6x)                     XScreenSaver manual                    klein(6x)

NAME
       klein - Draws a 4d Klein bottle.

SYNOPSIS
       klein [-display host:display.screen] [-install] [-visual visual] [-win-
       dow] [-root] [-delay usecs] [-fps] [-klein-bottle  bottle-name]  [-fig-
       ure-8]  [-pinched-torus]  [-lawson]  [-mode  display-mode] [-wireframe]
       [-surface] [-transparent] [-appearance  appearance]  [-solid]  [-bands]
       [-colors  color-scheme]  [-onesided]  [-twosided]  [-rainbow]  [-depth]
       [-change-colors] [-view-mode view-mode]  [-walk]  [-turn]  [-walk-turn]
       [-orientation-marks]  [-projection-3d  mode] [-perspective-3d] [-ortho-
       graphic-3d] [-projection-4d mode] [-perspective-4d]  [-orthographic-4d]
       [-speed-wx float] [-speed-wy float] [-speed-wz float] [-speed-xy float]
       [-speed-xz float] [-speed-yz  float]  [-walk-direction  float]  [-walk-
       speed float]

DESCRIPTION
       The  klein  program shows three different Klein bottles in 4d: the fig-
       ure-8 Klein bottle, the pinched torus Klein bottle, or the Lawson Klein
       bottle.   You  can walk on the Klein bottle, see it turn in 4d, or walk
       on it while it turns in 4d.  The figure-8 Klein bottle is well known in
       its  3d  form.  The 4d form used in this program is an extension of the
       3d form to 4d that does not intersect itself in 4d (which can  be  seen
       in  the depth colors mode when using static colors).  The pinched torus
       Klein bottle also does not intersect itself in 4d (which can be seen in
       the depth colors mode when using static colors).  The Lawson Klein bot-
       tle, on the other hand, does intersect itself in 4d.  Its  primary  use
       is that it has a nice appearance for walking and for turning in 3d.

       The  Klein  bottle is a non-orientable surface.  To make this apparent,
       the two-sided color mode can be used.  Alternatively, orientation mark-
       ers  (curling  arrows)  can be drawn as a texture map on the surface of
       the Klein bottle.  While walking on the Klein bottle, you  will  notice
       that  the  orientation of the curling arrows changes (which it must be-
       cause the Klein bottle is non-orientable).

       The program projects the 4d Klein bottle to 3d using either a  perspec-
       tive  or  an  orthographic  projection.   Which of the two alternatives
       looks more appealing depends on the viewing mode and the Klein  bottle.
       For  example,  the Lawson Klein bottle looks nicest when projected per-
       spectively.  The figure-8 Klein bottle, on the other hand, looks  nicer
       while walking when projected orthographically from 4d.  For the pinched
       torus Klein bottle, both projection modes give equally acceptable  pro-
       jections.

       The  projected  Klein bottle can then be projected to the screen either
       perspectively or orthographically.  When using the walking modes,  per-
       spective projection to the screen should be used.

       There  are  three display modes for the Klein bottle: mesh (wireframe),
       solid, or transparent.  Furthermore, the appearance of the Klein bottle
       can  be  as  a solid object or as a set of see-through bands.  Finally,
       the colors with with the Klein bottle is drawn can be set to one-sided,
       two-sided,  rainbow,  or depth.  In one-sided mode, the Klein bottle is
       drawn with the same color on both "sides."  In  two-sided  mode  (using
       static  colors),  the  Klein bottle is drawn with red on one "side" and
       green on the "other side."  Of course, the Klein bottle  only  has  one
       side, so the color jumps from red to green along a curve on the surface
       of the Klein bottle.  This mode enables you to see that the Klein  bot-
       tle  is non-orientable.  If changing colors are used in two-sided mode,
       changing complementary colors are used on the respective "sides."   The
       rainbow  color mode (using static colors) draws the Klein bottle with a
       color wheel of fully saturated rainbow colors.  If changing colors  are
       used,  the  color wheel's colors change dynamically.  The rainbow color
       mode gives a very nice effect when combined with the see-through  bands
       mode or with the orientation markers drawn.  The depth color mode draws
       the Klein bottle with colors  that  are  chosen  according  to  the  4d
       "depth"  of  the  points.  If static colors are used, this mode enables
       you to see that the figure-8 and pinched torus Klein bottles do not in-
       tersect  themselves in 4d, while the Lawson Klein bottle does intersect
       itself.

       The rotation speed for each of the six planes around  which  the  Klein
       bottle rotates can be chosen.  For the walk-and-turn mode, only the ro-
       tation speeds around the true 4d planes are used (the xy,  xz,  and  yz
       planes).

       Furthermore,  in the walking modes the walking direction in the 2d base
       square of the Klein bottle and the walking speed can be chosen.

       This program is somewhat inspired by Thomas Banchoff's book "Beyond the
       Third  Dimension:  Geometry, Computer Graphics, and Higher Dimensions",
       Scientific American Library, 1990.

OPTIONS
       klein accepts the following options:

       -window Draw on a newly-created window.  This is the default.

       -root   Draw on the root window.

       -install
               Install a private colormap for the window.

       -visual visual
               Specify which visual to use.  Legal values are the  name  of  a
               visual  class,  or the id number (decimal or hex) of a specific
               visual.

       -delay microseconds
               How much of a delay should be introduced between steps  of  the
               animation.  Default 10000, or 1/100th second.

       -fps    Display the current frame rate, CPU load, and polygon count.

       The  following  three  options  are mutually exclusive.  They determine
       which Klein bottle is displayed.

       -klein-bottle random
               Display a random Klein bottle (default).

       -klein-bottle figure-8 (Shortcut: -figure-8)
               Display the figure-8 Klein bottle.

       -klein-bottle pinched-torus (Shortcut: -pinched-torus)
               Display the pinched torus Klein bottle.

       -klein-bottle lawson (Shortcut: -lawson)
               Display the Lawson Klein bottle.

       The following four options are mutually exclusive.  They determine  how
       the Klein bottle is displayed.

       -mode random
               Display the Klein bottle in a random display mode (default).

       -mode wireframe (Shortcut: -wireframe)
               Display the Klein bottle as a wireframe mesh.

       -mode surface (Shortcut: -surface)
               Display the Klein bottle as a solid surface.

       -mode transparent (Shortcut: -transparent)
               Display the Klein bottle as a transparent surface.

       The following three options are mutually exclusive.  They determine the
       appearance of the Klein bottle.

       -appearance random
               Display the Klein bottle with a random appearance (default).

       -appearance solid (Shortcut: -solid)
               Display the Klein bottle as a solid object.

       -appearance bands (Shortcut: -bands)
               Display the Klein bottle as see-through bands.

       The following five options are mutually exclusive.  They determine  how
       to color the Klein bottle.

       -colors random
               Display the Klein bottle with a random color scheme (default).

       -colors one-sided (Shortcut: -onesided)
               Display the Klein bottle with a single color.

       -colors two-sided (Shortcut: -twosided)
               Display  the Klein bottle with two colors: one color one "side"
               and the complementary color on the "other  side."   For  static
               colors, the colors are red and green.

       -colors rainbow (Shortcut: -rainbow)
               Display  the  Klein bottle with fully saturated rainbow colors.
               If the Klein bottle is displayed  as  see-through  bands,  each
               band will be displayed with a different color.

       -colors depth (Shortcut: -depth)
               Display the Klein bottle with colors chosen depending on the 4d
               "depth" of the points.

       The following options determine whether the colors with which the Klein
       bottle is displayed are static or are changing dynamically.

       -change-colors
               Change  the colors with which the Klein bottle is displayed dy-
               namically.

       -no-change-colors
               Use static colors to display the Klein bottle (default).

       The following four options are mutually exclusive.  They determine  how
       to view the Klein bottle.

       -view-mode random
               View the Klein bottle in a random view mode (default).

       -view-mode walk (Shortcut: -walk)
               View the Klein bottle as if walking on its surface.

       -view-mode turn (Shortcut: -turn)
               View the Klein bottle while it turns in 4d.

       -view-mode walk-turn (Shortcut: -walk-turn)
               View  the Klein bottle as if walking on its surface.  Addition-
               ally, the Klein bottle turns around the true 4d planes (the xy,
               xz, and yz planes).

       The  following options determine whether orientation marks are shown on
       the Klein bottle.

       -orientation-marks
               Display orientation marks on the Klein bottle.

       -no-orientation-marks
               Don't display orientation marks on the Klein bottle (default).

       The following three options are mutually exclusive.  They determine how
       the Klein bottle is projected from 3d to 2d (i.e., to the screen).

       -projection-3d random
               Project  the  Klein bottle from 3d to 2d using a random projec-
               tion mode (default).

       -projection-3d perspective (Shortcut: -perspective-3d)
               Project the Klein bottle from 3d to 2d using a perspective pro-
               jection.

       -projection-3d orthographic (Shortcut: -orthographic-3d)
               Project  the  Klein  bottle from 3d to 2d using an orthographic
               projection.

       The following three options are mutually exclusive.  They determine how
       the Klein bottle is projected from 4d to 3d.

       -projection-4d random
               Project  the  Klein bottle from 4d to 3d using a random projec-
               tion mode (default).

       -projection-4d perspective (Shortcut: -perspective-4d)
               Project the Klein bottle from 4d to 3d using a perspective pro-
               jection.

       -projection-4d orthographic (Shortcut: -orthographic-4d)
               Project  the  Klein  bottle from 4d to 3d using an orthographic
               projection.

       The following six options determine the rotation  speed  of  the  Klein
       bottle around the six possible hyperplanes.  The rotation speed is mea-
       sured in degrees per frame.  The speeds should  be  set  to  relatively
       small values, e.g., less than 4 in magnitude.  In walk mode, all speeds
       are ignored.  In walk-and-turn mode, the 3d rotation speeds are ignored
       (i.e.,  the  wx,  wy,  and  wz speeds).  In walk-and-turn mode, smaller
       speeds must be used than in the turn mode to achieve a nice  visualiza-
       tion.   Therefore,  in  walk-and-turn mode the speeds you have selected
       are divided by 5 internally.

       -speed-wx float
               Rotation speed around the wx plane (default: 1.1).

       -speed-wy float
               Rotation speed around the wy plane (default: 1.3).

       -speed-wz float
               Rotation speed around the wz plane (default: 1.5).

       -speed-xy float
               Rotation speed around the xy plane (default: 1.7).

       -speed-xz float
               Rotation speed around the xz plane (default: 1.9).

       -speed-yz float
               Rotation speed around the yz plane (default: 2.1).

       The following two options determine the walking speed and direction.

       -walk-direction float
               The walking direction is measured as an angle in degrees in the
               2d  square  that  forms the coordinate system of the surface of
               the Klein bottle (default: 7.0).

       -walk-speed float
               The walking speed is measured in percent of some sensible maxi-
               mum speed (default: 20.0).

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

ENVIRONMENT
       DISPLAY to get the default host and display number.

       XENVIRONMENT
               to  get  the  name of a resource file that overrides the global
               resources stored in the RESOURCE_MANAGER property.

SEE ALSO
       X(1), xscreensaver(1)

COPYRIGHT
       Copyright © 2005-2020 by Carsten Steger.  Permission to use, copy, mod-
       ify,  distribute,  and sell this software and its documentation for any
       purpose is hereby granted without fee, provided that  the  above  copy-
       right  notice  appear in all copies and that both that copyright notice
       and this permission notice appear in supporting documentation.  No rep-
       resentations  are  made  about the suitability of this software for any
       purpose.  It is provided "as is" without express or implied warranty.

AUTHOR
       Carsten Steger <carsten@mirsanmir.org>, 11-jan-2020.

X Version 11                  5.45 (08-Dec-2020)                     klein(6x)

Generated by dwww version 1.14 on Fri Jan 24 06:12:41 CET 2025.