锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产亚洲av麻豆蜜芽,久久九九兔免费精品6,久久久久久噜噜精品免费直播http://www.shnenglu.com/wmgl/articles/70638.htmlnoBugnoGainnoBugnoGainMon, 29 Dec 2008 03:03:00 GMThttp://www.shnenglu.com/wmgl/articles/70638.htmlhttp://www.shnenglu.com/wmgl/comments/70638.htmlhttp://www.shnenglu.com/wmgl/articles/70638.html#Feedback0http://www.shnenglu.com/wmgl/comments/commentRss/70638.htmlhttp://www.shnenglu.com/wmgl/services/trackbacks/70638.html#include <iostream.h>

struct Quaternion
{
    float x;
    float y;
    float z;
    float w;
};

struct rotMatrix
{
    float m11, m12, m13;
    float m21, m22, m23;
    float m31, m32, m33;
};


//fuction:鏃嬭漿鐭╅樀鍒板洓鍏冩暟鐨勮漿鎹?br>void rotMatrixToQuternion(Quaternion &q, rotMatrix &r)
{
    float tr = r.m11 + r.m22 +r.m33;
    float temp = 0.0;
    if(tr > 0.0)
    {
        temp = 0.5f / sqrtf(tr+1);
        q.w = 0.25f / temp;
        q.x = (r.m23 - r.m32) * temp;
        q.y = (r.m31 - r.m13) * temp;
        q.z = (r.m12 - r.m21) * temp;
    }
    else
    {
        if(r.m11 > r.m22 && r.m11 > r.m33)
        {
            temp = 2.0f * sqrtf(1.0f + r.m11 - r.m22 - r.m33);
            q.w = (r.m32 - r.m23) / temp;
            q.x = 0.25f * temp;
            q.y = (r.m12 + r.m21) / temp;
            q.z = (r.m13 + r.m31) / temp;
        }
        else if( r.m22 > r.m33)
        {
            temp = 2.0f * sqrtf(1.0f + r.m22 - r.m11 - r.m33);
            q.w = (r.m13 - r.m31) / temp;
            q.x = (r.m12 + r.m21) / temp;
            q.y =  0.25f * temp;
            q.z = (r.m23 + r.m32) / temp;
        }
        else
        {
            temp = 2.0f * sqrtf(1.0f + r.m33 - r.m11 - r.m22);
            q.w = (r.m21 - r.m12) / temp;
            q.x = (r.m13 + r.m31) / temp;
            q.y = (r.m23 + r.m32) / temp;
            q.z = 0.25f * temp;
        }
    }
}

void main()
{
    float m1[9] = {0.01551372092999463200, 0.99884343581246959000, -0.04550950666890610900,
        0.99922238739871228000 ,-0.01713749902859566800 ,-0.03550952897832390700,
        -0.03624837905512174500, -0.04492323298011671700, -0.99833258894743582000};
    rotMatrix rm1;
    rm1.m11 = m1[0];
    rm1.m12 = m1[1];
    rm1.m13 = m1[2];
    rm1.m21 = m1[3];
    rm1.m22 = m1[4];
    rm1.m23 = m1[5];
    rm1.m31 = m1[6];
    rm1.m32 = m1[7];
    rm1.m33 = m1[8];
   
    Quaternion q1;
   
    rotMatrixToQuternion(q1, rm1);
    cout<<q1.x<<" "<<q1.y<<" "<<q1.z<<" "<<q1.w<<endl;


    float m2[9] = {0.01614490437974924100, 0.99884677638989772000, -0.04521569813768747100,
        0.99856922398083869000, -0.01380176413826810800, 0.05166252244109931900,
        0.05097888759941932700, -0.04598509108593063600, -0.99764047853770654000};
    rotMatrix rm2;
    rm2.m11 = m2[0];
    rm2.m12 = m2[1];
    rm2.m13 = m2[2];
    rm2.m21 = m2[3];
    rm2.m22 = m2[4];
    rm2.m23 = m2[5];
    rm2.m31 = m2[6];
    rm2.m32 = m2[7];
    rm2.m33 = m2[8];
   
    Quaternion q2;
   
    rotMatrixToQuternion(q2, rm2);
    cout<<q2.x<<" "<<q2.y<<" "<<q2.z<<" "<<q2.w<<endl;
}




noBugnoGain 2008-12-29 11:03 鍙戣〃璇勮
]]>
日韩av无码久久精品免费| 国产精品久久久久久久久久影院 | 久久最近最新中文字幕大全| 国产精品亚洲综合专区片高清久久久 | 久久精品国产只有精品66| 久久人人妻人人爽人人爽| 亚洲欧美国产精品专区久久| 国产日产久久高清欧美一区| 日本人妻丰满熟妇久久久久久| 国产成人综合久久精品尤物| 国产成人精品综合久久久| 亚洲?V乱码久久精品蜜桃| 国产精品成人99久久久久 | 久久久久成人精品无码| 无码精品久久久久久人妻中字| 国产精品99久久久久久宅男小说 | 模特私拍国产精品久久| 久久久精品久久久久特色影视| 色偷偷久久一区二区三区| 青草久久久国产线免观| 久久久久久久尹人综合网亚洲 | 亚洲午夜久久久影院| 久久综合视频网站| 2020国产成人久久精品| 韩国三级中文字幕hd久久精品 | 久久男人Av资源网站无码软件| 午夜精品久久久久9999高清| 国产 亚洲 欧美 另类 久久 | 欧美激情一区二区久久久| 久久91这里精品国产2020| 精品久久777| 好久久免费视频高清| 亚洲AV日韩精品久久久久久| 久久婷婷色综合一区二区| 少妇久久久久久久久久| 久久精品国产亚洲AV久| 久久亚洲精品无码VA大香大香| 最新久久免费视频| 亚洲伊人久久综合中文成人网| 日韩久久无码免费毛片软件| 亚洲国产精品狼友中文久久久|