Проверьте, пересекается ли один прямоугольник или находится внутри другого прямоугольника - PullRequest
0 голосов
/ 07 мая 2019

У меня следующая ситуация, в иллюстративных целях разделенная на 2 ситуации.

enter image description here

Зеленый прямоугольник в середине - это прямоугольник, которым я являюсьссылаясь на мою базу, так как это прямоугольник, который является постоянным.

Теперь я хотел бы знать, пересекается ли желтый прямоугольник, внутри или полностью инкапсулирует зеленый прямоугольник.

Я видел этот пост и понимаю его, но (если я ничего не забуду) он игнорирует случай, когда желтый прямоугольник находится внутри зеленого прямоугольника.Самое простое решение, о котором я могу подумать, - это дважды проверить 4 точки в любом порядке, но является ли это единственным («лучшим») решением?

1 Ответ

1 голос
/ 07 мая 2019

Два прямоугольника A, B имеют непустое пересечение, если

A.l < B.r and A.r > B.l and A.t < B.b and A.b > B.t

(координаты слева, справа, сверху, снизу, y вниз).

A полностью содержит B iif

A.l <= B.l and A.r >= B.r and A.t <= B.t and A.b >= B.b
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...