У меня проблема: У меня есть список всех x, y координат точек многоугольника. Теперь мне нужно отсортировать их таким образом, чтобы получить очки в по часовой стрелке.Сортировка списка координат
В настоящее время у меня есть 6 координат, чтобы нарисовать многоугольник, но не в порядке.
Кто-нибудь знает, как это осуществить?
Входные координаты:
координаты: 506.6609866568262, 673.970398950142
координаты: 505.34898334317376, +682,8179210498581
координаты: 502.0723751660178, 680,523615304454
координаты: 534.3026433431738, +682,736131049858
координаты: 535,6146466568263 , 673,8886089501419
координат: 538,8912548339822, +676,1829146955461
Выходных координаты:
координаты: 506.6609866568262, 673.970398950142
координаты: 502.0723751660178, 680,523615304454
координаты: 505.34898334317376, +682,8179210498581
координаты: 534.3026433431738 , 682,736131049858
координаты: +538,8912548339822, +676,1829146955461
координаты: 535.6146466568263, 673.8886089501419
Спасибо заранее,
Какой язык? что ты уже испробовал? Можете ли вы привести пример формата ввода/вывода? – depperm
Thanx для быстрого ответа. Я делаю эту программу на Java. Я попытался проверить каждую координату по сравнению x, а также y. Но я не смог вычислить правильный порядок. –
Что вы знаете о выходном полигоне? У вас есть набор ребер? Или вам нужно создать простой полигон из этих точек? Если он второй, то возьмите экстремальную точку, возможно, одну из них больше всего, т. Е.ваша первая точка, затем отсортируйте точки радиально вокруг нее, и это даст вам точки простого полигона по часовой стрелке или против часовой стрелки в зависимости от того, как вы определяете больше. Взгляните на [Graham's scan] (https://en.wikipedia.org/wiki/Graham_scan), он сортирует точки по часовой стрелке вокруг самой низкой точки на своем первом шаге. –