|
From: Hans-Bernhard B. <br...@ph...> - 2003-11-01 19:41:11
|
On Sat, 1 Nov 2003, Alan G Isaac wrote: > > 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. Sort of. The tip is *always* rounded, because truly sharp objects don't exist in the real world. The only question is the radius of the rounded tip. In your listing: (i) radius << linewidth, and too small to be visible (ii) radius == linewidth (iii) radius somewhere in between > 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). I don't think so. The question is why you drew an arrow, and how the average reader would read the resulting plot. If the tip is visibly rounded, the most obvious position to be read out of it would indeed be the center of that arc, not some point on it, because it'd be hard to tell where on the arc that should be. > 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. I don't think I've seen anything like that, nor did I understand your earlier description to mean this. Rather like this: draw the arrowhead as two wide lines with a round join vertex at the 'to' position, i.e. the outer flanks of the arrowhead end tangentially on the arc that forms the very tip, and connects the two flanks. > 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. Odds are such simplistic terminal drivers would *still* get it wrong --- Esp. if they don't really support polylines at all, and thus cannot possible create a miter join. -- Hans-Bernhard Broeker (br...@ph...) Even if all the snow were burnt, ashes would remain. |