1
可能重複:
Circle-Rectangle collision detection (intersection)
How to determine the collision of a circle with a rectangle?如何檢測圓和塊之間的碰撞?
我要檢測的交叉點或圓形的碰撞與generaly定位塊。 該塊是矩形的,可以是任何大小或旋轉。
這是什麼數學?
可能重複:
Circle-Rectangle collision detection (intersection)
How to determine the collision of a circle with a rectangle?如何檢測圓和塊之間的碰撞?
我要檢測的交叉點或圓形的碰撞與generaly定位塊。 該塊是矩形的,可以是任何大小或旋轉。
這是什麼數學?
寫一個函數,檢查任意段ab與圓相交C。編寫第二個函數,檢查點p是否在圓圈內C。然後調用第一個函數四次,對於四個矩形邊,如果所有這些都失敗了,請在一個角上調用第二個函數(以檢查矩形是否完全位於圓內)。根據您對「碰撞」的定義,您可能還需要檢查圓是否完全位於矩形內!
有多種方法可以加速計算,以防萬一您要在實時模擬中調用這幾百萬次。最明顯的是首先檢查方形S外接圓C,然後才進行(稍微)更昂貴的圓形測試。
看這裏:http://stackoverflow.com/questions/401847/circle-rectangle-collision-detection-intersection – tokland 2012-08-09 12:57:50