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

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

?? xvector.inl

?? 類似于MatLab的東東,當然肯定沒那么好,但基本的數學運算還是有的
?? INL
字號:
#ifndef __XVECTOR_INLINE_INCLUDE__ 
#define __XVECTOR_INLINE_INCLUDE__ 

#ifndef IN_MATHLIB_NAMESPACE
#error   You cann't include this file out the XMathLib  namespace
#endif

    class  _MATH_LIB_EXPORT_ XVector
    {
    public:
        //Constructor build a vector
        XVector(float _x = 0,float _y = 0,float _z = 0,float _w = 1):x(_x),y(_y),z(_z),w(_w){};
        XVector(XVector2D& v){x = v.x ; y = v.y ; z = 0   ; w = 1 ;};
        XVector(XVector3D& v){x = v.x ; y = v.y ; z = v.z ; w = 1 ;};
        ~XVector(){};//Force a Null destorier

    public:
        float XVector::fabs()           {return (float) sqrt(x*x + y*y + z*z); }
        float XVector::dp3(XVector& v1) {return v1.x * x + v1.y * y + v1.z * z;}
        float XVector::dp4(XVector& v1) {return v1.x * x + v1.y * y + v1.z * z + v1.w * w;}
        void  XVector::add(XVector& v1) { x += v1.x; y += v1.y; z += v1.z; }
        void  XVector::sub(XVector& v1) { x += v1.x; y += v1.y; z += v1.z; }

        void       rhw(){ x/=w ; y/=w ; z/=w ; w=1; }//歸一化
        float      len(){ return sqrt(x * x + y * y + z * z) ;}
        float      squardlen(){return (x * x + y * y + z * z) ;}

        //-------------------------------------------------------
        //叉積
        //-------------------------------------------------------
        XVector XVector::cp(XVector& v1)
        {
            float nx = y * v1.z - v1.y * z;
            float ny = z * v1.x - v1.z * x;
            float nz = x * v1.y - v1.x * y;
            return XVector(nx,ny,nz,1);
        }

        //-------------------------------------------------------
        //向量單位化
        //-------------------------------------------------------
        void XVector::normalize()
        {
            float len = (float) sqrt(x*x + y*y + z*z);

            if(len == 0)
                return ;
            x/=len;
            y/=len;
            z/=len;
            w = 1;
        };
        void XVector::normalize(XVector& out)
        {
            float len = (float) sqrt(x*x + y*y + z*z);
            if(len == 0)
                return ;
            out.x/=len;
            out.y/=len;
            out.z/=len;
            out.w = 1;
        };
    public:


        //-------------------------------------------------------
        //以下為重載的運算
        //讓向量能和其它數字一樣運算.
        //-------------------------------------------------------
        void    operator *=(float s){x*=s;y*=s;z*=s;};

        bool      operator ==(XVector& v) {return (v.x == x && v.y == y && v.z == z && v.w == w) ; }

        XVector XVector::operator -(XVector& v1)
        {
            return XVector(x - v1.x , y-v1.y ,z - v1.z, 1  );
        }

        XVector XVector::operator -()
        {
            return XVector(-x , -y ,- z, w );
        }

        XVector XVector::operator +(XVector& v1)
        {
            return XVector(x + v1.x , y + v1.y ,z + v1.z, 1  );
        }
        XVector XVector::operator *(float s)
        {
            return XVector(x * s,y * s,z * s , 1);
        }
        float   XVector::operator *(XVector& v1)
        {
            return (v1.x * x + v1.y * y + v1.z * z) ;
        }
        //-------------------------------------------------------
        //Cross product
        //-------------------------------------------------------
        XVector XVector::operator ^(XVector& v1)
        {
            float nx = y * v1.z - v1.y * z;
            float ny = z * v1.x - v1.z * x;
            float nz = x * v1.y - v1.x * y;
            return XVector(nx,ny,nz,1);
        }
        //-------------------------------------------------------
        //求夾角
        //-------------------------------------------------------
        float XVector::operator |(XVector& v1)
        {
            float t = dp3(v1)/(fabs() * v1.fabs());
            return (float)XM_ACosD(t);
        }
        //-------------------------------------------------------
        //是否平行
        //-------------------------------------------------------
        bool XVector::operator||(XVector& v1)
        {
            float nx = y * v1.z - v1.y * z;
            float ny = z * v1.x - v1.z * x;
            float nz = x * v1.y - v1.x * y;

            if(nx == 0 && ny == 0 && nz == 0)
                return true;
            else 
                return false;
        }
        //-------------------------------------------------------
        //向量夾角
        //-------------------------------------------------------
        float XVector::Clamp(XVector& v1)
        {
            float t = dp3(v1)/(fabs() * v1.fabs());
            return (float)XM_ACosD(t);
        }



    public://We set this data public is for easy access
        union
        {
            struct
            {
                float x;
                float y;
                float z;
                float w;//Four component the w is useful ......
            };
            //for texture coordinate
            struct
            {
                float s,t,r,q;
            };
            float v[4];
        };
    };
    typedef XVector XVector4D;
