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