Введение

Центральный объект в линейной алгебре; отображение векторов на векторах.

В линейной алгебре линейные преобразования могут быть представлены матрицами. Если – линейное преобразование, отображающее в , а – столбец-вектор с элементами, то

для некоторой матрицы , называемой матрицей преобразования . Обратите внимание, что матрица имеет строк и столбцов, в то время как преобразование осуществляется из в . Существуют альтернативные представления матриц преобразований с использованием векторов-строк, которые предпочитают некоторые авторы.

Применение

Матрицы позволяют представить произвольные линейные преобразования в единообразном формате, удобном для вычислений. Это также упрощает композицию преобразований (путем перемножения их матриц). Линейные преобразования – не единственные, которые можно представить матрицами. Некоторые нелинейные преобразования в n-мерном евклидовом пространстве Rn могут быть представлены как линейные преобразования в (n+1)-мерном пространстве Rn+1. К ним относятся как аффинные преобразования (например, сдвиг), так и проективные преобразования. Именно поэтому 4×4 матрицы преобразований широко используются в 3D-компьютерной графике. Эти (n+1)-мерные матрицы преобразований, в зависимости от области применения, называются аффинными матрицами преобразований, проективными матрицами преобразований или, в более общем случае, нелинейными матрицами преобразований. По отношению к n-мерной матрице, (n+1)-мерная матрица может быть описана как расширенная матрица. В физических науках активное преобразование – это преобразование, которое фактически меняет физическое положение системы и имеет смысл даже без системы координат, в то время как пассивное преобразование – это изменение в координатном описании физической системы (смена базиса). Различие между активными и пассивными преобразованиями важно. По умолчанию, под преобразованием математики обычно подразумевают активные преобразования, а физики – любое из них. Иными словами, пассивное преобразование относится к описанию одного и того же объекта, рассматриваемого из двух различных систем координат.

Эгигенооснова и диагональная матрица

Тем не менее, существует специальная основа для оператора, в которой компоненты образуют диагональную матрицу и, таким образом, сложность умножения снижается до n. Диагональность означает, что все коэффициенты, кроме диагональных, равны нулю, оставляя только один член в сумме выше. Сохраняющиеся диагональные элементы, , называются собственными значениями и обозначаются в определяющем уравнении, которое сводится к . Полученное уравнение известно как уравнение собственных значений. Собственные векторы и собственные значения выводятся из него с помощью характеристического полинома. При диагонализации часто можно переходить к собственному базису и обратно.

Примеры в двух измерениях

Наиболее распространенные геометрические преобразования, сохраняющие начало координат, являются линейными, включая вращение, масштабирование, сдвиг, отражение и ортогональное проецирование. Если аффинное преобразование не является чисто трансляцией, оно фиксирует некоторую точку, и эту точку можно выбрать в качестве начала координат, чтобы преобразование стало линейным. В двух измерениях линейные преобразования могут быть представлены с помощью матрицы преобразований 2x2.

Отражение

Для размышления об отражении относительно прямой, проходящей через начало координат, пусть **v** — вектор в направлении этой прямой. Тогда используйте матрицу преобразования:

Ортогональная проекция

Чтобы ортогонально спроецировать вектор на прямую, проходящую через начало координат, пусть **v** будет вектором, направленным вдоль этой прямой. Затем используйте матрицу преобразования:

Как и в случае отражений, ортогональная проекция на прямую, не проходящую через начало координат, является аффинным, а не линейным преобразованием. Параллельные проекции также являются линейными преобразованиями и могут быть представлены просто матрицей. Однако перспективные проекции не являются линейными, и для их представления с помощью матрицы можно использовать однородные координаты.

Отражение

Для отражения точки относительно плоскости (проходящей через начало координат) можно использовать формулу , где – 3×3 единичная матрица, а – трехмерный единичный вектор, нормальный к плоскости. Если L2-норма вектора , , и равна единице, то матрицу преобразования можно представить следующим образом:

