Аффинное преобразование - Affine transformation
В Евклидова геометрия, аффинное преобразование, или близость (от латинского, affinis, "связанный с"), является геометрическое преобразование что сохраняет линии и параллелизм (но не обязательно расстояния и углы ).
В более общем плане аффинное преобразование является автоморфизм из аффинное пространство (Евклидовы пространства - это специфические аффинные пространства), то есть функция который карты аффинное пространство на себя при сохранении как измерение любой аффинные подпространства (это означает, что он отправляет точки в точки, линии в линии, плоскости в плоскости и т. д.) и отношения длин параллельно отрезки линии. Следовательно, множества параллельных аффинных подпространств остаются параллельными после аффинного преобразования. Аффинное преобразование не обязательно сохраняет углы между линиями или расстояния между точками, хотя оно сохраняет отношения расстояний между точками, лежащими на прямой.
Если Икс - точечное множество аффинного пространства, то каждое аффинное преобразование на Икс можно представить как сочинение из линейное преобразование на Икс и перевод из Икс. В отличие от чисто линейного преобразования, аффинное преобразование не обязательно должно сохранять начало аффинного пространства. Таким образом, любое линейное преобразование является аффинным, но не каждое аффинное преобразование является линейным.
Примеры аффинных преобразований включают перевод, масштабирование, гомотетия, сходство, отражение, вращение, картирование сдвига, и композиции из них в любом сочетании и последовательности.
Рассмотрение аффинного пространства как дополнения к гиперплоскость в бесконечности из проективное пространство, аффинные преобразования - это проективные преобразования этого проективного пространства, которые покидают гиперплоскость на бесконечности инвариантный, ограниченный дополнением этой гиперплоскости.
А обобщение аффинного преобразования есть аффинная карта[1] (или же аффинный гомоморфизм или же аффинное отображение) между двумя (потенциально разными) аффинными пространствами над одним и тем же поле k. Позволять (Икс, V, k) и (Z, W, k) два аффинных пространства с Икс и Z точечные наборы и V и W соответствующие связанные векторные пространства над полем k. Карта ж: Икс → Z является аффинным отображением, если существует линейная карта мж : V → W такой, что мж (Икс − у) = ж (Икс) − ж (у) для всех х, у в Икс.[2]
Определение
Позволять (Икс, V, k) быть аффинным пространством размерности не менее двух, с Икс набор точек и V связанное векторное пространство над полем k. А полуаффинное преобразование ж из Икс это биекция из Икс на себя удовлетворяющее:[3]
- Если S это d-размерный аффинное подпространство из Икс, ж (S) также d-мерное аффинное подпространство Икс.
- Если S и Т параллельные аффинные подпространства в Икс, тогда ж (S) || ж (Т).
Эти два условия выражают то, что именно подразумевается под выражением "ж сохраняет параллелизм ».
Эти условия не являются независимыми, поскольку второе следует из первого.[4] Кроме того, если поле k имеет как минимум три элемента, первое условие можно упростить до: ж это коллинеация, то есть отображает линии в линии.[5]
Если размерность аффинного пространства (Икс, V, k) не меньше двух, то аффинное преобразование полуаффинное преобразование ж который удовлетворяет условию: Если Икс ≠ у и п ≠ q точки Икс такие, что отрезки ху и pq параллельны, то[6]
Аффинные линии
Если размерность аффинного пространства равна единице, то есть пространство является аффинной линией, то любое перестановка из Икс автоматически удовлетворяет условиям полуаффинного преобразования. Итак, аффинное преобразование аффинной прямой есть определенный как любая перестановка ж пунктов Икс так что если Икс ≠ у и п ≠ q точки Икс, тогда[7]
Структура
По определению аффинного пространства V действует на Икс, так что для каждой пары (Икс, v) в Икс × V есть связанная точка у в Икс. Мы можем обозначить это действие как v→(Икс) = у. Здесь мы используем соглашение, что v→ = v два взаимозаменяемых обозначения элемента V. Зафиксировав точку c в Икс можно определить функцию мc : Икс → V к мc(Икс) = сх→. Для любого c, эта функция взаимно однозначна и, следовательно, имеет обратную функцию мc−1 : V → Икс данный мc−1(v) = v→(c). Эти функции можно использовать для включения Икс в векторное пространство (относительно точки c) путем определения:[8]
- и
Это векторное пространство имеет начало c и формально нужно отличать от аффинного пространства Икс, но обычная практика - обозначать его тем же символом и упоминать, что это векторное пространство после указано происхождение. Эта идентификация позволяет рассматривать точки как векторы и наоборот.
Для любого линейное преобразование λ из V, мы можем определить функцию L(c, λ) : Икс → Икс к
потом L(c, λ) является аффинным преобразованием Икс что оставляет точку c фиксированный.[9] Это линейное преобразование Икс, рассматриваемое как векторное пространство с началом c.
Позволять σ быть любым аффинным преобразованием Икс. Выберите точку c в Икс и рассмотрим перевод Икс по вектору , обозначаемый Тш. Переводы - это аффинные преобразования, а композиция аффинных преобразований - это аффинные преобразования. Для этого выбора c, существует единственное линейное преобразование λ из V такой, что[10]
То есть произвольное аффинное преобразование Икс композиция линейного преобразования Икс (рассматривается как векторное пространство) и перевод Икс.
Это представление аффинных преобразований часто используется как определение аффинных преобразований (с неявным выбором источника).[11][12][13]
Представление
Как показано выше, аффинная карта - это композиция двух функций: перевода и линейной карты. Обычная векторная алгебра использует матричное умножение для представления линейных карт, и векторное сложение для представления переводов. Формально, в конечномерном случае, если линейное отображение представить как умножение на матрицу а перевод как добавление вектора , аффинное отображение действуя на вектор можно представить как
Расширенная матрица
Используя расширенная матрица и расширенный вектор, можно представить как перевод, так и линейную карту, используя один матричное умножение. Этот метод требует, чтобы все векторы были дополнены цифрой "1" в конце, а все матрицы были дополнены дополнительной строкой нулей внизу, дополнительным столбцом - вектором переноса - справа и "1" в нижний правый угол. Если матрица,