Как написать программу для разделения многоугольника? Суть задачи: в программу вводятся координаты вершин выпуклого многоугольника, количество кусочков, на которые надо разделить этот многоугольник. На выходе программа дает координаты отрезков, делящих многоугольник (начала и концы отрезков лежат на сторонах многоугольника). Отрезки могут иметь по 1 общей точке только на сторонах многоугольника (внутри него они пересекаться не могут). Напишите решение задачи, желательно на с++, или дайте ссылки на ресурсы, литературу в которой будет освещен данный вопрос. Второе даже лучше, но литература нужна для "чайников", школьников, потому как я еще учусь в школе.

21 Авг 2019 в 06:16
179 +1
0
Ответы
1

Для решения данной задачи можно воспользоваться алгоритмом разбиения выпуклого многоугольника на заданное количество кусочков, который называется "разрезание многоугольника". Алгоритм можно реализовать на языке программирования C++.

Примерный псевдокод алгоритма разрезания многоугольника:

Вводим количество вершин многоугольника и их координаты.Соединяем каждую вершину с последующей (последнюю с первой) чтобы получить стороны многоугольника.Для каждой стороны находим точку разделения, используя формулу x = x1 + (x2 - x1) * t и y = y1 + (y2 - y1) * t, где t - отношение длины отрезка до точки разделения ко всей длине отрезка.Строим новый многоугольник, составленный из отрезков, соединяющих вершины и точки разделения.Выводим координаты полученных отрезков.

Для более подробного изучения алгоритма разрезания многоугольника и его реализации на C++, вы можете обратиться к следующим ресурсам:

Книга "Вычислительная геометрия: Введение" Марк де Берг, Ойен фон Гимпель, Марк Овермаарс, Рене фан Рой: https://www.ozon.ru/product/vychislitelnaya-geometriya-vvedenie-9172028/Статья "Polygon Triangulation" на GeeksforGeeks: https://www.geeksforgeeks.org/triangulation-algorithms-in-computational-geometry/Coursera курс "Вычислительная геометрия и компьютерное зрение" от ВШЭ: https://www.coursera.org/learn/vychislitel-naia-geometriia.Книга "Вычислительная геометрия" Михаил Ройтберг: https://www.ozon.ru/product/vychislitelnaya-geometriya-35417173/.

Надеюсь, что данная информация будет полезна для изучения и решения вашей задачи. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться. Удачи!

20 Апр в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 541 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир