Задачи
May 22, 2023
Общая площадь прямоугольников
Даны координаты двух прямолинейных прямоугольников. Необходимо вычислить общую площадь, покрытую двумя прямоугольниками.
- 1й прямоугольник определяется своим НИЖНИМ ЛЕВЫМ углом (ax1, ay1) и своим ВЕРХНИМ ПРАВЫМ углом (ax2, ay2).
- 2й прямоугольник определяется своим НИЖНИМ ЛЕВЫМ углом (bx1, by1) и ВЕРХНИМ ПРАВЫМ углом (bx2, by2).
ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1 = 0, by1 = -1, bx2 = 9, by2 = 2
Разбор
- Сначала вычилим площадь обоих прямоугольников.
- Далее найдем пересечение по оси Х / Y, их можно найти по след.формуле
xOverlap = Min(ax2, bx2) - Max(ax1, bx1)
yOverlap = Min(ay2, by2) - Max(ay1, by1) - Если оба значения xOverlap, yOverlap положительны, то площадь пересечения существует. Если же хоть одно из значений отрицательно, то пересечения нет.
- Тогда общая площадь покрытая двумя прямоугольниками равна:
Площадь 1го прямуогольника + Площадь 2го прямуогольника - площадь пересечения.