#endif



















?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天综合色天天| 日本成人超碰在线观看| 欧美第一区第二区| 欧美日韩中文精品| 欧美亚洲国产一卡| 精品视频1区2区| 制服丝袜一区二区三区| 91精品欧美久久久久久动漫| 欧美人狂配大交3d怪物一区| 欧美三级资源在线| 日韩三级视频中文字幕| 日韩区在线观看| 亚洲精品一区二区三区蜜桃下载 | 视频一区二区中文字幕| 亚洲午夜精品在线| 蜜臀av一区二区三区| 九九**精品视频免费播放| 国产在线视视频有精品| 国产不卡免费视频| 在线区一区二视频| 日韩视频在线你懂得| 久久精品亚洲麻豆av一区二区| 国产欧美一区二区精品婷婷| 国产精品久久久久久福利一牛影视| 亚洲人吸女人奶水| 午夜激情综合网| 国产精品亚洲人在线观看| av一区二区三区黑人| 欧美另类videos死尸| 久久噜噜亚洲综合| 夜夜嗨av一区二区三区中文字幕 | 久久亚区不卡日本| 亚洲欧美在线观看| 免费高清视频精品| 99久久精品情趣| 日韩欧美www| 亚洲免费av观看| 久久精品国产澳门| 色婷婷综合五月| 亚洲精品在线网站| 亚洲国产一二三| 成人深夜在线观看| 日韩精品综合一本久道在线视频| 国产精品久久看| 久久精品久久久精品美女| 91在线观看一区二区| 欧美一区二区视频在线观看2022| 国产精品久久福利| 紧缚奴在线一区二区三区| 日本高清不卡在线观看| 国产亚洲成年网址在线观看| 亚洲国产精品一区二区尤物区| 国产精品69毛片高清亚洲| 日韩一区二区三区视频| 亚洲成人激情社区| 99精品偷自拍| 国产精品免费丝袜| 国产乱淫av一区二区三区| 欧美一级搡bbbb搡bbbb| 一区二区三区在线视频免费观看| 国产成人一区在线| 精品国产露脸精彩对白| 美女诱惑一区二区| 制服丝袜亚洲精品中文字幕| 亚洲高清在线视频| 91蝌蚪porny| 国产精品国产三级国产aⅴ入口| 国产一区在线不卡| 久久免费午夜影院| 久久精品免费看| 日韩精品一区二区三区在线播放 | 国产中文字幕一区| 91精品国产综合久久蜜臀| 天堂久久一区二区三区| 欧美日韩国产综合久久| 亚洲国产精品一区二区久久恐怖片| 福利一区福利二区| 国产三级欧美三级日产三级99| 久久99久久99小草精品免视看| 日韩欧美中文一区| 国产一区二区三区在线观看免费视频 | 欧美三级乱人伦电影| 亚洲一区二区三区四区的| 欧美三片在线视频观看 | 欧美人体做爰大胆视频| 午夜欧美视频在线观看| 3atv在线一区二区三区| 久久黄色级2电影| 久久久国产精品不卡| 国产v综合v亚洲欧| 亚洲一线二线三线视频| 欧美性感一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩欧美国产一区二区三区| 国产制服丝袜一区| 亚洲人吸女人奶水| 91麻豆精品国产自产在线| 国产一区二区视频在线| 中文字幕视频一区| 91精品在线观看入口| 国产一区二区三区国产| √…a在线天堂一区| 欧美日韩国产综合一区二区| 黄色精品一二区| 亚洲欧美另类久久久精品| 日韩一区二区三区观看| 国产福利视频一区二区三区| 亚洲一区二区三区在线播放| 欧美va在线播放| 97久久精品人人做人人爽50路| 日韩成人精品在线| 中文字幕在线不卡| 欧美成人精精品一区二区频| 91丨九色丨尤物| 激情综合网天天干| 一区二区在线观看免费视频播放| 日韩欧美国产一区在线观看| 91丨九色丨黑人外教| 国产一区三区三区| 亚洲成人精品一区二区| 国产精品美女久久久久aⅴ国产馆| 欧美吻胸吃奶大尺度电影 | 久久久精品日韩欧美| 91视频免费播放| 国产黄色91视频| 日日夜夜免费精品视频| 亚洲视频一区二区在线| 久久中文娱乐网| 欧美电影影音先锋| 色综合久久中文字幕| 国产精品 欧美精品| 美腿丝袜亚洲色图| 天使萌一区二区三区免费观看| 中文字幕一区二区三区在线不卡| 26uuu国产在线精品一区二区| 欧美日韩精品一区二区三区四区| av亚洲精华国产精华| 国产一区福利在线| 韩国欧美国产1区| 久久成人免费电影| 日韩专区在线视频| 亚洲成人777| 亚洲国产欧美在线| 亚洲综合色婷婷| 一区二区三区中文在线| 伊人夜夜躁av伊人久久| 午夜精品福利一区二区三区蜜桃| 中文在线一区二区| 久久久亚洲欧洲日产国码αv| 欧美一区二区三区在线电影 | 日韩一区二区三区电影在线观看 | 欧洲av在线精品| 在线免费观看成人短视频| 91国产福利在线| 欧美午夜精品一区二区蜜桃| 在线看不卡av| 欧日韩精品视频| 欧美乱妇23p| 精品久久人人做人人爱| 欧美va日韩va| 国产人成亚洲第一网站在线播放| 久久免费视频色| 国产精品久久久一区麻豆最新章节| 欧美国产成人在线| 亚洲精品va在线观看| 丝袜美腿亚洲综合| 毛片av一区二区三区| 国产一区二区精品久久91| 成人永久aaa| 欧美一a一片一级一片| 91精品国产综合久久久久| 精品国产区一区| 一区在线观看视频| 亚洲成a人片综合在线| 狠狠色综合播放一区二区| 成人免费视频一区| 欧洲日韩一区二区三区| 日韩欧美高清一区| 国产精品久久久久久久久免费樱桃 | 国产·精品毛片| 成人午夜电影小说| 日本丶国产丶欧美色综合| 91麻豆精品91久久久久同性| 久久久久久久久岛国免费| 亚洲欧美综合色| 蜜桃一区二区三区在线观看| 国产91在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 成人午夜电影网站| 欧美日韩在线三级| 国产日韩欧美一区二区三区乱码 | 日韩美女一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲三级视频在线观看| 日本美女视频一区二区| 色综合天天综合网天天狠天天| 一区二区三区四区国产精品| 久久爱www久久做| 欧美色图第一页| 欧美国产一区视频在线观看|