У меня есть коллекция треугольников, которые определяют поверхность сетки моей трехмерной фигуры,
Я хотел бы установить нормаль каждого треугольника, чтобы указать форму.
Я пробовал следующее (псевдо):
1. определить, что нормальным направлением первого треугольника является правильное направление
2. перейти по мешу, используя вид DFS, например:
3. треугольник = первый треугольник
4. foreach соседка в треугольнике. GetNeighbours
5. если угол между соседом и треугольником больше 180, то так и есть.
6. треугольник = сосед
7. если сосед уже выбран, переходить к следующему соседу
8. продолжить рекурсивно до 4.
Но шаг 5 в алгоритме не работает, потому что не могу знать, больше ли угол, чем 180, потому что мне нужно знать в направлении ведьмы (по часовой стрелке или против часовой стрелки).
Не могли бы вы помочь мне понять, как исправить алгоритм?