|
From: Alan G I. <ai...@am...> - 2003-11-01 19:22:30
|
> On Fri, 31 Oct 2003, Alan G Isaac wrote: >> I found two widespread conventions: >> i. The arrowhead ink ends right at the point the arrow is >> drawn to. This is the convention that I have been pushing >> for. >> ii. The arrowhead ink ends right at the edge of a filled >> circle, the center of which is the point that the arrow >> is drawn "to". I find this odd conceptually, but I confess >> it does produce some nice looking graphics. On Sat, 01 Nov 2003, () Hans-Bernhard Broeker apparently wrote: > These two conventions aren't necessarily all that different as they > appear. Think of the first as a special case of the second, with the > curve radius of the tip reduced to zero --- or more precisely to some > value too small to be visible as a round tip, so it appears sharp. > Obviously, this also requires to interpret the tip radius as a feature > independent of the arrow linewidth. You appear to be describing a 3rd case, that I didn't come across. Here is what I hear you saying: iii. arrowhead has a rounded rather than sharp tip. If (iii) is what you meant, I would still expect the ink not to pass the point the arrow is drawn "to" (in the direction of the arrow). What I meant by (ii) is perhaps better captured by: (ii') a filled circle with radius 'r' centered on the "to" point 'ptB' is drawn, and then the arrow from ptA to ptB is drawn so that its very tip ends at the edge of the filled circle. Thus the arrow length will be 'r' less than the distance from ptA to ptB. As I said, I personally find the practice a bit odd, bit it appears reasonably common. (I also came across this practice for headless arrows. E.g., construct a line segment between two points.) It is still the case that (i) is a special case of (ii') with r=0. > Summing it up, the core problem all around is that arrows > shouldn't ever have been drawn using wide lines in the > first place. I agree with this principle, but of course on terminals that do not support filling one can still draw thick lines but then shorten the arrow by the miter length. One odd thing about the current PostScript terminal is that it draws a filled head and then "outlines" it with a thick line, and it is only the superfluous outline that causes ink to extend past the "to" point. If this is true of all terminals supporting filling, then filled arrowheads at least will be simple to fix. (Of course, as you have indicated, on such terminals *all* arrowheads could be drawn as filled outlines.) Cheers, Alan PS One last thing I just want to mention again since I do not recall any discussion of it: the 'vectors' plotting style will only produce sensible results if the ink for each vector starts and stops at exactly the specified points. I suppose this is currently addressed to a certain extent by refusing to honor 'linewidth' for plots in the 'vectors' style. (But shouldn't 'linetype' be allowed for color selection?) |