В трехмерном пространстве у меня есть неупорядоченный набор, скажем, из 6 точек; что-то вроде этого:
(A)*
(C)*
(E)*
(F)*
(B)*
(D)*
Точки образуют трехмерный контур, но не упорядочены. Под неупорядоченными я подразумеваю, что они хранятся в
unorderedList = [A - B - C - D - E - F]
Я просто хочу реорганизовать этот список, начиная с произвольного места (скажем, точки A) и перемещая точки по часовой стрелке или против часовой стрелки. Что-то вроде этого:
orderedList = [A - E - B - D - F - C]
or
orderedList = [A - C - F - D - B - E]
Я пытаюсь реализовать алгоритм как можно проще, поскольку упомянутый набор точек соответствует N-кольцевой окрестности каждой вершины на сетке из ~ 420000 точек, и я должен сделать это для каждой точки на сетке. .
Некоторое время назад было аналогичное обсуждение по пунктам в 2 -D, но пока мне непонятно, как перейти от этого подхода к моему трехмерному сценарию.