close
建立一個X, Y的物件表,
struct axis_bind
{
axis_bind(float* v, Ball* b):
value(v), ball(v){}
float* value;
Ball* ball;
bool operator < (const axis_bind& ab)
{
return *value < *ab.value;
}
};
並對表做排序,
之後用二分搜尋拿到,
你要碰撞的那個區間,
將X與Y拿到的集合取交集後,
再做仔細的判斷 http://www.codeproject.com/KB/GDI-plus/PolygonCollision.aspx 。
可以用這個方法,
動態改變kdtree的配制,
說不定可以達到real time 120FPS 50000個point。
或是動態分群。
=================================
最近發現有更神速的方法,
用partition 秒殺。
最近讀了一些paper發現有很多相關的tree,
不過實用的不多。
Bullet物理引擎有一個範例可以用。
real time collision detection 這本有寫很多相關或詳細的碰撞,
準備來跟bullet pk~
全站熱搜
留言列表