我已经成功在Python中使用了lewiner行进立方体算法。它输出了顶点、面和其他属性。我想确认它的工作是否正确,所以我想绘制一个3D图像来显示函数的返回值。然而,到目前为止我还没有成功。我尝试了以下方法:
成功获取必要的字段:
verts, faces, normals, values = skimage.measure.marching_cubes_lewiner(var,20,spacing=(0.5,0.5,0.5))
但绘制获取的值未成功:
fig = plt.figure(figsize=(10, 10))ax = fig.add_subplot(projection='3d')mesh = Poly3DCollection(verts[faces])mesh.set_edgecolor('k')ax.add_collection3d(mesh)
还有以下尝试:
vv.mesh(np.fliplr(verts), faces, normals, values) # doctest: +SKIP
假设我希望在机器学习算法中使用这些顶点、面等数据,但我需要确保返回的值是可靠的。是否有人有类似的经验?
回答:
我不知道你是否还在寻找这个问题的答案,但我刚刚也遇到了通过这个函数绘制网格的问题。我没有得到错误,但得到了一个空白的图。如果你也遇到这种情况,我通过指定轴的范围解决了这个问题。以下方法对我有用: