ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Задача 102935
Условие
Два многоугольника на плоскости заданы координатами своих вершин.
Требуется вычислить площадь пересечения этих многоугольников, то есть
сумму площадей тех кусков, которые образуются при их пересечении и
принадлежат каждому из них. При этом вы можете предполагать, что: Решение
Скачать архив тестов и решений Разберем пункт А. Очевидно, что пересечение двух выпуклых многоугольников также является выпуклым многоугольником. Какие точки будут его вершинами? Во-первых, все точки пересечения двух многоугольников. Чтобы их найти, нужно пересечь все стороны одного многоугольника со всеми сторонами другого. Во-вторых, все вершины первого многоугольника, принадлежащие второму, и наоборот, все вершины второго, принадлежащие первому. Определив все вершины пересечения, упорядочим их, отсортировав по полярному углу относительно центра масс. Далее считаем площадь получившегося многоугольника. Пункт Б сводится к пункту А следующим образом. Прямая, проведенная через любую из сторон угла, большего 180 градусов, разбивает невыпуклый многоугольник на два выпуклых. Пересекая получившиеся выпуклые многоугольники (как в пункте А) и суммируя площади их пересечений, найдем ответ на пункт Б. Источники и прецеденты использования |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|
![]() |
Проект осуществляется при поддержке