| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [С++]площадь пересечения многоугольников |
| Автор: Artemon 19.3.2008, 16:07 | ||
| Как найти площадь пересечения 2-х многоугольников? Площадь одного многоугольника нашел следущим способом:
|
| Автор: ksili 21.3.2008, 10:07 |
| По-моему надо искать точки пересечения многоугольников, потом по ним и вершинам разбивать площадь пересечения на треугольники и находить площадь пересечения как сумму площадей этих треугольников. Если многоугольники могут быть невыпуклыми, то алгоритм усложнится Программу, разумеется, я сейчас писать не буду )) |
| Автор: ama_kid 21.3.2008, 11:06 |
| Я думаю, сначала надо найти пересечение многоугольников, а затем найти площадь этого пересечения. Алгоритм первой задачи http://algolist.manual.ru/maths/geom/intersect/convex_intersect.php, а второй - http://algolist.manual.ru/maths/geom/polygon/area.php... В случае выпуклых исходных полигонов область пересечения - это один полигон. Для невыпуклых исходных полигонов пересечение может состоять из нескольких многоугольников. Тогда необходимо искать площадь каждого из них, а затем суммировать. Ну и вот http://homepages.compuserve.de/chasluebeck/practic_info55.htm приведено какое-то решение на паскале, комментировать его качество не буду, нашёл банальным поиском... |