Dan*_*ein 4 python scipy blender mayavi
我在python中有一些3D(x,y,z,value)数据,我可以在Mayavi中可视化isosurfaces.如何将此isosurface导出到我可以读入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()
Run Code Online (Sandbox Code Playgroud)
使用@ timday的建议,我添加了以下代码以wavefront(.obj)格式保存isosurface:
mlab.savefig( 'surface.obj')
然后,我可以使用文件>>导入>> Wavefront(.obj)在Blender中打开它
我不得不大幅缩小图像(~100x)以使其在Blender视口中可见.

原点设置为实际对象的一侧,因此如果我使用Object >> Transform >> Origin to Geometry,对象更容易处理

添加一些照明和一架飞机后,该物体看起来相当不错!
