繁体   English   中英

在Python中的Mayavi中再现下图的摄像机角度

[英]Reproducing the camera angle of the following figure in Mayavi in Python

下图显示了如何剪切框:

剪力箱

我想按以下方式绘制数据(请注意,球体的坐标没有被剪切,即,球体位于完美的立方框中)

领域数据

我已经使用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 (函数“视图”),您可以将方位角(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解释放大,另请参阅此答案的注释

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM