Re: GeometricTransformation causes dislocated
- To: mathgroup at smc.vnet.net
- Subject: [mg109737] Re: GeometricTransformation causes dislocated
- From: Chris Hill <chill at wolfram.com>
- Date: Fri, 14 May 2010 05:35:32 -0400 (EDT)
At 06:26 AM 5/13/2010, Tibor wrote: >Hi, >I would like to export some pictures from Mathematica into vector >graphics format. I use Graphics3D container and >GeometricTransformation command to locate my arrows in 3D space. When >exporting this into eps or PDF file format the arrowheads get messed >up in the result file. However, using png everything seems fine. But >unfortunately I need this in vector format. >The other interesting thing: using Opacity command in the same >Graphics3D container results in the same effect but now inside >Mathematica. Wired! > >Sample code demonstrating the problem: >Graphics3D[{Arrow[{{0, 0, 0}, {1, 0, 0}}], > Arrow[{{0, 0, 0}, {0, 1, 0}}], Blue, Arrow[{{0, 0, 0}, {0, 0, 1}}], > Pink, Arrow[{{-1, 1, 0}, {1, 1, 0}}], > GeometricTransformation[{Opacity[0.2], Black, > Arrow[{{0, 0, 0}, {1, 0, 1}}]}, > TranslationTransform[{1, 1, 1}].RotationTransform[\[Pi], {0, 0, > 1}]]}, Boxed -> False] > >Export["pic.PDF", %] > >I use Mathematica v7.0.0 - 32bit > >Thx in advance! > >Tibor This is a bug in v7.x. I can confirm that it has already been fixed in a development version, the fix will appear in a future release. As a workaround you can manually transform the arrow's vertices: Graphics3D[{Arrow[{{0, 0, 0}, {1, 0, 0}}], Arrow[{{0, 0, 0}, {0, 1, 0}}], Blue, Arrow[{{0, 0, 0}, {0, 0, 1}}], Pink, Arrow[{{-1, 1, 0}, {1, 1, 0}}], {Opacity[0.2], Black, Arrow[(TranslationTransform[{1, 1, 1}].RotationTransform[\[Pi], {0, 0, 1}]) /@ {{0, 0, 0}, {1, 0, 1}}]}}, Boxed -> False] Regarding your discovery that Opacity changes the rendering: The specification of transparency with the Opacity directive changes the algorithm used to render the graphic on the screen. The same algorithm is used to export 3D graphics to PDF in vector form. The issue is related to the use of that algorithm. I apologize for any inconvenience. Chris Hill Wolfram Research