[comp.lang.postscript] Query re `arc'

ghost@aladdin.com (L. Peter Deutsch) (05/21/91)

The PostScript specification trivia question for today:

If you ask a PostScript engine to draw a zero-degree arc and there is
no current point, does the arc operator just do a moveto, or does it
do a moveto and then draw a zero-length line?  It makes a difference,
because if you've selected non-round caps and round joins, 'stroke'
will give no output if arc does the former, whereas the latter will
draw a dot.

Since this isn't culled out as a special case in the Red Book, I
suspect the latter is the correct interpretation, but it would be
nice to know for sure.

L. Peter Deutsch :: Aladdin Enterprises :: P.O. box 60264, Palo Alto, CA 94306
ghost@aladdin.com ; ...decwrl!aladdin!ghost ; (415)322-0103 <<< new phone #
	    "Implementation is the sincerest form of flattery."

Christopher Tate <CXT105@psuvm.psu.edu> (05/21/91)

If you ask it to draw an arc when there is no current point, shouldn't it
give you a 'nocurrentpoint' error?

Just two cents from the far corner....

-------
Christopher Tate                   |
Student-Type Person                |     Migratory lifeform with a
cxt105@psuvm.psu.edu               |      tropism for bookstores.
{...}!psuvax1!psuvm.bitnet!cxt105  |
cxt105@psuvm.bitnet                |

flar@bendenweyr.Eng.Sun.COM (Jim Graham) (05/22/91)

CXT105@psuvm.psu.edu (Christopher Tate) writes:

|> If you ask it to draw an arc when there is no current point, shouldn't it
|> give you a 'nocurrentpoint' error?

From the redbook:

	If there is a current point, the arc operator includes a straight
	line segment from the current point to the first endpoint of this
	arc and then adds the arc itself into the current path.  If the
	current path is empty, the arc operator does not produce the
	initial straight line segment.  In any event, the second endpoint
	of the arc becomes the new current point.

				...jim

flar@bendenweyr.Eng.Sun.COM (Jim Graham) (05/23/91)

ghost@aladdin.com (L. Peter Deutsch) writes:
|> The PostScript specification trivia question for today:
|> 
|> If you ask a PostScript engine to draw a zero-degree arc and there is
|> no current point, does the arc operator just do a moveto, or does it
|> do a moveto and then draw a zero-length line?  It makes a difference,
|> because if you've selected non-round caps and round joins, 'stroke'
|> will give no output if arc does the former, whereas the latter will
|> draw a dot.

According to the Laserwriters, "newpath 50 50 20 0 0 arc" generates
a single path element, "70 50 moveto".

					...jim