【发布时间】:2011-08-07 01:38:33
【问题描述】:
如何根据矢量积计算复杂物体的体积。我有构建对象网格的三角形列表。
我有一个:
- 三角形列表。
- 一个三角形由 3 个节点组成。
- 节点具有 x、y 和 z 坐标。
【问题讨论】:
-
;-) 将对象完全浸入容器中,该容器具有垂直壁、规则底座(因为这简化了计算)并且部分装满了水;通过测量水位的差异,一个时髦形状物体的体积计算映射到一个简单的固体的体积。 ;-)
如何根据矢量积计算复杂物体的体积。我有构建对象网格的三角形列表。
我有一个:
【问题讨论】:
您可以选择一个点 P(例如,原点),然后计算所有四面体 PABC 的体积,其中 A、B 和 C 是列表中三角形的顶点。每个这样的四面体的体积等于 abs(((PA x PB) . PC) / 2),其中“x”和“.”分别是叉积和点积,abs 是绝对值。要计算整个对象的体积,您可以将所有体积相加,但不取每个体积的绝对值。因此,一些四面体的体积将在总和中加上加号,而有些则用减号。因此,整个对象的体积将为 abs(sum(((PAi x PBi) . PCi) / 2)),其中 Ai、Bi、Ci 是第 i 个三角形的顶点,所有 i 都取和。
【讨论】: