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

редактировать
Геометрическое преобразование, сохраняющее линии, но не углы и начало координат Изображение похожего на папоротник фрактала (Папоротник Барнсли ), проявляющий аффинное самоподобие. Каждый из листьев папоротника связан друг с другом аффинным преобразованием. Например, красный лист может быть преобразован как в темно-синий лист, так и в любой из светло-голубых листьев путем сочетания отражения, вращения, масштабирования и перемещения.

В евклидовой геометрии, аффинное преобразование или аффинность (от латинского affinis, «связанный с») - это геометрическое преобразование, которое сохраняет линии и параллельность (но не обязательно расстояния и углы ).

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

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

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

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

A обобщение аффинного преобразования - это аффинное отображение (или аффинный гомоморфизм или аффинное отображение ) между двумя (потенциально разными) аффинными пространствами над то же поле k. Пусть (X, V, k) и (Z, W, k) - два аффинных пространства с X и Z - точечными множествами, а V и W - соответствующими ассоциированными векторными пространствами над полем k. Отображение f: X → Z является аффинным отображением, если существует линейное отображение mf: V → W такое, что m f (x - y) = f (x) - f ( y) для всех x, y в X.

Содержание

  • 1 Определение
    • 1.1 Аффинные строки
  • 2 Структура
  • 3 Представление
    • 3.1 Расширенная матрица
      • 3.1.1 Пример расширенной матрицы
  • 4 Свойства
    • 4.1 Сохранение свойств
    • 4.2 Группы
  • 5 Аффинные карты
    • 5.1 Альтернативное определение
  • 6 История
  • 7 Преобразование изображения
    • 7.1 Аффинное искажение
  • 8 В плоскость
  • 9 Примеры
    • 9.1 По действительным числам
    • 9.2 По конечному полю
    • 9.3 В геометрии плоскости
  • 10 См. также
  • 11 Примечания
  • 12 Ссылки
  • 13 Внешние ссылки

Определение

Пусть (X, V, k) будет аффинным пространством размерности не менее двух, где X - множество точек, а V - соответствующее векторное пространство над полем k. Полуаффинное преобразование f пространства X - это биекция X на себя, удовлетворяющая:

  1. Если S является d-мерным аффинным подпространством пространства X, f (S) также является d -мерное аффинное подпространство в X.
  2. Если S и T - параллельные аффинные подпространства в X, то f (S) || f (T).

Эти два условия выражают то, что именно подразумевается под выражением «f сохраняет параллелизм».

Эти условия не являются независимыми, поскольку второе следует из первого. Кроме того, если поле k имеет по крайней мере три элемента, первое условие можно упростить до следующего: f - это коллинеация, то есть оно отображает строки в строки.

Если размер аффинное пространство (X, V, k) не менее двух, то аффинное преобразование - это полуаффинное преобразование f, удовлетворяющее условию: если x ≠ y и p ≠ q - точки X, такие что отрезки xy и pq параллельны, тогда

‖ pq ¯ ‖ ‖ xy ¯ ‖ = ‖ f (p) f (q) ¯ ‖ ‖ f (x) f (y) ¯ ‖. {\ displaystyle {\ frac {\ | {\ overline {pq}} \ |} {\ | {\ overline {xy}} \ |}} = {\ frac {\ | {\ overline {f (p) f ( q)}} \ |} {\ | {\ overline {f (x) f (y)}} \ |}}.}{\ отображает tyle {\ frac {\ | {\ overline {pq}} \ |} {\ | {\ overline {xy}} \ |}} = {\ frac {\ | {\ overline {f (p) f (q)) }} \ |} {\ | {\ overline {f (x) f (y)}} \ |}}.}

Аффинные линии

Если размерность аффинного пространства равна единице, то есть пробел является аффинной линией, то любая перестановка X автоматически удовлетворяет условиям полуаффинного преобразования. Итак, аффинное преобразование аффинной прямой определяется как любая перестановка f точек X такая, что если x ≠ y и p ≠ q являются точками X, то

‖ pq ¯ ‖ ‖ xy ¯ ‖ = ‖ f (p) f (q) ¯ ‖ ‖ f (x) f (y) ¯ ‖. {\ displaystyle {\ frac {\ | {\ overline {pq}} \ |} {\ | {\ overline {xy}} \ |}} = {\ frac {\ | {\ overline {f (p) f ( q)}} \ |} {\ | {\ overline {f (x) f (y)}} \ |}}.}{\ отображает tyle {\ frac {\ | {\ overline {pq}} \ |} {\ | {\ overline {xy}} \ |}} = {\ frac {\ | {\ overline {f (p) f (q)) }} \ |} {\ | {\ overline {f (x) f (y)}} \ |}}.}

Структура

