【发布时间】:2011-12-19 23:50:39
【问题描述】:
假设:
-
您正在编写一个程序,其中 3 个(或更多)圆(或其他几何图形)在屏幕上实时移动,所有这些圆都具有不同的速度,由于物理计算,在特定时间可能会发生变化.
-
只能对每一帧进行计算
-
每一帧,你必须确保“碰撞”/“在这一帧和最后一帧之间的时间内发生碰撞”的圆圈会通过使用物理计算“反弹”
-
假设在第 x 帧和第 x+1 帧之间的时间里,三个圆会相互碰撞。然而,在第 x 帧期间,没有一个圆圈与另一个圆圈接触。在第 x+1 帧中,同样的事情适用(没有碰撞) 我将尝试用一张图片更好地说明这一点:
问题:
有什么好的方法可以跟踪这样的碰撞,以免由于两帧之间的一些(意外)大的时间延迟而跳过碰撞?
这个问题在我脑海里萦绕了太久......
编辑:
致所有认为这篇文章过时的人:请在投票结束之前查看this。
【问题讨论】:
-
@xcrypt:因为你的个人资料提到了游戏开发,我怀疑这是某些游戏的物理引擎的一部分,我建议 gamedev.stackexchange.com 来解决未来的此类问题
-
@MikaelÖhman 你不知道这篇文章经历了什么:) 看来这个问题属于 SO。它实际上是针对物理引擎的,但我并没有将我的问题限制在此,因为我不想将其限制。此外,大多数游戏开发者使用物理引擎,只有少数人会费心去实际制作一个。 - 见physics.stackexchange.com/questions/18515/…
-
@user57368 非常有用的链接