Перейти к содержанию

Основы компьютерной графики/§2

Материал из Викиверситета

2D-Преобразования[править]

Начнем 2D-преобразования, т.е. преобразования на плоскости. допустим у нас есть точка P с координатами x,y P=(x,y,)
у нас есть некий оператор T, который равен и наша точка, после воздействия на неё оператором Т перейдет уже в другие координаты они будут равны

Рассмотрим некоторые операторы преобразования:

  • - отразить по оси Х
  • - Ничего не делать =)))
  • - масштабирование по Х
  • - Сдвиг , т.е.

увы графиков пока не будет, я не могу загрузить картинку что-то мне не позволяет, эх, надеюсь потмо можно будет загрузить и все будет красивее))

теперь возьмём для примера уже не точку, а отрезок

Пусть для конкретности тогда и исходя их преобразования для точки, сделаем тоже самое для отрезка. , где Тогда:

Отсюда видно, что это верно для любой точки на плоскости. если мы просчитаем отдельно и то получим такой же результат.

рассмотрим пример: и


Поворот[править]

Теперь рассмотрим Матрицу поворота Поворот на 90° градусов можно осуществить с помощью такой вот матрицы что соответствует

- ортогональный оператор

Перейдем к однородным координатам

и отсюда - для переноса

и наконец выведем оператор поворота R для произвольной точки :


Преобразование единичного квадрата[править]

Возьмем например квадрат с вершинами A,B,C,D и запишем для него матрицу, возьмем для наглядности числа и оператор T - матрица преобразования. Тогда :

Вообще не трудно догадаться, исходя из координат, что это единичный квадрат, а следовательно его площадь равна единице S=1. Если же мы подействуем на этот квадрат оператором Т, то площадь такого "Квадрата" (скорее уже просто четырехугольника) будет равна

Рассмотрим оператор преобразования, в более широком смысле т.е.

Что же мы тут видим вглядывается старая матрица a,b,c,d, эти элементы отвечают все так же за отображение, за масштабирование по оси, за сдвиг... , ничего не поменялось. Теперь рассмотрим дополнительные элементы: m,n - они отвечают за перенос начала координат (m за x, n за y); Элемент s - отвечает за масштабирование, но не так как в прошлом варианте, а сразу по всем координатам. ну и наконец p,q - они впринцыпе отвечают за перспективу, т.ч. в 2D преобразованиях это не очень можно вообразить и объяснить.