3

I noticed that if I rotates a 3D image using the mouse, there is a little jitter or shaking in the notebook interface itself as I rotate the image around with the mouse.

i.e. the frame where the 3D image itself is, does shift a little up and down the notebook.

I tried all the tricks I know to prevent this, from setting different ImagePadding, PlotRangePadding, ImageMargins, PlotRange, ContentSize and everything else but no luck.

Here is a small example, I just used RegionPlot3D as an example, but any 3D plot will do.

Manipulate[
      RegionPlot3D[True, 
                 {x,1,2},{y,1,2},{z,1,2},
                 AxesLabel-> label,
                 ImageSize->{340,450},
                 ImagePadding->10,
                 ImageMargins->10,
                 MeshStyle->Automatic,
                 PlotRangePadding->1,
                 AxesOrigin->{0,0,0},                   
                 PlotRange->{{0,2},{0,2},{0,2}},
                 Boxed->False],
     {n,0,ControlType->None},

 SynchronousUpdating->False,
 ContinuousAction->False
 ]

Now if you run the above, and using the mouse to rotate the little cube, you'll start noticing, once you release the mouse, that the notebook did jitter a little. Feel free to try any other settings.

It is annoying, as I do not like this shaking effect. Makes me dizzy.

Any expert here might know if it is option setting that I am overlooking in the Plot command itself, or may be something else? I'd like the plot frame and the notebook itself not to shake while I am rotating the image inside with the mouse. The problem again shows up when one release the mouse.

Mathematica 8.0.1 on windows 7.

thanks --Nasser ps. I tried to search if this was asked before, but did not spot something.

Nasser
  • 12,849
  • 6
  • 52
  • 104

1 Answers1

6

Try:

SphericalRegion -> True  

Like in:

Manipulate[
 RegionPlot3D[True, {x, 1, 2}, {y, 1, 2}, {z, 1, 2}, 
  AxesLabel -> label, SphericalRegion -> True, 
  ImageSize -> {340, 450}, ImagePadding -> 10, ImageMargins -> 10, 
  MeshStyle -> Automatic, PlotRangePadding -> 1, 
  AxesOrigin -> {0, 0, 0}, PlotRange -> {{0, 2}, {0, 2}, {0, 2}}, 
  Boxed -> False], {n, 0, ControlType -> None}, 
 SynchronousUpdating -> False, ContinuousAction -> False]

From the Help:

With SphericalRegion->True, the image of a particular object remains consistent
in size, regardless of the orientation of the object. 

Edit

Usage example in this answer: How to create 2D (3D) animation in Wolfram Mathematica with the camera following the object?

HTH!

Community
  • 1
  • 1
Dr. belisarius
  • 60,527
  • 15
  • 115
  • 190