我有一个用于表示形状/网格的3D网格,该网格在python中使用类型为bool的ndarray(20,20,20)表示。网格中的每个元素代表是否存在材料。我希望能够检查给定的网格是否代表从网格顶部到底部一直连接的形状。我希望能够丢弃那些从网格顶部到底部不连续或不占用连续单元格的单元格。
稍后,我将使用trimesh将网格转换为网格。是否可以直接在python中或通过trimesh来识别以上内容?
[我首先编写了一个辅助函数bucket_fill_2d()
,该函数将带material
信息的切片作为切片,给定起始索引(i,j)
,则像在任何旧的绘图程序中一样,用斗式填充材料。
connected
。 True
数组的底部切片为material
的地方设置底部切片True
。bucket_fill_2d()
connected
开始,再向上(i,j)
上移。connected
。注意,顾名思义,trimesh仅支持triangular单元格。