Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по компьютерной графике [по вопросам].doc
Скачиваний:
88
Добавлен:
02.05.2014
Размер:
783 Кб
Скачать
☆

12. Аффинные преобразования, их свойства, однородные координаты.

Для решения таких задач, как движение объектов и их частей, управления камерой применяются аффинные преобразования (АП), рассмотрим их основные свойства:

1) точки, лежащие на одной прямой, после преобразования лежат на одной прямой;

2) пересекающиеся прямые остаются пересекающимися, а параллельные – параллельными;

3) при АП пространства пересекающиеся плоскости остаются пересекающимися, параллельные – параллельными, а скрещивающиеся – скрещивающимися;

4) при АП сохраняются отношения площадей двух квадратов на плоскости и отношение объемов двух кубов в пространстве.

Пусть М - произвольная точка плоскости с координатами х и у, вычисленными относительно заданной прямолинейной координатной системы. Однородными координатами этой точки называется любая тройка одновременно неравных нулю чисел x1, x2, x3, связанных с заданными числами x и y следующими соотношениями:

x

Однородные координаты

1/x3=x, x2/x3=y.

При решении задач компьютерной графики однородные коорди­наты обычно вводятся так: произвольной точке М(х, у) плоскости ста­вится в соответствие точка М*(х,у,1) в пространстве. Произвольная точка на прямой, соединяющей начало координат, точку 0(0, 0, 0) с точкой М*(х, у, 1), может быть задана тройкой чисел вида (hx, hy, h).

Будем считать, что h0. Вектор с координатами hx, hy, h является направляющим векто­ром прямой, соединяющей точки 0(0, 0, 0) и М*(х, у, 1). Эта прямая пересекает плоскость z = 1 в точке (х, у, 1), которая однозначно определяет точку (х, у) коорди­натной плоскости ху.

При помощи троек однородных координат и матриц третьего порядка можно описать любое аффинное преобразование плоскости. В самом деле, считая h = 1, сравним две записи: помеченную символом * и матричную:

Нетрудно заметить, что после перемножения выражений, стоя­щих в правой части последнего соотношения, мы получим обе форму­лы (*) и верное числовое равенство 1 == 1. Тем самым сравниваемые записи можно считать равносильными.

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

1. Матрица вращения (rotation)

;

2. Матрица растяжения (сжатия)

(dilatation)

;

3. Матрица переноса (translation)

;

4. Матрица отражения (reflection)

13. Аффинные преобразования на плоскости.

Допустим, на плоскости введена прямолинейная координатная система. Тогда каждой точке М ставится в соответствие упорядоченная пара чисел (х, у) ее координат (рис. 1). Вводя на плоскости еще одну прямолинейную систему координат, мы ставим в соответствие той же точке М другую пару чисел - (х*, у*).

Переход от одной прямолинейной координатной системы на плоскости к другой описывается следующими соотношениями:

где , , , , , – произвольные числа, связанные неравенством

Формулы (*) можно рассматривать двояко: либо сохраняется точка и изменяется координатная система (рис. 2) – в этом случае произвольная точка М остается той же, изменяются лишь ее координаты, либо изменяется точка и сохра­няется координатная система (рис. 3) – формулы (*) задают отображение, переводящее произвольную точку M(x,y) в точку М*(х*, у*), координаты которой определены в той же координатной системе.

Рис. 1

Рис. 2

Рис. 3

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

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

  1. Поворот вокруг начальной точки на угол  описывается формулами:

  1. Растяжение (сжатие) вдоль координатных осей можно задать так:

х* = х, у*=у, а > 0, > 0 .

Например, растяжение (сжатие) вдоль оси абсцисс обеспечивается при условии, что  > 1 (0 <  < 1).

  1. Отражение (относительно оси абсцисс) задается при помощи формул:

х* = х, у* = -у.

  1. Параллельный перенос обеспечивают соотношения

x* = x + ,

у* = у + ..

Выбор этих четырех частных случаев определен двумя обсто­ятельствами.

  1. Каждое из приведенных преобразований имеет простой и наглядный геометрический смысл (геометрическим смыслом наде­лены и постоянные числа, входящие в приведенные формулы).

  2. Любое преобразование вида (*) всегда можно представить в виде последовательного исполнения простейших преобразований.

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

, ,

Этого можно достичь, например, так: перейти к опи­санию произвольной точки плоскости тройкой чисел.