xscreensaver(1)
NAME
hypertorus - Draws a hypertorus that rotates in 4d
SYNOPSIS
hypertorus [-display host:display.screen] [-install] [-visual visual] [-window] [-root] [-delay usecs] [-fps] [-mesh] [-surface] [-transparent] [-solid] [-bands] [-twosided] [-colorwheel] [-perspective-3d] [-ortho graphic-3d] [-perspective-4d] [-orthographic-4d] [-speedwx 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 ortho
graphic projection. Of the two alternatives, the perspec
tive projection looks much more appealing. In ortho
graphic 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. Fur
thermore, 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 pro
gram 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 out
side 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 perspec
tive projection (default). - -orthographic-3d
- Project the torus from 3d to 2d using an ortho
graphic 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 perspec
tive projection (default). - -orthographic-4d
- Project the torus from 4d to 3d using an ortho
graphic projection. - The following six options determine the rotation speed of
the torus around the six possible hyperplanes. The rota
tion 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_MAN
AGER property.
SEE ALSO
COPYRIGHT
Copyright © 2003 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>, 27-may-2003.