Path: utzoo!mnetor!uunet!husc6!bbn!rochester!cornell!batcomputer!garry From: garry@batcomputer.tn.cornell.edu (Garry Wiegand) Newsgroups: comp.graphics Subject: Re: Yet more elementary dross.. a suggestion Message-ID: <4219@batcomputer.tn.cornell.edu> Date: 29 Mar 88 00:34:20 GMT Reply-To: garry@oak.cadif.cornell.edu Distribution: na Organization: Cornell Engineering && Ithaca Software, Inc. Lines: 61 In a recent article cdshaw@pembina.UUCP (Chris Shaw) wrote: >I must say I'm getting rather tired of coming across articles that ask simple >questions. Seems to indicate that people are posting the question as soon as >it comes to mind, as opposed to going to the library or bookshelf to get >the appropriate book... I think it's entirely appropriate for people to ask simple questions here (as long as somebody is still enjoying answering them.) Telling people to "go to the library" is often not very kind or helpful. This business we're in hasn't been around very long, and the reference works just aren't very solid yet. My own experience with the literature has been that: A) It's hard work to find stuff. As far as I know, the ACM computer literature index died some years ago. What I generally do when I have a new topic to research, and I want to find the fresh work, is to pull all the recent issues of all the relevant journals off the shelf and start thumbing through them. I hope to find a "related" article and then work the references back. Pretty tedious. B) Many elementary algorithms which you would think "of course" are written down and available actually aren't. Oftentimes there's bits and pieces of things scattered around all over, but no-one ever got around to putting it all together sensibly and coherently before everybody lost interest in the subject. The hidden-line/ hidden-surface literature, for example, is a mess. C) Often when you do find an algorithm, the author wrote it out in narrative English. It can be amazingly hard to figure out what in the world the person meant to say! (There's a certain value in this game to making your solution *appear* to be nice and simple & elegant :-(. It can be even harder to figure out whether it's worth figuring out - whether the paper in your hand actually has some major flaw or missing improvement. D) My experience has been that even the nicely pseudo-coded algorithms in the classics (Newman and Sproull, Rogers, etc) are sometimes not quite right and/or just plain wrong. For example, all but one of the RGB/HLS conversion algorithms I've ever seen choose a bad method, and then a *lot* of them proceed to add bugs to the bad method in the course of writing it up. [I don't want to be too harsh on the authors: it's really hard work to make a published detailed algorithm "perfect".] E) Finally, there's always some residual worth in rehashing "old" subjects - often they're "old" because people got bored with them, not because the "best" solution had actually been reached. For example, I recall there's a tweak you can do to Liang/Barsky (ie, parametric) clipping that makes it run a bit faster than the published version. And we've noticed that even old Bresenham's algorithm is *not* the absolute fastest way to fill a Bresenham line on some machines. The silliest things can still allow room for improvement. Thanks for letting me ramble. Please be kind to new (and old) readers asking simple questions? garry wiegand (garry@oak.cadif.cornell.edu - ARPA) (garry@crnlthry - BITNET)