Tag: 物理引擎

凸多面体的质心

我有一个封闭的凸多面体,它是由一个凸多边形(面)arrays定义的,这些多边形由三维空间中的顶点数组定义。 假设密度均匀,我试图找到多面体的质心。 目前我用这个伪代码中的算法计算它。 public Vector3 getCentroid() { Vector3 centroid = (0, 0, 0); for (face in faces) { Vector3 point = face.centroid; point.multiply(face.area()); centroid.add(point); } centroid.divide(faces.size()); return centroid; } 这基本上取面的质心的加权平均值。 我不是100%确定这是正确的,因为我无法在线找到正确的算法。 如果有人可以确认我的算法或引用我正确的算法我会很感激。 谢谢。 [编辑] 所以这是我用来查找质心的实际Java代码。 它将多面体分解为会聚在多面体内任意点上的金字塔。 金字塔质心的加权平均值基于以下公式。 C all = SUM 所有金字塔 (C 金字塔 *体积金字塔 )/体积全部 这是(评论很多的代码): // Compute the average of the facial centroids. […]