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

3.2. Совмещение преобразований. Преобразование относительно заданного центра

Часто над объектами приходится последовательно выполнять несколько преобразований. Пусть последовательность преобразований задана матрицами W1, W2, . . . , Wn. Рассмотрим преобразование точки с координатами C = [x y 1].

В результате преобразования W1 получим

, (3.9)

а после преобразования W2

(3.10)

Продолжая выполнять очередные преобразования, в итоге будем иметь

(3.11)

Если вычислить матрицу , то заданную последовательность преобразований можно заменить одним результирующим преобразованием с матрицей U.

Замечание. Умножение матриц некоммутативно, поэтому матрицы W1, W2, . . . , Wn следует умножать в той последовательности, в которой они заданы.

Такие элементарные преобразования, как масштабирование и поворот, приведенные в форме (3.6) и (3.8), выполняются относительно начала координат. Если же преобразование W необходимо выполнить относительно произвольно заданного центра (xc , yc), то его производят в следующей последовательности.

  1. Заданную точку P с матрицей координат С и центр преобразования сместить преобразованием M так, чтобы центр преобразования совпал с началом координат:

(3.12)

  1. Выполнить над P заданное преобразование W относительно начала координат, а следовательно, и относительно заданного центра преобразования:

(3.13)

  1. Обратным преобразованием перемещения M-1 точку и центр преобразования сместить так, чтобы центр преобразования снова оказался на исходном месте:

(3.14)

Матрица преобразования смещения M и обратная ей матрица M-1 имеют следующий вид:

(3.15)

Таким образом, матрица U результирующего преобразования относительно заданного центра вычисляется как

(3.16)

Предварительный расчет матрицы U перед выполнением преобразования позволяет сократить объем вычислений при расчете новых координат точек.

3.3. Преобразование алгебраических линий

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

Уравнение прямой линии общего положения

a1 x + a2 y + a3 = 0 (3.17)

представим в матричной форме:

CA = 0, (3.18)

где C , A .

Пусть над линией необходимо выполнить преобразование с матрицей W, т.е. всякой точке на прямой с матрицей исходных координат С нужно поставить в соответствие точку с матрицей координат C = CW.

Из последнего соотношения выразим C. Для этого умножим обе части равенства на матрицу W -1, обратную матрице W:

C W -1 = CWW –1. (3.19)

После сокращения получим С = C W –1. Подставим выражение для C в исходное уравнение прямой (3.17):

C W -1А = 0. (3.20)

Поскольку C – матрица координат после преобразования, то уравнение (3.20) будет соответствовать той же прямой после преобразования, а W -1А – это матрица-столбец коэффициентов уравнения прямой после преобразования, т.е. для преобразования с матрицей W формула для расчета матрицы A новых коэффициентов уравнения прямой имеет следующий вид:

A = W -1А. (3.21)

Рассмотрим теперь преобразование линии 2-го порядка общего вида с уравнением

(3.22)

Представим (3.22) в матричной форме:

CAC Т = 0, (3.23)

где – матрица коэффициентов уравнения линии. Причем матрица A симметрическая, т.е. aij = aji для i, j = 1, 2, 3. Матрица-столбец C Т означает транспонированную матрицу C.

Как и в предыдущем случае, сделаем в уравнении (3.23) замену С = C W –1. В результате получим

СW –1 A  (C W –1)T = 0. (3.24)

Чтобы привести (3.24) по форме к первоначальному виду, воспользуемся следующей известной в математике формулой о транспонировании произведения матриц: (C W –1)T = (W –1)T  (C )T. На основании нее уравнение (3.24) можно представить следующим образом:

СW –1A  (W –1)T  (C )T = 0. (3.25)

Сравнивая (3.23) и (3.25), можно заключить, что W –1A  (W –1)T должно быть матрицей коэффициентов уравнения линии. Следовательно, формула для вычисления новых коэффициентов уравнения линии 2-го порядка после преобразования W будет иметь следующий вид:

A = W –1A  (W –1)T. (3.26)

Приведенные здесь выводы позволяют производить геометрические преобразования над любыми объектами, заданными в аналитическом виде.

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