【问题标题】:Mapping a texture to a mayavi mesh将纹理映射到 mayavi 网格
【发布时间】:2011-12-22 22:36:57
【问题描述】:

我在 python 中使用 mayavi 来可视化一些数据。我在 3D 空间中有一个表面,我想将图像映射到它。我查看了 mayavi 文档,我只能找到this,这对我帮助不大。以前有人做过类似的事情吗?

【问题讨论】:

  • 我实际上已经能够在 matplotlib 中实现这一点,尽管帧速率非常差......按照Axes3D.plot_surface() 的官方示例,只需将关键字facecolors 设置为您想要的纹理.我不记得我是否在 RGB 中测试过它,但它可以在灰度中工作。

标签: python numpy visualization texture-mapping mayavi


【解决方案1】:

我发现mesh 函数实际上确实接受了一个scalars 参数,然后根据所选的颜色图对表面上的对应点进行着色。但是,我仍然不知道如何将任意 RGB 图像映射到表面。

【讨论】:

  • 好的。现在我知道你想做什么,但我不知道如何解决它。 surfcolor 选项能帮到你吗?
【解决方案2】:

我猜你没有看过“Python 脚本用于 3D 绘图”一章。有一组可以在 python 中使用的 mayavi 命令。例如"3D Plotting functions for numpy arrays" 部分。如果您点击链接,您会找到有关功能的一些描述以及每个功能的小示例。

对于您的情况,您应该选择meshsurf。这两个功能是相同的,但不同。例如surf 函数更像是mesh 的子函数,这是我的看法。您实际上不必定义 x 和 y 坐标,您只需要二维数组中的 z 坐标。如果您想使用mesh,您必须将所有三个坐标 (x,y,z) 作为二维数组传递。

我建议检查示例。

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

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

【讨论】:

  • 是的,我确实看到了。事实证明,它写得不好。我想你也看到了,因为你也无法回答我的问题。
猜你喜欢
  • 2014-10-05
  • 2011-08-09
  • 1970-01-01
  • 2013-06-16
  • 1970-01-01
  • 2013-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多