NAME
ico - animate an icosahedron or other polyhedron

SYNOPSIS
ico [-display display] [-geometry geometry] [-r] [-d pat-
tern] [-i] [-dbl] [-faces] [-noedges] [-sleep n] [-obj
object] [-objhelp] [-colors color-list]

DESCRIPTION
Ico displays a wire-frame rotating polyhedron, with hidden
lines removed, or a solid-fill polyhedron with hidden faces
removed. There are a number of different polyhedra avail-
able; adding a new polyhedron to the program is quite sim-
ple.

OPTIONS
-r Display on the root window instead of creating a new
window.

-d pattern
Specify a bit pattern for drawing dashed lines for wire
frames.

-i Use inverted colors for wire frames.

-dbl Use double buffering on the display. This works for
either wire frame or solid fill drawings. For solid
fill drawings, using this switch results in substan-
tially smoother movement. Note that this requires
twice as many bit planes as without double buffering.
Since some colors are typically allocated by other pro-
grams, most eight-bit-plane displays will probably be
limited to eight colors when using double buffering.

-faces
Draw filled faces instead of wire frames.

-noedges
Don’t draw the wire frames. Typically used only when
-faces is used.

-sleep n
Sleep n seconds between each move of the object.

-obj object
Specify what object to draw. If no object is speci-
fied, an icosahedron is drawn.

-objhelp
Print out a list of the available objects, along with
information about each object.

-colors color color ...
Specify what colors should be used to draw the filled
faces of the object. If less colors than faces are
given, the colors are reused.

ADDING POLYHEDRA

If you have the source to ico, it is very easy to add more
polyhedra. Each polyhedron is defined in an include file by
the name of objXXX.h, where XXX is something related to the
name of the polyhedron. The format of the include file is
defined in the file polyinfo.h. Look at the file objcube.h
to see what the exact format of an objXXX.h file should be,
then create your objXXX.h file in that format.

After making the new objXXX.h file (or copying in a new one
from elsewhere), simply do a ’make depend’. This will
recreate the file allobjs.h, which lists all of the objXXX.h
files. Doing a ’make’ after this will rebuild ico with the
new object information.

SEE ALSO
X(1)

BUGS
Pyramids and tetrahedrons with filled faces do not display
correctly.

A separate color cell is allocated for each name in the
-colors list, even when the same name may be specified
twice.

COPYRIGHT
Copyright ([,*) X Consortium
See X(1) for a full statement of rights and permissions.