简介
用圆或球来包裹物体,检测两个物体是否有碰撞。
原理
判断两个圆是否相交,只需要判断两个圆心的距离小于等于(也可以只是小于,看需求)两个圆的半径之和,若小于,则相交。
二维空间和三维空间的原理相同,也是判断两个球心的距离小于等于两个球的半径之和。
物体的包围球可能会存在较大的空隙,因此包围球检测的精度较低。
我们在求距离的时候,可以使用平方来计算,因为平方的开销比开方小,这样可以优化性能。
1 | //包围盒数据结构 |
用圆或球来包裹物体,检测两个物体是否有碰撞。
判断两个圆是否相交,只需要判断两个圆心的距离小于等于(也可以只是小于,看需求)两个圆的半径之和,若小于,则相交。
二维空间和三维空间的原理相同,也是判断两个球心的距离小于等于两个球的半径之和。
物体的包围球可能会存在较大的空隙,因此包围球检测的精度较低。
我们在求距离的时候,可以使用平方来计算,因为平方的开销比开方小,这样可以优化性能。
1 | //包围盒数据结构 |
评论