Построить матрицу растяжения с коэффициентами растяжения 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 новыми координатами этой точки.