Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комп_Граф / КГ_курс лекций.doc
Скачиваний:
191
Добавлен:
08.06.2015
Размер:
1.31 Mб
Скачать

3.1. Двумерные геометрические преобразования

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

(3.1)

Здесь (x, y) – координаты точки (x, y) после преобразования.

Для линейных преобразований характерно то, что прямая линия преобразуется в прямую, при этом углы между прямыми могут изменяться. Наиболее распространенными видами линейных преобразований, из комбинации которых можно представить любое другое линейное преобразование, являются:

  • плоскопараллельное перемещение;

  • масштабирование;

  • поворот.

Например, плоскопараллельное перемещение точки (x, y) на расстояние mx по оси x и на my по оси y записывается как

(3.2)

Чтобы все линейные преобразования можно было представить единообразно в матричной форме, удобно использовать применяемые в проективной геометрии однородные координаты [5, 7, 8].

Замена обычных координат однородными состоит в том, что всякой точке (x, y) на плоскости OXY можно поставить в соответствие точку в координатном пространстве OXYV с координатами (xТ, yТ, v), называемыми однородными координатами, причем и v = const для всех точек плоскости OXY (рис. 3.1). Соответствие между обычными (декартовыми) и однородными координатами устанавливается следующим правилом преобразования однородных координат в декартовы:

x = xТ / v; y = yТ / v. (3.3)

Из соотношений (3.3) следует, что все прямые, связывающие точки в однородной системе координат с соответствующими им точками на плоскости OXY, сходятся в одной точке на оси OV с координатами (0, 0, v/(1 – v)). Если возможно, то стремятся использовать значение v = 1. При этом прямые, связывающие точки в однородной и декартовой системах координат, будут параллельны оси OV, а однородные координаты xТ, yТ совпадают с обычными.

Рис. 3.1

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

(3.4)

Здесь C = [x y 1] – матрица исходных координат; C' = [x' y' v] – матрица новых координат после преобразования; W – матрица преобразования. Отметим, что v = 1 только для тех преобразований, в матрице W которых w13, w23 = 0 и w33 = 1.

Для всякого линейного преобразования существует точка, называемая центром преобразования, для которой это преобразование инвариантно, т.е. не изменяет координат этого центра.

Преобразование плоскопараллельного перемещения (сдвига) задается следующим образом:

(3.5)

Здесь mx, my – смещения по соответствующим осям. Для плоскопараллельного перемещения центром преобразования формально считается точка .

Преобразование масштабирования относительно начала координат

(3.6)

Здесь sx, sy – масштабные коэффициенты по соответствующим осям. Масштабными коэффициентами могут быть любые числа, отличные от 0. При sx, sy > 1 преобразование приводит к увеличению размеров, а при sx, sy < 1 – к уменьшению. Если sx = sy, масштабирование называется пропорциональным. При отрицательных значениях масштабных коэффициентов происходит не только изменение размеров, но и зеркальное отражение преобразуемой фигуры относительно соответствующей оси. В частности, преобразование

(3.7)

задает отражение относительно осей OX и OY, что эквивалентно повороту на 1800.

Преобразование поворота на угол относительно начала координат

(3.8)

Направление поворота определяется знаком угла .

Соседние файлы в папке Комп_Граф