From: tomster@bigwpi.WPI.EDU (Thomas Richard Dibble)
Newsgroups: comp.sys.mac.advocacy
Subject: Re: Mac multitasking?
Date: 14 Dec 92 17:22:53
Organization: ZikZak Corporation
	<1992Dec14.071749.9430@athena.mit.edu>
NNTP-Posting-Host: bigwpi.wpi.edu
In-reply-to: mflafeer@athena.mit.edu's message of Mon, 14 Dec 1992 07:17:49 GMT

>>>>> On Mon, 14 Dec 1992 07:17:49 GMT, mflafeer@athena.mit.edu (Mohamed F. Lafeer) said:

  MFL> In article <_mj2nmp@rpi.edu> johnsd2@jec330.its.rpi.edu.its1 writes:
>In article 7041@athena.mit.edu, mflafeer@athena.mit.edu (Mohamed F. Lafeer) writes:
>>A couple of points about this discussion:
>>
>>Isn't "accurately" converting a hand-drawn 72dpi picture to 300dpi sort of 
>>like taking a digital recording done at 22kHz and converting it to 44kHz?
>>In other words, if the drawing is hand-drawn how can you add more detail
>>to the picture? Doesn't that mean making arbitrary decisions. The example
>>that Eric gives just shows that Apple and NeXT make different arbitrary
>>decisions.
>
>In this case, we are drawing a circle and a line- the bitmaps are only
>approximations, but if you increase the resoluion you CAN get more
>details, because the computer knows what "supposed" to be there.
>

Okay, now, correct me if I'm wrong, but isn't this how Post-script
handles lines:  A line is defined by it's end-points, which are
defined as the center of the pixel it ended upon in the resolution it
was drawn in.  That seems quite logical to me.  Doesn't sound like
it's how PS does it from this discussion.  Sounds like PS says the
above, then adds:  but if the pixels in a line as drawn in the
originating resolution happen to coencide with the pixels in another
object on screen at that resolution, the line was meant to intersect
that other bject as many times as the pixels coincide (once for
tangents ... )  It further sounds like Quick-Draw doesn't make this
assumption.

So the end result is this: if you want to draw a circle and a tangent
line, on the NeXT you draw it in whatever resolution you happen to be
in, on the Mac you zoom in to printer resolution and draw it.  If you
want a line that is close but not quite tangent, on the NeXT you first
zoom in to printer resolution and then draw it (which may be difficult
if the endpoints which you are defining the line by extend off the
screen when you zoom in), and on a Mac you either draw it at whatever
res, or zoom in.

Now, as I see it, lots of things I ever draw happen to be tangent to
each-other; if they are close-but-not-quite it tends to look quite
funny (ie, a cylinder with little gaps in all the corners ... ).  In
these instances the PS assumption really helps.  A few times, however,
I *do* need to draw things that are close-but-not-quite.  Then the PS
assumption is a pain in the ass ...

So ... let's put a toggle in there somewhere so I can turn this object
snapping on and off ... :->

(of course, my assessment may be totally incorrect ... in which case I
take it all back and you will forget I ever said it ... )

>>The conversion from screen res to printer res only works well for
>>mathematical constructs. Lines drawn on the Mac at 72dpi print
>>smoothly at 300dpi.  Same for Circles. And it you define a true
>>tangent in Claris CAD for instance, it will print correctly at
>>300dpi. The fact that you can go up to a NeXT and eyeball a tangent
>>at 90dpi and have it be a tangent at 400dpi means nothing
>>to me. 
>
>This case we have a ->hand draw<- tangent that looks right at 72 dpi..
>will it looke right at 300 dpi or not?
>
>>In short, device resolution independent imaging only makes sense with
>>mathematical constructs. 
>
>Such as what we have.. :)
>
>>Furthermore, who cares? In practice, the conversion between quickdraw and
>>postscript isn't a problem. 
>
>Hmmm. I hope so, but Eric says that it IS a problem. I think. Im not
>quite sure.
>

From what I've heard, for simple objects it *is* simple.  When you
start to probe the outer reaches of each's capabilities, however, the
conversion takes a bit more thought or just plain isn't possible
without losing information.