По определению аффинного пространства V действует на X, так что каждой паре (x, v ) в X × V соответствует точка y в X. Мы можем обозначить это действие как v → (x) = у. Здесь мы используем соглашение, согласно которому v →= vявляются двумя взаимозаменяемыми обозначениями для элемента V. Зафиксировав точку c в X, можно определить функцию m c : X → V посредством m c (x) = cx →. Для любого c эта функция взаимно однозначна и, следовательно, имеет обратную функцию m c : V → X, заданную как m c(v) = v → (c). Эти функции могут использоваться для преобразования X в векторное пространство (относительно точки c), определяя:

  • x + y = mc - 1 (mc (x) + mc (y)) для всех x, y в X, {\ displaystyle x + y = m_ {c} ^ {- 1} \ left (m_ {c} (x) + m_ {c} (y) \ right), {\ text {для всех}} x, y {\ text {in}} X,}{ \ displaystyle x + y = m_ {c} ^ {- 1} \ left (m_ {c} (x) + m_ {c} (y) \ right), {\ text {для всех}} x, y {\ текст {in}} X,} и
  • rx = mc - 1 (rmc (x)) для всех r в k и x в X. {\ displaystyle rx = m_ {c} ^ {- 1} \ left (rm_ {c} (x) \ right), {\ text {для всех}} r {\ text {in}} k {\ text {и }} x {\ text {in}} X.}{\ displaystyle rx = m_ {c } ^ {- 1} \ left (rm_ {c} (x) \ right), {\ text {для всех}} r {\ text {in}} k {\ text {и}} x {\ text {in }} X.}

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

Для любого линейного преобразования λ множества V мы можем определить функцию L (c, λ): X → X как

L (c, λ) (x) = mc - 1 (λ (mc (x))) = c + λ (cx →). {\ Displaystyle L (c, \ lambda) (x) = m_ {c} ^ {- 1} \ left (\ lambda (m_ {c} (x)) \ right) = c + \ lambda ({\ vec {cx }}).}{\ displaystyle L (c, \ lambda) (x) = m_ {c} ^ {- 1} \ left ( \ lambda (m_ {c} (x)) \ right) = c + \ lambda ({\ vec {cx}}).}

Тогда L (c, λ) - аффинное преобразование X, оставляющее точку c на месте. Это линейное преобразование X, рассматриваемого как векторное пространство с началом координат c.

Пусть σ - любое аффинное преобразование X. Выберите точку c в X и рассмотрите перенос X на вектор w = c σ (c) → {\ displaystyle {\ mathbf {w} } = {\ overrightarrow {c \ sigma (c)}}}{\ displaystyle {\ mathbf {w}} = {\ overrightarrow {c \ sigma (c)}}} , обозначается T w. Переводы - это аффинные преобразования, а композиция аффинных преобразований - это аффинные преобразования. При таком выборе c существует единственное линейное преобразование λ алгебры V такое, что

σ (x) = T w (L (c, λ) (x)). {\ displaystyle \ sigma (x) = T _ {\ mathbf {w}} \ left (L (c, \ lambda) (x) \ right).}{\ displaystyle \ sigma (x) = T _ {\ mathbf {w}} \ left (L (c, \ lambda) (x) \ right).}

То есть произвольное аффинное преобразование X - это композиция линейного преобразования X (рассматриваемого как векторное пространство) и трансляции X.

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

Представление

Как показано выше, аффинная карта представляет собой композицию двух функций: перевода и линейной карты. В обычной векторной алгебре используется умножение матриц для представления линейных карт и сложение векторов для представления переводов. Формально, в конечномерном случае, если линейная карта представлена ​​как умножение на матрицу A {\ displaystyle A}A и перевод как добавление вектора b → {\ displaystyle {\ vec {b}}}{\ vec {b}} , аффинная карта f {\ displaystyle f}f , действующая на вектор x → {\ displaystyle {\ vec {x}}}{\ vec {x }} можно представить как

y → = f (x →) = A x → + b →. {\ displaystyle {\ vec {y}} = f ({\ vec {x}}) = A {\ vec {x}} + {\ vec {b}}.}{\ vec {y}} = f ({\ vec {x}}) = A {\ vec {x}} + {\ vec {b}}.

Расширенная матрица

Файл: Affine transformations.ogv Воспроизвести медиа Аффинные преобразования в 2D-плоскости могут выполняться линейными преобразованиями в трех измерениях. Смещение выполняется путем сдвига по оси z, а вращение выполняется вокруг оси z.

Используя расширенную матрицу и расширенный вектор, можно представить как смещение, так и линейную карту с использованием единственного матричного умножения. Этот метод требует, чтобы все векторы были дополнены цифрой "1" в конце, а все матрицы были дополнены дополнительной строкой нулей внизу, дополнительным столбцом - вектором перемещения - справа и "1" в нижний правый угол. Если A {\ displaystyle A}A представляет собой матрицу,

[y → 1] = [A b → 0… 0 1] [x → 1] {\ displaystyle {\ begin { bmatrix} {\ vec {y}} \\ 1 \ end {bmatrix}} = \ left [{\ begin {array} {ccc | c} \, A {\ vec {b}} \ \\ 0 \ ldots 0 1 \ end {array}} \ right] {\ begin {bmatrix} {\ vec {x}} \\ 1 \ end {bmatrix}}}{\ begin {bmatrix} {\ vec {y}} \\ 1 \ end {bmatrix}} = \ left [{\ begin {array} {ccc | c} \, A {\ vec {b}} \ \\ 0 \ ldots 0 1 \ end {array}} \ right] {\ begin {bmatrix} {\ vec {x}} \\ 1 \ end {bmatrix}}

эквивалентно следующему

