В настоящее время я работаю над плагином Bukkit, чтобы требовать настраиваемые области, и я использую прямоугольники (и .intersect()), чтобы проверить, перекрываются ли регионы перед созданием претензии.Проверка пересечения тысяч прямоугольников
Я пытаюсь понять, как мне не нужно проверять каждое существующее требование (которого в конечном итоге будет десятки тысяч), так как это займет довольно много времени. Мне также нужно будет проверить владельцев претензий, когда игроки делают такие вещи, как блокировать блоки или блокировать места.
В моей нынешней системе (которая не позволяет настраивать размеры претензий, только квадраты). Мне нужно только проверить не более 10 заявок, потому что я могу обнаруживать претензии в непосредственной близости от претензии (не более 64 блоков, максимальный радиус претензий в этой системе), но теперь размеры заявок могут быть бесконечно большими в теории с новой системой.
Проверяет ли все прямоугольники на значительное количество времени? Неужели я тупой, есть ли способ проверить прямоугольники в окрестностях, даже если размер неограничен?