Что такое матрица 3 × 3 для поворота на 180 градусов? - PullRequest
6 голосов
/ 11 августа 2010

Я хочу повернуть QuickTime Move на 180 градусов.

Теперь матрица моего файла (тхд)

1 0 0

0 1 0

0 0 1

Я получил эту матричную форму Корзина .

Что такое матрица 3 × 3 для поворота на 180 градусов?

Ответы [ 4 ]

14 голосов
/ 11 августа 2010

Предполагая, что вы хотите получить однородную матрицу 3x3 для двухмерного вращения вокруг оси Z, тогда вам нужна следующая матрица:

-1  0  0
 0 -1  0
 0  0  1

Если вы хотите повернуть вокруг другой оси, то матрица будет другой.

2 голосов
/ 16 июня 2017

Для трехмерного вращения вокруг оси e обратите внимание, что поворот на 180 градусов вокруг оси e сохранит компонент любого вектора x вдоль e одинаковым и придаст отрицательный знак перпендикулярному компоненту.Пусть x 'будет повернутым вектором.Тогда:

enter image description here

2 голосов
/ 12 февраля 2013

Отмените два вектора, которые не являются осью, вокруг которой вы хотите вращаться.

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

Или, если у вас есть доступ к осям индивидуально (например, вы используете API, который предлагает это), просто используйте что-то ala myMtx.xAxis.NegateInPlace (); myMtx.zAxis.NegateInPlace () для поворота вокруг Y и т. д.

0 голосов
/ 11 августа 2010
-1  0  0
 0 -1  0
 0  0 -1

это должна быть правильная матрица

...