我在 python 中有一些 3D(x、y、z、值)数据,我可以在 Mayavi 中可视化等值面。我怎样才能将这个等值面导出到一个我可以读入 Blender 的文件中?
下面是一些示例代码:
import numpy
from mayavi import mlab
x, y, z = numpy.ogrid[-5:5:64j, -5:5:64j, -5:5:64j]
values = x * x * 0.5 + y * y + z * z * 2.0
mlab.contour3d(values, contours=[.5])
mlab.show()
最佳答案
根据@timday 的建议,我添加了以下代码以将等值面保存为波前 (.obj) 格式:
mlab.savefig('surface.obj')
然后,我可以使用 File>>Import>>Wavefront (.obj) 在 Blender 中打开它
我不得不大幅缩小图像(~100 倍)以使其在 Blender 视口(viewport)中可见。
原点设置在实际对象的一侧,所以如果我使用对象>>变换>>原点到几何图形,对象更容易处理
添加了一些光照和平面后,对象看起来不错!
关于python - 在 Python 中,如何将 3D 等值面导出到 Blender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25772280/