Mathematica:3D绘图,在用鼠标旋转3D图像的同时防止笔记本抖动?

时间:2011-05-29 03:22:30

标签: wolfram-mathematica

我注意到如果我使用鼠标旋转3D图像,当我用鼠标旋转图像时,笔记本界面本身会有一点抖动或抖动。

即。 3D图像本身所在的框架确实会在笔记本上下移动一点。

我尝试了所有我知道的技巧来防止这种情况,设置不同的ImagePadding,PlotRangePadding,ImageMargins,PlotRange,ContentSize等等但没有运气。

这是一个小例子,我只使用RegionPlot3D作为例子,但任何3D图都可以。

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
 ]

现在,如果您运行上述操作,并使用鼠标旋转小立方体,一旦释放鼠标,您将开始注意到笔记本电脑确实抖动了一点。随意尝试任何其他设置。

这很烦人,因为我不喜欢这种震动效果。让我头晕目眩。

这里的任何专家都可能知道这是我在Plot命令中忽略的选项设置,还是可能是别的什么?当我用鼠标旋转图像时,我喜欢绘图框和笔记本本身不要摇晃。当释放鼠标时,问题再次出现。

Windows 7上的Mathematica 8.0.1。

感谢 --Nasser PS。我试图搜索之前是否曾询问过,但没有发现某些事情。

1 个答案:

答案 0 :(得分:5)

尝试:

SphericalRegion -> True  

喜欢在:

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]

来自帮助:

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

修改

此答案中的用法示例:How to create 2D (3D) animation in Wolfram Mathematica with the camera following the object?

HTH!