因此,我一直在开发一个支持多边形和圆的2d物理引擎。我已经将分离轴定理用于除圆-圆之外的所有碰撞组合。以下是该引擎的基本格式:
*注意:不是实际代码
让所有身体前进。
for every body a
{
Vector2 sum = Vector2.Zero;
for every body b where b != a
{
sum += a.collides(b).MinimumTranslationVector;
}
a.Position += sum;
a.velocity += sum;
}以下是我遇到的问题的视频:http://www.youtube.com/watch?v=kSZeuP4AiQ0&feature=youtu.be
误差是在开始处看到的弹簧效应。我绞尽脑汁想解决这个问题,但什么也想不出来。谁能告诉我问题出在哪里?
发布于 2012-03-25 22:43:33
如果我没看错这个伪代码,当两个物体碰撞时,每个物体的位置和速度都会发生变化。然而,当一个坠落的盒子撞上一个静止的盒子时,你希望静止的盒子保持静止。
,
https://stackoverflow.com/questions/9849653
复制相似问题