Матрица трансформации - Transformation matrix

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

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

Использует

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Растяжка

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

Матрица, связанная с растяжкой на коэффициент k по оси x определяется выражением:

Точно так же растяжка в раз k по оси ординат имеет вид Икс' = Икс; y ' = ты, поэтому матрица, связанная с этим преобразованием, имеет вид

Выдавливание

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

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

Вращение

Для вращение на угол θ по часовой стрелке о происхождении функциональная форма и . В матричной форме это становится:[4]

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

Эти формулы предполагают, что Икс ось указывает вправо, а y ось указывает вверх.

Стрижка

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

Сдвиг параллельно Икс ось имеет и . В матричной форме это становится:

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

Отражение

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

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

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

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

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

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

Вращение

В матрица для поворота угол θ вокруг любой оси, определяемой единичный вектор (л,м,п) является [5]

Отражение

Чтобы отразить точку через плоскость (который проходит через начало координат), можно использовать , где - единичная матрица 3x3 и это трехмерный единичный вектор для вектора нормали к плоскости. Если L2 норма из и равна единице, матрица преобразования может быть выражена как:

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

где в какой-то момент на самолете.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

использованная литература

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

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