|
|
上次也问过这个问题,不过那次自以为解决了问题,实际上还是没有。
问题是这样的:一个球先后绕x,y,z轴转过w0,w1,w2的弧度(先绕x轴转w0,在这个结果的基础上绕当时的y轴转w1,w2也是同理),记为(w0, w1, w2),如何得到对应的旋转矩阵?
上次我用D3DXMatrixRotationAxis函数,以向量(w0, w1, w2)为转轴,向量的长度为转过弧度,得到了旋转矩阵。乍看之下,球转起来都很正常,但是今天发现当w2非常大的时候,尽管w0增加了pi,但是球看起来根本没有变化,原因就是w2很大的时候,向量都指向z方向了,w0的变化对总体的影响很小。同样的w0和w1很大的时候这个问题也一样存在,只不过原先这三者都很小,看起来像那么回事,就以为是对了。
那么这个旋转矩阵应该怎么计算啊?
|
|