Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

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 



  • Prev by Date: Execute .m file with JLink
  • Next by Date: Re: How to write reports and books in Mathematica
  • Previous by thread: Re: Execute .m file with JLink
  • Next by thread: Re: NIntegrate Confusion