Сортировка вершин полигона по часовой или против часовой стрелки
Есть хаотичный набор отрезков полигона(полигон может быть любой, но без дырок и лежит в одной плоскости):
PiPj = { {x1,y1,z1}, {x2,y2,z2}};
std::vector<std::array<Vec, 2>> lines = {P7P8, P2P1, P5P6, ... }
Мои вопросы:
- Как мне отсортировать этот набор отрезков так, чтобы он был по cw/ccw ?
- Как найти угол, который больше 180 градусов. Пример такого угла на схеме: P5P6P7.
