Прямоугольник с Java AWT - PullRequest
0 голосов
/ 19 июня 2020

У меня есть два прямоугольника, и я хочу выяснить, с какой стороны они пересекаются. Я могу использовать Rectangle.intersects(Rectangle), но он говорит мне только о том, что прямоугольники пересекаются. Я пытаюсь проверить, пересекается ли прямоугольник по оси x или y, но я не уверен, как это сделать.

1 Ответ

1 голос
/ 19 июня 2020

Я предлагаю просто использовать базовую c математику, чтобы определить, где пересекаются прямоугольники.

Прямоугольник имеет местоположение (верхний левый угол), ширину и высоту.

  • Скажем, R1 - это (10,20), а R2 - (40,50). Поскольку R1 находится слева и выше R2, это означает, что если R2 пересекает R1, R2 должен пересекаться справа и / или ниже R1.
  • Но если R2 не такой широкий, как R1, он может пересекаться только в нижней части R1.
  • Или, если R2 не такой высокий, как R1, он может пересекаются только справа от R1.
  • Также существует вероятность того, что R1 и R2 полностью перекрывают друг друга.

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

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

...