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

В компьютерной графике все, что относится к двумерному случаю принято обозначать символом (2D) (2-dimention).

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

 

 

0
Y
X
M (x, y)
                                                                                                                                                                                                             

 

 
Рис.5

 


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

x*=ax+ by +l,                                                                                           (2.1)

y*=gx+ by + m,                                                                                           (2.2)

 

где a, b, g, l, m -- произвольные числа, связанные неравенством:

                                                                    (2.3)

                        

 

Формулы (2.1) и (2.2) можно рассматривать двояко: либо сохраняется точка и изменяется координатная система (рис. 6) – в этом случае произвольная точка М остается той же, изменяются лишь ее координаты (х, у) | (х*, y*), либо изменяется точка и сохраняется координатная система (рис. 7) – в этом случае формулы (2.1) и (2.2) задают отображение, переводящее произвольную точку М (х, у) в точку М* (х*, у*), координаты которой определены в той же координатной системе.

 

                                               X*

0
Y
X
M        0*
                     Y*                                                                                                                                                                               

 

 

 
Рис. 6

 


0
Y
X
M
                                                                                                                                                                                                             

         
Рис. 7

 


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

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

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

 

х* = x cosj - y sinj,                                                (2.3)

y* = x sinj - y cosj.                                                (2.4)

 

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

                                x* = ax,                                                   (2.5)

                                y* = dy,                                                    (2.6)

                           a > 0, d > 0.                                                     (2.7)

 

Растяжение (сжатие) вдоль оси абсцисс обеспечивается при условии, что a > 1 (a < 1). На рис. 5 a = d > 1.

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

 

                                          x* = x,                                                      (2.8)

                                          y* = -y.                                                     (2.9)

3. На рис. 11 вектор переноса ММ* имеет координаты l, m. Перенос обеспечивает соотношения:

 

                                 x* = x + l,                                                          (2.10)

                                      y* = y + m.                                                         (2.11)

 

 

 


M
0
Y
X
                                                                                                                                                                                                             

     
Рис.8

 


M*
0
Y
X
                                                                                                                                                                                                        

         
M
 
Рис. 9

 


M
0
Y
X
                                                                                                                                                                                                             

         
Рис.10
 
M*

 


M
0
Y
X
                                                                                                                                                                                                             

 

 

     
 
Рис. 11

 


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

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

2. Как известно из курса аналитической геометрии, любое преобразование вида (2.1) всегда можно представить как последовательное исполнение (суперпозицию) простейших преобразований вида 1 – 4 (или части этих преобразований).

Таким образом, справедливо следующее важное свойство аффинных преобразований плоскости: любое отображение вида (2.1) можно описать при помощи отображений, задаваемых формулами (2.3) – (2.11).

Для эффективного использования этих известных формул в задачах компьютерной графики более удобной является их матричная запись. Матрицы, соответствующие случаям 1 – 3, строятся легко и имеют соответственно следующий вид:

 

                   

                                                        

 










Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: