Я нашел решение, но хотел, чтобы моя логика была наиболее эффективной. Я чувствую, что есть лучший способ. У меня есть координата (x, y) нижнего левого угла, высота и ширина 2 прямоугольника, и мне нужно вернуть третий прямоугольник, являющийся их пересечением. Я не хочу публиковать код, поскольку я чувствую, что он обманывает.
- Я считаю, что самый дальний слева и самый высокий на графике.
- Я проверяю, полностью ли перекрывается другой, и обратный, чтобы увидеть, полностью ли перекрывается первая на оси X.
- Я проверяю частичное пересечение по оси X.
- Я в основном повторяю шаги 2 и 3 для оси Y.
- Я делаю некоторую математику и получаю точки прямоугольника на основе этих условий.
Возможно, я об этом подумал и написал неэффективный код. Я уже включил рабочую программу, но хотел бы найти лучший способ для своих собственных знаний. Если кто-то может согласиться или указать мне в правильном направлении, это было бы здорово!