Даны N, N>1 прямоугольников, для которых предполагается, что:
a) стороны любого прямоугольника параллельны координатным
осям и прямоугольник задается концами одной из диагоналей.
b) Каждый прямоугольник имеет общие внутренние точки с хотя
бы одним из остальных и не имеет общих вершин, сторон или
частей сторон ни с одним из остальных прямоугольников.
Составить программу, которая решает следующие задачи:
1. С помощью последовательности точек определить внешний
контур фигуры F, являющейся объединением прямоугольников
- ломаную замкнутую кривую. Пример на чертеже 1.
2. Определить содержит ли фигура F "дырки", т. е.
замкнутые фигуры, которые ей не принадлежат.
3. Разложить фигуру на наименьшее возможное число не
пересекающихся прямоугольников, которые могут иметь общие
стороны или части сторон, а их объединение дает фигуру F.
4. Вычислить периметр и площадь фигуры F.
Примечание.
1. Задачи 3, 4 решаются только для фигур, которые содержат
"дырки".
2. Полное решение содержит:
- - анализ (обоснование) решения
- - текст программы с соответствующими комментариями
- - выполнение текстового примера, который будет дан при приемке работы
Объединение прямоугольников Ai Bi Ci Di, i=1, 2, 3, 4 есть
фигура F=A2 B2 X1 B1 X2 B4 C4 D4 X3 X4 C2 D2
фигура F содержит единственную "дырку" PQRS
|