我正在使用Python中的Mayavi可视化一些数据。我有一个在3D空间中的表面,我想将一张图片映射到它上面。我查看了Mayavi文档,但是我只找到了这个,但并没有什么帮助。有人以前做过类似的事情吗?
我正在使用Python中的Mayavi可视化一些数据。我有一个在3D空间中的表面,我想将一张图片映射到它上面。我查看了Mayavi文档,但是我只找到了这个,但并没有什么帮助。有人以前做过类似的事情吗?
我发现mesh
函数实际上确实需要一个scalars
参数,该参数可以根据所选的颜色映射对应表面上的点进行着色。但是,我仍然不知道如何将任意RGB图像映射到曲面上。
surf
的 color
选项能帮到你吗? - ahelm我猜你没有看到“Python scripting for 3D plotting”这一章节。其中有一些Mayavi命令的集合,可以在Python中使用。例如,{{link1:“numpy数组的3D绘图函数”}}部分。如果你跟随链接,你会发现一些关于这些函数的描述和每个函数的一个小例子。
对于你的情况,你应该选择mesh
或surf
。这两个函数有点相似,但是又不同。例如,surf
函数更像是mesh
的子函数,在我看来。你不需要真正定义x和y坐标,只需要一个2D数组中的z坐标。如果你想使用mesh
,你必须将所有三个坐标(x、y、z)作为2D数组传递。
我建议你查看一下这些例子。
这回答了你的问题吗?也许你应该更具体地说明你想做什么。
祝你有愉快的一天和节日快乐。
Axes3D.plot_surface()
的官方示例,只需将关键字facecolors
设置为所需的纹理即可。我不记得是否在RGB中测试过,但在灰度中可以工作。 - PhilMacKay