Ron Minnich encouraged me to bring my incomplete little graphical clock
program to IWP9, and then he encouraged me to complete it.  So please
blame Ron for this:

  http://degood.org/plan9/mclock.tar

History of this clock program:  in the 1970s Dave Robinson, an EE
professor at UDel, wrote a cute graphical clock program in PDP-11 BASIC
that displayed on a Tektronix vector graphics terminal
<http://www.selectric.org/tek4010/index.html> in his lab.  The clock
image was drawn as vectors, with the filled areas composed of hundreds
of side-by-side vectors.

In 1982 I got a printout of the program from Dave, typed in all the
vector coordinates, and then rewrote the program in FORTRAN for an HP
3000 timeshared minicomputer, outputting escape sequences to an HP 2648
raster graphics terminal
<http://www.atariarchives.org/cgp/Ch02_Sec16_14.php> in my lab.

Flash forward ~25 years:  I stumbled across a line printer listing (on
green bar paper, of course) of my 1982 program in my basement, and on a
whim decided to rewrite it in C for Plan 9 using draw(2).  It looked
very retro.  I tried adding color, but it still wasn't satisfying
because the hundreds of vectors used for area fill weren't compatible
with variable size windows.  So I tediously determined bounding polygons
for each of the filled areas and called fillpoly() instead.

Magic feature:  when the clock diameter is > 600 pixels (e.g.
fullscreen) the linewidth increases from thick=0 (1 pixel) to thick=1 (3
pixels) to make the clock more readable from a distance.

Have fun.

John

Reply via email to