On 2007-09-19 21:56-0400 Hazen Babcock wrote:

> Hopefully I've fixed this (shear allowed below the baseline) in v7876.

Yes, and thanks.

Note, that the png and X backends of cairo (pngcairo and xcairo) have
trouble with a shear aligned exactly with the baseline so the updated x28c.c
(revision 7883) offsets the angle by domega = 0.05 radians to avoid that
situation without noticeably affecting what the plot looks like. I am not
going to put in a bug report for the cairo backends because this case is too
complicated.  However, I am sure I am right that it is a problem specific 
to the png and X back-ends for cairo because the Postscript back end of
cairo (pscairo) and the PLplot core (Hershey fonts and/or non-cairo device
drivers with non-Hershey fonts) did not have any trouble with domega = 0.

> Ok, I see what you mean now (about character size problem for the
"revolution" case) . Since the characters are the same size the only 
> way I can see to fix this is to change the spacing.

Actually, it is not simply spacing.  If you look at the first attached
screenshot for the latest x28c.c, the disparity of length of string for the
z=zmin case for omega = -Pi/4 (the string only goes ~ 40% to the corner) and
omega = Pi/4 (the string goes well beyond the corner) is increased for this
more extreme viewing angle but basically confirms the previous results.
However, please also look at the shape of the "o" characters in those two
strings.  They are almost perfectly round (as directly viewed) which means
their inferred 3D shape is strongly elliptical.  Of course, the inferred 3D
shape should be circular.  To solve this issue the -Pi/4 (short) string
needs all its characters stretched out along the axis of the string while
the Pi/4 (long) string needs all its characters compressed along the axis of
the string.  The size of those characters perpendicular to the string axis
look pretty good in both cases.  Note, the screenshot also has similar
rotation results for x=xmax, and y = ymax.  The errors are much more subtle
for those cases, but they are there as well.  Also, you can make the errors
for those cases arbitrarily large by picking extreme viewing angles (such as
azimuth = 85 or so).

Note the first attached screen shot was produced by viewing with gv the
first page of results from

./x28c -dev psc -o test.ps --drvopt text=0

You can also get very similar results by running

./x28c -dev xwin

The second screenshot displays the second page of the above results which
shows that (a) rotation is working fine, but (b) it also shows the
justification problem for Hershey fonts (as before).  Those results are
properly centred on the x=xmax, y = ymax, and z=zmin planes for non-Hershey
fonts.  Alternatively, I can get the same results for the Hershey case by
negating the justification specified for plptex3.

The third page of the example (not attached) shows shear in the direction of
the baseline of the string) is working fine (but also illustrates the
Hershey justification problem), and the fourth page of the example (not
attached) shows various 3D axis titles done using plmtex3 are working fine.

I am tentatively thinking of a cool-looking fifth page for x28c.c which will
show a 3D character string following a complex path in 3D space with the
appropately changing inclinations and shears for each character position of
the string, but I am afraid it would look pretty crummy until the above
"revolution" issue is sorted out.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

-------------------------------------------------------------------------
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

Reply via email to