performance - 查找 2D 平面上的 2 个对象是否会发生碰撞的算法

标签 performance algorithm 2d collision-detection

根据以下信息,我正在尝试确定 Object1 是否会与 Object2 发生碰撞:

1) 对象的边界框(使用边界框碰撞检测)

2) 物体的速度

3) 对象的当前位置(x,y 坐标)

4) 物体的方向(上、下、左、右)

想像一下,想象物体在二维网格上移动,它们只能在该网格的线上移动。

所以鉴于以上信息,我需要一个高效但可读的算法来确定这些对象是否会发生碰撞。我所说的高效是指花费在计算上的时间最少的恒定时间。伪代码或链接都可以。

最佳答案

首先,找出框在 X 轴上重叠的时间间隔。 其次,找出框在 Y 轴上重叠的时间间隔。 最后,检查两个时间间隔是否重叠。如果是这样,则两个间隔中最早的时间点就是它们将要发生碰撞的时刻。

关于performance - 查找 2D 平面上的 2 个对象是否会发生碰撞的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3382367/

相关文章:

performance - 在用户空间与内核空间中实现协议(protocol) - 性能影响

c - 如何画一个圆?

c++ - 列大小不同的二维数组的动态内存分配

java - 是什么导致我的二维数组发生变化?

java - 如何确定哪些方法在处理网页请求时正在消耗时间?

.net - VB.NET是否优化字符串文字的串联?

ios - 快速搜索和排序

c - Linux中crypt函数的时间复杂度是多少?

algorithm - 图中节点的最长递增序列

java - Java 中的 2D 图形渲染