Provided by: xscreensaver-gl_5.36-1ubuntu1_amd64 bug

NAME

       hypertorus - Draws a hypertorus that rotates in 4d

SYNOPSIS

       hypertorus  [-display  host:display.screen]  [-install] [-visual visual] [-window] [-root]
       [-delay  usecs]  [-fps]   [-wireframe]   [-surface]   [-transparent]   [-solid]   [-bands]
       [-spirals-{1,2,4,8,16}]  [-twosided]  [-colorwheel]  [-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 either two-sided or to a color wheel.  In the first case, the torus
       is  drawn  with  red on the outside and green on the inside.  This mode enables you to see
       that the torus turns inside-out as it rotates in 4d.  The second mode draws the torus with
       a  fully saturated color wheel.  This gives a very nice effect when combined with the see-
       through bands or see-through spirals mode.  The rotation speed for each of the six  planes
       around  which  the  torus  rotates  can  be chosen.  This program is very much 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.

       -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 two options are mutually exclusive.  They determine how to color the torus.

       -twosided
               Display the torus with two colors: red on the outside and green on the inside.

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

SEE ALSO

       X(1), xscreensaver(1)

COPYRIGHT

       Copyright © 2003-2005 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>, 28-sep-2005.