Эффективное представление для растущих окружностей в 2D пространстве?

Представьте, что существует двумерное пространство, и в этом пространстве есть круги, которые растут с разными постоянными скоростями. Какова эффективная структура данных для хранения этих окружностей, чтобы я мог сделать запрос "Какие окружности пересекают точку p в момент времени t?".

EDIT: Я понимаю, что могу хранить начальное состояние окружностей в пространственной структуре данных и сделать запрос, в котором я пересекаю окружность в точке p с радиусом fastest_growth * t, но это неэффективно, когда есть несколько окружностей, которые растут очень быстро, в то время как большинство растет медленно.

Дополнительное редактирование: Я мог бы расширить вышеуказанный подход, разделив круги и сгруппировав их по скорости роста, затем применив вышеуказанный подход к каждой группе, но это требует ограниченного времени, чтобы быть эффективным.

13
задан dan_waterworth 27 January 2012 в 11:19
поделиться