Подобный материал:
- Новосибирский Государственный Технический Университет. Факультет автоматики и вычислительной, 1650.9kb.
- Рабочая программа для специальности: 220400 Программное обеспечение вычислительной, 133.96kb.
- Государственный Технический Университет. Факультет: Автоматики и Вычислительной Техники., 32.46kb.
- Образования Республики Молдова Колледж Микроэлектроники и Вычислительной Техники Кафедра, 113.64kb.
- Постоянное развитие и углубление профессиональных навыков в области информационных, 54.56kb.
- «Программное обеспечение вычислительной техники и автоматизированных систем», 1790.14kb.
- Задачи дисциплины: -изучение основ вычислительной техники; -изучение принципов построения, 37.44kb.
- Лекция №2 «История развития вычислительной техники», 78.1kb.
- Система контроля и анализа технических свойств интегральных элементов и устройств вычислительной, 582.84kb.
- Московский государственный инженерно-физический институт (технический университет), 947.05kb.
0.1.3 Композиция двумерных преобразований
Последовательное выполнение нескольких преобразований можно представить в виде единой матрицы суммарного преобразования. Умножение на единственную матрицу, естественно, выполняется быстрее, чем последовательное умножение на несколько матриц.
Рассмотрим сдвиг точки P
0 на расстояние (Tx
1, Ty
1) в точку P
1, а затем сдвинем точку P
1 на расстояние (Tx
2, Ty
2) в точку P
2. Обозначая через T
1 и T
2 матрицы сдвига, в соответствии с (
9) получим:
P1 = P0 ·T1; P2 = P1 ·T2 = (P0 ·T1) ·T2 = P0 ·(T1 ·T2) = P0 ·T. | |
Понятно, что сдвиг аддитивен, т.е. последовательное выполнение двух сдвигов должно быть эквивалентно одному сдвигу на расстояние (Tx
1+Tx
2, Ty
1+Ty
2). Для доказательства этого рассмотрим произведение матриц сдвига T
1 и T
2, равное
T = | |
|
|
| | · | | |
|
| | = | |
Итак, получили, что результирующий сдвиг есть (Tx
1+Tx
2, Ty
1+Ty
2), т.е. суммарный сдвиг, вычисленный как произведение матриц, как и ожидалось, аддитивен.
Рассмотрим теперь последовательное выполнение масштабирований, первое с коэффициентами (Sx
1, Sy
1), второе с коэффициентами (Sx
2, Sy
2). Следует ожидать, что суммарное масштабирование будет мультипликативным. Обозначая через S
1 и S
2 матрицы масштабирования, в соответствии с (
10) получим
P1 = P0 ·S1, P2 = P1 ·S2 = (P0 ·S1) ·S2 = P0 ·(S1 ·S2) = P0 ·S. | |
Найдем значения элементов матрицы S
S = | |
|
|
| | · | | |
|
| | = | | |
|
| | . | |
Итак, получили, что результирующее масштабирование есть (Sx
1 ·Sx
2, Sy
1 ·Sy
2), т.е. суммарное масштабирование, вычисленное как произведение матриц, как и ожидалось, мультипликативно.
Аналогичным образом можно показать, что два последовательных поворота аддитивны.
Рассмотрим выполнение часто используемого поворота изображения на угол относительно заданной точки P(X,Y). Это преобразование можно представить как перенос начала координат в точку (X,Y), поворот на угол относительно начала координат и обратный перенос начала координат:
Pn = P ·T(-X,-Y) ·R() ·T(X,Y). | |
С использованием преобразований в однородных координатах, суммарное преобразование будет иметь простой вид:
| |
|
|
| | · | | |
|
| | · | |
|
|
| | . | |