hypertorus(6x) XScreenSaver manual hypertorus(6x)
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}] [-onesided]
[-twosided] [-colorwheel] [-change-colors] [-perspective-3d] [-ortho-
graphic-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 perspec-
tive or an orthographic projection. Of the two alternatives, the per-
spective projection looks much more appealing. In orthographic projec-
tions the torus degenerates into a doubly covered cylinder for some an-
gles. The projected 3d torus can then be projected to the screen ei-
ther 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 vary-
ing 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 satu-
rated 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", Scien-
tific 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 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 dynami-
cally.
-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 projec-
tion.
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 projec-
tion.
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 val-
ues, 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 hyper-
torus 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 but-
ton 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-2020 by Carsten Steger. Permission to use, copy, mod-
ify, distribute, and sell this software and its documentation for any
purpose is hereby granted without fee, provided that the above copy-
right notice appear in all copies and that both that copyright notice
and this permission notice appear in supporting documentation. No rep-
resentations 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.
X Version 11 5.45 (08-Dec-2020) hypertorus(6x)
Generated by dwww version 1.14 on Sat Jun 13 11:25:06 CEST 2026.