Вопрос относительно Vector3.normalize (); - PullRequest
1 голос
/ 20 октября 2010

Прочитав гугл, я все еще не совсем понял, что это значит / значит?Может кто-нибудь объяснить это?Возможно простой пример?Большое спасибо.

Ответы [ 2 ]

6 голосов
/ 20 октября 2010

Нормализация вектора означает изменение его компонентов таким образом, чтобы его общая длина была равна 1.

В псевдокоде:

length = sqrt((vec.x * vec.x) + (vec.y * vec.y) + (vec.z * vec.z))
vec.x /= length
vec.y /= length
vec.z /= length

Это имеет много применений в реальном времени 3D, так какнормированные векторы имеют интересные свойства.

1 голос
/ 20 октября 2010

Нормализация вектора масштабирует его до длины 1,0, не меняя его направления.

Редактировать: Это работает путем нахождения длины вектора и последующего деления каждой из координат на длину:

длина = sqrt (x * x + y * y + z * z);

норма = [x / длина, y / длина, z / длина];

Ясно, что выне может нормализовать вектор нулевой длины.

...