我在 python 中有一些 3D (x,y,z,value) 数据,我可以在 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')
然后,我可以在 Blender 中使用 File>>Import>>Wavefront (.obj) 打开它
我不得不大幅缩小图像(~100 倍)以使其在 Blender 视口(viewport)中可见。
原点设置在实际对象的一侧,因此如果我使用 Object>>Transform>>Origin to Geometry 对象更容易处理
添加一些灯光和平面后,对象看起来很不错!
关于python - 在 Python 中,如何将 3D 等值面导出到 Blender,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25772280/