问题描述
|
我制作了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},PlotRange->{{-1,1},{-1,1}},Axes->True,AxesLabel->{\"X\",\"Y\",\"Z\"},ViewPoint->Front,Ticks->None]
现在缩放正常。现在输入
Rotate[g,90 Degree]
现在尝试放大以上命令的结果。这是行不通的。
版本8.0.1,Windows 7
谢谢
解决方法
没错,介面中有错误。
经过几次尝试,按Ctrl和鼠标按钮,我得到了一个奇怪的显示:
并且缩放有效(尽管不一致),但是...从左向右移动鼠标!
, 我认为这是对
Rotate
命令的滥用或意外使用,具体取决于您的观点。
Rotate
创建一个RotationBox
包装器,该包装器指示FrontEnd(我相信)旋转其内容。当将其应用于具有自己的旋转控件的对象时,方法会冲突。
一般来说,Rotate
不应用于动态元素。请考虑以下来自文档的修改示例:
DynamicModule[{p1 = {0,0},p2 = {1,p3 = {0,1}},{Framed@
Graphics[Polygon[{Dynamic[p1],Dynamic[p2],Dynamic[p3]}],PlotRange -> 1],Column[
{Slider2D[Dynamic[p1],{-1,1}],Slider2D[Dynamic[p2],1}]~Rotate~(Pi/2),Slider2D[Dynamic[p3],1}]}]}]
注意中间滑块的奇怪行为(尝试一下),还注意到它的外观是错误的。后者进一步表明这种用法是非规范的。