+ -
当前位置:首页 → 问答吧 → 问一下这个函数到底是如何旋转矩阵的??

问一下这个函数到底是如何旋转矩阵的??

时间:2011-12-23

来源:互联网

是在三个轴上分别旋转,那先后顺序呢??谢谢
C/C++ code

inline D3DXMATRIX* SetRotation(D3DXMATRIX* pOut,float fX, float fY, float fZ)
{
#ifdef DEBUG
    if(!pOut)
    {
        assert(0);
        return NULL;
    }
#endif

    D3DXMatrixIdentity(pOut);
    double cx = cos(fX);
    double sx = sin(fX);
    double cy = cos(fY);
    double sy = sin(fY);
    double cz = cos(fZ);
    double sz = sin(fZ);

    pOut->_11 = (float)(cy * cz);
    pOut->_12 = (float)(cy * sz);
    pOut->_13 = (float)(-sy);

    pOut->_21 = (float)(sx * sy * cz - cx * sz);
    pOut->_22 = (float)(sx * sy * sz + cx * cz);
    pOut->_23 = (float)(sx * cy);

    pOut->_31 = (float)(cx * sy * cz + sx * sz);
    pOut->_32 = (float)(cx * sy * sz - sx * cz);
    pOut->_33 = (float)(cx * cy);
}

作者: RabbitLBJ   发布时间: 2011-12-23

这是制作旋转矩阵的公式啊

作者: P_hantom   发布时间: 2011-12-24

热门下载

更多