2014-11-02 6 views
-1

Мне нужна функция, так что при задании Vector3 для a, b и c даст мне новый Vector3, поворот треугольника. В значительной степени, для точки d, если я хочу переместить ее, прилегающую к треугольнику, мне просто нужно умножить расстояние, которое я хочу переместить, вращением Vector3, и добавьте старую позицию, чтобы получить новое местоположение. TriangleКак найти Вращение 3d-треугольника

+0

Почему -1? было ли это непонятно? –

+0

Мне это не показалось. Какой вектор вы ищете? «Вращение треугольника» не имеет смысла. Если вы хотите переместить точку D из треугольника, то любой вектор будет делать, пока вы перемещаете его достаточно далеко. – Blorgbeard

+0

Под поворотом, я имею в виду, если бы я хотел переместить точку D в космос, но рядом с гранью треугольника. Поэтому, если бы я хотел переместить блок единицы 1, я бы взял «Вращение» и умножил его на то, как далеко я хотел переместить точку, а затем добавить исходную позицию. –

ответ

0

Вектор, который вы хотите, называется единым нормальным вектором. «Единица» означает, что длина равна 1 (так что вы можете просто умножать на расстояние), а «normal» - это имя вектора, перпендикулярного поверхности.

Чтобы получить его, возьмите cross-product любых двух краев вашего треугольника и результат normalize. Посмотрите на this question для получения подробной информации о том, как это сделать математически.

Примечание: «Нормализация» вектора означает, что направление остается неизменным, но меняет длину на 1. Оно напрямую не относится к «нормальному вектору».

+0

Я бы поднял-- но только у вас есть 11 rep –

+0

Без проблем, рад помочь. – Blorgbeard

Смежные вопросы