def recursiveTetrahedron(bm, points, level=0):
subTetras = []
for i in range(len(points)):
p0 = points[i]
pK = points[:i] + points[i + 1:]
subTetras.append([p0] + [(p0 + p)/2 for p in pK])
if 0 < level:
for subTetra in subTetras:
recursiveTetrahedron(bm, subTetra, level-1)
else:
for subTetra in subTetras:
verts = [bm.verts.new(p) for p in subTetra]
faces = [bm.faces.new(face) for face in itertools.combinations(verts, 3)]
bmesh.ops.recalc_face_normals(bm, faces=faces)
tetrahedron_fractal.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录