轴对齐边界框与边界椭圆

时间:2011-11-26 21:15:24

标签: algorithm 2d collision-detection physics

为什么现在大多数(如果不是全部)碰撞检测算法都要求每个2D主体只有AABB才能在广泛阶段使用?

在我看来,只需在2D主体的质心处放置一个圆圈,并将半径延伸到圆圈包含整个身体的位置将是最佳的。这不需要在更新后更新身体旋转和广泛的重叠 - 计算会更快。正确的吗?

加成:
边界椭圆是否也适用于宽相位计算,因为它更能代表长而细的形状?或者是否需要进行大量计算,否则会破坏广泛阶段的目的?

1 个答案:

答案 0 :(得分:2)

边界框由线性不等式约束表示,而圆和椭圆需要二次不等式约束。可以同时使用两者,但线性情况一如既往地在算法上更简单(它只涉及矩阵乘法)。如果边界框与世界坐标轴对齐,则所有检查看起来都是xa - xb > dxa + dxbya - yb > dya + dybza - zb > dza + dzb,其中d$i$j是对象周围的边界框的尺寸$j方向的$i$

但是,椭圆碰撞检测正在完成。数学计算要困难得多,实现和计算工作可能不值得节省。无论如何,我搜索谷歌学者的“椭圆碰撞检测”,第一页上至少有两篇论文正是关于这个主题:http://hub.hku.hk/bitstream/10722/47091/1/121854.pdf?accept=1ftp://crack.seismo.unr.edu/downloads/russell/doven_2005_neighbor_list_collision_driven_MD_II.PDF