В евклидовой геометрии, аффинное преобразование или аффинность (от латинского 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.
Пусть (X, V, k) будет аффинным пространством размерности не менее двух, где X - множество точек, а V - соответствующее векторное пространство над полем k. Полуаффинное преобразование f пространства X - это биекция X на себя, удовлетворяющая:
Эти два условия выражают то, что именно подразумевается под выражением «f сохраняет параллелизм».
Эти условия не являются независимыми, поскольку второе следует из первого. Кроме того, если поле k имеет по крайней мере три элемента, первое условие можно упростить до следующего: f - это коллинеация, то есть оно отображает строки в строки.
Если размер аффинное пространство (X, V, k) не менее двух, то аффинное преобразование - это полуаффинное преобразование f, удовлетворяющее условию: если x ≠ y и p ≠ q - точки X, такие что отрезки xy и pq параллельны, тогда
Если размерность аффинного пространства равна единице, то есть пробел является аффинной линией, то любая перестановка X автоматически удовлетворяет условиям полуаффинного преобразования. Итак, аффинное преобразование аффинной прямой определяется как любая перестановка f точек X такая, что если x ≠ y и p ≠ q являются точками X, то
По определению аффинного пространства 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), определяя:
Это векторное пространство имеет начало координат c и формально должно отличаться от аффинного пространства X, но общепринятая практика заключается в том, чтобы обозначать его тем же символом и упоминать, что это векторное пространство после указания начала координат. Эта идентификация позволяет рассматривать точки как векторы и наоборот.
Для любого линейного преобразования λ множества V мы можем определить функцию L (c, λ): X → X как
Тогда L (c, λ) - аффинное преобразование X, оставляющее точку c на месте. Это линейное преобразование X, рассматриваемого как векторное пространство с началом координат c.
Пусть σ - любое аффинное преобразование X. Выберите точку c в X и рассмотрите перенос X на вектор , обозначается T w. Переводы - это аффинные преобразования, а композиция аффинных преобразований - это аффинные преобразования. При таком выборе c существует единственное линейное преобразование λ алгебры V такое, что
То есть произвольное аффинное преобразование X - это композиция линейного преобразования X (рассматриваемого как векторное пространство) и трансляции X.
Это представление аффинных преобразований часто используется как определение аффинного преобразования (с неявным выбором источника).
Как показано выше, аффинная карта представляет собой композицию двух функций: перевода и линейной карты. В обычной векторной алгебре используется умножение матриц для представления линейных карт и сложение векторов для представления переводов. Формально, в конечномерном случае, если линейная карта представлена как умножение на матрицу и перевод как добавление вектора , аффинная карта , действующая на вектор можно представить как
Используя расширенную матрицу и расширенный вектор, можно представить как смещение, так и линейную карту с использованием единственного матричного умножения. Этот метод требует, чтобы все векторы были дополнены цифрой "1" в конце, а все матрицы были дополнены дополнительной строкой нулей внизу, дополнительным столбцом - вектором перемещения - справа и "1" в нижний правый угол. Если представляет собой матрицу,
эквивалентно следующему
Вышеупомянутая расширенная матрица называется матрицей аффинного преобразования. В общем случае, когда вектор последней строки не ограничен , матрица становится матрицей проективного преобразования (поскольку она также может использоваться для выполнения проективных преобразований ).
Это представление демонстрирует набор всех обратимых аффинных преобразований как полупрямое произведение для и . Это группа в рамках операции композиции функций, называемой аффинной группой.
Обычное умножение матрицы на вектор всегда сопоставляет начало координат с началом координат и, следовательно, никогда не может представлять перевод в начало которой обязательно должно быть сопоставлено с какой-то другой точкой. Добавляя дополнительную координату «1» к каждому вектору, можно по существу рассматривать пространство, которое нужно отобразить, как подмножество пространства с дополнительным измерением. В этом пространстве исходное пространство занимает подмножество, в котором дополнительная координата равна 1. Таким образом, начало исходного пространства можно найти в . В этом случае возможен перенос в исходное пространство посредством линейного преобразования многомерного пространства (в частности, преобразование сдвига). Координаты в многомерном пространстве являются примером однородных координат. Если исходное пространство евклидово, пространство более высокой размерности является реальным проективным пространством.
Преимущество использования однородных координат состоит в том, что можно объединить любое количество аффинных преобразований в один путем умножения соответствующих матриц. Это свойство широко используется в компьютерной графике, компьютерном зрении и робототехнике.
Если векторы являются базис проективного векторного пространства домена и если - соответствующие векторы в векторном пространстве codomain, а затем расширенная матрица , которая достигает это аффинное преобразование
равно
Эта формулировка работает независимо от того, имеет ли какое-либо из векторных пространств домена, кодомена и изображения одинаковое количество измерений.
Например, аффинное преобразование векторной плоскости однозначно определяется из знания того, где находятся три вершины () невырожденного треугольника отображаются в (), независимо от количества измерений кодомена и независимо от того, является ли треугольник невырожденным в кодомене.
Аффинное преобразование сохраняет:
Аффинное преобразование обратимо, поэтому обратимо. В матричном представлении обратное значение имеет следующий вид:
Обратимые аффинные преобразования (аффинного пространства в себя) образуют аффинная группа, которая имеет общую линейную группу степени в качестве подгруппы и сама является подгруппой общей линейной группы степень .
преобразования подобия образуют подгруппу, где - скаляр, умноженный на ортогональная матрица. Например, если аффинное преобразование действует на плоскости и детерминант для равен 1 или -1, тогда преобразование будет эквивалентное отображение. Такие преобразования образуют подгруппу, называемую эквиаффинной группой. Преобразование, которое одновременно является равноаффинным и аналогичным, представляет собой изометрию плоскости, взятой с евклидовым расстоянием.
Каждая из этих групп имеет подгруппу ориентации -сохраняющую или положительные аффинные преобразования: те, у которых определитель положителен. В последнем случае это в 3D группа жестких преобразований (собственных поворотов и чистых перемещений).
Если есть фиксированная точка, мы можем принять ее за начало координат, и аффинное преобразование сводится к линейному преобразованию. Это может упростить классификацию и понимание преобразования. Например, описание преобразования как поворота на определенный угол по отношению к определенной оси может дать более четкое представление об общем поведении преобразования, чем описание его как комбинации перемещения и поворота. Однако это зависит от приложения и контекста.
Аффинные карты между двумя аффинными пространствами - это карта точек, которая действует линейно на векторы (то есть векторы между точками пространства). В символах определяет линейное преобразование , такое, что для любой пары точек :
или
Мы можем интерпретировать это определение несколькими другими способами, а именно.
Если выбрано начало координат и обозначает его изображение , то это означает, что для любого вектора :
Если начало координат также выбрано, это может быть разложено как аффинное преобразование который отправляет , а именно
с последующим переводом вектором .
Вывод таков: состоит из перевода и линейной карты.
Даны два аффинных пространства и , над тем же полем функция является аффинным отображением тогда и только тогда, когда для каждой семьи взвешенных точек в такое, что
, мы имеем
Другими словами, сохраняет барицентры.
Слово "аффинный" как математический термин определяется в связи с касательными к кривым в Эйлера 1748 г. Введение в анализ бесконечности ром. Феликс Клейн приписывает термин "аффинное преобразование" Мёбиус и Гаусс.
В своих приложениях к обработка цифровых изображений, аффинные преобразования аналогичны печати на листе резины и растягиванию краев листа параллельно плоскости. Это преобразование перемещает пиксели, требующие интерполяции интенсивности для приближения значения перемещенных пикселей, бикубическая интерполяция является стандартом для преобразований изображений в приложениях обработки изображений. Аффинные преобразования масштабируют, вращают, перемещают, отражают и сдвигают изображения, как показано в следующих примерах:
Имя преобразования | Аффинная матрица | Пример |
---|---|---|
Идентичность ( преобразовать в исходное изображение) | ||
Перевод | ||
Отражение | ||
Масштаб | ||
Повернуть | где θ = π / 6 = 30 ° | |
Сдвиг |
Аффинные преобразования применимы к процессу регистрации, когда два или более изображения выравниваются (регистрируются). Примером совмещения изображений является создание панорамных изображений, которые являются продуктом нескольких изображений , сшитых вместе.
Аффинное преобразование сохраняет параллельные линии. Однако преобразования растяжения и сдвига искажают формы, как показано в следующем примере:
Это пример деформации изображения. Однако аффинные преобразования не способствуют проецированию на криволинейную поверхность или радиальным искажениям.
Аффинные преобразования в двух реальных измерениях включают:
Чтобы визуализировать общее аффинное преобразование евклидовой плоскости, возьмите помеченный параллелограммы 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 ′.
Аффинные преобразования не принимают во внимание длины или углы; они умножают площадь на постоянный коэффициент
Заданное T может быть прямым (уважительная ориентация) или косвенным (обратная ориентация), и это может определяться его влиянием на области со знаком (как определено, например, перекрестным произведением векторов).
Функции с и в , в точности аффинные преобразования вещественной линии.
Следующее уравнение выражает аффинное преобразование GF (2), рассматриваемого как 8-мерное векторное пространство над GF (2), которое используется в криптоалгоритме Rijndael (AES) :
где - матрица ниже, - фиксированный вектор и В частности,
|
Например, аффинное преобразование элемента в big-endian двоичном формате вычисляется следующим образом:
Таким образом, .
В преобразование, показанное слева, выполняется с использованием карты, заданной следующим образом:
Преобразование трех угловых точек исходного треугольника (выделено красным) дает три новые точки, которые образуют новый треугольник (синий). Это преобразование наклоняет и переводит исходный треугольник.
Фактически, все треугольники связаны друг с другом аффинными преобразованиями. Это также верно для всех параллелограммов, но не для всех четырехугольников.