Программа находит среди заданных N точек такие точки, которые являются вершинами пятиугольника, содержащего наибольшее количество заданных точек внутри себя.
Даны N точек на плоскости. Необходимо найти среди них точки, являющиеся вершинами пятиугольника, содержащего наибольшее количество заданных точек.
Программа использует полный перебор всех возможных комбинаций из 5 точек для построения пятиугольников. Для каждого пятиугольника проверяется:
- Уникальность вершин (отсутствие совпадающих точек)
- Отсутствие самопересечений сторон
- Отсутствие коллинеарных точек на сторонах
- Количество точек, лежащих внутри пятиугольника (используется алгоритм ray casting)
-
Подготовьте файл
input.txtс координатами точек в формате:x1 y1 x2 y2 ... xn yn -
Запустите программу:
g++ курсач.cpp -o pentagon ./pentagon
-
Введите количество точек N при запуске программы
-
Результаты будут сохранены в файлах:
rez.txt- пятиугольник с максимальным количеством точек внутриprotokol.txt- протокол работы программы со всеми найденными пятиугольниками
Файл input.txt содержит координаты точек, по одной паре координат (x, y) на строку.
rez.txt- координаты вершин пятиугольника с максимальным количеством точек внутри и координаты этих точекprotokol.txt- полный протокол работы программы со всеми найденными пятиугольниками
Бобков Владислав Дмитриевич,
Начало: 19.11.2021
Конец: 10.12.2021