专家您好!
我有一个欧拉旋转矩阵:
a11 = cos(psi)*cos(phi) - cos(theta)*sin(phi)*sin(psi);
a12 = cos(psi)*sin(phi) + cos(theta)*cos(phi)*sin(psi);
a13 = sin(psi)*sin(theta);
a21 = -sin(psi)*cos(phi) - cos(theta)*sin(phi)*cos(psi);
a22 = -sin(psi)*sin(phi) + cos(theta)*cos(phi)*cos(psi);
a23 = cos(psi)*sin(theta);
a31 = sin(theta)*sin(phi);
a32 = -sin(theta)*cos(phi);
a33 = cos(theta);
rotationMatrix = [a11 a12 a13; a21 a22 a23; a31 a32 a33]
我确定旋转矩阵是正确的。当我尝试对 wobj 文件(在本例中为框)应用旋转时,会出现问题。
我想旋转一个看起来像这样的盒子:
vertices =
0 0 0
0 2 0
0 2 2
0 0 2
2 0 2
2 0 0
2 2 0
2 2 2
如果我做:
rot= rotationMatrix*vertices'
然后在旋转后再次将顶点转回来
FV.vertices = rot'
我得到一个错误的旋转。谁能帮帮我?
问题说明: