如果我有 3 个列表:表示网格的点、面和单元格,其中:
points
是 x,y,z 坐标的列表,例如[-0.05, -0.05, 0. ], [-0.05, 0.05, 0. ], [ 0.05, -0.05, 0. ], ...
faces
是点列表,其中每一行是代表人脸的点索引列表[ 1, 4, 8, 7], [ 7, 8, 6, 3], [ 4, 0, 5, 8], ...
cells
是一个点列表,其中每一行是代表一个单元格的点索引列表[ 1, 7, 8, 4, 11, 16, 17, 10], [ 7, 3, 6, 8, 16, 15, 14, 17], [ 4, 8, 5, 0, 10, 17, 12, 9], ...
对于每个面,我需要获取共享该面的两个单元格 ID(在边界面的情况下,只有一个单元格拥有该面)。
对于一个小网格,我可以遍历单元格,并为每个单元格遍历所有面并检查一个面点是否在当前单元格中(两个 for 循环和一个面单元图),这当然非常慢。
有没有更聪明的方法来有效地获得我的网格的面部连接?