假設我有一個圓形在矩形區域內彈跳。在某一點上,這個圓與矩形的其中一個表面碰撞並反射回來。我會這樣做的通常方法是讓圓形重疊該邊界,然後反映速度矢量。圓圈實際上與邊界重疊的事實通常不是問題,在低速下也不是真正明顯的。在高速度下,這個圈子變得非常清楚,它正在做一些它不應該做的事情。計算移動圓的碰撞而不重疊邊界
我想要做的是以編程方式將反射考慮進去,並在顯示在屏幕上之前將圓放置在適當的位置。這意味着我必須計算它到達它當前位置和未來位置之間邊界的點 - 而不是計算它的新位置,然後檢查它是否已經到達邊界。
這比通常的圓/矩形碰撞問題稍微複雜一些。我對如何做到這一點有一個模糊的想法 - 基本上在當前位置和新位置之間創建一個邊界矩形,這會產生一系列它自己的問題(由於矩形根據圓的方向旋轉速度)。但是,我認爲這是一個普遍的問題,而且一個通用的解決方案已經存在。
這種問題是否有共同的解決方案?也許我應該研究一些基本理論?
哇,我真的超越了這個。 – 2010-05-03 16:54:30