ico - animate an icosahedron or other polyhedron


ico [-display host:dpy] [-geometry geom]
	[-size WxH] [-delta +X+Y][-r]
	[-d number][-bg color][-colors color...][-p#]
	[-lw number][-i][-sleep number][-obj objname]


The ico(1) utility 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 available; adding a new polyhedron to the program is quite simple.


-display host:dpy
X server to use
-geometry geom
Geometry of window to use
-size WxH
Size of object to rotate
-delta +X+Y
Amount by which to move object
Draw in the root window
-d number
Dashed line pattern for wire frames
-bg color
Background color
-colors color ...
Codes to use on sides
Use # (1 through 8) primary colors
Use double buffering (extension if present)
Use software double buffering
Do not draw wire-frame edges
Draw faces
Copy multibuffer frames instead of clearing
-lw number
Line width to use
-sleep number
Seconds to sleep in between draws
-obj objname
Type of polyhedral object to draw
list polyhedral objects available


If you have the source to ico, you can easily 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" operation. This will recreate the file allobjs.h, which lists all of the objXXX.h files. Doing a "make" operation after this will rebuild ico with the new object information.


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 might be specified twice.


Copyright 1988, Massachusetts Institute of Technology.
See X(5) for a full statement of rights and permissions.