Обнаружение столкновения с кругом HTML5 Canvas

Я хочу проверить, сталкиваются ли круги друг с другом.

Я знаю, что могу сделать это, получив расстояние между двумя центрами окружностей и вычтя радиус каждого круга из этого расстояния и посмотрев «расстояние». это & gt; 1.

Как я могу сделать это эффективно, хотя, скажем, 1000 кругов? Может быть, я могу как-то получить ближайшие 20 кругов или что-то в этом роде и проверить их? Я не знаю, как бы я начал делать это эффективно, хотя либо ...

Есть идеи?

Вот пример:

http://experiments.lionel.me/blocs/

Ответы на вопрос(4)

Ваш ответ на вопрос