关于矩阵转换
关于矩阵变换很简单的一个旋转问题,不过想了很久一直没有明白,希望论坛上的各位解答。FLOAT fAngle (floa
关于矩阵变换
很简单的一个旋转问题,不过想了很久一直没有明白,希望论坛上的各位解答。
FLOAT fAngle = (float)::timeGetTime() / 1000.0f * D3DX_PI;
D3DXMatrixRotationY(&Ry, fAngle);
matWorld = Ry * matWorld;
关键代码就这三句,主要是沿着Y轴每秒旋转180度。 timeGetTime()这个函数返回从开机到程序执行这行代码时所经历的时间,单位是毫秒,那么第一次执行这行代码时,timeGetTime()返回值不确定,比如1500ms,那么计算结果为1.5 * PI弧度,也就是第一帧将会旋转270度,然后再按照每秒旋转180度逐帧显示。然而实际中我并没有发现这样的情况,程序总是非常正常的从第一帧开始就正常旋转。请问各位牛人这是为什么?
[解决办法] 可能是你的错觉吧,你让上面这段代码只执行一次,就知道他的初始位置在哪了。