Сложение и вычитание векторов и матриц - просто сложение и вычитание соответствующих элементов. Умножение векторов имеет два определения: Векторное умножение, где результат - вектор, и скалярное, где результат - число. Скалярное умножение тесно связано с понятием базиса в пространстве, его результат - проекция одного вектора на другой. Оно задается простым правилом:
A*B = Ai*BiЗдесь принято стандартное правило: по повторяющемуся индексу подразумеваетсь суммирование
Векторное умножение определяет вектор, перпендикулярный двум исходным. Длина результирующего вектора есть площадь парралеллограмма, образованного двумя исходными. Векторное умножение задается такими соотношениями:В трехмерном пространстве векторное умножение требует два вектора, но в N-мерном пространстве необходимо N-1 векторов, чтобы определить векторное умножение. Скалярное же умножение требует всегда 2 вектора.
Наиболее общий вид линейной зависимости между векторами:
Bi = AijBjЭто называется умножением вектора на матрицу. Такое умножение можно рассматривать как преобразование вектора к другому базису, причем компоненты матрицы - попарные скалярные умножения каждого вектора старого базиса на каждый вектор нового:
Aij = ei*ejМатрица называется символом Кронекера, или единичной матрицей. Очевидно, что
AiEij = Aj
Чтобы преобразовать вектор сначала к одному базису, а затем к другому,
необходимо умножить этот вектор на матрицы этих двух преобразований. Результат можно рассматривать как умножение исходног вектора на одну матрицу,
являющуюся умножением двух матриц преобразований:
Cij = AikBljEkl
или C = A*B
Матрица Bij = Aji называется транспонированной к A.
Модуль, содержащий основные операции над векторами и матрицами Matrix.pas.
В трехмерном пространстве площадь паралеллограмма между двумя векторами определяется векторным умножением:
S = [A,B]
и обьем паралеллепипеда между тремя векторами - как скалярное умножение вектора площади S на третий вектор:
V = C*S, or
В N-мерном пространстве "N-мерный обьем" фигуры между N векторами вычисляется как
детерминант (определитель):
Определение детерминанта рекуррентно: детерминант матрицы есть
сумма по всем i произведений i-го элемента первой строки на определитель исходной матрицы без первой строки и i-го столбца,
со знаком, изменяемым на каждом следующем столбце.
Некоторые свойства детерминанта:
Найдем матрицу A-1 такую, что AA-1=1
Матрица A-1 задается формулой:
Aij-1 = Sij /det(A)
где Sij - алгебраическое дополнение [i,j]-го элемента - детерминант исходной матрицы без i-ой строки и j-го столбца
и со знаком, меняющимся при переходе на каждый следующий столбец.
Матрица A-1 называется обратной матрицей.
Умножение AB-1 называется делением A на B.
Умножение и деление матриц - умножение и деление преобразований.
Например, если исходный вектор переведен в некий базис умножением на матрицу A,
обратное преобразование задается матрицей A-1.
Пример вычисления детерминанта Determinant.pas и модуль, содержащий основные операции над векторами и матрицами Matrix.pas.
Наиболее сложные задачи построения трехмерных изображений - вращения и моделирование освещения.
Наиболее просто вращения задаются в сферической системе координат. Вращение сцены производится в несколько шагов:
Моделирование освещения основывается на зависимости между интенсивностями падающего и отраженного света:
I(a) = I0*cos(a), или, используя векторы I = L*n,
где a - угол между поверхностью и лучом света, L - "вектор света"
и n - вектор единичной длины, перпендикулярный к поверхности.
Каждый трехмерный обьект может быть представлен в виде набора многоугольников (положим для простоты, что это - треугольники). Допустим, что заданы координаты всех точек многоугольников. Тогда освещение моделируется с помощью такого алгоритма:
RGB-компоненты цвета треугольника пропорциональны интенсивности отраженного света.
Сначала - векторные дифференциальные операторы:
Наиболее распространено уравнение Лапласа (или уравнеие Пуассона как более общий тип уравнений). Это уравнения таких полей:
Уравнение Д'Aламбера - уравнение для бегущих волн, очень похожее на уравнение Лапласа, и его можно решать как уравнение Лапласа в комплексном пространстве Минковского или аппроксимируя среду набором дискретных элементов, движущихся согласно законам Ньютона.
Все методы матричной алгебры элементарно обобщаются на функции.
"Скалярное умножение" функций:
"Умножение вектора на матрицу":
Базисная функция ортогональна если
Как видно, разложение Фурье - только преобразование функции как "вектора" к другому базису.
Сейчас разложение Фурье почти очевидно:
Можно доказать, что "базисная функция" f(w,t) = eiwt ортогональна.