Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
klein(6)		       XScreenSaver manual			klein(6)

NAME
     klein - Draws a 4d Klein bottle.

SYNOPSIS
     klein [--display host:display.screen] [--install] [--visual visual] [--win-
     dow]  [--root] [--window-id number] [--delay usecs] [--fps] [--klein-bottle
     bottle-name] [-figure-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] [--per-
     spective-3d] [--orthographic-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-di-
     rection float] [--walk-speed float]

DESCRIPTION
     The klein program shows three different Klein bottles in 4d:  the	figure-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 inter-
     sect itself in 4d (which can be seen in the depth colors  mode  when  using
     static colors).  The Lawson Klein bottle, 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  markers
     (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 orien-
     tation of the curling arrows changes (which it must because the Klein  bot-
     tle is non-orientable).

     The  program  projects the 4d Klein bottle to 3d using either a perspective
     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  perspectively.   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 projections.

     The  projected Klein bottle can then be projected to the screen either per-
     spectively or orthographically.  When using the walking modes,  perspective
     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  en-
     ables you to see that the Klein bottle is non-orientable.	If changing col-
     ors  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 intersect
     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	rotation
     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", Sci-
     entific 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.

     --window-id number
	     Draw on the specified 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  ani-
	     mation.  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 ap-
     pearance 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  dynami-
	     cally.

     --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.   Additionally,
	     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 projection
	     mode (default).

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

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

     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  projection
	     mode (default).

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

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

     The  following six options determine the rotation speed of the Klein bottle
     around the six possible hyperplanes.  The rotation speed is measured in de-
     grees 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 visualization.  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  maximum
	     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 but-
     ton.  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 avail-
     able 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  re-
	     sources stored in the RESOURCE_MANAGER property.

     XSCREENSAVER_WINDOW
	     The window ID to use with --root.

SEE ALSO
     X(1), xscreensaver(1)

COPYRIGHT
     Copyright	(C)  2005-2020 by Carsten Steger.  Permission to use, copy, mod-
     ify, distribute, and sell this software and its documentation for any  pur-
     pose  is  hereby granted without fee, provided that the above copyright no-
     tice appear in all copies and that both that copyright notice and this per-
     mission notice appear in supporting documentation.  No representations  are
     made  about  the  suitability of this software for any purpose.  It is pro-
     vided "as is" without express or implied warranty.

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

X Version 11		       6.15 (30-Mar-2026)			klein(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=klein&sektion=6&manpath=FreeBSD+Ports+15.1.quarterly>

home | help