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. 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 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.
-mesh
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 two 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).
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).
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-xw float
Rotation speed around the wx plane (default: 1.1).
-speed-xy 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).
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.