y → = A x → + б →. {\ displaystyle {\ vec {y}} = A {\ vec {x}} + {\ vec {b}}.}{\ vec {y}} = A {\ vec {x}} + {\ vec {b}}.

Вышеупомянутая расширенная матрица называется матрицей аффинного преобразования. В общем случае, когда вектор последней строки не ограничен [0… 0 1] {\ displaystyle \ left [{\ begin {array} {ccc | c} 0 \ ldots 0 1 \ end {array} } \ right]}{\ displaystyle \ left [{\ begin {array} {ccc | c} 0 \ ldots 0 1 \ end {array}} \ right]} , матрица становится матрицей проективного преобразования (поскольку она также может использоваться для выполнения проективных преобразований ).

Это представление демонстрирует набор всех обратимых аффинных преобразований как полупрямое произведение для K n {\ displaystyle K ^ { n}}K ^ {n} и GL (n, K) {\ displaystyle GL (n, K)}{\ displaystyle GL (n, K)} . Это группа в рамках операции композиции функций, называемой аффинной группой.

Обычное умножение матрицы на вектор всегда сопоставляет начало координат с началом координат и, следовательно, никогда не может представлять перевод в начало которой обязательно должно быть сопоставлено с какой-то другой точкой. Добавляя дополнительную координату «1» к каждому вектору, можно по существу рассматривать пространство, которое нужно отобразить, как подмножество пространства с дополнительным измерением. В этом пространстве исходное пространство занимает подмножество, в котором дополнительная координата равна 1. Таким образом, начало исходного пространства можно найти в (0, 0,…, 0, 1) {\ displaystyle (0,0, \ dotsc, 0,1)}{\ displaystyle (0,0, \ dotsc, 0,1)} . В этом случае возможен перенос в исходное пространство посредством линейного преобразования многомерного пространства (в частности, преобразование сдвига). Координаты в многомерном пространстве являются примером однородных координат. Если исходное пространство евклидово, пространство более высокой размерности является реальным проективным пространством.

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

Пример расширенной матрицы

Если векторы x → 1, …, X → n + 1 {\ displaystyle {\ vec {x}} _ {1}, \ dotsc, {\ vec {x}} _ {n + 1}}{\ displaystyle {\ vec {x}} _ {1}, \ dotsc, {\ vec {x}} _ {n + 1}} являются базис проективного векторного пространства домена и если y → 1,…, y → n + 1 {\ displaystyle {\ vec {y}} _ {1}, \ dotsc, {\ vec {y} } _ {n + 1}}{\ displaystyle {\ vec {y}} _ {1}, \ dotsc, {\ vec {y}} _ {n + 1}} - соответствующие векторы в векторном пространстве codomain, а затем расширенная матрица M {\ displaystyle M}M , которая достигает это аффинное преобразование

[y → 1] = M [x → 1] {\ displaystyle \ left [{\ begin {array} {c} {\ vec {y}} \\ 1 \ end {array}} \ right] = M \ left [{\ begin {array} {c} {\ vec {x}} \\ 1 \ end {array}} \ right]}\ left [{\ begin {array} { c} {\ vec {y}} \\ 1 \ end {array}} \ right] = M \ left [{\ begin {array} {c} {\ vec {x}} \\ 1 \ end {array} } \ right]

равно

M = [y → 1… y → n + 1 1… 1] [x → 1… x → n + 1 1… 1] - 1 {\ displaystyle M = \ left [{\ begin {array} {ccc} {\ vec {y}} _ {1} \ ldots {\ vec {y}} _ {n + 1} \\ 1 \ ldots 1 \ end {array}} \ right] \ left [{\ begin {array} {ccc} {\ vec {x}} _ {1} \ ldots {\ vec {x}} _ {n + 1} \\ 1 \ ldots 1 \ end {array}} \ right] ^ {- 1}}M = \ left [{\ begin {array} {ccc} {\ vec {y}} _ { 1} \ ldots {\ vec {y}} _ {n + 1} \\ 1 \ ldots 1 \ end {array}} \ right] \ left [{\ begin {array} {ccc} {\ vec { x}} _ {1} \ ldots {\ vec {x}} _ {n + 1} \\ 1 \ ldots 1 \ end {array}} \ right] ^ {- 1} .

Эта формулировка работает независимо от того, имеет ли какое-либо из векторных пространств домена, кодомена и изображения одинаковое количество измерений.

Например, аффинное преобразование векторной плоскости однозначно определяется из знания того, где находятся три вершины (x → 1, x → 2, x → 3 {\ displaystyle {\ vec {x }} _ {1}, {\ vec {x}} _ {2}, {\ vec {x}} _ {3}}{\ displaystyle {\ vec {x}} _ {1}, {\ vec {x}} _ {2}, {\ vec {x}} _ {3}} ) невырожденного треугольника отображаются в (y → 1, y → 2, y → 3 {\ displaystyle {\ vec {y}} _ {1}, {\ vec {y}} _ {2}, {\ vec {y}} _ {3} }{\ displaystyle {\ vec {y}} _ {1}, {\ vec {y}} _ {2}, {\ vec {y}} _ {3}} ), независимо от количества измерений кодомена и независимо от того, является ли треугольник невырожденным в кодомене.

