我正在研究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
这会给任何人敲响声吗?
答案 0 :(得分:0)
好吧,它比我想象的要简单。 Z旋转矩阵提供顺时针旋转,而RAxis矩阵效果是将x轴与z轴交换,并翻转所有轴方向。