Определить намотку 2D треугольника после триангуляции - PullRequest
6 голосов
/ 03 февраля 2012

Я использую код триангуляции, который работает довольно хорошо (он обрабатывает многоугольники с дырками и интегрируется с JTS), но, очевидно, он не учитывает извилистость треугольников.Некоторые выходные треугольники намотаны в одну сторону, некоторые намотаны другим способом.

Могу ли я определить и исправить обмотку этих отклоняющихся треугольников?Возможно использование информации из соседних треугольников, но чем проще, тем лучше.

1 Ответ

16 голосов
/ 03 февраля 2012

Для треугольника ABC вы можете найти обмотку путем вычисления перекрестного произведения (B - A) x (C - A).Для 2d tri, с z = 0, он будет иметь только компонент z.

Чтобы получить одинаковую намотку, поменяйте местами вершины C и B, если эта компонента z отрицательна.

...