Matrix

Xtreme3D

Matrix

Matrix | Матрица
Двумерная таблица. Матрицы обозначаются как NxM, где N - количество строк таблицы, M - количество столбцов. В линейной алгебре обычно используются квадратные матрицы (у которых количество столбцов и строк одинаково). В 3D-графике квадратные матрицы используются для линейных преобразований векторов и точек из одного пространства в другое.
Матрицы можно перемножать, инвертировать (вычислять обратные матрицы), а также транспонировать - то есть, менять местами столбцы и строки (строка становится столбцом и наоборот). Особый вид квадратной матрицы - единичная. У единичной матрицы все элементы, кроме главной диагонали, равны нулю, а главная диагональ (от левого верхнего угла к правому нижнему) содержит единицы. Единичная матрица равна своей обратной и транспонированной матрицам. Умножение матрицы на единичную даст в результате точно такую же матрицу.
Умножение матриц осуществляется по столбцам и строкам - для каждого элемента результирующей матрицы соответствующая этому элементу строка одной матрицы скалярно умножается на соответствующий столбец другой. Умножение матриц некоммутативно - то есть, для матриц A и B произведение A * B не обязательно равно B * A.
Также можно перемножить матрицу и вектор, если при этом соблюдается определенное соответствие их размерностей. Есть два вида такого умножения - левое и правое. Левое умножает матрицу NxM на вектор-столбец размерности M, и в результате получается вектор размерности N. Правое умножает вектор-строку размерности N на матрицу NxM, и в результате получается вектор размерности M. Вектор-строка - это вектор размерности N, записанный в виде матрицы 1xN, вектор-столбец - вектор размерности M, записанный в виде матрицы Mx1. В остальном правила умножения такие же, как и для матриц - строка на столбец. Правое умножение соответствует левому с транспонированной матрицей (и наоборот), и это свойство часто используется в компьютерных вычислениях для различных оптимизаций.


См. также Transformation, Vector.