Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CG.doc
Скачиваний:
22
Добавлен:
23.09.2019
Размер:
2.91 Mб
Скачать

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 – родство), если

  • оно взаимно однозначно;

  • образом любой прямой является прямая.

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

  • разные точки переходят в разные;

  • в каждую точку переходит какая-то точка.

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

  • отображает n-мерный объект в n-мерный: точку в точку, линию в линию, поверхность в поверхность;

  • сохраняет параллельность линий и плоскостей;

  • сохраняет пропорции параллельных объектов – длин отрезков на параллельных прямых и площадей на параллельных плоскостях.

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

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

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

  • Перенос (Move/Translation);

  • Поворот (Rotate);

  • Масштабирование (Scale);

  • Отражение (Reflect);

  • Сдвиг по одной из координат (Shear).

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

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

Перенос 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.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]