2011-05-19 3 views
0

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

ответ

0

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