微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在mayavi中获得轴接地

如何解决如何在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.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?