Аффинные преобразования на плоскости. В компьютерной графике все, что относится к двумерному случаю
В компьютерной графике все, что относится к двумерному случаю, принято обозначать символом 2D (2-dimension).
Допустим, на плоскости введена прямолинейная координатная система. Тогда каждой точке Мставится в соответствие упорядоченная пара чисел (х,у) ее координат ( рис 3.9 ).
Рис. 3.42 Точка в прямоугольной системе координат
Вводя на плоскости еще одну прямолинейную систему координат, мы ставим в соответствие той же точке М другую пару чисел - (х*, у*).
Переход от одной прямолинейной координатной системы на плоскости к другой описывается следующими соотношениям:
х*=aх+bу+l;
у*=gх+bу+m;
где a,b,g,l,m - произвольные числа, связанные неравенством
.
В аффинных преобразованиях плоскости особую роль играют несколько важных частных случаев, имеющих хорошо прослеживаемые геометрические характеристики. При исследовании геометрического смысла числовых коэффициентов в формулах (*) для этих случаев удобно считать, что заданная система координат является прямоугольной декартовой.
А.Поворот (вокруг начальной точки на угол j) (рис. 3.43) описывается формулами
х*= х cosj-y sinj,
y*= x sinj+y cosj.
Рис. 3.43 Поворот точки на угол
Б.Растяжение (сжатие) вдоль координатных осей можно задать так:
x*=a x,
y*=d y,
a>0, d>0.
Растяжение (сжатие) вдоль оси абсцисс обеспечивается при условии, что a >1
(a <1). На рис. 3.44 a =d >1.
Рис. 3.44 Растяжение вдоль осей
В.Отражение (относительно оси абсцисc) (рис. 3.45) задается при помощи формул
x*= x,
y*= -y.
Рис. 3.45 Отражение относительно оси абсцисс
Г.На рис. 3.46 вектор переноса ММ* имеет координаты l и m. Перенос обеспечивают соотношения
х*=х +l;
у*=у+m;
Выбор этих четырех частных случаев определяется двумя обстоятельствами.
Каждое из приведенных выше преобразований имеет простой и наглядный геометрический смысл (геометрическим смыслом наделены и постоянные числа, входящие в приведенные формулы).
Как доказывается в курсе аналитической геометрии, любое преобразование вида (*) всегда можно представить как последовательное использование (суперпозицию) простейших преобразований вида А,Б, ВиГ (или части этих преобразований).
Рис. 3.46 Перенос точки
Таким образом, справедливо следующее важное свойство аффинных преобразований плоскости: любое отображение вида (*) можно описать при помощи отображений, задаваемых формулами А, Б, В и Г.
Для эффективного использования этих известных формул в задачах компьютерной графики более удобной является их матричная запись. Матрицы, соответствующие случаям А, Б и В, строятся легко и имеют соответственно следующий вид:
Однако для решения задач компьютерной графики весьма желательно охватить матричным подходом все четыре простейших преобразования (в том числе и перенос), а, значит, и общее аффинное преобразование. Этого можно достичь, например, так: перейти к описанию произвольной точки плоскости, не упорядоченной парой чисел, как это было сделано выше, а упорядоченной тройкой чисел.