stringtranslate.com

Матрица трансформации

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

преобразования[ нужна цитация ]векторы-строки[1] [2]

Использование

Матрицы позволяют отображать произвольные линейные преобразования в согласованном формате, удобном для вычислений. [3] Это также позволяет легко составлять преобразования (путем умножения их матриц).

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

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

Другими словами, пассивное преобразование относится к описанию одного и того же объекта, если смотреть из двух разных систем координат.

Нахождение матрицы преобразования

Если имеется линейное преобразование в функциональной форме, то легко определить матрицу преобразования A , преобразуя каждый из векторов стандартного базиса с помощью T , а затем вставляя результат в столбцы матрицы. Другими словами,

Например, функция представляет собой линейное преобразование. Применение описанного выше процесса (предположим, что в данном случае n = 2) показывает, что

Матричное представление векторов и операторов зависит от выбранного базиса; аналогичная матрица будет получена на альтернативной основе . Тем не менее, метод поиска компонентов остается прежним.

Чтобы уточнить, вектор можно представить в базисных векторах с координатами :

Теперь выразим результат преобразования матрицы A по заданному базису:

Элементы матрицы A определяются для данного базиса E путем применения A к каждому и наблюдения вектора ответа

Это уравнение определяет искомые элементы j -го столбца матрицы A . [4]

Собственный базис и диагональная матрица

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

С помощью диагонализации часто можно осуществлять перевод в собственные базы и обратно.

Примеры в 2 измерениях

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

Растяжка

Растяжение в плоскости xy — это линейное преобразование, которое увеличивает все расстояния в определенном направлении в постоянный коэффициент, но не влияет на расстояния в перпендикулярном направлении. Мы рассматриваем растяжения только по осям x и y. Растяжение по оси x имеет вид x' = kx ; y' = y для некоторой положительной константы k . (Обратите внимание, что если k > 1 , то это действительно «растяжение»; если k < 1 , это технически «сжатие», но мы все равно называем это растяжением. Кроме того, если k = 1 , то преобразование является идентичность, то есть это не имеет никакого эффекта.)

Матрица, связанная с растяжением в k раз по оси x, определяется следующим образом:

Аналогично, растяжение в k раз по оси y имеет форму x' = x ; y' = ky , поэтому матрица, связанная с этим преобразованием, равна

Сжатие

Если два приведенных выше растяжения объединены с обратными значениями, то матрица преобразования представляет собой отображение сжатия :

Вращение

Для вращения на угол θ против часовой стрелки (положительное направление) вокруг начала координат функциональная форма равна и . Записанное в матричной форме, это выглядит так: [6]

Аналогично, для вращения по часовой стрелке (отрицательное направление) вокруг начала координат функциональная форма и матричная форма:

В этих формулах предполагается, что ось X направлена ​​вправо, а ось Y — вверх.

стрижка

Для картирования сдвига (визуально похожего на наклон) есть две возможности.

Сдвиг, параллельный оси x , имеет и . Если записать это в матричной форме, это будет выглядеть следующим образом:

Сдвиг, параллельный оси y , имеет и , который имеет матричный вид:

Отражение

Для размышления о линии, проходящей через начало координат, пусть будет вектором в направлении линии. Затем используйте матрицу преобразования:

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

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

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

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

Примеры в 3D компьютерной графике

Вращение

Матрица для поворота угла θ вокруг любой оси, заданной единичным вектором ( x , y , z ), равна [7]

Отражение

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

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

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

Составление и инвертирование преобразований

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

Композиция осуществляется путем умножения матриц . Векторы-строки и столбцы обрабатываются матрицами: строки слева и столбцы справа. Поскольку текст читается слева направо, при составлении матриц преобразования предпочтительны векторы-столбцы:

Если A и B являются матрицами двух линейных преобразований, то эффект первого применения A , а затем B к вектор-столбцу определяется выражением:

Другими словами, матрица комбинированного преобразования A, за которым следует B , является просто произведением отдельных матриц.

Когда A является обратимой матрицей, существует матрица A −1 , которая представляет преобразование, которое «отменяет» A , поскольку ее композиция с A является единичной матрицей . В некоторых практических приложениях инверсию можно вычислить с использованием общих алгоритмов инверсии или путем выполнения обратных операций (которые имеют очевидную геометрическую интерпретацию, например, вращение в противоположном направлении) и последующего составления их в обратном порядке. Матрицы отражения представляют собой особый случай, поскольку они являются обратными сами себе и не требуют отдельного расчета.

Другие виды преобразований

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

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

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

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

Используя матрицы преобразования, содержащие однородные координаты, переводы становятся линейными и, таким образом, могут легко смешиваться со всеми другими типами преобразований. Причина в том, что реальная плоскость отображается в плоскость w = 1 в реальном проективном пространстве, и поэтому сдвиг в реальном евклидовом пространстве может быть представлен как сдвиг в реальном проективном пространстве. Хотя сдвиг является нелинейным преобразованием в 2-D или 3-D евклидовом пространстве, описываемом декартовыми координатами (т.е. его нельзя комбинировать с другими преобразованиями, сохраняя при этом коммутативность и другие свойства), в 3-мерном пространстве он становится . D или 4-D проективное пространство, описываемое однородными координатами, простым линейным преобразованием (сдвигом ) .

Больше аффинных преобразований можно получить путем композиции двух или более аффинных преобразований. Например, учитывая сдвиг T' с вектором , вращение R на угол θ против часовой стрелки , масштабирование S с коэффициентами и сдвиг T вектора , результат M T'RST : [8]

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

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

Сравнение эффектов применения 2D-матриц аффинного и перспективного преобразования на единичном квадрате.

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

В простейшей перспективной проекции начало координат используется в качестве центра проекции, а плоскость — в качестве плоскости изображения. Функциональная форма этого преобразования тогда ; . Мы можем выразить это в однородных координатах как:

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

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

Смотрите также

Рекомендации

  1. ^ Рафаэль Арци (1965) Линейная геометрия
  2. ^ JWP Hirschfeld (1979) Проективная геометрия конечных полей , Clarendon Press
  3. ^ Нежный, Джеймс Э. (2007). «Матричные преобразования и факторизации». Матричная алгебра: теория, вычисления и приложения в статистике . Спрингер. ISBN 9780387708737.
  4. ^ Близится, Джеймс (2010). «Глава 7.3 Примеры операторов» (PDF) . Математические инструменты физики. ISBN 978-0486482125. Проверено 1 января 2012 г.
  5. ^ Близится, Джеймс (2010). «Глава 7.9: Собственные значения и собственные векторы» (PDF) . Математические инструменты физики. ISBN 978-0486482125. Проверено 1 января 2012 г.
  6. ^ http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-07-dynamics-fall-2009/lecture-notes/MIT16_07F09_Lec03.pdf [ пустой URL-адрес PDF ]
  7. ^ Шимански, Джон Э. (1989). Базовая математика для инженеров-электронщиков: модели и приложения . Тейлор и Фрэнсис. п. 154. ИСБН 0278000681.
  8. Седрик Жюль (25 февраля 2015 г.). «Запекание матриц 2D-преобразования».

Внешние ссылки