logo
CG

10) Двумерные аффинные преобразования координат.

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

Выбрать «новый» базис пространства с «новым» началом координат ; Каждой точке x пространства поставить в соответствие точку f(x), имеющую те же координаты относительно «новой» системы координат, что и x в «старой».

Аффинные преобразования - это линейные преобразования с переносом. С помощью аффинных преобразований можно передвигать объекты.

a = bM + v;

Где b - исходная точка, M - матрица линейного преобразования, a - преобразоавнная точка и v - вектор, соединяющий два пространства. Или другими словами, это вектор, длина которого равна расстоянию между двумя координатными пространствами.

Типы аффинных преобразований

Эквиаффинное преобразование — аффинное преобразование, сохраняющее площадь (также, сохраняется аффинная длина).

Центроаффинное преобразование — аффинное преобразование, сохраняющее начало координат.

Матричное представление

Как и другие проективные преобразования, аффинное преобразование можно записать как матрицу перехода в однородных координатах:

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

Общий вид формул двумерных аффинных преобразований:

Здесь x, y - координаты исходного, а x 1 , y 1 - преобразованного объекта.

Коэффициенты преобразований a I J сохраняют в виде матрицы, расширенной до квадратной, - для вычисления коэффициентов составного преобразования перемножают соответствующие матрицы коэффициентов типовых преобразований. Составные преобразования обычно представляют в виде комбинаций типовых преобразований.

Основные виды двумерных аффинных преобразований и их схематическое представление.

Единичная матрица Основная. Результат преобразования равен оригиналу. Все дело в единицах по диагонали.

4.2.1 Перемещение - перемещает объект

4.2.2 Масштабирование - изменяет размер

4.2.3 Сдвиг - изменение одной координаты в линейной зависимости от другой

4.2.4 Поворот - Поворачивает на угол

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

10-12. Аффинные преобразования пространства

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

Определение. Преобразование плоскости называется аффинным (от англ. affinity – родство), если

Преобразование называется взаимно однозначным, если

Свойства аффинного преобразования в трехмерном пространстве:

Любое аффинное преобразование задается матрицей 3x3 с ненулевым определителем и вектором переноса:

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

Базовыми являются следующие преобразования:

Свойства аффинных преобразований.

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

Перенос Translate

П усть задана точка P1 (x1,y1). После ее переноса на расстояние dx по оси Ох и на расстояние dy по оси Oy, мы получим новую точку P2 (x2,y2) (рис. ), значение координат которой вычисляются по следующим формулам:

В матричной форме эта запись имеет следующий вид:

Масштабирование Scale

Пусть задана точка P1 (x1,y1). После ее масштабирования на коэффициенты sx, sy , мы получим новую точку P2 (x2,y2), значение координат которой вычисляются по следующим формулам:

В матричной форме эта запись имеет следующий вид: P1=[x1 y1], P2=[x2 y2], матрица масштабирования

Таким образом, P2=P1*S.

- коэффициенты масштабирования

П ри масштабировании не сохраняется длина и не сохраняются углы (если )