问题描述
由于在mayavi中有很多关于轴网格的问题(this,this和this),如何使用mayavi获取matplotlib类型的网格,并且即使来自mayavi也没有令人满意的答案更新。
因此对于上述问题,有一个想法,我们可以在 mayavi 中添加地平面作为对象,然后我们可以在地平面上绘制/显示所需的对象。下面是我绘制为地平面的对象 上面绘制场地的代码是
x,y = np.mgrid[-10:10:200j,-10:10:200j]
z = np.sin(x * y) / (x * y)
mlab.figure(bgcolor=(1,1,1))
mlab.surf(z,colormap='cool')
mlab.show()
假设我们有一个要在地平面上方绘制/显示的对象。 下面是对象(作为示例) 上述对象的代码是
mlab.figure(fgcolor=(0,0),bgcolor=(1,1))
u,v = mgrid[- 0.035:pi:0.01,- 0.035:pi:0.01]
X = 2 / 3. * (cos(u) * cos(2 * v) + sqrt(2) * sin(u) * cos(v)) * cos(u) / (sqrt(2) - sin(2 * u) * sin(3 * v))
Y = 2 / 3. * (cos(u) * sin(2 * v) - sqrt(2) * sin(u) * sin(v)) * cos(u) / (sqrt(2) - sin(2 * u) * sin(3 * v))
Z = -sqrt(2) * cos(u) * cos(u) / (sqrt(2) - sin(2 * u) * sin(3 * v))
S = sin(u)
mlab.mesh(X,Y,Z,scalars=S,colormap='YlGnBu',)
mlab.view(.0,- 5.0,4)
mlab.show()
那么我们如何在给定的地平面上绘制给定的对象,如下图所示?我在 Photoshop 中编辑此图像以获得更好的查看效果。
寻求一些好的建议。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)