составить алгоритм вычисления площади и периметра сечения 2-х прямоугольников:
P1={(x,y):a1<=x<=a2, b1<=y<=b2}, P2={(x,y): c1<=x<=c2, d1<=y<=d2}.
Если есть у кого какие идейки,поделитесь пожалуйста,очень нужно.
что такое сечение прямоугольников?
ясно торможу...
прямоугольники, насколько я понимаю, расположены параллельно сторонам экрана.
(это не алгоритм, а объяснение!)
построим проекцию на ось y. получим некую последовательность точек.
варианты:
a1 c1 a2 c2
очевидно, что кусок c1 a2 - общий. находим его длину
с1 a1 a2 c2
a1 a2 - общий
a1 c1 c2 a2
c1 c2 - общий
a1 a2 c1 c2
общего нет
и т.д.
аналогично сделаем на ось х, найдем длину.
в итоге мы получаем длины сторон прямоугольника - пересечения.
найти периметр и площадь - не проблема
вопрос: если прямоугольники имеют общую сторону (как бы слиплись по ней) - считаем периметр равным нулю или длине общей линии?
а ты пробуй.
будут конкретные вопросы - я помогу.