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
next 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).