将纹理映射到mayavi网格上
我在用Python的mayavi库来可视化一些数据。我有一个三维空间中的表面,想把一张图片映射到这个表面上。我查阅了mayavi的文档,但找到的资料 这个 对我帮助不大。有没有人之前做过类似的事情?
2 个回答
1
我猜你没看到“用于3D绘图的Python脚本”这一章。里面有一堆可以在Python中使用的mayavi命令。例如,“numpy数组的3D绘图函数”这一部分。如果你点击这些链接,就能找到一些关于这些函数的介绍和每个函数的小例子。
对于你的情况,你可以使用mesh
或surf
这两个函数。它们的功能有点相似,但又不完全一样。比如说,surf
函数在我看来更像是mesh
的一个子功能。你其实不需要定义x和y坐标,只需要在一个二维数组中提供z坐标。如果你想用mesh
,那你就得把x、y和z三个坐标都作为二维数组传进去。
我建议你看看这些例子。
这算是对你问题的回答吗?也许你应该更具体地说明你想做什么。
祝你有美好的一天,节日快乐。
2
我发现其实 mesh
函数是可以接受一个 scalars
参数的,这个参数会根据你选择的颜色映射,把表面上对应的点涂上颜色。不过,我还是不知道怎么把一个任意的 RGB 图片映射到这个表面上。