polyhedra — draws the 80 uniform polyhedra and their duals

Synopsis

Synopsis

polyhedra [-display host:display.screen] [-visual visual] [-window] [-root] [-delay number] [-speed float] [-duration seconds] [-no-wander] [-spin XYZ] [-wireframe] [-no-titles] [-which name] [-wireframe] [-fps]

Description

This program renders 160 different 3D solids, and displays some information about each. A new solid is chosen every few seconds.

There are 75 uniform polyhedra, plus an inifinite number of prisms and antiprisms:


  * Convex Uniform Polyhedra:
    * Platonic solids (5)
    * Archimedean solids (13)
    * Convex prisms and antiprisms (2 infinite families)
  * Nonconvex Uniform Polyhedra:
    * Kepler-Poinsot polyhedra (4)
    * Nonconvex uniform polyhedra (53)
    * Nonconvex prisms, antiprisms, and crossed antiprisms
      (3 infinite families)

Representative samples of the prism sets brings the total to 80 solids. Including the dual of each brings the total up to 160. (To create the "dual" of a polyhedron, faces are replaced with vertices, and vertices with faces.)

Options

-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.
-window
Draw on a newly-created window. This is the default.
-root
Draw on the root window.
-delay number
Per-frame delay, in microseconds. Default: 30000 (0.03 seconds.).
-speed number
Larger numbers mean run faster. Default: 1.0.
-duration seconds
How long before switching to a new polyhedron. Default 12 seconds.
-wander | -no-wander
Whether the objects should wander around the screen.
-spin [XYZ] | -no-spin
Which axes, if any, to spin around on.
-titles | -no-titles
Whether to display text describing each object.
-which object-name
Display only one particular object, identified by number, name, or Whthoff symbol.
-wireframe | -no-wireframe
Render in wireframe instead of solid.
-fps
Display the current frame rate, CPU load, and polygon count.

Key bindings

When running in a window, you can rotate the object with the mouse. Also, the following keystrokes are defined:
SPC or TAB
Select a new polyhedron at random.
+ or >
Select the next-higher-numbered polyhedron.
- or <
Select the next-lower-numbered polyhedron.
ESC or ^C
Quit.

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.

Author

Based on the program kaleido ("Kaleidoscopic construction of uniform polyhedra"), by Dr. Zvi Har'El <rl@math.technion.ac.il>
    http://www.math.technion.ac.il/~rl/
    ftp://ftp.math.technion.ac.il/kaleido/

Adapted for OpenGL and XScreenSaver by Jamie Zawinski, 2004.