From: Jim W. <wi...@af...> - 2005-10-18 18:23:28
|
The circle.intersect() method may be addled by large-radius circles. To see what I (think I) saw, in examples/path/circles.py, change the radii of circ1 and circ2 and the center ordinate and abscissa of the latter to 1e6: : circ1 = path.circle(0, 0, 1e6) circ2 = path.circle(1e6, 1e6, 1e6) : Details: Python 2.4.1, PyX 0.8.1, FC4. Xpdf 3.01 (Gsview whined about bad PostScript, so I couldn't look at circles.eps). Jim Wilson Gainesville, FL |
From: Andre W. <wo...@us...> - 2005-10-20 16:18:42
|
Hi, On 18.10.05, Jim Wilson wrote: > The circle.intersect() method may be addled by large-radius circles. To > see what I (think I) saw, in examples/path/circles.py, change the radii of > circ1 and circ2 and the center ordinate and abscissa of the latter to 1e6: > > : > circ1 = path.circle(0, 0, 1e6) > circ2 = path.circle(1e6, 1e6, 1e6) > : > > Details: Python 2.4.1, PyX 0.8.1, FC4. Xpdf 3.01 (Gsview whined about bad > PostScript, so I couldn't look at circles.eps). Well, there are two problems here. The first is easy ... and I think that's the problem you have when viewing the file. The output is a huge page. But that's fine except from exponentials occuring in the highresbbox ... this might be an error, right. We should look up this in the DSC description and maybe fix it. You can force PyX to write everything centered onto a given paper size. This would look like: c.writeEPSfile("circles", paperformat=document.paperformat.A4, fittosize=1) Then you can view the file without any problem, even when it was created using this huge coordinates. However, when you do so, you'll find out, that the result looks different now! As far as I can see, this is due to the fact, that one of the intersection points is very close to parameter value 0 at the closed circle path. This is unstable, you may get a parameter value a little above 0 or a very little below that, which meens it'll be a little less than the number of normpathsubitems (seems to be 10 for a full circle at default precision). This is really a bad example in that sence, since those instabilities need to be taken care of by the user (there aren't much different options here). But if you move the upperright circle a little, such that the intersection point is a little away from the closing point of the circle, it should be perfectly stable. For example circ1 = path.circle(0, 0, 1e6) circ2 = path.circle(1.2e6, 1.2e6, 1e6) works very well on quite different scales. André -- by _ _ _ Dr. André Wobst / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: Alan G I. <ai...@am...> - 2005-10-20 17:13:00
|
http://partners.adobe.com/asn/developer/pdfs/tn/5644.Comment_Ext.pdf %%HiResBoundingBox differs from %%BoundingBox: by taking as its arguments real numbers rather than integers. (The DSC is referred to but I see no discussion there.) So exponential notation *should* be fine... fwiw, Alan Isaac |
From: Andre W. <wo...@us...> - 2005-10-21 06:41:16
|
Hi, On 20.10.05, Alan G Isaac wrote: > http://partners.adobe.com/asn/developer/pdfs/tn/5644.Comment_Ext.pdf > %%HiResBoundingBox differs from %%BoundingBox: by > taking as its arguments real numbers rather than integers. > (The DSC is referred to but I see no discussion there.) > > So exponential notation *should* be fine... Great. I thought this should also be contained somewhere in the DSC Spec (5001), the EPS Spec (5002) or the PLRM, but I couldnt't find anything about the HiResBoundingBox in any of those books ... I just took a look and couldn't find anything. I'm wondering about the PDF thing you quote (I don't have this document and the link above doesn't properly resolve). Also note, that in PDF floating point numbers are not allowed to contain exponentials, while in PostScript they are allowed to have those. André -- by _ _ _ Dr. André Wobst / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: Michael S. <m-s...@us...> - 2005-10-21 08:41:55
|
Hello, On 20.10.05, Andre Wobst wrote: > On 18.10.05, Jim Wilson wrote: > > The circle.intersect() method may be addled by large-radius circles. To > > see what I (think I) saw, in examples/path/circles.py, change the radii of > > circ1 and circ2 and the center ordinate and abscissa of the latter to 1e6: > > > > : > > circ1 = path.circle(0, 0, 1e6) > > circ2 = path.circle(1e6, 1e6, 1e6) > > : > > > > Details: Python 2.4.1, PyX 0.8.1, FC4. Xpdf 3.01 (Gsview whined about bad > > PostScript, so I couldn't look at circles.eps). > > Well, there are two problems here. The first is easy ... and I think > that's the problem you have when viewing the file. The output is a > huge page. But that's fine except from exponentials occuring in the > highresbbox ... this might be an error, right. We should look up this > in the DSC description and maybe fix it. > > You can force PyX to write everything centered onto a given paper > size. This would look like: > > c.writeEPSfile("circles", paperformat=document.paperformat.A4, fittosize=1) This does not work in the current CVS because the transformation matrix is regarded to be singular. Should we tune the threshold parameter for the singularity of transformations? Michael. -- "A mathematician is a device for turning coffee into theorems" Paul Erdös. |
From: Andre W. <wo...@us...> - 2005-10-21 08:56:22
|
Hi, On 21.10.05, Michael Schindler wrote: > > c.writeEPSfile("circles", paperformat=document.paperformat.A4, fittosize=1) > > This does not work in the current CVS because the transformation > matrix is regarded to be singular. Should we tune the threshold > parameter for the singularity of transformations? I see. I've tried that with 0.8.1 since I wanted to use the same version as your users do. At the moment I think it is fine that the system complains about a singularity here and I would leave it. Still, it's worth to consider something else here ... right. André -- by _ _ _ Dr. André Wobst / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: Alan G I. <ai...@am...> - 2005-10-21 15:08:31
|
On Fri, 21 Oct 2005, Andre Wobst apparently wrote: > I'm wondering about the PDF thing you quote (I don't have > this document and the link above doesn't properly > resolve). Sorry. They moved it. http://partners.adobe.com/public/developer/en/ps/5644.Comment_Ext.pdf > Also note, that in PDF floating point numbers are not > allowed to contain exponentials, while in PostScript they > are allowed to have those. OK. I know nothing about PDF. Cheers, Alan Isaac |
From: Andre W. <wo...@us...> - 2005-10-24 05:59:42
|
Hi, On 21.10.05, Alan G Isaac wrote: > On Fri, 21 Oct 2005, Andre Wobst apparently wrote: > > I'm wondering about the PDF thing you quote (I don't have > > this document and the link above doesn't properly > > resolve). > > Sorry. They moved it. Well, this sometimes happens. We had those troubles before as well. > http://partners.adobe.com/public/developer/en/ps/5644.Comment_Ext.pdf Interesting. I was not aware of this document. Thanks for the pointer. This is the document, where the hiresbbox is described ... > > Also note, that in PDF floating point numbers are not > > allowed to contain exponentials, while in PostScript they > > are allowed to have those. > > OK. I know nothing about PDF. Now that I see, that it's really a PostScript documentation, the allowed floating point representations in PostScript should really be fine. Before I was just wondering about the url ... it seemed PDF specific ... André -- by _ _ _ Dr. André Wobst / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |