Существует две операции умножения над векторами.
Результатом первой является число(скаляр) отсюда и название скалярное произведение.
Результатом второго является вектор и оно носит название векторного произведение.
Часто в программирование первое обозначается, как 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;
**Входные параметры:**
* Вектора реальных чисел a и b.
**Выходные параметры:**
* Реальное число равное скалярному произведению векторов.
**Примечание:**\\
* Для реальных чисел данный код не является точным, так как не учитывает округления(См. [[ошибки в численных методах]]). Если вместо реальных чисел использовать целые переменной длиной или рациональные числа переменной длиной, то функция будет точной.
====== Векторное произведение ======
===== Определение векторного произведения =====
Векторным произведением вектора на вектор в пространстве называется вектор , удовлетворяющий следующим требованиям:\\
длина вектора равна произведению длин векторов и на синус угла между ними: ;\\
вектор ортогонален каждому из векторов и ;\\
вектор направлен так, что тройка векторов является правой;\\
===== Свойства скалярного произведения =====
===== Код векторного произведения =====
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;
**Входные параметры:**
* Вектора реальных чисел a и b с числом элементов 3.
**Выходные параметры:**
* Вектор реальных чисел с числом элементов 3. Компоненты которого равны векторному произведению векторов a и b.
----
**Список литературы:**\\
[1] [[http://ru.wikipedia.org/wiki/Векторное_произведение]] \\
[2] Б. Н. ДЕЛОНЕ и Д. А. РАЙКОВ; Аналитическая геометрия; том. 1, 1948\\
[3] А. В. Погорелов, Геометрия, учебник для 7-11 класс средней школы.\\
[4] Мантуров О.В., Матвеев Н.М. Курс высшей математики Линейная алгебра. Аналитическая геометрия. Дифференциальное исчисление функций одной переменной 1986\\