复杂对象的体积

时间:2011-04-16 20:54:19

标签: c# algorithm geometry

如何根据矢量积计算复杂对象的体积。我有构造对象网格的三角形列表。

我有一个:

  • 三角形列表。
  • 三角形由3个节点组成。
  • 节点具有x,y和z坐标。

1 个答案:

答案 0 :(得分:3)

您可以选择一个点P(例如,原点),然后计算所有四面体PABC的体积,其中A,B和C是列表中三角形的顶点。每个这样的四面体的体积等于abs(((PA×PB).PC)/ 2),其中“x”和“。”。分别是交叉积和点积,绝对值是绝对值。要计算整个对象的体积,您可以将所有体积相加但不取每个体积的绝对值。因此,一些四面体的体积将采用加总和,有些采用负数。因此,整个物体的体积将是abs(sum(((PAi x PBi)。PCi)/ 2)),其中Ai,Bi,Ci是第i个三角形的顶点,并且对所有i采用总和。