У меня есть квадродерево с точками.
Не могу сделать две вещи:
- Я хочу, чтобы точки не go проходили друг через друга. Например, если две точки пересекаются друг с другом, они должны, как если бы pu sh назад.
- У меня есть маленький прямоугольник, и я хочу, чтобы точки не go проходили через его стены.
Как вы делаете это самым быстрым способом?
Я работаю с квад-деревом вот так (маленький псевдокод), каждый раз, когда я воссоздаю его и рисую (и вставляю точки)
function quad_init() {
for (p in Points) {
// move the dots a little bit to create the illusion of movement
p.randomv_move();
// Collision detection here????
tree.insert(p);
}
}
function game_loop() {
each tick call function quad_init();
}