Матричные функции

Панель инструментов Фильма обеспечивает много функций, позволяющих Вам работать с матрицами трансформации. В этой главе описываются те функции.

Матрица преобразования

Панель инструментов Фильма делает широкое применение матриц трансформации для определения графических операций, выполняющихся на фильмах, когда они выведены на экран. Матрица преобразования определяет, как отобразить точки от одного координатного пространства в другое координатное пространство. Путем изменения содержания матрицы преобразования можно выполнить несколько стандартных операций графического дисплея, включая перевод, вращение и масштабирование. Панель инструментов Фильма обеспечивает ряд функций, упрощающих для Вас управлять матрицами перевода. Этот раздел обеспечивает введение в операции над матрицей в графической среде.

Матрица, используемая для выполнения двумерных трансформаций, описана математически 3 3 матрица. Рисунок 10-1 показывает выборке 3 3 матрицу. Обратите внимание на то, что QuickTime предполагает что значения матричных элементов u и v всегда 0.0, и значение матричного элемента w всегда 1.0.

Рисунок 10-1  точка, преобразованная 3 3 матрицей

Во время операций дисплея, содержания 3 3 матричного преобразования точка (x, y) в точку (x', y') посредством следующих уравнений:

x' = топор + cy + t (x)

y' = основной обмен + dy + t (y)

Например, матрица, показанная на рисунке 10-2, не выполняет трансформации. Это упоминается как единичная матрица.

Рисунок 10-2  единичная матрица

Используя формулы, обсужденные ранее, Вы видите, что эта матрица генерировала бы новую точку (x', y'), который совпадает со старой точкой (x, y):

x' = 1x + 0y + 0

y' = 0x + 1 год + 0

x' = y и y' = y

Для перемещения изображения указанным смещением Вы выполняете работу перевода. Эта работа изменяет координаты x и y каждой точки указанной суммой. Матрица, показанная на рисунке 10-3, описывает работу перевода.

Рисунок 10-3  матрица, описывающая работу перевода

Можно расширить или уменьшить изображение путем выполнения операции масштабирования. Эта работа изменяет координаты x и y некоторым фактором. Величина факторов x и y управляет, больше ли новое изображение или меньше, чем оригинал. Кроме того, путем создания x факторного отрицания, можно зеркально отразить изображение об оси X; точно так же можно зеркально отразить изображение горизонтально, об оси y, путем создания y факторного отрицания. Матрица, показанная на рисунке 10-4, описывает операцию масштабирования.

Рисунок 10-4  матрица, описывающая операцию масштабирования

Наконец, можно повернуть изображение на указанный угол путем выполнения работы вращения. Вы указываете величину и направление вращения путем указания факторов для обоих x и y. Матрица, показанная на рисунке 10-5, поворачивает изображение против часовой стрелки на угол q.

Рисунок 10-5  матрица, описывающая работу вращения

Можно объединить матрицы, определяющие различные трансформации в единственную матрицу. Получающаяся матрица сохраняет атрибуты обеих трансформаций. Например, можно и масштабировать и перевести изображение путем определения матрицы, подобной показанному на рисунке 10-6.

Рисунок 10-6  матрица, описывающая работа перевода и масштабирование

Вы комбинируете две матрицы путем конкатенации их. Математически, эти две матрицы объединены умножением матриц. Обратите внимание на то, что порядок, в котором Вы связываете матрицы, важен; операции над матрицей не являются коммутативными.

Матрицы трансформации, используемые Панелью инструментов Фильма, содержат следующие типы данных:

[0] [0] Fixed       [1] [0] Fixed       [2] [0] Fract
[0] [1] Fixed       [1] [1] Fixed       [2] [1] Fract
[0] [2] Fixed       [1] [2] Fixed       [2] [2] Fract

Каждая ячейка в этой таблице представляет тип данных соответствующего элемента 3 3 матрица. Все элементы в первых двух столбцах матрицы представлены Fixed значения. Значения в третьем столбце представлены как Fract значения. Fract тип данных указывает 32-разрядное значение фиксированной точки, содержащее 2 целочисленных бита и 30 дробных битов. Этот тип данных полезен для того, чтобы точно представлять числа в диапазоне от-2 до 2.