[comp.graphics] Hidden lines on plotter

a575@mindlink.UUCP (Michael G. Henders) (10/02/90)

Sorry, I've lost the original postings here, but...

Someone was looking for hidden line routines suitable for use with a plotter,
and someone else suggested a couple of possibilities, and referred in passing
to a book by `someone with a Dutch name', for which he couldn't remember an
exact reference.  (Did you keep all those `someones' straight? :-)  )  I have
the book; it's `Programming Principles in Computer Graphics', by Leendert
Ammeraal, published by Wiley.  Copyright date is 1986, and the ISBN is 0 471
90989 0.  It does have C code for a hidden-line routine, which is why I bought
it, but I haven't had time yet to try the code.  Just for your reference...
--
| Michael G. (Mike) Henders | "The quizzical expression on the face of 
|
| Vancouver, B.C., Canada   | the monkey at the zoo is due to his 
|
| a575@mindlink.UUCP  -or-  | wondering if he is his brother's keeper, 
|
| uunet!van-bc!rsoft!mindlink!a575 | or his keeper's brother."

jroth@allvax.dec.com (Jim Roth) (10/04/90)

In article <3397@mindlink.UUCP>, a575@mindlink.UUCP (Michael G. Henders) writes...
>Sorry, I've lost the original postings here, but...
> 
> [ ... followup giving Leendert Ammeralls book ... ]

Thanks, I'd forgotten to follow up on that... I bought the book for
exactly the same reason Michael did - its hidden line code!

Here is the citation for the COSMIC software I mentioned:

	M87-10038 - NASA Dryden Flight Research Center
	Hidden Line Computer Code
	D. R. Hedgley

I don't know if the source is online anywhere, though I have a copy of the
indigestable FORTRAN code itself backed up somewhere.  To decipher it you'd
have to get a copy of the technical report - the code has *no* comments!
We're talking dusty deckware.

I also wanted to mention that plane sweep algorithms while rather neat in
theory can have problems dealing with degenerate cases (multiple
edges at a vertex, edges with an endpoint epsilon from another edge, etc.)
which are a real headache in practice.

Though there has been some work on resolving this (so-called "simulation of
simplicity" by Guibas et al) I'm unsure how practical such solutions really
are.  In 2-D it is possible to use rational arithmetic and get a reasonable
and reliable implementation, but in 3D it looks bad.  I haven't gotten very
far with such problems yet.

Making plane sweep algorithms reliable in the face of such problems is
an active area of research.

- Jim