Свойства

Сохранение свойств

Аффинное преобразование сохраняет:

  1. коллинеарность между точками: три или более точек, лежащих на одной линии (называемые коллинеарными точками) продолжают оставаться коллинеарными после преобразования.
  2. параллелизм : две или более прямых, которые параллельны, продолжают оставаться параллельными после преобразования.
  3. выпуклость множеств: выпуклое множество продолжает быть выпуклым после трансформации. Более того, крайние точки исходного набора отображаются в крайние точки преобразованного набора.
  4. отношения длин параллельных отрезков: для различных параллельных отрезков, определяемых точками p 1 {\ displaystyle p_ {1}}p_ {1} и p 2 {\ displaystyle p_ {2}}p_ {2} , p 3 {\ displaystyle p_ {3}}p_{3}и p 4 {\ displaystyle p_ {4}}p_4 , соотношение p 1 p 2 → {\ displaystyle {\ overrightarrow {p_ {1} p_ {2}}}}{\ overrightarrow {p_ {1} p_ {2}}} и p 3 p 4 → {\ displaystyle {\ overrightarrow {p_ {3} p_ {4}}}}{\ displaystyle {\ overrightarrow {p_ {3} p_ {4}}}} то же самое, что и f (p 1) f (p 2) → {\ displaystyle {\ overrightarrow {f (p_ {1}) f (p_ {2})}}}{\ overrightarrow {f (p_ {1}) f (p_ {2})}} и f (p 3) f (p 4) → {\ displaystyle {\ overrightarrow {f (p_ {3}) f (p_ {4})}}}{\ displaystyle {\ overrightarrow {f (p_ {3}) f (p_ {4})}}} .
  5. барицентры взвешенных наборов точек.

Группы

Аффинное преобразование обратимо, поэтому A {\ displaystyle A}A обратимо. В матричном представлении обратное значение имеет следующий вид:

[A - 1 - A - 1 b → 0… 0 1] {\ displaystyle \ left [{\ begin {array} {ccc | c} A ^ {- 1} - A ^ {- 1} {\ vec {b}} \ \\ 0 \ ldots 0 1 \ end {array}} \ right]}\ left [{\ begin {array} { ccc | c} A ^ {- 1} - A ^ {- 1} {\ vec {b}} \ \\ 0 \ ldots 0 1 \ end {array}} \ right]

Обратимые аффинные преобразования (аффинного пространства в себя) образуют аффинная группа, которая имеет общую линейную группу степени n {\ displaystyle n}n в качестве подгруппы и сама является подгруппой общей линейной группы степень n + 1 {\ displaystyle n + 1}n + 1 .

преобразования подобия образуют подгруппу, где A {\ displaystyle A}A - скаляр, умноженный на ортогональная матрица. Например, если аффинное преобразование действует на плоскости и детерминант для A {\ displaystyle A}A равен 1 или -1, тогда преобразование будет эквивалентное отображение. Такие преобразования образуют подгруппу, называемую эквиаффинной группой. Преобразование, которое одновременно является равноаффинным и аналогичным, представляет собой изометрию плоскости, взятой с евклидовым расстоянием.

Каждая из этих групп имеет подгруппу ориентации -сохраняющую или положительные аффинные преобразования: те, у которых определитель A {\ displaystyle A}A положителен. В последнем случае это в 3D группа жестких преобразований (собственных поворотов и чистых перемещений).

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

Аффинные карты

Аффинные карты f: A → B {\ displaystyle f \ двоеточие {\ mathcal {A}} \ to {\ mathcal {B}}}{\ displaystyle f \ двоеточие {\ mathcal {A}} \ to {\ mathcal {B}}} между двумя аффинными пространствами - это карта точек, которая действует линейно на векторы (то есть векторы между точками пространства). В символах f {\ displaystyle f}f определяет линейное преобразование φ {\ displaystyle \ varphi}\ varphi , такое, что для любой пары точек P Q ∈ A {\ Displaystyle P, Q \ in {\ mathcal {A}}}P, Q \ in {\ mathcal {A}} :

f (P) f (Q) → = φ (PQ →) {\ displaystyle {\ overrightarrow {f (P) ~ е (Q)}} = \ varphi ({\ overrightarrow {PQ}})}{\ overrightarrow {f (P) ~ f (Q)}} = \ varphi ({\ overrightarrow {PQ}})

или

f (Q) - f (P) = φ (Q - P) {\ displaystyle f (Q) - f (P) = \ varphi (QP)}f (Q) - f (P) = \ varphi (QP) .

Мы можем интерпретировать это определение несколькими другими способами, а именно.

Если выбрано начало координат O ∈ A {\ displaystyle O \ in {\ mathcal {A}}}O \ in {\ mathcal {A}} и B {\ displaystyle B}B обозначает его изображение f (O) ∈ B {\ displaystyle f (O) \ in {\ mathcal {B}}}f (O) \ in {\ mathcal {B}} , то это означает, что для любого вектора Икс → {\ Displaystyle {\ vec {x}}}{\ vec {x }} :

е: (O + x →) ↦ (B + φ (x →)) {\ displaystyle f \ двоеточие (O + {\ vec {x}}) \ mapsto (B + \ varphi ({\ vec {x}}))}{\ displaystyle f \ двоеточие (O + {\ vec {x}}) \ mapsto (B + \ varphi ({\ vec {x}}))} .