Следует отметить, что это частные случаи отражения Хаусхолдера в двух и трех измерениях. Отражение относительно прямой или плоскости, не проходящей через начало координат, не является линейным преобразованием — это аффинное преобразование — и в виде аффинной матрицы 4×4 может быть выражено так (при условии, что нормаль является единичным вектором):

где – некоторая точка на плоскости, или, эквивалентно,

Если 4-я компонента вектора равна 0 вместо 1, то отражается только направление вектора, а его величина остается неизменной, как если бы он отражался относительно параллельной плоскости, проходящей через начало координат. Это полезное свойство, поскольку позволяет преобразовывать как векторы положения, так и нормальные векторы с помощью одной и той же матрицы. Подробное объяснение можно найти в разделах о гомогенных координатах и аффинных преобразованиях ниже.

Аффиновые преобразования

Для представления аффинных преобразований матрицами мы можем использовать однородные координаты. Это означает представление 2-мерного вектора (x, y) как 3-мерного вектора (x, y, 1), и аналогично для более высоких размерностей. Используя эту систему, сдвиг может быть выражен матричным умножением. Функциональная форма становится:

Все обычные линейные преобразования включены в множество аффинных преобразований и могут быть описаны как упрощенная форма аффинных преобразований. Поэтому любое линейное преобразование также может быть представлено общей матрицей преобразования. Последняя получается путем расширения соответствующей матрицы линейного преобразования на одну строку и один столбец, заполняя дополнительное пространство нулями, за исключением нижнего правого угла, который должен быть установлен в 1. Например, матрица вращения против часовой стрелки, приведенная выше, становится:

Используя матрицы преобразований, содержащие однородные координаты, сдвиги становятся линейными и, таким образом, могут быть беспрепятственно комбинированы со всеми другими типами преобразований. Причина в том, что реальная плоскость отображается на плоскость 1/w = 1 в реальном проективном пространстве, и поэтому сдвиг в реальном евклидовом пространстве может быть представлен как сдвиг в реальном проективном пространстве. Хотя сдвиг является нелинейным преобразованием в 2D или 3D евклидовом пространстве, описанном декартовыми координатами (т.е. его нельзя объединить с другими преобразованиями, сохраняя коммутативность и другие свойства), он становится в 3D или 4D проективном пространстве, описанном однородными координатами, простым линейным преобразованием (сдвигом). Дополнительные аффинные преобразования можно получить путем композиции двух или более аффинных преобразований. Например, заданы сдвиг T' с вектором, вращение R на угол θ против часовой стрелки, масштабирование S с коэффициентами и сдвиг T с вектором, результат M от T'RST будет:

При использовании аффинных преобразований однородная компонента координатного вектора (обычно называемая w) никогда не изменяется. Поэтому можно безопасно предположить, что она всегда равна 1 и игнорировать ее. Однако это неверно при использовании перспективных проекций.

Перспективная проекция

Другой тип преобразования, важный в 3D компьютерной графике, – это перспективная проекция. В то время как параллельные проекции используются для проецирования точек на плоскость изображения по параллельным линиям, перспективная проекция проецирует точки на плоскость изображения по линиям, исходящим из одной точки, называемой центром проекции. Это означает, что объект имеет меньшую проекцию, когда он находится далеко от центра проекции, и большую проекцию, когда он ближе (см. также обратную функцию). В простейшей перспективной проекции используется начало координат в качестве центра проекции, а плоскость z = d – в качестве плоскости изображения. Функциональная форма этого преобразования: ; Мы можем выразить это в однородных координатах следующим образом:

После выполнения умножения матриц однородная компонента w будет равна значению d, а остальные три компоненты не изменятся. Поэтому, чтобы вернуться в реальную плоскость, необходимо выполнить однородное деление или перспективное деление, разделив каждый компонент на w:

Более сложные перспективные проекции могут быть получены путем комбинирования этой проекции с вращениями, масштабированием, переносами и сдвигами для перемещения плоскости изображения и центра проекции в требуемые позиции.