Направление нормалей - PullRequest
0 голосов
/ 19 мая 2011

В настоящее время у меня есть программа, которая будет вращать простой 2-мерный многоугольник вокруг оси X, чтобы создать трехмерную фигуру.Проблема в том, что для того, чтобы убедиться, что нормали для поверхностей выровнены правильно, мне нужно найти точку и убедиться, что нормаль направлена ​​в сторону от этой точки.Я использовал средние значения координат x и y 2D-многоугольника, чтобы найти контрольную точку.Однако иногда этот ориентир вводит в заблуждение.Если я попытаюсь использовать острую вогнутую форму, точка отсчета будет полностью находиться вне формы, что приведет к тому, что некоторые стороны будут иметь нормали, обращенные внутрь.Есть ли точный способ выровнять нормали многоугольника так, чтобы они всегда были направлены от него?

1 Ответ

0 голосов
/ 19 мая 2011

Правильно ли, что вы хотите, чтобы 2D нормали наружу для каждой грани многоугольника перед вращением? В правой системе координат с многоугольником в плоскости x-y, перекрестное произведение внешней нормали стороны с вектором вдоль стороны, направленной в направлении против часовой стрелки, будет иметь положительную компоненту z. Внутренняя нормаль будет иметь отрицательный компонент z. (Суммарное произведение должно быть normal × side.)

...