>>Oh, and by the way, the price of the NeXT printer was a big deal two years
>>ago. It really isn't any more in the age of cheap Postscript II RISC powered
>>laser printers.
>
>I dont know about this bit.
>

  MFL> I'm referring to the Apple Personal Laserwriter NTR, for
  MFL> example.

Now, two questions:

	1)	Can the NeXT use *any* postscript-compatible printer,
or just a few?  I would hope the former.

	2)	Can the NeXT use any other printer *besides* a
postscript laser?  Like, just dump the image to the other printer as a
bitmap instead of a postscript data file.

>>Remember, Mac OS may not be the most sophisticated OS around, but it
>>has grown quite well maintaining compatibility with 4 generations of
>>Motorola processors, eight years of development from thousands of
>>developers, and millions of Macs, many of which are quite
>>affordable. These features are at least as important as the
>>implementation details we nerds argue about on the net.
>
>I agree heartily. (surprise surprise)
>
>But the implementation details do matter too.
>And they are more fun to argue about. :)
>
>
>---
>			- Dan Johnson
>And God said "Jeeze, this is dull"... and it *WAS* dull. Genesis 0:0
>
>These opinions have had all identifiying marks removed, and are untraceable.
>You'll never know whose they are.

  MFL> Let me try and make my point about the tangent thing again.

  MFL> Imagine a circle and two lines. Line A is tangent to the
  MFL> circle. Line B lies 10 microns away from the circle.

  MFL> Now, suppose you have a 72dpi screen.

  MFL> Draw the circle and the two lines. You will draw the lines
  MFL> exactly the same way. Why? Because 10 microns doesn't mean
  MFL> anything at 72dpi.

  MFL> Now, suppose you had a million trillion dpi printer. Now the
  MFL> computer or printer must decide when it prints your line
  MFL> whether or not you meant for the line to be really tangent or
  MFL> 10 microns away from the circle. It has to determine that from
  MFL> the way you drew the line. But, you drew line A and line B
  MFL> exactly the same way.

  MFL> Now suppose that we're not talking about 10 microns. Suppose
  MFL> the distance is 1/300 of an inch. At 72dpi, the line would be
  MFL> tangent. At 300 dpi the line should be exactly one pixel away
  MFL> from the circle. Not tangent to the circle.

  MFL> On other words, tangency cannot be assumed by the software just
  MFL> because I line happens to be tangent at a certain resolution.
  MFL> The reliable way to define true tangency is to let the software
  MFL> know in no uncertain terms that this line is tangent. In Claris
  MFL> CAD, for instance, you would use the tangent tool. On the Mac,
  MFL> if you use the tangent tool, the line will be tangent at any
  MFL> resolution.

  MFL> If I go to a 72dpi screen and just eyeball a circle and a line
  MFL> with 1 pixel in common between a circle and a line, then print
  MFL> that picture at 300dpi, it is not necessarily correct for the
  MFL> computer to draw that line perfectly tangent to the circle.
  MFL> Maybe I meant for that line to be 1/300 of an inch away. If you
  MFL> want tangency, specify it.

  MFL> -M.Firoze Lafeer mflafeer@athena.mit.edu

I don't know.  I think tangency and intersections are common enough
that if we *don't* want this we should specify it.  Note that even
though the example was a tangent, we are not just talking about
tangents here.  We are also talking about straight-out line-line
intersections here; tangency just shows up better.  If I have a line
with some design along it, and I draw another line across that line,
most times I am lining up that second line with specific features of
the first line's design.  I don't have a clue where the actual
end-points of the happen to fall.  Then again, sometimes (less often)
I *do* care about the endpoints more than what it crosses in-between,
so perhaps, as I suggested before, *this* should be the non-default
toggle.  Remember: the default setting should always be to what is
most likely utilized.

		---- tomster@wpi.wpi.edu


--
/****************************************************************************\
| "I sometimes used to try to catch her, :	FROM:   tomster@wpi.wpi.edu  |
| but never even caught her name."	 :	TO:	who(m)ever reads it  |
|	---- the cure			 :	CC:	programming language |
\vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv/