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.