下图显示了如何剪切框:
我想按以下方式绘制数据(请注意,球体的坐标没有被剪切,即,球体位于完美的立方盒中)
我已经使用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]
点。有什么办法可以“放大”图片的相关部分?
答案 0 :(得分:-1)
根据http://docs.enthought.com/mayavi/mayavi/auto/mlab_camera.html(函数“视图”),您可以使用方位角(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解释的放大 另请参阅此答案的评论