Иногда в литературе используется другая запись – запись по столбцам:
Такая запись эквивалентна приведенной выше записи по строкам (и получается из нее транспонированием).
Элементы произвольной матрицы аффинного преобразования не несут в себе явно выраженного геометрического смысла. Поэтому чтобы реализовать то или иное отображение, то есть найти элементы соответствующей матрицы по заданному геометрическому описанию, необходимы специальные приемы. Обычно построение этой матрицы в соответствии со сложностью рассматриваемой задачи и с описанными выше частными случаями разбивают на несколько этапов.
На каждом этапе ищется матрица, соответствующая тому или иному из выделенных выше случаев А, Б, В или Г, обладающих хорошо выраженными геометрическими свойствами.
Построить матрицу поворота вокруг точки А (а, b) на угол j (рис. 9).
Рис. 9.
1-й шаг. Перенос на вектор – А (-а, -b) для совмещения центра поворота с началом координат;
матрица соответствующего преобразования.
2-й шаг. Поворот на угол j
матрица соответствующего преобразования.
3-й шаг. Перенос на вектор А(а,b) для возвращения центра поворота в прежнее положение;
матрица соответствующего преобразования.
Перемножим матрицы в том же порядке, как они выписаны:
В результате получим, что искомое преобразование (в матричной записи) будет выглядеть следующим образом:
Элементы полученной матрицы (особенно в последней строке) не так легко запомнить. В то же время каждая из трех перемножаемых матриц по геометрическому описанию соответствующего отображения легко строится.
Пример 3
Построить матрицу растяжения с коэффициентами растяжения a вдоль оси абсцисс и d вдоль оси ординат и с центром в точке А(а, b).
1-й шаг. Перенос на вектор -А(-а, -b) для совмещения центра растяжения с началом координат;
матрица соответствующего преобразования.
2-й шаг. Растяжение вдоль координатных осей с коэффициентами a и b соответственно; матрица преобразования имеет вид
3-й шаг. Перенос на вектор А(а, b) для возвращения центра растяжения в прежнее положение; матрица соответствующего преобразования –
Перемножив .матрицы в том же порядке
получим окончательно
Замечание
Рассуждая подобным образом, то есть разбивая предложенное преобразование на этапы, поддерживаемые матрицами [R],[D],[M],[T], можно построить матрицу любого аффинного преобразования по его геометрическому описанию.
Пусть М - произвольная точка плоскости с координатами х и у, вычисленными относительно заданной прямолинейной координатной системы. Однородными координатами этой точки называется любая тройка одновременно неравных нулю чисел х1, х2, х3, связанных с заданными числами х и у следующими соотношениями:
При решении задач компьютерной графики однородные координаты обычно вводятся так: произвольной точке М (х, у) плоскости ставится в соответствие точка Мэ (х, у, 1) в пространстве (рис. 8).
Рис. 8
Заметим, что произвольная точка на прямой, соединяющей начало координат, точку 0(0, 0, 0), с точкой Мэ (х, у, 1), может быть задана тройкой чисел вида (hx, hy, h).
Будем считать, что h ¹ 0.
Вектор с координатами hx, hy, является направляющим вектором прямой, соединяющей точки 0 (0, 0, 0) и Мэ (х, у, 1). Эта прямая пересекает плоскость z = 1 в точке (х, у, 1), которая однозначно определяет точку (х, у) координатной плоскости ху.
Тем самым между произвольной точкой с координатами (х, у) и множеством троек чисел вида
(hx, hy, h), h ¹ 0,
устанавливается (взаимно однозначное) соответствие, позволяющее считать числа hx, hy, h новыми координатами этой точки.