Помощь - Поиск - Пользователи - Календарь
Полная версия: Алгоритм вычисления площади и периметра сечения 2-х прямоугольников
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
lola
составить алгоритм вычисления площади и периметра сечения 2-х прямоугольников:

P1={(x,y):a1<=x<=a2, b1<=y<=b2}, P2={(x,y): c1<=x<=c2, d1<=y<=d2}.

Если есть у кого какие идейки,поделитесь пожалуйста,очень нужно.
мисс_граффити
что такое сечение прямоугольников?
lola
Цитата(мисс_граффити @ 6.12.2006 21:21) *

что такое сечение прямоугольников?

извиняюсь... "пересечения" наверное ,я с украинского переводила слово "перетин"
мисс_граффити
ясно smile.gif торможу...
прямоугольники, насколько я понимаю, расположены параллельно сторонам экрана.
(это не алгоритм, а объяснение!)
построим проекцию на ось y. получим некую последовательность точек.
варианты:
a1 c1 a2 c2
очевидно, что кусок c1 a2 - общий. находим его длину
с1 a1 a2 c2
a1 a2 - общий
a1 c1 c2 a2
c1 c2 - общий
a1 a2 c1 c2
общего нет
и т.д.
аналогично сделаем на ось х, найдем длину.
в итоге мы получаем длины сторон прямоугольника - пересечения.
найти периметр и площадь - не проблема smile.gif

вопрос: если прямоугольники имеют общую сторону (как бы слиплись по ней) - считаем периметр равным нулю или длине общей линии?
lola
Цитата(мисс_граффити @ 6.12.2006 21:47) *

вопрос: если прямоугольники имеют общую сторону (как бы слиплись по ней) - считаем периметр равным нулю или длине общей линии?

Большое спасибо хоть на чем-то,ибо мне совсем не понятно,что с этой задачей делать. smile.gif

я думаю,что периметр в таком случае однозначно = 0

мисс_граффити
а ты пробуй.
будут конкретные вопросы - я помогу.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.