亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? eulerangles.h

?? 奇跡世界公用文件源代碼,研究網絡游戲的朋友可以研究下
?? H
字號:
#ifndef N_EULERANGLES_H
#define N_EULERANGLES_H
//------------------------------------------------------------------------------
/**
    @author
    - 
    @since
    - 2005.7.06
    @remarks
    - 瘤肯 眠啊 
*/
#include <stdlib.h>
#include <math.h>
#include "matrix.h"
#include "euler.h"


class nEulerAngles {
public:
    float x,y,z;

    //-- constructors -----------------------------------------------
    nEulerAngles()
        : x(0.0f),
          y(0.0f),
          z(0.0f)
    {};
    nEulerAngles(float _x, float _y, float _z)
        : x(_x),
          y(_y),
          z(_z)
    {};
    nEulerAngles(const nEulerAngles& e)
        : x(e.x),
          y(e.y),
          z(e.z)
    {};
    nEulerAngles(const matrix33& m)
    {
        Set(m);
    }

    //-- setting elements -------------------------------------------
    void Set(float _x, float _y, float _z)
    {
        x = _x;
        y = _y;
        z = _z;
    };
    void Set(const nEulerAngles& e)
    {
        x = e.x;
        y = e.y;
        z = e.z;
    };
    void Set(const matrix33& m)
    {
        int i,j,k,h,n,s,f;
        EulGetOrd(EulOrdXYZs,i,j,k,h,n,s,f);
        if (s == EulRepYes)
        {
            float sy = (float) sqrt(m.m[0][1]*m.m[0][1] + m.m[0][2]*m.m[0][2]);
            if (sy > 16*FLT_EPSILON)
            {
                this->x = (float) atan2(m.m[0][1], m.m[0][2]);
                this->y = (float) atan2(sy, m.m[0][0]);
                this->z = (float) atan2(m.m[1][0], -m.m[2][0]);
            }
            else
            {
                this->x = (float) atan2(-m.m[1][2], m.m[1][1]);
                this->y = (float) atan2(sy, m.m[0][0]);
                this->z = 0;
            }
        }
        else
        {
            float cy = (float) sqrt(m.m[0][0]*m.m[0][0] + m.m[1][0]*m.m[1][0]);
            if (cy > 16*FLT_EPSILON)
            {
                this->x = (float) atan2(m.m[2][1], m.m[2][2]);
                this->y = (float) atan2(-m.m[2][0], cy);
                this->z = (float) atan2(m.m[1][0], m.m[0][0]);
            }
            else
            {
                this->x = (float) atan2(-m.m[1][2], m.m[1][1]);
                this->y = (float) atan2(-m.m[2][0], cy);
                this->z = 0;
            }
        }
        if (n==EulParOdd)
        {
            this->x = -this->x;
            this->y = -this->y;
            this->z = -this->z;
        }
        if (f==EulFrmR)
        {
            float t = this->x;
            this->x = this->z;
            this->z = t;
        }
    }

    matrix33 GetMatrix()
    {
        matrix33 mat;

        double ti, tj, th, ci, cj, ch, si, sj, sh, cc, cs, sc, ss;
        int i,j,k,h,n,s,f;
        EulGetOrd(EulOrdXYZs,i,j,k,h,n,s,f);
        if (f==EulFrmR) {float t = x; x = z; z = t;}
        if (n==EulParOdd) {x = -x; y = -y; z = -z;}
        ti = x;   tj = y;   th = z;
        ci = cos(ti); cj = cos(tj); ch = cos(th);
        si = sin(ti); sj = sin(tj); sh = sin(th);
        cc = ci*ch; cs = ci*sh; sc = si*ch; ss = si*sh;
        if (s==EulRepYes) {
            mat.M11 = (float)(cj);     mat.M12 = (float)( sj*si);    mat.M13 = (float)( sj*ci);
            mat.M21 = (float)(sj*sh);  mat.M22 = (float)(-cj*ss+cc); mat.M23 = (float)(-cj*cs-sc);
            mat.M31 = (float)(-sj*ch); mat.M23 = (float)( cj*sc+cs); mat.M33 = (float)( cj*cc-ss);
        } else {
            mat.M11 = (float)(cj*ch); mat.M12 = (float)(sj*sc-cs); mat.M13 = (float)(sj*cc+ss);
            mat.M21 = (float)(cj*sh); mat.M22 = (float)(sj*ss+cc); mat.M23 = (float)(sj*cs-sc);
            mat.M31 = (float)(-sj);   mat.M32 = (float)(cj*si);    mat.M33 = (float)(cj*ci);
        }

        return mat;
    }

