從一開始,碰撞檢測就像是一個O(n^2)問題。應該使用什麼技術來修剪2d碰撞檢查?
你有一堆對象,你需要檢查每個對象是否與任何其他對象發生碰撞。但是,我知道,檢查每個對象與所有其他對象是非常無效的。爲什麼兩個球之間相對昂貴的碰撞檢查,如果他們甚至不接近彼此?
這裏是我的簡單程序的例子我的工作:
如果你有1000個球,然後,如果你與天真的碰撞檢測去你將有1000^2集檢查(一百萬)!這種碰撞檢查很快就成爲我應用程序的瓶頸。 I 需要來實施一些寬泛的修剪。
在使用2D - 圓形對象時,應使用哪些技術來修剪碰撞檢查?我讀過關於QuadTrees,BSP,空間散列等的內容,但很難理清哪種方法最適合這種用例。
有沒有人有什麼可能最適合工作的知識?
將相關問題添加到我的答案中,並從答案中刪除了問題,因爲它令人分心。 – mmcdole 2009-01-05 21:46:26
很好,@Simucal。 – 2009-01-06 17:23:34