logo
Компьютерная графика / МАШ_ГРАФИКА

§ 4. Составные линейные преобразования

Любое линейное преобразование можно представить в ви-де последовательного выполнения (композиции) элемен-тарных линейных преобразований. Допустим, преобра-зование Т состоит в последовательном выполнении элемен-тарных преобразований Т1, Т2, Т3. В этом случае итоговая матрица преобразования Т равна произведению:

МТ = МТ3∙ МТ2∙ МТ1 .

В общем случае при Т = Т1∙Т2∙…∙Тn,

МТ = МТn∙ МТ(n-1)∙…∙ МТ1 .

Для того,чтобы найти матрицу преобразования, обратного к составному Т = Т1∙Т2∙…∙Тn (такую, что МТ-1∙МТ = Е), необходимо МТ последовательно умножить слева на М –1Тn∙ М –1Т(n-1)∙…∙М -1Т1. При этом получим:

М -1Т = М -1Т1∙М -1Т2∙…∙М -1Тn .

Пример. Необходимо построить плоское линейное преобразование Т, осуществляющее поворот точек вокруг центральной точки Р(x0 , y0 ) на заданный угол φ (Рис.6.5).

126

Рис.6.5

Решение.

Данное преобразование можно представить в виде компози-ции элементарных следующим образом:

1)сдвиг всех точек плоскости на вектор (-x0,-y0) (при этом Р0 переместится в начало координат);

2) поворот на угол φ вокруг оси z;

3) сдвиг на вектор (x0, y0), при которомР0 займет свое прежнее положение.

Найдем матрицу Т:

МТ = Мсд(x0, y0) ∙Мпz(φ)∙ Мсд (-x0, -y0) =

127

Данный пример иллюстрирует некоммутативность умно-жения матриц. При φ≠0

МТ = Мсд (-x0,- y0) Мпz(φ)∙Мсд(x0, y0) ≠ Мсд(-x0 ,- y0)∙Мсд(x0, y0)∙Мпz(φ) = Мпz(φ) .

Задачи.

Выразить через матрицы элементарных линейных преобразований прямые и обратные матрицы следующих составных преобразований:

1) поворот на угол 60° вокруг оси y точкиР0*, симмет-ричной относительно плоскости 0yz исходнойР0 (x0 ,y0 ,z0 );

2) увеличение в 0,5 раза всех координат точкиР0 (x0 ,y0 ,z0 ); предварительно повернутой вокруг оси x на угол 30° и вокруг z - на 45°;

3) сдвиг координат точкиР0 (x0 , y0 , z0 ), симметрично отраженной относительно начала координат 0, при котором точка (1, 2, 3) переходит в точку (3, 2, 1).