OpenGl - вычислить нормальное в кубе - PullRequest
0 голосов
/ 27 декабря 2010

Мне нужно рассчитать нормаль 6 граней из куба.Куб перемещается с помощью клавиш, поэтому, поскольку позиция куба мне нужна, нужно знать нормальное лицо.

Есть какой-нибудь метод, который поможет этому вычислению ??

1 Ответ

6 голосов
/ 27 декабря 2010

Если вы поддерживаете отношения между лицами, вы можете вычислить одно, а затем получить все остальные, используя преобразования. Или вы можете просто рассчитать все шесть по отдельности.

Самый простой способ сделать это - использовать перекрестное произведение двух векторов ребер и нормализовать результат, чтобы получить единичный вектор в 3D.

Выберите любую поверхность куба, точки которой (1, 2, 3, 4) пронумерованы таким образом, что, если вы посмотрите вниз на единичный вектор, перпендикулярный грани, числа будут идти против часовой стрелки.

Рассчитать векторы между точками 1 и 2:

alt text

То же самое для вектора, бегущего из точки 1 в точку 4.

Пересеки первый вектор во второй, нормализуй его, и это твой единичный вектор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...