我在尋找關於碰撞檢測優化的信息。碰撞檢測優化
存在從點a移動到點b的對象(圓圈)。該物體具有半徑r,並且在該領域也有許多障礙(圓圈)。
我有檢查圓和膠囊之間的碰撞算法(函數),我現在把這個功能每障礙:
for-each (o : obstacles)
if collide(o, Capsule(a,b,r))
return true;
return false;
許多障礙還相差很遠遠離運動物體,通過碰撞檢測功能可以忽略它們。
我的問題是:
有沒有忽略檢查與碰撞檢測功能的一切障礙的解決方案?類似於最近的鄰居搜索或KD樹?
編輯:所有的障礙物都有相同的半徑。
你有多少障礙物?他們有多密?碰撞經常發生還是很少發生? –
想想100個障礙,他們分佈稀疏。算法每10ms調用一次。 – deepmax
而我認爲我的計劃的戰爭脖子就是這個問題。 – deepmax