logo search
Инж

4.1.8. Правило выполнения преобразований

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

В правосторонней или левосторонней системе координат определяются поворачиваемые координатные векторы?

Вращается объект или система координат?

Как определяется положительный или отрицательный поворот?

Координаты записываются в виде строки или столбца матрицы?

Вокруг какой линии или оси осуществляется поворот?

В данном изложении используется правосторонняя система координат, объект вращается в неподвижной координатной системе, положительный поворот определяется правилом правой руки, т. е. поворот по часовой стрелке осуществляется вокруг оси при наблюдении от начала вдоль положительной оси, и координатные векторы представляются в виде строки матрицы.

Выражение (4.35) задает преобразование для положительного поворота вокруг начала координат или оси z. Так как вектор задается строкой матрицы, то матрицу преобразования следует разместить после данных или матрицы координатных векторов. Это преобразование задается путем умножения справа. В случае однородных координат для положительного поворота объекта на угол θ вокруг начала координат (оси z) использование умножения справа приводит к следующему результату:

. (4.58)

Если подставить координатные векторы, заданные в однородных координатах в виде столбца матрицы, то поворот можно выполнить следующим образом:

. (4.59)

Выражение (4.59) называется преобразованием с умножением слева, так как матрица преобразования расположена перед столбцом координатного вектора или данных. Заметим, что (33)-матрица в выражении (4.59) есть транспозиция (33)-матрицы из выражения (4.58). Это свидетельствует о независимости строк и столбцов матрицы.

Для того чтобы повернуть систему координат и оставить неизменными координатные векторы, необходимо в выражении (4.58) заменить θ на –θ. Вспомним, что sin θ = –sin (–θ), а cos θ = cos(–θ).

Теперь выражение (4.58) будет иметь вид

. (4.60)

Заметим, что (33)-матрица опять имеет обратную и также транспонируется в матрицу из (4.58).

Е

Рис. 4.16

сли вращается система координат и используется левосторонняя координатная система, то замену θ на –θ надо производить дважды, а уравнение (4.58) снова оказывается справедливым при допущении, что применяется последующее умножение на строку матрицы данных.

Как показано на рис. 4.16, вращение против часовой стрелки векторов, задающих объект, идентично повороту в том же направлении координатных осей при неподвижном объекте.

Опять нет необходимости в изменении содержимого матрицы преобразования 33, если нет других причин для её редактирования. Эти несколько примеров показывают, насколько аккуратно необходимо выполнять матричные преобразования.