在OpenGL矩阵中将俯仰旋转转换为滚动旋转

时间:2020-11-09 10:00:50

标签: opengl matrix rotation coordinates

我有OpenGL(右手坐标,Y向上,-Z前向)4x4变换矩阵,可以正确地旋转偏航,但是俯仰和横滚都被翻转了。位置也是正确的。

有没有一种方法可以将围绕z轴的旋转翻转为实际上围绕x轴旋转,反之亦然?

Transformation matrix [
  x1 y1 z1 w1 
  x2 y2 z2 w2
  x3 y3 z3 w3
  0  0  0  1
]

我尝试将T R S分解出矩阵,并且仅将旋转矩阵与坐标系更改矩阵相乘而没有成功。例如。我尝试过:

Identity matrix with x and z flipped [
  0 0 1
  0 1 0
  1 0 0
]

1 个答案:

答案 0 :(得分:0)

矩阵中的索引不对应于某个轴,也可以将其标记为

[ e11 e12 e13
  e21 e22 e23
  e31 e32 e33 ]

查看本教程 {{3}}