Подтвердить что ты не робот

Что значит нормализовать значение?

В настоящее время я изучаю освещение в OpenGL, которое использует функцию в GLSL, называемую normalize. Согласно документам OpenGL, он говорит, что он "вычисляет нормированное произведение двух векторов". Однако он все еще не объясняет, что означает "нормализованный". Я пробовал искать, какой нормализованный продукт находится в Google, однако я не могу найти ничего об этом. Может ли кто-нибудь объяснить, что нормализует средства и предоставить несколько примеров нормализованного значения?

4b9b3361

Ответ 1

Это математический термин и эта ссылка объясняет его смысл довольно простыми словами:

Операции в 2D и 3D компьютерной графике часто выполняются с использованием копий векторов, которые были нормализованы, т.е. преобразованные в единичные векторы... Нормализация вектора включает в себя два шага:

  • вычислить его длину, затем
  • разделите каждую из своих (xy или xyz) компонентов по своей длине...

Ответ 2

Я думаю, что путаница исходит из идеи нормализации "ценности", а не "вектора"; если вы просто думаете о единственном числе в качестве значения, нормализация не имеет никакого смысла. Нормализация применима только при применении к вектору.

Вектор - последовательность чисел; в трехмерной графике обычно это координата, выраженная как v = <x,y,z>.

Каждый вектор имеет величину или длину, которые можно найти с помощью теоремы Пифагора: |v| = sqrt(x^2 + y^2 + z^2) Это в основном длина линии от начала <0,0,0> до точки, выраженной вектором.

Вектор нормален, если его длина равна 1. То, что это!

Чтобы нормализовать вектор, нужно изменить его так, чтобы он указывал в одном направлении (подумайте об этой строке от начала координат), но его длина равна единице.

Основная причина, по которой мы используем нормальные векторы, - представлять направление; например, если вы моделируете источник света, который находится на бесконечном расстоянии, вы не можете дать ему точные координаты. Но вы можете указать, где его найти из определенной точки, используя обычный вектор.