netlib.narod.ru | < Назад | Оглавление | Далее > |
Для математического подхода к решению запутанных задач (например, похожих на только что показанную) характерно не упрощение условий путем удаления их части, а наоборот, их усложнение путем ввода новых понятий. Здесь весьма полезно ввести понятие матрицы, хотя бы потому, что матричная алгебра достаточно известна (по крайней мере математикам). Линейное преобразование может быть представлено в виде матрицы, а применение нескольких преобразований эквивалентно умножению соответствующих матриц.
Матрица — это прямоугольный массив чисел. Вот массив, состоящий из трех столбцов и двух строк:
|
27 3 |
9 0 |
14 88 |
|
Матрицы обычно обозначают заглавными буквами. Умножение матриц можно записать так:
A × B = C
Число столбцов матрицы А должно равняться числу строк матрицы В, а число строк произведения С — числу строк матрицы A. Число столбцов в матрице C равно числу столбцов матрицы B. Число в i-й строке j-го столбца матрицы C равно сумме произведений чисел
Если бы мы не имели дело со смещением, мировые координаты (х, у) можно было представить в виде матрицы 1 × 2, а матрицу преобразования — как матрицу 2 × 2. Эти матрицы следует перемножить и выразить результирующие координаты на странице (х', у') в виде другой матрицы 1 × 2:
|
× |
|
= |
|
Применение правил умножения матриц дает формулы:
x' = sx · x + rx · y
y' = ry · x + sy · y
Но это не совсем полные формулы. Мировое преобразование также включает значения смещения. Чтобы умножение матриц было корректным, нужно расширить матрицы мировых координат и координат на странице до размера 1 × 3, а преобразование будет представлять собой матрицу 3 × 3:
|
× |
|
= |
|
А вот результирующие формулы:
x' = sx · x + rx · y + dx
y' = ry · x + sy · y + dy
Тип преобразований, который можно представить подобной матрицей, часто называют матричным преобразованием. У матричного преобразования, не изменяющего преобразуемый объект, коэффициент масштабирования равен 1, а коэффициенты r и d равны 0:
|
1 0 0 |
0 1 0 |
0 0 1 |
|
Такая матрица называется единичной (identity matrix).
1 См. примеры из разделов 1-2 книги Pettofrezzo,
netlib.narod.ru | < Назад | Оглавление | Далее > |