相机旋转矩阵和欧拉角

时间:2015-02-20 10:22:53

标签: 3d camera rotation coordinate-transformation euler-angles

我正在研究Matlab写的一些其他人编写的代码。 基本上他从欧拉角开始计算旋转矩阵。 这个旋转矩阵用于在摄像机视角中改变世界(如果我不弄乱术语,它就是视图矩阵)。

MatRotX = [1 0 0; 0 cos(X_ang) -sin(X_ang); 0 sin(X_ang) cos(X_ang);];
MatRotY = [cos(Y_ang) 0 sin(Y_ang); 0 1 0; -sin(Y_ang) 0 cos(Y_ang)];
MatRotZ = [cos(Z_ang) sin(Z_ang) 0; -sin(Z_ang) cos(Z_ang) 0; 0 0 1;];

RAxis = [   0   0   -1; 0   -1   0; -1   0   0;];

M =  RAxis * MatRotX * MatRotY * MatRotZ ;

我不明白他在这里想要达到的目标,特别是两个问题。 那里的RAxis目的是什么?另外,为什么围绕Z轴(偏转)的旋转将其某些符号反转为通常的Z旋转矩阵,通常是         MatRotZ = cos(z_ang)-sin(z_ang)0;          sin(z_ang)cos(z_ang)0;         0 0 1

这会给任何人敲响声吗?

1 个答案:

答案 0 :(得分:0)

好吧,它比我想象的要简单。 Z旋转矩阵提供顺时针旋转,而RAxis矩阵效果是将x轴与z轴交换,并翻转所有轴方向。