加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中,如何将3D等值面导出到Blender中

发布时间:2020-12-20 11:37:39 所属栏目:Python 来源:网络整理
导读:我在 python中有一些3D(x,y,z,value)数据,我可以看到Mayavi中的等值面.如何将此isosurface导出到我可以读入Blender的文件中? 这是一些示例代码: import numpyfrom mayavi import mlabx,z = numpy.ogrid[-5:5:64j,-5:5:64j,-5:5:64j]values = x * x * 0.5 +
我在 python中有一些3D(x,y,z,value)数据,我可以看到Mayavi中的等值面.如何将此isosurface导出到我可以读入Blender的文件中?

这是一些示例代码:

import numpy
from mayavi import mlab

x,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的建议,我添加了以下代码以wavefront(.obj)格式保存isosurface:

mlab.savefig( ‘surface.obj’)

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读