Существует ли формула для определения затронутого квадрата по размеру-bru sh на сетке? - PullRequest
0 голосов
/ 23 февраля 2020

Я не уверен, как поставить эту проблему в одном предложении, извините, если название вводит в заблуждение.

В настоящее время я занимаюсь разработкой простого редактора ландшафта с размером bru sh в форме круга. Изображение ниже показывает несколько случаев, которые представляют мою проблему. is дополнительная информация: размер квадрата фиксированный и равномерный, и в текущей версии моя задача состоит только в том, чтобы найти, какой из них поражен, а какой нет (количество покрытой области важно для взвешивания хит, но, вероятно, не сейчас)

Мое текущее решение (которое даже не является правильным для определенного условия): дано попадание в позицию (x, y) с радиусом r, l oop через весь квадрат от (x-radius, y-radius) до (x + radius, y + radius) и примените 2-D прямоугольник для обнаружения столкновения окружности. Но я не думаю, что это оптимально (или даже правильно ИМО).

Может кто-нибудь помочь мне с этим? Спасибо

1 Ответ

0 голосов
/ 03 мая 2020

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

Конечно, в зависимости от размера вашей сетки производительность будет варьироваться. так что хорошо бы попытаться перебрать как можно меньше квадов. Хотя получить доступ к этим квадрам из массива - это то, что вы должны выяснить сами.

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