将纹理映射到mayavi网格上

4 投票
2 回答
1605 浏览
提问于 2025-04-17 08:52

我在用Python的mayavi库来可视化一些数据。我有一个三维空间中的表面,想把一张图片映射到这个表面上。我查阅了mayavi的文档,但找到的资料 这个 对我帮助不大。有没有人之前做过类似的事情?

2 个回答

1

我猜你没看到“用于3D绘图的Python脚本”这一章。里面有一堆可以在Python中使用的mayavi命令。例如,“numpy数组的3D绘图函数”这一部分。如果你点击这些链接,就能找到一些关于这些函数的介绍和每个函数的小例子。

对于你的情况,你可以使用meshsurf这两个函数。它们的功能有点相似,但又不完全一样。比如说,surf函数在我看来更像是mesh的一个子功能。你其实不需要定义x和y坐标,只需要在一个二维数组中提供z坐标。如果你想用mesh,那你就得把x、y和z三个坐标都作为二维数组传进去。

我建议你看看这些例子。

这算是对你问题的回答吗?也许你应该更具体地说明你想做什么。

祝你有美好的一天,节日快乐。

2

我发现其实 mesh 函数是可以接受一个 scalars 参数的,这个参数会根据你选择的颜色映射,把表面上对应的点涂上颜色。不过,我还是不知道怎么把一个任意的 RGB 图片映射到这个表面上。

撰写回答