在绘制3D图形时,如何定义它将显示的角度?

时间:2009-12-21 19:10:36

标签: wolfram-mathematica

我知道在绘图完成后我可以用鼠标将其旋转到所需的角度。现在,我想知道如何通过代码来做同样的事情。

2 个答案:

答案 0 :(得分:2)

通过参数ViewPointViewVertical最方便地定义3D视图(还有其他选项:ViewCenterViewVectorViewAngle,但是将它们留在Automatic上通常就足够了。

所以你可以做例如

Plot3D[Cos[x^2 + y^2], {x, -3, 3}, {y, -3, 3}, ViewPoint -> {3, 2, 1}]

为了获得ViewPoint等的良好值,我将函数Get3DView定义为

Get3DView[gfx_] := 
  Options[Unevaluated[gfx], {ViewCenter, ViewVector, ViewVertical, ViewPoint}]

然后,您只需将图片复制到Get3DView即可获得选项:

plotpar = Get3DView[<your graphics pasted here>]

在此之后,您可以将plotpar作为新绘图命令的选项(请注意评估):

Plot3D[Cos[x^2 + y^2], {x, -3, 3}, {y, -3, 3}, Evaluate@plotpar]

答案 1 :(得分:1)

第二次看你的标题涉及3d旋转。为此,您可以使用ViewPoint。应用程序选项卡下的示例似乎就是您要查找的内容。

您可以使用ImageRotate功能。

ImageRotate@Plot[x, {x, 0, 10}] (*rotate 90 degrees counterclockwise*)
ImageRotate[Plot[x, {x, 0, 10}], phi]  (*rotate phi degrees counterclockwise*)