【问题标题】:Mathematica: Unable to zoom in/out using the mouse on a 3D graphics after Rotate[]Mathematica:Rotate [] 后无法在 3D 图形上使用鼠标放大/缩小
【发布时间】:2011-05-31 01:22:43
【问题描述】:

我制作了 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

谢谢

【问题讨论】:

  • 在 Windows 2000 下的 Mathematica 7.0.1 中,缩放和旋转可以工作,尽管在执行此操作时,我经常看到两个版本的绘图 - 旋转和不旋转 - 同时时间。我还看到了一些其他工件,有时在交互式旋转期间根本看不到情节。

标签: wolfram-mathematica


【解决方案1】:

你是对的,界面有错误。

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

并且缩放有效(虽然不一致),但是......从左到右移动鼠标!

【讨论】:

  • Same here... 查看旋转 360 度和旋转 359 度 :) 同时,旋转 361 度显然会导致 Mathematica 更容易崩溃。
  • 我想我现在看到了一些可以解释这种怪异的东西。在 Rotate[] 命令之后,现在只需单击绘图以选择它,现在我们看到图像周围的小橙色边界线,现在尝试用鼠标调整图像大小,用鼠标到达角落抓住它。您会注意到鼠标指示器也旋转了 90 度!仍然可以调整图像大小,但看起来很奇怪,因为与 Rotate[] 之前的前一个图像相比,屏幕上的鼠标端现在倾斜 90 度。我还注意到 Rotate[] 结果有 Head[] Rotate,我认为它会是 Graphics3D
  • 妈妈让世界运转起来:)
【解决方案2】:

我认为这是对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}]}]}]

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

【讨论】:

    猜你喜欢
    • 2017-01-16
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 2013-10-07
    • 2014-05-23
    相关资源
    最近更新 更多