Если начало координат O ′ ∈ B {\ displaystyle O '\ in {\ mathcal {B}}}O'\in {\mathcal {B}}также выбрано, это может быть разложено как аффинное преобразование g: A → B {\ displaystyle g \ двоеточие {\ mathcal {A}} \ to {\ mathcal {B}}}{\ display стиль g \ двоеточие {\ mathcal {A}} \ to {\ mathcal {B}}} который отправляет O ↦ O ′ {\ displaystyle O \ mapsto O '}O\mapsto O', а именно

g: (O + x →) ↦ (O ′ + φ (x →)) {\ displaystyle g \ двоеточие (O + {\ vec {x}}) \ mapsto (O '+ \ varphi ({\ vec {x}}))}{\displaystyle g\colon (O+{\vec {x}})\mapsto (O'+\varphi ({\vec {x}}))},

с последующим переводом вектором b → = O ′ B → {\ displaystyle {\ vec {b}} = {\ overrightarrow {O'B}}}{\vec {b}}={\overrightarrow {O'B}}.

Вывод таков: f {\ displaystyle f}f состоит из перевода и линейной карты.

Альтернативное определение

Даны два аффинных пространства A {\ displaystyle {\ mathcal {A}}}{\ mathcal {A}} и B {\ displaystyle {\ mathcal {B}}}{\ mathcal {B}} , над тем же полем функция f: A → B {\ displaystyle f \ двоеточие {\ mathcal {A}} \ to {\ mathcal {B}}}{\ displaystyle f \ двоеточие {\ mathcal {A}} \ to {\ mathcal {B}}} является аффинным отображением тогда и только тогда, когда для каждой семьи {(ai, λ i)} i ∈ I {\ displaystyle \ {(a_ {i}, \ lambda _ {i}) \} _ {i \ in I}}\ {(a_ {i}, \ lambda _ { я}) \} _ {я \ в I} взвешенных точек в A {\ displaystyle {\ mathcal {A}}}{\ mathcal {A}} такое, что

∑ i ∈ I λ i = 1 {\ displaystyle \ sum _ {i \ in I} \ lambda _ {i} = 1}{\ displaystyle \ sum _ {i \ in I} \ lambda _ {i} = 1} ,

, мы имеем

f (∑ i ∈ I λ iai) знак равно ∑ я ∈ I λ, если (ai) {\ displaystyle f \ left (\ sum _ {i \ in I} \ lambda _ {i} a_ {i} \ right) = \ sum _ {i \ in I} \ lambda _ {i} f (a_ {i})}{\ displaystyle f \ left (\ sum _ {i \ in I} \ lambda _ {i} a_ {i} \ right) = \ sum _ {i \ in I} \ lambda _ {i} f (a_ {i})} .

Другими словами, f {\ displaystyle f}f сохраняет барицентры.

История

Слово "аффинный" как математический термин определяется в связи с касательными к кривым в Эйлера 1748 г. Введение в анализ бесконечности ром. Феликс Клейн приписывает термин "аффинное преобразование" Мёбиус и Гаусс.

преобразование изображения

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

Имя преобразованияАффинная матрицаПример
Идентичность ( преобразовать в исходное изображение)[1 0 0 0 1 0 0 0 1] {\ displaystyle {\ begin {bmatrix} 1 0 0 \\ 0 1 0 \\ 0 0 1 \ end {bmatrix}}}{\ displaystyle {\ begin {bmatrix} 1 0 0 \\ 0 1 0 \\ 0 0 1 \ end {bmatrix}}} Identity.svg
Перевод [ 1 0 vx>0 0 1 vy = 0 0 0 1] {\ displaystyle {\ begin {bmatrix} 1 0 v_ {x}>0 \\ 0 1 v_ {y} = 0 \\ 0 0 1 \ end {bmatrix}}}{\displaystyle {\begin{bmatrix}10v_{x}>0 \\ 0 1 v_ {y} = 0 \\ 0 0 1 \ end {bmatrix}}} Identity.svg
Отражение [- 1 0 0 0 1 0 0 0 1] {\ displaystyle {\ begin {bmatrix} -1 0 0 \\ 0 1 0 \\ 0 0 0 \\ 0 1 0 \\ 0 0 end {bmatrix}}}{\ displaystyle {\ begin {bmatrix} -1 0 0 \\ 0 1 0 \\ 0 0 1 \ end {bmatrix}}} Отражение шахматной доски.svg
Масштаб [cx = 2 0 0 0 cy = 1 0 0 0 1] {\ displaystyle {\ begin {bmatrix} c_ {x} = 2 0 0 \\ 0 c_ {y} = 1 0 \\ 0 0 1 \ end {bmatrix}}{\ displaystyle {\ begin {bmatrix} c_ {x} = 2 0 0 \\ 0 c_ {y} = 1 0 \\ 0 0 1 \ end {bmatrix}}} Cheerboard scale.svg
Повернуть [cos ⁡ (θ) - sin ⁡ (θ) 0 sin ⁡ (θ) cos ⁡ (θ) 0 0 0 1] {\ displaystyle { \ begin {bmatrix} \ cos (\ th eta) - \ sin (\ theta) 0 \\\ sin (\ theta) \ cos (\ theta) 0 \\ 0 0 1 \ end {bmatrix}}}{\ displaystyle {\ begin {bmatrix } \ cos (\ theta) - \ sin (\ theta) 0 \\\ sin (\ theta) \ cos (\ theta) 0 \\ 0 0 1 \ end {bmatrix}}} Checkerboard rotate.svg где θ = π / 6 = 30 °
Сдвиг [1 cx = 0,5 0 cy = 0 1 0 0 0 1] {\ displaystyle {\ begin {bmatrix} 1 c_ {x} = 0,5 0 \\ c_ {y} = 0 1 0 \\ 0 0 1 \ end {bmatrix}}}{\ displaystyle {\ begin {bmatrix} 1 c_ {x} = 0.5 0 \\ c_ {y} = 0 1 0 \\ 0 0 1 \ end {bmatrix}}} Checkerboard shear.svg

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

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

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

белое изображение в черном круге 256 на 256.png Affine transform sheared circle.png

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

в плоскости

Центральное расширение. Треугольники A1B1Z, A1C1Z и B1C1Z отображаются на A2B2Z, A2C2Z и B2C2Z соответственно.

Аффинные преобразования в двух реальных измерениях включают:

  • чистые трансляции,
  • масштабирование в заданном направлении, с относительно линии в другом направлении (не обязательно перпендикулярном), в сочетании с перемещением, которое не только в направлении масштабирования; если брать «масштабирование» в обобщенном смысле, то сюда входят случаи, когда масштабный коэффициент равен нулю (проекция ) или отрицателен; последнее включает отражение и в сочетании с переносом включает отражение при скольжении,
  • вращение в сочетании с гомотетией и переносом,
  • отображение сдвига в сочетании с гомотетией и переводом, или
  • сжатое отображение в сочетании с гомотетией и переводом.

Чтобы визуализировать общее аффинное преобразование евклидовой плоскости, возьмите помеченный параллелограммы ABCD и A′B′C′D ′. Каким бы ни был выбор точек, существует аффинное преобразование T плоскости, переводящее A в A ′, и каждая вершина аналогична. Предположим, мы исключаем вырожденный случай, когда ABCD имеет нулевую площадь, существует единственное такое аффинное преобразование T. Вытягивая целую сетку параллелограммов на основе ABCD, определяется изображение T (P) любой точки P отмечая, что T (A) = A ', T, примененный к линейному сегменту AB, равен A'B', T, примененный к линейному сегменту AC, равен A'C ', и T учитывает скалярные кратные векторов, основанные на A. [Если A, E, F коллинеарны, тогда отношение длина (AF) / длина (AE) равно длине (A′F ′) / длине (A′E ′).] Геометрически T преобразует сетку на основе ABCD в сетку на основе в A′B′C′D ′.

Аффинные преобразования не принимают во внимание длины или углы; они умножают площадь на постоянный коэффициент

площадь A'B'C'D '/ площадь ABCD.

Заданное T может быть прямым (уважительная ориентация) или косвенным (обратная ориентация), и это может определяться его влиянием на области со знаком (как определено, например, перекрестным произведением векторов).

Примеры

Над действительными числами

Функции f: R → R, f (x) = mx + c {\ displaystyle f \ двоеточие \ mathbb {R} \ to \ mathbb {R}, \; f (x) = mx + c}\ displaystyle f \ двоеточие \ mathbb {R} \ to \ mathbb {R}, \; f (x) = mx + c} с m {\ displaystyle m}m и c { \ displaystyle c}c в R {\ displaystyle \ mathbb {R}}\ mathbb {R} , в точности аффинные преобразования вещественной линии.

над конечным полем

Следующее уравнение выражает аффинное преобразование GF (2), рассматриваемого как 8-мерное векторное пространство над GF (2), которое используется в криптоалгоритме Rijndael (AES) :

{a ′} = M {a} ⊕ {v}, {\ displaystyle \ {a '\} = M \ {a \} \ oplus \ {v \},}{\displaystyle \{a'\}=M\{a\}\oplus \{v\},}
где [M] {\ displaystyle [M]}[M visible- матрица ниже, {v} {\ displaystyle \ {v \}}\ {v \} - фиксированный вектор и {a} = (a 0, a 1, a 2, a 3, a 4, a 5, a 6, a 7). {\ displaystyle \ {a \} = (a_ {0}, a_ {1}, a_ {2}, a_ {3}, a_ {4}, a_ {5}, a_ {6}, a_ {7}).}{\ displaystyle \ {a \} = (a_ {0}, a_ {1}, a_ {2}, a_ {3}, a_ {4}, a_ {5}, a_ {6}, a_ {7}).} В частности,
M {a} = [1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1] {\ displaystyle M \ {a \} = {\ begin {bmatrix} 1 0 0 0 1 1 1 1 \\ 1 1 0 0 0 1 1 1 \\ 1 1 1 0 0 0 1 1 \\ 1 1 1 1 0 0 0 1 \\ 1 1 1 1 1 0 0 0 \\ 0 1 1 1 1 1 0 0 \\ 0 0 1 1 1 1 1 0 \\ 0 0 0 1 1 1 1 1 \ конец {bmatrix}}}{\ displaystyle М \ {а \} = {\ начинаются {bmatrix} 1 0 0 0 1 1 1 1 \\ 1 1 0 0 0 1 1 1 \\ 1 1 1 0 0 0 1 1 \\ 1 1 1 1 0 0 0 1 \\ 1 1 1 1 1 0 0 0 \\ 0 1 1 1 1 1 0 0 \\ 0 0 1 1 1 1 1 0 \\ 0 0 0 1 1 1 1 1 \ end {bmatrix}}} [а 0 1 2 3 4 5 6 7] {\ displaystyle {\ begin {bmatrix} a_ {0} \\ a_ {1} \\ a_ {2} \\ a_ {3} \\ a_ {4} \\ a_ {5} \\ a_ {6} \ \ a_ {7} \ end {bmatrix}}}{\ displaystyle {\ begin {bmatrix } a_ {0} \\ a_ {1} \\ a_ {2} \\ a_ {3} \\ a_ {4} \\ a_ {5} \\ a_ {6} \\ a_ {7} \ end { bmatrix}}} и {v} = [1 1 0 0 0 1 1 0]. {\ displaystyle \ {v \} = {\ begin {bmatrix} 1 \\ 1 \\ 0 \\ 0 \\ 0 \\ 1 \\ 1 \\ 0 \ end {bmatrix}}.}{\ displaystyle \ {v \} = {\ begin {bmatrix} 1 \\ 1 \\ 0 \\ 0 \\ 0 \\ 1 \\ 1 \\ 0 \ end {bmatrix}}.}

Например, аффинное преобразование элемента {a} = y 7 + y 6 + y 3 + y = {11001010 2} {\ displaystyle \ {a \} = y ^ {7} + y ^ {6} + y ^ {3} + y = \ {11001010_ {2} \}}{\ displaystyle \ {a \} = y ^ {7} + y ^ {6} + y ^ {3} + y = \ {11001010_ {2} \}} в big-endian двоичном формате вычисляется следующим образом:

a 0 ′ знак равно a 0 ⊕ a 4 ⊕ a 5 ⊕ a 6 ⊕ a 7 ⊕ 1 = 0 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 1 = 1 {\ displaystyle a_ {0} '= a_ {0} \ oplus a_ { 4} \ oplus a_ {5} \ oplus a_ {6} \ oplus a_ {7} \ oplus 1 = 0 \ oplus 0 \ oplus 0 \ oplus 1 \ oplus 1 \ oplus 1 = 1}a_{0}'=a_{0}\oplus a_{4}\oplus a_{5}\oplus a_{6}\oplus a_{7}\oplus 1=0\oplus 0\oplus 0\oplus 1\oplus 1\oplus 1=1
a 1 ′ = a 0 ⊕ a 1 ⊕ a 5 ⊕ a 6 ⊕ a 7 ⊕ 1 = 0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 1 = 0 {\ displaystyle a_ {1} '= a_ {0} \ oplus a_ {1} \ oplus a_ {5} \ oplus a_ {6} \ oplus a_ {7} \ oplus 1 = 0 \ oplus 1 \ oplus 0 \ oplus 1 \ oplus 1 \ oplus 1 = 0}a_{1}'=a_{0}\oplus a_{1}\oplus a_{5}\oplus a_{6}\oplus a_{7}\oplus 1=0\oplus 1\oplus 0\oplus 1\oplus 1\oplus 1=0
a 2 ′ = a 0 ⊕ a 1 ⊕ a 2 ⊕ a 6 ⊕ a 7 ⊕ 0 = 0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 1 {\ displaystyle a_ {2} '= a_ {0} \ oplus a_ {1} \ oplus a_ { 2} \ oplus a_ {6} \ oplus a_ {7} \ oplus 0 = 0 \ oplus 1 \ oplus 0 \ oplus 1 \ oplus 1 \ oplus 0 = 1}a_{2}'=a_{0}\oplus a_{1}\oplus a_{2}\oplus a_{6}\oplus a_{7}\oplus 0=0\oplus 1\oplus 0\oplus 1\oplus 1\oplus 0=1
a 3 ′ = a 0 ⊕ a 1 ⊕ а 2 ⊕ а 3 ⊕ а 7 ⊕ 0 = 0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 1 {\ displaystyle a_ {3} '= a_ {0} \ oplus a_ {1} \ oplus a_ {2} \ oplus a_ {3} \ oplus a_ {7} \ oplus 0 = 0 \ oplus 1 \ oplus 0 \ oplus 1 \ oplus 1 \ oplus 0 = 1}a_{3}'=a_{0}\oplus a_{1}\oplus a_{2}\oplus a_{3}\oplus a_{7}\oplus 0=0\oplus 1\oplus 0\oplus 1\oplus 1\oplus 0=1
a 4 ′ = a 0 ⊕ a 1 ⊕ a 2 ⊕ a 3 ⊕ a 4 ⊕ 0 = 0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 0 = 0 {\ displaystyle a_ {4} '= a_ {0} \ oplus a_ {1} \ oplus a_ {2} \ oplus a_ {3} \ oplus a_ {4} \ oplus 0 = 0 \ oplus 1 \ oplus 0 \ oplus 1 \ oplus 0 \ oplus 0 = 0}a_{4}'=a_{0}\oplus a_{1}\oplus a_{2}\oplus a_{3}\oplus a_{4}\oplus 0=0\oplus 1\oplus 0\oplus 1\oplus 0\oplus 0=0
a 5 ′ = a 1 ⊕ a 2 ⊕ a 3 ⊕ a 4 ⊕ a 5 ⊕ 1 = 1 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 = 1 {\ displaystyle a_ {5} '= a_ {1} \ oplus a_ {2} \ oplus a_ {3} \ oplus a_ {4} \ oplus a_ {5} \ oplus 1 = 1 \ oplus 0 \ oplus 1 \ oplus 0 \ oplus 0 \ oplus 1 = 1}a_{5}'=a_{1}\oplus a_{2}\oplus a_{3}\oplus a_{4}\oplus a_{5}\oplus 1=1\oplus 0\oplus 1\oplus 0\oplus 0\oplus 1=1
a 6 ′ = a 2 ⊕ a 3 ⊕ a 4 ⊕ a 5 ⊕ a 6 ⊕ 1 = 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 = 1 {\ displaystyle a_ {6 } '= a_ {2} \ oplus a_ {3} \ oplus a_ {4} \ oplus a_ {5} \ oplus a_ {6} \ oplus 1 = 0 \ oplus 1 \ oplus 0 \ oplus 0 \ oplus 1 \ oplus 1 = 1}a_{6}'=a_{2}\oplus a_{3}\oplus a_{4}\oplus a_{5}\oplus a_{6}\oplus 1=0\oplus 1\oplus 0\oplus 0\oplus 1\oplus 1=1
a 7 ′ = a 3 ⊕ a 4 ⊕ a 5 ⊕ a 6 ⊕ a 7 ⊕ 0 = 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 1. {\ displaystyle a_ {7} ' = a_ {3} \ oplus a_ {4} \ oplus a_ {5} \ oplus a_ {6} \ oplus a_ {7} \ oplus 0 = 1 \ oplus 0 \ oplus 0 \ oplus 1 \ oplus 1 \ oplus 0 = 1.}a_{7}'=a_{3}\oplus a_{4}\oplus a_{5}\oplus a_{6}\oplus a_{7}\oplus 0=1\oplus 0\oplus 0\oplus 1\oplus 1\oplus 0=1.

Таким образом, {a ′} = y 7 + y 6 + y 5 + y 3 + y 2 + 1 = {11101101 2} {\ displaystyle \ {a '\} = y ^ {7} + y ^ {6} + y ^ {5} + y ^ {3} + y ^ {2} +1 = \ { 11101101_ {2} \}}{\displaystyle \{a'\}=y^{7}+y^{6}+y^{5}+y^{3}+y^{2}+1=\{11101101_{2}\}}.

В плоской геометрии

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

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

[xy] ↦ [0 1 2 1] [xy] + [ - 100 - 100] {\ displaystyle {\ begin {bmatrix} x \\ y \ end {bmatrix}} \ mapsto {\ begin {bmatrix} 0 1 \\ 2 1 \ end {bmatrix}} {\ begin {bmatrix} x \ \ y \ end {bmatrix}} + {\ begin {bmatrix} -100 \\ - 100 \ end {bmatrix}}}{\ begin {bmatrix} x \\ y \ end {bmatrix}} \ mapsto {\ begin {bmatrix} 0 1 \\ 2 1 \ end {bmatrix}} {\ begin {bmatrix} x \\ y \ end {bmatrix}} + {\ begin {bmatrix} -100 \\ - 100 \ end {bmatrix}}

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

Фактически, все треугольники связаны друг с другом аффинными преобразованиями. Это также верно для всех параллелограммов, но не для всех четырехугольников.

См. Также

Примечания

Ссылки

  • Бергер, Марсель (1987), Геометрия I, Берлин: Springer, ISBN 3-540-11658-3
  • Браннан, Дэвид А. ; Эсплен, Мэтью Ф.; Грей, Джереми Дж. (1999), Геометрия, Cambridge University Press, ISBN 978-0-521-59787-6
  • Номидзу, Кацуми ; Сасаки, С. (1994), Аффинная дифференциальная геометрия (новая редакция), Cambridge University Press, ISBN 978-0-521-44177-3
  • Klein, Феликс (1948) [1939], Элементарная математика с продвинутой точки зрения: геометрия, Dover
  • Сэмюэл, Пьер (1988), Projective Geometry, Springer-Verlag, ISBN 0-387-96752-4
  • Шарп, Р. У. (1997). Дифференциальная геометрия: Картановское обобщение программы Клейна Эрлангена. Нью-Йорк: Спрингер. ISBN 0-387-94732-9.
  • Снаппер, Эрнст; Тройер, Роберт Дж. (1989) [1971], Метрическая аффинная геометрия, Dover, ISBN 978-0-486-66108-7
  • Ван, Чжэсянь (1993), Геометрия классических групп над конечными полями, Chartwell-Bratt, ISBN 0-86238-326-9

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

Последняя правка сделана 2021-06-09 15:34:42
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте