Provided by: xscreensaver-gl_6.08+dfsg1-1ubuntu3_amd64 bug

NAME

       hypertorus - Draws a hypertorus that rotates in 4d

SYNOPSIS

       hypertorus [--display host:display.screen] [--install] [--visual visual] [--window] [--root] [--window-id
       number]  [--delay  usecs]  [--fps]  [--wireframe]   [--surface]   [--transparent]   [--solid]   [--bands]
       [--spirals-{1,2,4,8,16}]  [--onesided]  [--twosided]  [--colorwheel] [--change-colors] [--perspective-3d]
       [--orthographic-3d]  [--perspective-4d]  [--orthographic-4d]  [--speed-wx   float]   [--speed-wy   float]
       [--speed-wz float] [--speed-xy float] [--speed-xz float] [--speed-yz float]

DESCRIPTION

       The  hypertorus program shows the Clifford torus as it rotates in 4d.  The Clifford torus is a torus lies
       on the "surface" of the hypersphere in 4d.  The program projects the  4d  torus  to  3d  using  either  a
       perspective  or  an  orthographic  projection.  Of the two alternatives, the perspective projection looks
       much more appealing.  In orthographic projections the torus degenerates into a  doubly  covered  cylinder
       for  some  angles.   The  projected  3d torus can then be projected to the screen either perspectively or
       orthographically.

       There are three display modes for the torus: mesh (wireframe), solid, or transparent.   Furthermore,  the
       appearance of the torus can be as a solid object or as a set of see-through bands or see-through spirals.
       Finally, the colors with with the torus is drawn can be set to one-sided, two-sided, or to a color wheel.
       The  colors  can be static or changing dynamically.  In one-sided color mode, the torus is drawn with the
       same color on the inside and the outside.  In two-sided color mode, the torus is drawn with  red  on  the
       outside  and  green  on  the  inside if static colors are used.  If changing colors are used, dynamically
       varying complementary colors are used for the two sides.  This mode  enables  you  to  see  that  the  3d
       projection  of the torus turns inside-out as it rotates in 4d.  The color wheel mode draws the torus with
       a fully saturated color wheel.  If changing colors are used, the colors of the color  wheel  are  varying
       dynamically.   The  color wheel mode gives a very nice effect when combined with the see-through bands or
       see-through spirals mode.

       Finally, the rotation speed for each of the six planes around which the torus rotates can be chosen.

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

OPTIONS

       hypertorus 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  animation.   Default  25000,  or
               1/40th second.

       The following three options are mutually exclusive.  They determine how the torus is displayed.

       --wireframe
               Display the torus as a wireframe mesh.

       --surface
               Display the torus as a solid surface (default).

       --transparent
               Display the torus as a transparent surface.

       The following seven options are mutually exclusive.  They determine the appearance of the torus.

       --solid Display the torus as a solid object.

       --bands Display the torus as see-through bands (default).

       --spirals-1, --spirals-2, --spirals-4, --spirals-8, --spirals-16
               Display the torus as see-through spirals with the indicated number of spirals.

       The following three options are mutually exclusive.  They determine how to color the torus.

       --onesided
               Display the torus with a single color.

       --twosided
               Display  the torus with two colors: one color on the outside and the complementary on the inside.
               For static colors, the colors are red and green.

       --colorwheel
               Display the torus with a fully saturated color wheel (default).  If the  torus  is  displayed  as
               see-through bands, each band will be displayed with a different color.  Likewise, if the torus is
               displayed as see-through spirals, each spiral will receive a different color.

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

       --change-colors
               Change the colors with which the torus is displayed dynamically.

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

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

       --perspective-3d
               Project the torus from 3d to 2d using a perspective projection (default).

       --orthographic-3d
               Project the torus from 3d to 2d using an orthographic projection.

       The following two options are mutually exclusive.  They determine how the torus is projected from  4d  to
       3d.

       --perspective-4d
               Project the torus from 4d to 3d using a perspective projection (default).

       --orthographic-4d
               Project the torus from 4d to 3d using an orthographic projection.

       The  following six options determine the rotation speed of the torus around the six possible hyperplanes.
       The rotation speed is measured in degrees per frame.  The  speeds  should  be  set  to  relatively  small
       values, e.g., less than 4 in magnitude.

       --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).

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

INTERACTION

       If  you  run  this  program  in standalone mode you can rotate the hypertorus by dragging the mouse while
       pressing the left mouse button.  This rotates the hypertorus 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 hypertorus
       is rotated in 4d, i.e., around the xy, xz, and yz planes.  To examine the hypertorus at your leisure,  it
       is best to set all speeds to 0.  Otherwise, the hypertorus will rotate while the left mouse button is not
       pressed.

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.

       XSCREENSAVER_WINDOW
               The window ID to use with --root.

SEE ALSO

       X(1), xscreensaver(1)

COPYRIGHT

       Copyright  ©  2003-2020  by  Carsten  Steger.  Permission to use, copy, modify, distribute, and sell this
       software and its documentation for any purpose is hereby granted without fee,  provided  that  the  above
       copyright  notice  appear  in  all  copies and that both that copyright notice and this permission notice
       appear in supporting documentation.  No representations 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.