Р' = Тр, где
Т =
1 О
О о о о
0 0а
1 0 а 1 0
а.
Объекты и геометрические преобразования
Матрица Т называется матрицей сдвига (translation matrix). Иногда ее записывают в виде Т(а„ се,, а.), чтобы подчеркнуть три независимых параметра преобразования.
На первый взгляд может показаться, что четвертый элемент в матрицах-столбцах излишний, но оказывается, что при использовании трехмерной версии выражения р' = Тр тот же результат не получается. Поэтому иногда применение однородных координат для выполнения преобразования сдвига рассматривается как своего рода трюк, позволяющий заменить суммирование трехмерных матриц-столбцов перемножением четырехмерных матриц.
Матрицу обратного преобразования можно сформировать либо с помощью алгоритма обращения матриц, либо приняв во внимание, что обратное преобразование - это сдвиг на расстояние ~d. В любом случае получим
10 0 -ос," 0 1 0 -av 0 0 1 -a: ООО 1
T-,(a„a>.,a:) = T(-a„-av,-a:) =
4.7.2. Масштабирование Как уже говорилось выше, преобразования поворота и масштабирования характеризуются фиксированной точкой, которая остается неподвижной при выполнении этих преобразований. Сейчас будем считать, что фиксированной точкой является начало координат, а в дальнейшем покажем, как с помощью суперпозиции базовых преобразований можно сформировать преобразование масштабирования относительно произвольной фиксированной точки.
Матрица преобразования масштабирования, имеющего фиксированную точку в начале координат, позволяет задавать масштабные коэффициенты по каждой из координатных осей независимо друг от друга. Имеем три уравнения: х'= р\х, /=р>, которые можно выразить в однородных координатах матричным уравнением Р* = Эр, где
р\ |
|||
р, |
|||
р\ |
|||
S = S(p\,pVp\) =
В этой матрице, а также в матрице сдвига и других матрицах преобразований однородных координат четвертая строка не зависит от характера преобразования, а служит для того, чтобы после выполнения перемножения сохранялось значение 1 в четвертом компоненте точки.
Для обращения матрицы масштабирования необходимо использовать обратные значения масштабных коэффициентов по осям: / . . . > 8-'(&,Р,,Рг)-8 -