Существует две операции умножения над векторами. Результатом первой является число(скаляр) отсюда и название скалярное произведение. Результатом второго является вектор и оно носит название векторного произведение.
Часто в программирование первое обозначается, как DotProduct, а второе CrossProduct.
Скалярное произведение векторов и
в пространстве
- есть произведение длин векторов на угол между ними.
1.
Формула скалярного произведения для в водиться по аналогии с
(см. [4]) как
2.
Тогда число в формуле 3 можно назвать углом между векторами.
3.
Это можно сделать в виду того, что левая часть не выходит за допустимое значения cos. Т.е больше -1 и меньше 1.
Так как формула 2 не требует вычисления cos и корня, то она вычисляется быстрее и обычно используется при расчётах.
Приняв скалярное произведение вектора себя на себя, как квадрат длины вектора формула 4, то можно переписать 3 в виде 5.
4.
5.
Скалярное произведения вектора на себя равно длине вектора в квадрате.
3.
Умножение на число.
4. .
Дистрибутивость
5.
Угол между векторами.
6. .
Проекции вектора на вектор
, есть скалярное произведение делённое на длину вектора
.
7.
function DotProduct(a,b:TVectorN):Real; var i:Integer; begin Result:=0; for i:=0 to Length(a)-1 do Result:=Result+a[i]*b[i]; end;
Входные параметры:
Выходные параметры:
Примечание:
Векторным произведением вектора на вектор
в пространстве
называется вектор
, удовлетворяющий следующим требованиям:
длина вектора равна произведению длин векторов
и
на синус угла
между ними:
;
вектор ортогонален каждому из векторов
и
;
вектор направлен так, что тройка векторов
является правой;
function CrossProduct(a,b:TVector3):TVector3; begin Result[0]:=a[1]*b[2]-a[2]*b[1]; Result[1]:=-a[0]*b[2]+a[2]*b[0]; Result[2]:=a[0]*b[1]-a[1]*b[0]; end;
Входные параметры:
Выходные параметры:
Список литературы:
[1] http://ru.wikipedia.org/wiki/Векторное_произведение
[2] Б. Н. ДЕЛОНЕ и Д. А. РАЙКОВ; Аналитическая геометрия; том. 1, 1948
[3] А. В. Погорелов, Геометрия, учебник для 7-11 класс средней школы.
[4] Мантуров О.В., Матвеев Н.М. Курс высшей математики Линейная алгебра. Аналитическая геометрия. Дифференциальное исчисление функций одной переменной 1986