On Sep 18, 2007, at 10:38 PM, Alan W. Irwin wrote: > On 2007-09-18 12:43-0700 Alan W. Irwin wrote: > > The next round of changes (Revision 7875) in example 28 exposed two > additional bugs which I will call the "rotation sign" bug and the > "just = > 0.5 sign" bug. There is also a character size issue shown by the > "revolution" pattern (effective 3D character size depends on > inclination and > viewing angle) which I will discuss at the end. > > The first attached screenshot gives the gv result for > > ./x28c -dev pscairo -o test.ps > > If you look at the "rotation" series of 8 different shear angles in > x28c.c, > the shear vector is supposed to rotate through a total range in > angle of 2 > PI in a plane parallel to the YZ plane. The first four angles (0, > PI/4, > PI/2, 3PI/4) are fine, but the next four angles act as if PI had been > subtracted from the rotation angle. I think this issue must be due > to a > sign bug in the way quadrant 3 and 4 (with shear angle from PI to > 2PI) are > handled.
Er, not a bug, a feature... I did this deliberately because I did not think it made sense to be able to shear the text so that it was drawn "below" the baseline. Also, in the documentation we say that the text will be drawn parallel to the shear line, but don't mention anything about directionality. It isn't hard to change though if you think this approach is incorrect. > i.e., for Hershey fonts. This shows the same "rotation sign" bug > as above > (this consistency is actually pretty gratifying since you have > worked hard > to make the extremely different Hershey font code path give > consistent 3D > inclination and shear results with the modern font code path). This > screenshot also shows an additional "just=0.5" sign bug that > displaces the > "rotation" strings in the direction of increasing X. I can make > the Hershey > result agree with the modern font result if I specify just = -0.5 > (!) for > the plptex3 call so I assume this bug is due to some quadrant sign > error in > how just is interpreted for this particular inclination in the > Hershey code > path (but the first screenshot shows this bug does not occur in the > modern > font code path). I'll have a look, but plptex3 does not change the just parameter, it simply passes it through to the core PLplot text drawing routine plP_text. > One final issue is the "revolution" pattern shown by both screen > shots is in the form of a 3D ellipse (which projects to a 2D > circle). It appears > from this evidence that the overall 2D font size (both height and > width of > characters) appears not to be adjusted to account for the various > inclinations as transformed to 2D via the 3D perspective plot > transformation. As a result, the "revolution" pattern looks like a > circle > in 2D, but in 3D perspective you would interpret that 2D circle as an > ellipse in 3D space (i.e., the effective 3D character size depends on > inclination and viewing angle). Since plptex3 is supposed to be in > (3D) > world coordinates, I suspect it will be used by users to identify > specific > areas of 3D surfaces, and it will be an annoyance to have the > effective 3D > character size on that surface change with inclination and viewing > angle. > Hazen, it would be great if you could deal with this issue before > the stable > release, but if you prefer to put it off until post 5.8.0, that is > fine as > far as I am concerned. I'm not sure I understand. If the text is drawn in a plane then wouldn't you expect it's size to depend on the angle at which you viewed the plane? Perhaps we a need another text routine thats lets you specify the 3D location of the text, but then simply draws it in 2D (assuming this doesn't already exist)? -Hazen ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel