Направление нормалей

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


person user747856    schedule 19.05.2011    source источник


Ответы (1)


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

person Ted Hopp    schedule 19.05.2011