2

我正在尝试为我用 C++ 开发的应用程序 OpenframeWorks 实现我自己的物理特性。我目前正在使用 Box2D,但我不需要碰撞检测,所以我想要更轻的东西。

我有一个带有重力的世界和一个动态对象,其运动受到任意长度、任意角度的棱柱关节的约束,连接到静态对象。使用关节电机模拟摩擦。

我看过

2d 游戏物理资源

但这里的一切似乎都集中在构建我不需要做的完整物理引擎上。任何人都可以为我指出正确的数学方向吗?

4

2 回答 2

0

If Box2D has what you want, I'd recommend you reconsider your "lighter" requirement. Unless you can quantify the harm caused by using a library with a few more bytes, I'd say that the benefit will outweigh the cost of you writing it for yourself.

If you have a good understanding of the physics, and want to learn how to do it, by all means go ahead. If not, use what someone more knowledgeable than you has provided and forget the size of the library.

于 2012-05-28T18:48:05.270 回答
0

您只需要将重力分成两个分量;沿着棱柱关节轴,以及其他任何东西。(见自由体图

这很容易通过重力矢量和轴矢量之间的矢量点积来实现。如果您首先将轴矢量缩放到长度 1,则点积的结果将是沿轴的力。

要将力转化为加速度,您只需除以移动物体的质量即可。

于 2012-05-28T14:45:00.157 回答