python实现3d扫描

阅读: 评论:0

python实现3d扫描

python实现3d扫描

Blender是faster with one object,它有一百万个顶点,而不是1000个对象,每个对象有1000个顶点。使用bmesh在一个网格对象中添加多个多维数据集,而不是创建多个多维数据集并将它们连接在一起。在

另一个需要考虑的是use of operators,每个操作符调用都会进行场景更新和重画,通过直接处理网格数据,然后进行一次更新,可以防止大量不必要的更新。在

使用随机颜色而不是ct图像,下面的脚本在大约10%的时间内运行。我也做了更大的立方体,如果初始立方体太小,删除双精度可以合并比你想要的更多,你可以总是缩小后建立网格。在import bpy

import bmesh

import mathutils

import numpy as np

# replace these two lines with your data filling code

x_size = y_size = z_size = 10

data = np.random.rand(x_size, y_size, z_size)

me = w("Mesh_new")

scene = t.scene

obj = bpy.w("CT_Scan_new", me)

scene.objects.link(obj)

scene.objects.active = obj

obj.select = True

bm = w()

for yy in range(y_size):

for xx in range(x_size):

for zz in range(z_size):

c = data[yy, xx, zz]

ate_cube(bm, size=0.1,

matrix=mathutils.Matrix.Translation((xx / 10, zz / 10, yy / 10)))

mat = bpy.w(name="MaterialName")

mat.diffuse_color = (c, c, c)

obj.data.materials.append(mat)

mat_idx = len(obj.data.materials)-1

sure_lookup_table()

for i in range(6):

# assign the last material to the last six faces created

bm.faces[-i].material_index = mat_idx

ve_doubles(bm, verts=bm.verts, dist=0.001)

<_mesh(me)

本文发布于:2024-02-02 09:53:47,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170683882643020.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23