计算多形刚体的惯性

Lau*_*ens 9 physics dynamic

我想有人可能以前问了这个问题,但我找不到答案.

我正在为我的游戏引擎编写物理库(2d,目前在actionscript3中,但很容易翻译成基于C语言).

我在找到一个好的公式来计算我的游戏对象的惯性时遇到了问题.

事实是,有许多经过验证的公式来计算凸多边形质心周围的惯性,但我的结构略有不同:我有自己的局部空间的游戏对象.您可以将凸形状(如圆形和凸多边形)添加到此局部空间以形成复杂对象.形状本身也有自己的局部空间.所以有三个层次:世界,物体和形状空间.

使用惯性矩维基百科文章中提供的公式计算形状中每个单独多边形的惯性是没有问题的.

或者在一篇很棒的碰撞检测和响应文章中提供的那些.

但是我想知道如何将它与我的对象结构联系起来,我只是简单地添加对象形状的所有惯性吗?这是另一位作家用来计算三角形多边形惯性的东西,他补充了三角形的所有惯性矩.或者还有更多吗?

我发现这整个惯性概念很难理解,因为我没有强大的物理背景.因此,如果有人能够给我一个答案,最好是在给定质心周围的惯性背后的逻辑,我会非常感激.我实际上是在学习IT - 我大学的游戏开发,但令我非常沮丧的是,他们队伍中的老师都没有在物理领域经验丰富.

Min*_*hos 0

对于线性运动,您只需添加它们即可。惯性与质量成正比。将物体的质量相加并计算惯性总和相当于将它们各自的惯性相加。

对于旋转来说,情况变得更加复杂,您需要找到质心。

阅读牛顿运动定律。如果您正在编写物理引擎,则需要理解它们。这些法律本身很短,但理解它们需要更多背景信息,因此请谷歌一下。

您应该特别尝试理解以下概念:质量、惯性、力、加速度、动量、速度、动能。它们都是相关的。

  • 您必须考虑质心偏移。想象一下当您将点质量与无质量杆连接时会发生什么。无质量杆的质量为零,因此惯性矩为零。点质量关于质心的转动惯量为零,因此只需添加物体的转动惯量就会为零。添加平行轴定理偏移量可以得到具有正惯性矩的复合对象。 (2认同)