我有一个3D网格,它是由STL文件构造而成的。网格包含许多小的多边形和它们之间的空间。我正在尝试创建此网格的体素以输入到另一个程序。 Ive使用trimesh直接从STL文件构造了网格,并使用binvox对整个网格进行了体素化,但是Im努力寻找最佳方法来说明具有实体(多边形)和空气(之间的间隙)的网格以进行体素化因为我需要将两者保持分开,因为它们将在稍后阶段分配给它们不同的属性。
我正在使用python进行此操作,并且通常对于体素化是新手,因此非常感谢任何指导。
一个多边形的原始STL文件示例
facet normal 0 0 0
outer loop
vertex 0.5277962740910911 1.0456819526290850 1.0948605296487677
vertex 0.5011598934085548 1.0395150263236856 1.0653193210482526
vertex 0.5103687290213037 1.0438567955893303 1.0534979253843588
endloop
endfacet
对142,000个多边形重复此操作。
期望的结果是一个体素或一组体素,它们允许多边形(如在文件示例中看到的)和多边形之间的空间被分离,从而使每个多边形具有不同的属性。多边形之间的间隙遍布整个网格(即不限于网格的侧面)。
这里是3D网格的视图
在3D中很难看到间隙,因此这里是要演示的2D网格切片。
STL中的网格以某种方式正常吗?立方体还是长方体?您能显示一张图片吗?
如果是,并且您不是要寻找一般的解决方案(对吗?),最好不要在它们之间使用三角形网格,而要坚持长方体。
取决于网格的外观,可以很容易地描述间隙。
什么定义了差距?它是STL文件中的材料吗?
...工作进行中...