【问题标题】:In Python, how can I export a 3D isosurface into Blender在 Python 中,如何将 3D 等值面导出到 Blender
【发布时间】:2014-11-04 12:10:36
【问题描述】:

我在 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()

【问题讨论】:

标签: python scipy blender mayavi


【解决方案1】:

根据@timday 的建议,我添加了以下代码以将等值面保存为波前 (.obj) 格式:

mlab.savefig('surface.obj')

然后,我可以在 Blender 中使用 File>>Import>>Wavefront (.obj) 打开它

我不得不大幅缩小图像 (~100x) 以使其在 Blender 视口中可见。

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

添加一些光照和平面后,物体看起来很不错!

【讨论】:

    【解决方案2】:

    我自己从未尝试过,但我注意到 mlab 的 savefig 也声称支持保存为 Wavefront “.obj” 格式(也称为 wavefront format),这是一种 3D 几何格式。当然我见过importers from obj to Blender

    【讨论】:

      猜你喜欢
      • 2019-03-07
      • 2017-04-16
      • 2020-12-02
      • 2021-12-04
      • 2018-05-24
      • 2023-03-26
      • 2012-02-11
      • 2022-08-19
      • 2012-04-04
      相关资源
      最近更新 更多