【发布时间】:2011-03-24 00:29:57
【问题描述】:
我认为 swept 意味着确定对象是否会在某个时刻发生碰撞,不仅仅是它们当前是否正在发生碰撞,而且如果我错了,请告诉我。
我的对象带有在轴上对齐的边界框。对象的盒子可以有不同的大小,但它们总是矩形的。
我已经尝试并试图找出一种算法来确定两个移动的 AABB 对象是否会在某个时候发生碰撞,但我真的很难。我在这里阅读了一个关于确定两个对象在某个时间点通过的时间间隔的问题,我在可视化它时没有问题,但实现它是另一回事。好像异常太多了,好像我做的不太对。
对象只能沿直线移动(虽然它们显然可以改变方向,例如转身,但它们始终在轴上。如果他们试图关闭轴,那么它就不起作用),并绑定到轴上。他们的有界框不会旋转或做任何类似的事情。速度可以改变,但这并不重要,因为该方法的目的是确定在给定对象的当前状态的情况下它们是否处于“碰撞过程”中。如果您需要更多信息,请告诉我。
如果有人能提供一些伪代码(或真实代码),那就太好了。我读了一个名为Intersection of Convex Objects: The Method of Separating Axes 的文档,但我不明白其中的一些伪代码(Union 是什么意思)?
感谢您的帮助。
【问题讨论】:
标签: algorithm 2d collision bounding-box