编程语言
首页 > 编程语言> > 在mlab / mayavi / python中设置平行预期

在mlab / mayavi / python中设置平行预期

作者:互联网

我在python中有一个代码来渲染python中的几个球体,如下所示:

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import random
import mayavi
from mayavi import mlab

N = 4;
diams = .4*np.ones([N]);
xvals = np.arange(N);
yvals = np.zeros(N);
zvals = np.zeros(N);
pts = mlab.points3d(xvals, yvals, zvals, diams, scale_factor=1,transparent=True)

mlab.show()

图的默认视图会根据摄像机位置增加失真(更远的球体更小).我想通过某个命令设置到平行投影(更大的球体大小相同),所以它会自动渲染.

我没有找到谷歌或文档的直接解决方案.谢谢!

解决方法:

尝试在你的情况下设置fig.scene.parallel_projection = True或mlab.gcf().scene.parallel_projection = True.

作为一个简单的例子,比较(放大以放大差异):

import numpy as np
from mayavi import mlab

np.random.seed(1977)
x, y, z = np.random.random((3, 10))

mlab.points3d(x, y, z)
mlab.show()

enter image description here

当我们设置正交投影时:

import numpy as np
from mayavi import mlab

np.random.seed(1977)
x, y, z = np.random.random((3, 10))

mlab.points3d(x, y, z)
mlab.gcf().scene.parallel_projection = True
mlab.show()

enter image description here

标签:python,matplotlib,3d,mayavi,mayavi-mlab
来源: https://codeday.me/bug/20190609/1203259.html