    //-- operators --------------------------------------------------
    bool operator== (const nEulerAngles& e)
    {
        return ((x == e.x) && (y == e.y) && (z == e.z)) ? true : false;
    }

    bool operator!= (const nEulerAngles& e)
    {
        return ((x != e.x) || (y != e.y) || (z != e.z)) ? true : false;
    }
};


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美va亚洲va在线观看蝴蝶网| 亚洲国产精品国自产拍av| 2024国产精品视频| 亚洲美女一区二区三区| 国产精品一区专区| 在线成人av网站| 国产精品久99| 国产成人精品三级| 欧美一区二区三区啪啪| 夜夜夜精品看看| heyzo一本久久综合| 久久久99久久| 国产一区二区0| 69堂成人精品免费视频| 洋洋成人永久网站入口| 国产99久久久久久免费看农村| 91精品国产手机| 亚洲成人激情av| 欧美亚洲动漫另类| 亚洲激情自拍偷拍| 成人免费电影视频| 国产精品每日更新| 丁香桃色午夜亚洲一区二区三区| 精品区一区二区| 久久精工是国产品牌吗| 欧美一区二区在线看| 亚洲一区在线电影| 欧美三级视频在线| 亚洲高清久久久| 欧美日韩精品欧美日韩精品一| 亚洲人快播电影网| 91久久人澡人人添人人爽欧美| 国产精品久久久久永久免费观看| 成人性色生活片免费看爆迷你毛片| 久久久国产综合精品女国产盗摄| 国产精品综合在线视频| 久久婷婷一区二区三区| 成人综合在线视频| 国产精品无遮挡| 色综合久久综合网欧美综合网| 国产精品免费久久久久| 99视频超级精品| 亚洲男同性恋视频| 欧美亚洲免费在线一区| 首页综合国产亚洲丝袜| 在线成人高清不卡| 免费人成网站在线观看欧美高清| 欧美精品日韩一本| 日本亚洲电影天堂| 久久精品视频免费| 91免费在线视频观看| 亚洲va在线va天堂| 欧美成人精品高清在线播放| 国产成人欧美日韩在线电影| 一区二区三区日本| 欧美一级高清大全免费观看| 奇米色777欧美一区二区| 精品噜噜噜噜久久久久久久久试看| 国产麻豆精品theporn| 国产精品麻豆99久久久久久| 欧美系列亚洲系列| 九九精品一区二区| 国产精品免费网站在线观看| 欧美日韩在线一区二区| 久久国产精品一区二区| 成人免费小视频| 欧美性感一区二区三区| 国产麻豆成人传媒免费观看| 亚洲欧美综合网| 日韩一区二区中文字幕| 不卡av电影在线播放| 日韩精品成人一区二区三区| 国产欧美一区二区在线观看| 欧美视频一区二区三区| 国产成人自拍在线| 图片区日韩欧美亚洲| 欧美国产欧美综合| 欧美伦理影视网| 国产成人鲁色资源国产91色综| 自拍av一区二区三区| 欧美xxxxx裸体时装秀| 91国在线观看| 国产成人av电影在线| 日本视频在线一区| 亚洲最新视频在线观看| wwwwww.欧美系列| 欧美一级生活片| 色先锋aa成人| 波多野洁衣一区| 国产一区 二区| 麻豆视频一区二区| 亚洲高清视频在线| 亚洲男同性恋视频| 日本一区二区视频在线观看| 欧美巨大另类极品videosbest| a4yy欧美一区二区三区| 国产在线不卡视频| 日韩经典中文字幕一区| 亚洲欧美日韩国产另类专区| 国产欧美一区二区精品忘忧草 | 婷婷综合五月天| 成人免费小视频| 国产精品久久久久久久久久久免费看 | 一本久久a久久免费精品不卡| 久久成人综合网| 午夜免费久久看| 亚洲国产色一区| 亚洲一区二区在线播放相泽| 亚洲人成在线播放网站岛国| 国产精品美女久久久久久久久久久| 欧美v日韩v国产v| 日韩女优制服丝袜电影| 欧美日韩一区二区在线观看 | av毛片久久久久**hd| 国产一区二区三区四区五区美女| 日韩精品久久理论片| 日韩国产欧美在线观看| 日本在线不卡视频一二三区| 婷婷亚洲久悠悠色悠在线播放| 亚洲精品国产无套在线观| 一个色在线综合| 香蕉影视欧美成人| 七七婷婷婷婷精品国产| 日本一区中文字幕| 国精产品一区一区三区mba桃花| 老司机精品视频导航| 国内外成人在线| 成人精品一区二区三区中文字幕| 成熟亚洲日本毛茸茸凸凹| 不卡视频免费播放| 欧美中文字幕亚洲一区二区va在线| 色综合亚洲欧洲| 欧美蜜桃一区二区三区| 日韩午夜电影av| 久久精品视频网| 亚洲视频免费看| 三级久久三级久久久| 久久不见久久见免费视频7| 国产精品自拍av| 91黄色激情网站| 日韩精品资源二区在线| 欧美激情一区二区| 午夜精品国产更新| 国内精品伊人久久久久av一坑| 99精品欧美一区二区蜜桃免费 | 色欧美片视频在线观看在线视频| 欧美中文字幕一二三区视频| 欧美一区二区免费观在线| 精品99999| 一区二区三区四区蜜桃| 麻豆视频一区二区| 91在线码无精品| 欧美大尺度电影在线| 亚洲桃色在线一区| 奇米影视7777精品一区二区| 成人深夜视频在线观看| 色999日韩国产欧美一区二区| 日韩一区二区高清| 国产精品灌醉下药二区| 午夜精品福利一区二区蜜股av| 国内精品伊人久久久久av影院 | 国产亚洲精品福利| 亚洲福利视频三区| 粉嫩aⅴ一区二区三区四区五区 | 精品中文字幕一区二区| 91亚洲永久精品| 久久久久久黄色| 免费观看在线综合| 99久久综合国产精品| 久久影视一区二区| 日韩精品欧美精品| 97精品国产97久久久久久久久久久久| 69堂国产成人免费视频| 一区二区三区欧美亚洲| 99久久久国产精品| 欧美电视剧在线观看完整版| 悠悠色在线精品| 国产不卡视频一区二区三区| 精品处破学生在线二十三| 性久久久久久久久| 91黄视频在线观看| 亚洲精品视频免费看| 成人听书哪个软件好| 亚洲精品一区二区三区香蕉| 青草国产精品久久久久久| 欧美伊人久久久久久午夜久久久久| 国产精品网站在线| 国产在线视频精品一区| 日韩视频中午一区| 蜜桃视频一区二区| 欧美一卡2卡3卡4卡| 肉色丝袜一区二区| 欧美日韩午夜在线| 亚洲一区二区三区在线看| 91天堂素人约啪| 日韩理论在线观看| 成人h动漫精品一区二| 亚洲特级片在线| 在线亚洲免费视频| 亚洲成人av一区|