Скалярное произведение

Скалярное произведение записывается как •. Чтобы рассчитать скалярное произведение двух векторов, мы должны умножить их компоненты, а затем сложить полученные результаты вместе. На первый взгляд это кажется бесполезным, но посмотрим внимательнее на это:


Здесь мы можем увидеть, что если вектора указывают в одном направлении, то их скалярное произведение больше нуля. Когда они перпендикулярны друг другу, то скалярное произведение равно нулю. И когда они указывают в противоположных направлениях, их скалярное произведение меньше нуля.
Вот формула dot product: V1•V2 = (V1.x * V2.x  +  V1.y * V2.y  +  V1.z * V2.z)
 
В математическом представлении она выглядит так: V1•V2 = ||V1|| ||V2|| cos(theta)
То есть величина V1 умножить на величину V2 умножить на косинус угла.
'.' называется DOT.
|| || - величина, она всегда положительна.
 
С помощью скалярного произведения можно получать угол между двумя векторами. Если векторы нормализованы, dot product вернет косинус угла между 2мя векторами. Это значит, что на самом деле возвращается не сам угол, а cos(angle). Если мы хотим получить сам угол, то используем аркосинус.
 
Пример использования dot product: как вычислить угол между перпендикулярными векторами?
Решение:
Если мы нормализуем вектор, мы можем получить результат ||V1|| * ||V2||, останется только
найти cos(theta). Если вектор нормализован, его величина - 1, так что получится 1*1*cos(theta), что бессмысленно, так что мы отбрасываем эту часть формулы. Итак, что такое косинус 90? Если вы возьмете калькулятор, то узнает, что это 0. И получается, что если результат Dot() равен нулю, векторы перпендикулярны. Всё что мы делали - получили аркосинус нуля, который равен 90.