首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

关于矩阵转换

2013-03-20 
关于矩阵变换很简单的一个旋转问题,不过想了很久一直没有明白,希望论坛上的各位解答。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度逐帧显示。然而实际中我并没有发现这样的情况,程序总是非常正常的从第一帧开始就正常旋转。请问各位牛人这是为什么?
[解决办法]
  可能是你的错觉吧,你让上面这段代码只执行一次,就知道他的初始位置在哪了。 

热点排行