我有一个旋转矩阵,其中右为+ x,上为+ y,正向为-z。这是标准的OpenGL主轴。
我需要在一个新的坐标系中表示此旋转矩阵,向下坐标为+ y,正向坐标为+ z。因此,新系统的y和z轴已翻转。
我目前的策略是使用此公式。
rotation a = get_rotation();
rotation b = rotation(
1, 0, 0,
0, -1, 0,
0, 0, -1
);
a = b * a * transpose(b);
尽管这似乎会产生不正确的结果。
将旋转矩阵从一个参考系转换为另一个参考系的正确方法是什么?
答案 0 :(得分:0)
在a = b * a * transpose(b)
中乘以b
和transpose(b)
将相互抵消。即中心矩阵元素将乘以(-1)
两次。
您是否尝试过a = b * a
?