Проблема перетаскивания фигур - PullRequest
2 голосов
/ 10 декабря 2010

Мне нужно разработать программное обеспечение, где пользователь может перетаскивать фигуры в окне. Проблема в том, что могут быть тысячи фигур и могут быть некоторые ограничения, например, одна фигура не может быть над другой.

Так что мне действительно нужно знать, как организовать хранение данных и какой-нибудь алгоритм, чтобы быстро определить, можно ли поместить фигуру в определенную позицию. Я думаю, что эта проблема решалась много раз, но я не знаю, как правильно ее погуглить. Не могли бы вы предоставить мне некоторую информацию по этой теме? Спасибо!

1 Ответ

3 голосов
/ 10 декабря 2010

Квадри (2D, октри, если 3D) часто используется при обнаружении столкновений.Идея состоит в том, чтобы рекурсивно разделить пространство на квадраты / кубы и поместить фигуры в правильные квадраты / кубы.Когда вам необходимо выполнить обнаружение столкновений для заданной фигуры, вы можете проверить только фигуры в том же квадрате / кубе.

Существуют другие структуры, каждая из которых имеет свои плюсы и минусы в зависимости от имеющихся у вас ограничений.Если другие формы статичны, деревья BSP также могут быть хорошей структурой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...