我制作了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
感谢
答案 0 :(得分:1)
你是对的,界面中有一个错误。
几次尝试后,按下Ctrl和鼠标按钮,我得到了一个奇怪的显示:
缩放工作(尽管不一致),但......从左向右移动鼠标!
答案 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}]}]}]
注意中间滑块的奇怪行为(试一试),并注意到它的外观是错误的。后者进一步表明这种用法是非规范的。