Mathematica:旋转[]后无法在3D图形上使用鼠标放大/缩小

时间:2011-05-31 01:22:43

标签: wolfram-mathematica

我制作了3D图形,并使用已知的缩放方法,即按住Ctrl键,然后上下滑动鼠标以放大和缩小,如此处所述

http://reference.wolfram.com/mathematica/howto/RotateZoomAndPanGraphics.html

这没关系。

但现在我发出命令Rotate [g,90 Degree],并尝试放大生成图(在新的输出单元格中)。但是缩放不再适用于新的旋转图像。

每当我滑动鼠标时,我都会看到它闪烁黑色,但它不会放大或缩小。

这是命令

     g=Graphics3D[ Cuboid[{-.1,-.1,-.1},{.1,.1,.1}],
        AxesOrigin->{0,0,0},
        PlotRange->{{-1,1},{-1,1},{-1,1}},
        Axes->True,
        AxesLabel->{"X","Y","Z"},
        ViewPoint->Front,
        Ticks->None]

现在缩放工作正常。现在输入

 Rotate[g,90 Degree]

现在尝试放大上述命令的结果。它不起作用。

版本8.0.1,Windows 7

感谢

2 个答案:

答案 0 :(得分:1)

你是对的,界面中有一个错误。

几次尝试后,按下Ctrl和鼠标按钮,我得到了一个奇怪的显示:

enter image description here

缩放工作(尽管不一致),但......从左向右移动鼠标!

答案 1 :(得分:1)

我认为这可能是对Rotate命令的滥用或意外使用,具体取决于您的观点。

Rotate创建一个RotationBox包装器,指示FrontEnd(我相信)旋转它的内容。当您将此应用于具有自己的旋转控件的对象时,您会遇到冲突的方法。

一般来说,Rotate不应该用于动态元素。请考虑文档中的这个修改示例:

DynamicModule[{p1 = {0, 0}, p2 = {1, 0}, p3 = {0, 1}},
 {Framed@
   Graphics[Polygon[{Dynamic[p1], Dynamic[p2], Dynamic[p3]}], 
    PlotRange -> 1], 
  Column[
   {Slider2D[Dynamic[p1], {-1, 1}], 
    Slider2D[Dynamic[p2], {-1, 1}]~Rotate~(Pi/2), 
    Slider2D[Dynamic[p3], {-1, 1}]}]}]

enter image description here

注意中间滑块的奇怪行为(试一试),并注意到它的外观是错误的。后者进一步表明这种用法是非规范的。