如何创建一个将 X 旋转 a、Y 旋转 b、Z 旋转 c 的旋转矩阵?
我需要公式,除非您使用 ardor3d api 的函数/方法。
矩阵是这样设置的
xx, xy, xz,
yx, yy, yz,
zx, zy, zz
四元数也很好。
参见维基百科。它为每个旋转轴提供单独的矩阵。但X*(Y*(Z*v)))
当然等于(X*Y*Z)*v
,所以可以得到单个旋转矩阵 R 为R=X*Y*Z
。
这对你有用吗?
glrotate(c, 0, 0, 1); // with respect to Z axis
glrotate(b, 0, 1, 0); // with respect to Y axis
glrotate(a, 1, 0, 0); // with respect to X axis