Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: Circle-Rectangle 碰撞检测(intersection) 如何确定圆与矩形的碰撞?
我想检测一个圆与一个一般定位的块的交集或碰撞。该块是矩形的,可以是任何大小或旋转。
这背后的数学原理是什么?
编写一个函数来检查任意线段ab是否与圆C相交。编写第二个函数,检查点p是否在圆C内。然后对四个矩形边调用第一个函数四次,如果所有这些都失败,则在一个角上调用第二个函数(检查矩形是否完全在圆内)。根据您对“碰撞”的定义,您可能还必须检查圆是否完全在矩形内!
有多种方法可以加快计算速度,以防您要在实时模拟中调用数百万次。最明显的是首先检查与圆C外接的正方形S,然后才进行(稍微)成本更高的圆测试。