1

可能重复:
Circle-Rectangle 碰撞检测(intersection)
如何确定圆与矩形的碰撞?

我想检测一个圆与一个一般定位的块的交集或碰撞。该块是矩形的,可以是任何大小或旋转。

这背后的数学原理是什么?

4

1 回答 1

0

编写一个函数来检查任意线段ab是否与圆C相交。编写第二个函数,检查点p是否在圆C内。然后对四个矩形边调用第一个函数四次,如果所有这些都失败,则在一个角上调用第二个函数(检查矩形是否完全在圆内)。根据您对“碰撞”的定义,您可能还必须检查圆是否完全在矩形内!

有多种方法可以加快计算速度,以防您要在实时模拟中调用数百万次。最明显的是首先检查与圆C外接的正方形S,然后才进行(稍微)成本更高的圆测试。

于 2012-08-09T15:58:15.330 回答