登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

聊天机器

Chatbot's private blog

 
 
 

日志

 
 

四元数转旋转矩阵  

2015-01-25 11:25:20|  分类: 程序理论 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
baidu出来的很多都错的,我真的不明白,既然没验证拿出来那不是害人么?

    void RotateMatrix( const CFQuaternion & fq, C4FMatrix * pOut )
    {
        float32 queLength = Length( fq );
        float32 rLength = IsEqual( queLength, 1.0f ) ? 2.0f / queLength : 2.0f;
        float32 wx,wy,wz,xx,yy,zz,xy,xz,yz,x2,y2,z2;
        x2 = rLength * fq.x;
        y2 = rLength * fq.y;
        z2 = rLength * fq.z;

        xx = x2 * fq.x;
        xy = y2 * fq.x;
        xz = z2 * fq.x;

        yy = y2 * fq.y;
        yz = z2 * fq.y;

        zz = z2 * fq.z;

        wx = x2 * fq.w;
        wy = y2 * fq.w;
        wz = z2 * fq.w;

        pOut->Identity();
        pOut->_11 = 1.0f - ( yy + zz );        pOut->_12 = xy + wz;            pOut->_13 = xz - wy;
        pOut->_21 = xy - wz;                pOut->_22 = 1.0f - (xx + zz);    pOut->_23 = yz + wx;
        pOut->_31 = xz + wy;                pOut->_32 = yz - wx;            pOut->_33 = 1.0f - ( xx + yy );
    }
  评论这张
 
阅读(282)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018