Афинные преобразования
Помимо декартовых систем координат, используются также афинные, которые определяются следующим преобразованием. Пусть исходные координаты, а преобразованные - e, h. Тогда e = h =,
det ¹ 0.
Здесь вектор [] определяет сдвиг, а матрица определяет поворот и растяжение. Афинное преобразование переводит прямую в прямую, параллельные прямые - в параллельные прямые, а пересекающиеся - в пересекающиеся. Сохраняется топология графического изображения фигур (сохраняется отношение длин отрезков, площадей и объём). Аналогично выводится афинное преобразование в трехмерном пространстве. В машинной графике широко применяются также однородные координаты, которые позволяют представить n-мерный объём в n+1-мерном пространстве путем добавления еще одной координаты - скалярного множителя. Однородные координаты используются в проективной геометрии, а в машинной графике - это удобный прием, позволяющий линеаризовать перспективные изображения. Пусть на плоскости имеется система афинных координат и в ней точка. Любая тройка чисел, пропорциональная тройке (X,Y,1) называется однородными координатами точки P, определенными данной афинной системой координат. Отсюда следует, что однородным представлением может быть любая тройка чисел, полученная умножением вектора (X,Y,1) на скалярный множитель. Например
h = y 1 0 0 1 1 или X = AX, где X и X - соответственно преобразованный и исходный векторы, A - матрица преобразований. Эта форма представления позволяет удобно описать геометрические преобразования.
Перенос 1 0 - перенос вдоль X A = 0 1 - перенос вдоль Y 0 0 1 Масштабирование
- масштаб по X - масштаб по Y Поворот на угол j относительно начала координат
A = sin j cos j 0 0 0 1 Более сложные преобразования получают суперпозицией элементарных преобразований. Например, поворот одной из точек изображения: 1. Перенос C в начало координат; 2. Поворот относительно начала координат на угол j; Возврат в исходную точку C.
|