boing — draws a bouncing ball like the ancient Amiga demo

Synopsis

boing [-display host:display.screen] [-window] [-root] [-install] [-visual visual] [-delay usecs] [-smooth] [-lighting] [-scanlines] [-speed] [-no-spin] [-angle degrees] [-size ratio] [-parallels n] [-meridians n] [-wireframe] [-fps]

Description

The boing program draws a bouncing checkered ball on a grid.

This is a clone of the first graphics demo for the Amiga 1000, which was written by Dale Luck and RJ Mical during a break at the 1984 Consumer Electronics Show (or so the legend goes.) The boing ball was briefly the official logo of Amiga Inc., until they were bought by Commodore later that year.

With no arguments, this program looks a lot like the original Amiga demo. With "-smooth -lighting", it looks... less old.

Options

boing 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 usecs
The delay between frames of the animation, in microseconds: default 15000.
-smooth
Draw a smooth sphere instead of a faceted polyhedron.
-lighting
Do shaded lighting instead of flat colors.
-scanlines
If the window is large enough, draw horizontal lines to simulate the scanlines on a low resolution monitor.
-speed ratio
Change the animation speed; 0.5 to go half as fast, 2.0 to go twice as fast.
-no-spin
Don't rotate the ball.
-angle degrees
The jaunty angle at which the ball sits. Default 15 degrees.
-size ratio
How big the ball is; default 0.5 meaning about half the size of the window.
-parallels n
-meridians n The pattern of rectangles on the ball. Default 8x16.
-wireframe
Look crummy.
-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.

Author

Jamie Zawinski <jwz@jwz.org>, 19-Feb-2005.