Некоторые методы для соединения последовательно расположенных точек с заданными координатами:
- Обход точек в порядке возрастания какой-то координаты. www.rsdn.org Нужно отсортировать точки. www.rsdn.org Если есть точки с одинаковой координатой, то порядок выбирается по величине их второй координаты. www.rsdn.org
- Метод «змейки». www.rsdn.org Пространство с точками делят на вертикальные полосы так, чтобы в каждую полосу попадало порядка sqrt(n) точек. www.rsdn.org Затем соединяют точки: сначала из первой полосы в порядке возрастания y-координаты (идут вдоль полосы вверх), потом из второй в порядке убывания (идут вниз), потом из третьей опять в порядке возрастания и так далее. www.rsdn.org
- Соединение точек в порядке возрастания их угловой координаты, начав с той, перед которой самое большое расстояние до предыдущей точки. www.rsdn.org
Также существует алгоритм, в котором нужно объединить все точки замкнутой ломаной линией так, чтобы она не имела самопересечений. ru.stackoverflow.com Для этого предлагают найти точку, которая точно будет внутри выпуклой оболочки, сдвинуть все координаты, чтобы центр был в (0,0). ru.stackoverflow.com Затем отсортировать все точки сначала по полярному углу, при равенстве по модулю, и соединить точки, начиная с самой первой, именно в таком порядке. ru.stackoverflow.com