2011-05-31 223 views
10

我一直在嘗試用手錶示一些使用androids Opengl的移動/旋轉對象。現在我想讓他們碰撞並做出現實迴應。碰撞檢測和碰撞響應

研究這個問題,我可以找到很多資源,這些資源可以幫助我確定兩個3d形狀是否在當前幀中發生碰撞(或者它們是否會在下一幀中發生碰撞)。但是,我無法找到描述如何獲取發生碰撞的信息的資源。

例如,使用凸形狀,我想知道哪個頂點首先在哪個平面與哪個平面之間發生碰撞。這樣我就可以知道每個形狀應該如何在其位置和旋轉中作出反應。

我可以在每個幀之間用光線描述每個頂點的運動,以及平面的運動。然而,我有點難以理解,我將如何使用它來找到他們未來的十字路口,以及這是否有可能提高效率。我已經閱讀了一些減少複雜計算(如octtrees和hit box)需求的方法。

我對這個主題相當陌生,所以任何資源,或如何通常處理這些問題的建議,將不勝感激。感謝您的時間!

回答

4

對於碰撞檢測,您正在尋找的解決方案稱爲連續碰撞檢測,解釋可以是found here。檢測兩個物體之間的接觸相對簡單,尤其是在忽略角速度的情況下,但是如果用兩個以上的物體進行模擬,則需要全局求解TOI,因爲碰撞的次序很重要,而且不能通過檢查孤立的碰撞來確定對(不那麼簡單)。

你也應該說明你正在試圖解決的具體問題 - 因爲找到TOI(影響時間)不是一項簡單的任務and approximation could be perfectly valid solution in a certain scenario(例如遊戲模擬)。

blog I already gave links要包含關於這個主題平易近人的文章和參考進一步閱讀,如果你想超越。

+0

感謝您的鏈接,並給我一些我試圖解釋的條款。這篇文章看起來很完美,並會幫助我的研究。至於我試圖解決的問題,我只是將其作爲學習練習,因此信息和許多場景對我來說都很有用。再次感謝! – groucho 2011-05-31 08:07:13

1

停止重新發明輪子d嘗試已經測試的解決方案

Bullet物理(谷歌搜索)由威樂krumlinde

* PS在後顯示

*碰撞檢測是一個複雜的話題,涉及到一些毛茸茸的數學。即使你在使用別人的圖書館。 :)