|
From: Daniel J S. <dan...@ie...> - 2003-10-22 09:25:47
|
Alan G Isaac wrote: > A picture is worth a thousand words. How can the sript > below be considered to produce desirable output for these > script commands? A couple comments. First, I see Alan's point from his example. That top arrowhead does seem to have the feel of not ending in the right spot. It looks like the increased thickness of the line causes the front tip of the arrowhead to be a little ways past the point. In other words, if you think of the outside edges of the lines, those thin edges criss-cross not at the "to" point, but somewhere beyond it. It seems to me that a nice behavior would be that no matter what type of butt/rounding style is used those outer edges should criss-cross right at the "to" point. Even if the tip is rounded, I'm guessing that would still look nice. (There would probably be a little bit of white space between the rounded tip and the "to" point.) It shouldn't be too difficult to write a little routine to compensate for that sort of thing. It is probably something involving vector math and trig. (To get the rounded tip to stop right at the point would require a bit more tricky computations.) Draw two extremely wide lines on a sheet of paper criss-crossing. The vector relationships should become clear from that. The second comment is that yes, user expectations are something to consider. But also you should weigh in any preceding standards. My guess is that there have been long discussions amongst graphics people about the topic and some standard may have emerged over the years. I would consider using that as a guide. Of course, I don't know where one would look for that. Perhaps a PostScript manual. Dan Alan G Isaac wrote: >>On Monday 20 October 2003 23:14, Alan G Isaac wrote: >> >> >>>Basic user interface issue: >>>set arrow from ptA to ptB >>>will be expected to do precisely that: >>>start at ptA and end at ptB. >>> >>> > >On Tue, 21 Oct 2003 11:20:41 -0700 Ethan Merritt <merritt@u.washington.edu> wrote: > > >>Gnuplot does that now. What we are disagreeing about is the >>meaning of the word "precisely". >> >> > >Actually I think we are disagreeing on the more basic words >'start' and 'end'. I have not been able to understand your >apparent suggestion (?) that the user will expect ink past >ptB (in the direction of the arrow). > >On Tue, 21 Oct 2003 11:20:41 -0700 Ethan Merritt <merritt@u.washington.edu> wrote: > > >>You may not like the behavior, but that doesn't mean it >>is ambiguous. >> >> > >I think you are giving a programmer's perspective rather >than a user's perspective on ambiguity here. Of course, >the code says what it says. But a user has no simple >way to tell where an arrow will end. (I.e., where the >ink will end.) > >On Tue, 21 Oct 2003 11:20:41 -0700 Ethan Merritt <merritt@u.washington.edu> wrote: > > >>think of line segments in gnuplot as a >>connect-the-dots process: place a dot at the "from" >>position, place another at the "to" position, then connect >>them. >> >> > >I accept that if I draw several independent (i.e., unjoined) >line segments end to end that round caps will produce a >better looking line. But this is not how people use arrows. >Or rather, I don't know anyone using arrows this way. >And those who do have a round caps option available to them. > > > >>I personally think that rounded ends are best. >>But it should be left up to the user, as it is now. >> >> > >No, it isn't. Not for arrows with heads. Selecting butt >caps does not cause arrowhead ink to terminate at the >specified end point. > > > > >>But they don't. They extend exactly to the specified >>endpoint *** to the resolution of the pen used ***. >> >> > > > >>>What is more, with >>>this behavior it is essentially impossible for me to make an >>>arrow terminate precisely where I wish it to. >>> >>> > > > >>I don't see why. Can't you just specifiy a very thin >>pen width and a filled arrowhead? Stroke the tail of >>the arrow separately if you want that part thicker. >> >> > >Stroke the tail to where, exactly? (That is the >user interface issue!) > >A picture is worth a thousand words. How can the sript >below be considered to produce desirable output for these >script commands? I still say the key issue is: what will >users expect, and what makes it easiest for them to achieve >precisely what they desire in a predictable fashion? When >the user wants an arrow from ptA to ptB, that really ends at >ptB (i.e., no ink past ptB), s/he should not have to make >length adjustments everytime s/he changes the linewidth or >arrowhead angle. Yet that is the current situation. I >cannot see that this behavior (in the sample script) can >meet the goal of being predictable for the user. And I add >to that a personal query: thinking back over your own use of >arrows in gnuplot, can you really claim that your *intent* >when you first think of drawing an arrow from ptA to ptB >is for the ink to extend past ptB? > >Alan Isaac > >############################################################## >set term post eps color solid butt >set output 'c:\temp3.eps' >set xrange [0:4] >set yrange [0:5] >set style arrow 1 front head size 0.2,15 nofilled lt -1 >set style arrow 2 front nohead lt -1 >set style arrow 3 front nohead lw 5 lt -1 >set style arrow 4 front head size 0.2,15 nofilled lw 5 lt -1 >set arrow from 1,1 to 3,1 as 1 >set arrow from 1,2 to 3,2 as 2 >set arrow from 1,3 to 3,3 as 3 >set arrow from 1,4 to 3,4 as 4 >plot '-' with points ps 1 pt 7 lt 1 >3 1 >3 2 >3 3 >e >############################################################## > > > > > >------------------------------------------------------- >This SF.net email is sponsored by OSDN developer relations >Here's your chance to show off your extensive product knowledge >We want to know what you know. Tell us and you have a chance to win $100 >http://www.zoomerang.com/survey.zgi?HRPT1X3RYQNC5V4MLNSV3E54 >_______________________________________________ >gnuplot-beta mailing list >gnu...@li... >https://lists.sourceforge.net/lists/listinfo/gnuplot-beta > > > > -- Dan Sebald email: d a n i e l . s e b a l d @ i e e e . o r g URL: ht tp://acer-access.c om/~dsebald @ acer-access.co m/ |