锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产高清国内精品福利99久久,一本大道加勒比久久综合,av无码久久久久不卡免费网站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 鍙戣〃璇勮
]]>
国产一级做a爰片久久毛片| 国产国产成人久久精品| 大香伊人久久精品一区二区 | 91性高湖久久久久| 久久久久无码精品| 综合人妻久久一区二区精品| 99久久免费国产特黄| 久久天天躁狠狠躁夜夜不卡| 国产A级毛片久久久精品毛片| 99久久免费国产精精品| 亚洲午夜久久久| 久久精品国产免费一区| 亚洲国产综合久久天堂| 久久精品亚洲中文字幕无码麻豆| 激情久久久久久久久久| 人妻无码中文久久久久专区| 久久丝袜精品中文字幕| 精品午夜久久福利大片| 7777精品久久久大香线蕉| 久久精品国产99国产精品| 久久99亚洲网美利坚合众国| 思思久久99热只有频精品66| 久久精品国产免费| 国产成人久久激情91| 亚洲精品无码久久久久去q| 久久久久久无码国产精品中文字幕 | 久久精品18| 国产巨作麻豆欧美亚洲综合久久 | 久久免费精品视频| 中文国产成人精品久久不卡| 久久久久一本毛久久久| 99精品久久久久久久婷婷| 国产成人久久激情91| 国产综合久久久久| 久久超碰97人人做人人爱| 亚洲香蕉网久久综合影视| 国产成人无码精品久久久性色| 手机看片久久高清国产日韩| 四虎国产精品免费久久| 国产A级毛片久久久精品毛片| 欧美亚洲国产精品久久高清 |