我正在与Trimesh合作,并尝试计算网格上的一些统计信息。一种可能的统计数据(也是我用来说明问题的一种统计数据)是网格的3个随机顶点的面积的直方图。目前,我正在执行以下操作,但是我想知道是否有任何避免使用循环的方法。
def CalcArea(self,p):
return 0.5 * np.linalg.norm(np.cross(p[1]-p[0],p[2]-p[0]))
v_c = self.mesh.vertices.copy()
np.random.shuffle(v_c)
areas = [self.CalcArea(v_c[i:i+3]) for i in range(len(v_c[:-2]))]