9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: John DeGood <john@degood.org>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: [9fans] graphical clock demo at IWP9
Date: Tue, 18 Dec 2007 10:06:59 -0500	[thread overview]
Message-ID: <4767E213.9070208@degood.org> (raw)

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	other threads:[~2007-12-18 15:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-18 15:06 John DeGood [this message]
2007-12-18 15:11 ` Francisco J Ballesteros
2007-12-18 15:14   ` erik quanstrom
2007-12-18 15:17   ` John DeGood
2007-12-18 18:56     ` Federico G. Benavento

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4767E213.9070208@degood.org \
    --to=john@degood.org \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).