如何在mayavi中获得轴接地

问题描述

由于在mayavi中有很多关于轴网格的问题(thisthisthis),如何使用mayavi获取matplotlib类型的网格,并且即使来自mayavi也没有令人满意的答案更新。

因此对于上述问题,有一个想法,我们可以在 mayavi添加地平面作为对象,然后我们可以在地平面上绘制/显示所需的对象。下面是我绘制为地平面的对象

Ground plane

上面绘制场地的代码

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()

假设我们有一个要在地平面上方绘制/显示的对象。 下面是对象(作为示例)

Object

上述对象的代码

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()

代码可用 here

那么我们如何在给定的地平面上绘制给定的对象,如下图所示?我在 Photoshop 中编辑此图像以获得更好的查看效果

Object on ground

寻求一些好的建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...