3D闭合网格汽车对象的体积

5 mesh volume surface

我有一个3D闭合网格汽车对象,其表面由三角形组成.我想计算它的体积,体积中心和惯性张量.

你可以帮帮我吗

问候.乔治

Dar*_*enW 7

对于数量...

对于每个三角形面,查找其角点.叫'em P,Q,R.
计算这个数量(我称之为"部分量")

pv =  PxQyRz + PyQzRx + PzQxRy - PxQzRy - PyQxRz - PzQyRx
Run Code Online (Sandbox Code Playgroud)

将这些加在一起用于所有方面并除以6.

重要!从外面看,每个刻面的P,Q,R必须顺时针排列.(或者所有逆时针方向,只要它对所有方面都一致.)

如果网格具有任何四边形,则只是暂时幻化连接一对相对角的对角线.这使它成为两个三角形.

实际的计算改进:在用P,Q和R进行数学运算之前,减去一些"中心"点C的坐标.这可以是质心,最小/最大x,y和z之间的中点,或任何方便点在网格内部或附近.这有助于最大限度地减少截断错


Str*_*lin 0

好吧,这里提供的关于汽车的信息并不多 - 您应该能够将汽车分解为更简单的形状 - 您需要的近似程度越高 - 您可以将其分解为更简单的形状。(如果汽车以某种方式动态生成并且每次都完全不同,这可能会很困难......但我认为这种情况没有任何意义)。

这应该有助于找到各种更简单形状的惯性张量:http://www.gamedev.net/community/forums/topic.asp ?topic_id=57001,找到球体和立方体等物体的体积等是很常见的知识,所以我不会费心链接它。