2011-03-08 140 views
0

我打算製作一個程序,該程序會在奇怪形狀的多邊形內移動一些圓形形狀。使用奇怪形狀的多邊形進行碰撞檢測

我似乎無法弄清楚如何使用邊緣進行碰撞檢測並使形狀正確反彈。

我確信這個問題已經解決過,但我找不到一個很好的例子。

我的主要問題是: 找出圓是否碰到了它周圍的多邊形的邊緣。 一旦命中發生,計算命中點的法線以找出反射向量。

任何人都可以指向正確的方向嗎?

感謝,傑森

回答

1

你需要做一個circle line intersection test

爲了加快速度,您可以先檢查邊界框。例如,如果直線的起點和終點都位於圓的最左側座標的左側,則不能有交點。

+0

非常感謝,但還有一個問題。計算法線反映的公式是什麼? – Jason 2011-03-08 11:27:06

+0

傑森:看到這個答案:http://wsackoverflow.com/questions/1243614/how-do-i-calculate-the-normal-vector-of-a-line-segment – 2011-03-08 12:53:48

+0

Awsome謝謝! – Jason 2011-03-08 17:59:17