
NAME
polytopes  Draws one of the six regular 4d polytopes rotating in 4d.
SYNOPSIS
polytopes [display host:display.screen] [install] [visual visual]
[window] [root] [delay usecs] [fps] [5cell] [8cell] [16cell]
[24cell] [120cell] [600cell] [wireframe] [surface]
[transparent] [singlecolor] [depthcolors] [perspective3d]
[orthographic3d] [perspective4d] [orthographic4d] [speedwx
float] [speedwy float] [speedwz float] [speedxy float] [speedxz
float] [speedyz float]
DESCRIPTION
The polytopes program shows one of the six regular 4d polytopes
(5cell, 8cell, 16cell, 24cell, 120cell, or 600cell) rotating in
4d. The program projects the 4d polytope to 3d using either a
perspective or an orthographic projection. The projected 3d polytope
can then be projected to the screen either perspectively or
orthographically. There are three display modes for the polytope: mesh
(wireframe), solid, or transparent. Furthermore, the colors with which
the polytope is drawn can be set to either single color or to a
coloring according to the 4d "depth" (the w coordinate) of the polytope
in its unrotated position. In the first case, the polytope is drawn in
red. This coloring combined with transparency gives a nice visual
effect of the structure of the polytope. The second mode draws the
polytope with a fully saturated color wheel in which the edges or faces
are colored accoring to their average 4d "depth". This mode is best
combined with the wireframe mode, where it allows you to see how
different parts of the polytope are moved to the "inside" of the
projected polytope in 3d. Of course, in 4d the cells, faces, and edges
of the polytope all have the same distance from the center of the
polytope. Only the projection creates the appearance that some of the
cells lie "inside" the figure in 3d.
OPTIONS
polytopes accepts the following options:
window Draw on a newlycreated 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 six options are mutually exclusive. They determine which
polytope is displayed.
5cell Display the 5cell. The 5cell is the 4d analogon of a regular
tetrahedron in 3d. It has 5 regular tetrahedra as its cells,
10 equilateral triangles as faces, 10 edges, and 5 vertices.
8cell Display the 8cell (a.k.a. hypercube or tessaract). The 8cell
is the 4d analogon of a cube in 3d. It has 8 cubes as its
cells, 24 squares as faces, 32 edges, and 16 vertices.
16cell
Display the 16cell. The 16cell is the 4d analogon of an
octahedron in 3d. It has 16 regular tetrahedra as its cells,
32 equilateral triangles as faces, 24 edges, and 8 vertices.
24cell
Display the 24cell. The 24cell has no 3d analogon. It has
24 regular octahedra as its cells, 96 equilateral triangles as
faces, 96 edges, and 24 vertices.
120cell
Display the 120cell. The 120cell has no 3d analogon. It has
120 regular dodecahedra as its cells, 720 regular pentagons as
faces, 1200 edges, and 600 vertices.
600cell
Display the 600cell. The 600cell has no 3d analogon. It has
600 regular tetrahedra as its cells, 1200 equilateral triangles
as faces, 720 edges, and 120 vertices.
The following three options are mutually exclusive. They determine how
the polytope is displayed.
wireframe
Display the polytope as a wireframe mesh.
surface
Display the polytope as a solid object.
transparent
Display the polytope as a transparent object (default).
The following two options are mutually exclusive. They determine how
to color the polytope.
singlecolor
Display the polytope in red.
depthcolors
Display the polytope with a fully saturated color wheel in
which the edges or faces are colored accoring to their average
4d "depth", i.e., the w coordinate of the polytope in its
unrotated position (default).
The following two options are mutually exclusive. They determine how
the polytope is projected from 3d to 2d (i.e., to the screen).
perspective3d
Project the polytope from 3d to 2d using a perspective
projection (default).
orthographic3d
Project the polytope from 3d to 2d using an orthographic
projection.
The following two options are mutually exclusive. They determine how
the polytope is projected from 4d to 3d.
perspective4d
Project the polytope from 4d to 3d using a perspective
projection (default).
orthographic4d
Project the polytope from 4d to 3d using an orthographic
projection.
The following six options determine the rotation speed of the polytope
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.
speedwx float
Rotation speed around the wx plane (default: 1.1).
speedwy float
Rotation speed around the wy plane (default: 1.3).
speedwz float
Rotation speed around the wz plane (default: 1.5).
speedxy float
Rotation speed around the xy plane (default: 1.7).
speedxz float
Rotation speed around the xz plane (default: 1.9).
speedyz float
Rotation speed around the yz plane (default: 2.1).
INTERACTION
If you run this program in standalone mode you can rotate the polytope
by dragging the mouse while pressing the left mouse button. This
rotates the polytope 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 polytope is rotated in 4D, i.e., around the xy, xz, and yz
planes. To examine the polytope at your leisure, it is best to set all
speeds to 0. Otherwise, the polytope will rotate while the left mouse
button is not pressed. fps Display the current frame rate, CPU load,
and polygon count.
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 © 20032005 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>, 28sep2005.
 