Ответ 1
Формулировка потенциальных полигонов
Кажется, что вы ищете многоугольник таким образом, чтобы
- все его вершины находятся в вашем наборе точек
- содержит каждую точку вашего набора точек
Это определяет допустимый набор полигонов-кандидатов по отношению к вашему набору точек.
Выпуклая оболочка?
Одной объективной функцией может быть "Среди этих полигонов выберите один с минимальным числом вершин". Это будет выпуклый корпус вашего точечного набора. Другие ответы касаются этого подхода, поэтому я больше не буду говорить об этом.
Что-то еще...
Но это не единственная целевая функция, которую вы могли бы выбрать. Например, вместо этого вы можете иметь компромисс между меньшим количеством вершин, имеющим меньшую общую площадь и имеющим менее острые углы в вершинах. Я не знаю каких-либо существующих алгоритмов для этой проблемы, но это определенно интересный.
Один подход может заключаться в том, чтобы начать с поиска выпуклой оболочки, а затем "потянуть" края во внутренние вершины в местах, где стоимость дополнительной вершины перевешивается из-за того, что она имеет меньшую общую площадь.
Например, это:
Стало бы это, потянув край по верхней части:
Этот второй многоугольник может быть более "естественным" для набора точек, хотя это не выпуклая оболочка набора точек.