我有下图说明如何剪切一个盒子:
我想按如下方式绘制我的数据(请注意,球体的坐标未被剪切,即球体位于一个完美的立方体中)
我使用mlab和下面的代码实现了当前定位
# Achieve x-y view.
mlab.view(azimuth=0, elevation=0, distance=3.0)
# Rotate along x axis to expose part of the top of the box.
pts.actor.actor.rotate_x(30)
# Move camera down to compensate for rotation.
mlab.move(up=-0.37)
有没有办法通过暴露立方体的一些右侧,同时保持 x 轴完全水平来操纵相机,使数据看起来更像插图?
编辑:mlab.view(azimuth=0, elevation=0, focalpoint=[4, 4, 0], distance=30.0) 生成我想要的视角。然而,我只能看到盒子在一边,在远处。缩放相机会导致框从图像中消失,因为它放大到点 x, y, z = [4, 4, 0]。有什么方法可以“放大”图片的相关部分吗?
请您参考如下方法:
根据 http://docs.enthought.com/mayavi/mayavi/auto/mlab_camera.html (函数“ View ”)您可以使用参数方位角(xy 旋转)、仰角(z 角)和距离(半径)作为球面坐标。 因此,对于 xy 平面的旋转,您应该将方位角更改为所需的角度(以度为单位)。那么怎么样
mlab.view(azimuth=30, elevation=30, distance=3.0)
下面的其余代码可能可以用这 3 个参数完全补偿
编辑: 这不是想要的结果,它更像是
mlab.view(azimuth=7.59, elevation=7.59, distance=30.0)
然后由 stackoverflow.com/questions/25783180/how-to-set-zoom-factor-in-mayavi 解释放大 另请参阅此答案的评论
