• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Ogre 的 四元數(shù)quaternion

            Posted on 2008-07-23 15:26 RichardHe 閱讀(2595) 評(píng)論(1)  編輯 收藏 引用 所屬分類(lèi): OGRE

            quaternion是一個(gè)標(biāo)量和一個(gè)3D向量的組合。q={ w,x,y,z},Ogre中一個(gè)默認(rèn)的quaternion ={1,0,0,0} ,一般用于空間一點(diǎn)的旋轉(zhuǎn),假設(shè)空間一點(diǎn)叫p,將要旋轉(zhuǎn)角度是α,旋轉(zhuǎn)軸是(x,y,z),那么:

            p={0,x0,y0,z0}

            q= {cos(α/ 2) , sina(α/ 2) Nx, sin(α/ 2)Ny, sin(α/ 2)Nz } (N為單位向量)

            p結(jié)果 =q*p*q-1

            在數(shù)學(xué)上,quaternion表示復(fù)數(shù)w+xi+yj+zk,其中i,j,k都是虛數(shù)單位,而復(fù)數(shù)乘法(叉乘)的幾何意義實(shí)際上就是對(duì)復(fù)數(shù)進(jìn)行旋轉(zhuǎn)。這也是OGRE為什么要用quaternion的原因(比Matrix更快捷更節(jié)省空間),對(duì)最簡(jiǎn)單的二維復(fù)數(shù)p= x + yi來(lái)說(shuō),和另一個(gè)q = ( conα,sinα)相乘,則表示把p沿逆時(shí)針?lè)较蛐D(zhuǎn)α:p’ = pq ,這是2D旋轉(zhuǎn).

            如果要表示3D旋轉(zhuǎn),就需要3D復(fù)數(shù)了,于是就有了"四元數(shù)",q=w+ix+jy+kz (i,j,k都是虛數(shù))

            其中j,j,k關(guān)系如下:

               i2 = j2 = k2 = -1
               i * j = k = -j * i
               j * k = i = -k * j
               k * i = j = -i * k


            四元數(shù)加法:
            q1 + q2 = (w1+w2) + (x1+x2) i + (y1+y2) j + (z1+z2) k
            四元數(shù)乘法:
            q1 * q2 =
            (w1*w2 - x1*x2 - y1*y2 - z1*z2) +
            (w1*x2 + x1*w2 + y1*z2 - z1*y2) i +
            (w1*y2 - x1*z2 + y1*w2 + z1*x1) j +
            (w1*z2 + x1*y2 - y1*x2 + z1*w2
            )    k

            OGRE源代碼里這樣定義乘法:

            Quaternion Quaternion::operator* (const Quaternion& rkQ) const
                {
                    // cases p*q != q*p.

                    return Quaternion
                    (
                        w * rkQ.w - x * rkQ.x - y * rkQ.y - z * rkQ.z,
                        w * rkQ.x + x * rkQ.w + y * rkQ.z - z * rkQ.y,
                        w * rkQ.y + y * rkQ.w + z * rkQ.x - x * rkQ.z,
                        w * rkQ.z + z * rkQ.w + x * rkQ.y - y * rkQ.x
                    );
                }

            Feedback

            # re: Ogre 的 四元數(shù)quaternion  回復(fù)  更多評(píng)論   

            2012-03-28 00:08 by 于滌塵
            四元數(shù)是哈密頓'發(fā)明'的不倫不類(lèi)的東西!概其要者為:
            (1)i、j、k的平方皆為-1,可能嗎?即它們無(wú)差別嗎?
            (2)i、j、k的兩兩相乘倒顯得有差別了。但是,為什么、道理是什么?若說(shuō),這是亇'約定',沒(méi)什么道理可講。那么我們又得問(wèn)了:約定就那么隨意?不要'公信度'嗎?如果不顧及約定的公信度,還有意義嗎?
            (3)在代數(shù)運(yùn)算這里,尚可混混日子。一旦到了分析運(yùn)算那里,日子就混不下去了!人們要求建筑在四元數(shù)系上的函數(shù)的解析條件,你拿得出來(lái)嗎?

            posts - 94, comments - 138, trackbacks - 0, articles - 94

            Copyright © RichardHe

            人妻无码久久一区二区三区免费| 久久精品无码一区二区三区| 久久精品国产一区| 人妻无码久久一区二区三区免费 | 色偷偷88888欧美精品久久久| 久久精品国产亚洲沈樵| 欧美黑人激情性久久| 国产亚洲综合久久系列| 国产香蕉久久精品综合网| 久久国产色AV免费观看| 色偷偷88888欧美精品久久久| 亚洲国产成人久久综合碰碰动漫3d| 精品国产99久久久久久麻豆| 久久久久亚洲?V成人无码| 久久免费小视频| 久久久中文字幕| 欧美一区二区精品久久| 成人精品一区二区久久| 99久久er这里只有精品18| 中文字幕久久久久人妻| 日韩精品无码久久一区二区三 | 亚洲乱亚洲乱淫久久| AV狠狠色丁香婷婷综合久久| 精品久久久久久久| 久久国产一片免费观看| 久久综合色老色| 久久精品无码一区二区无码 | 久久久久久久久66精品片| 欧美午夜A∨大片久久| 久久夜色精品国产噜噜亚洲AV| 无码久久精品国产亚洲Av影片| 精品少妇人妻av无码久久| 久久精品国产清自在天天线| 四虎国产精品成人免费久久| 久久久久久综合一区中文字幕| 久久精品视频91| 国产免费久久精品丫丫| 欧美熟妇另类久久久久久不卡 | 99久久超碰中文字幕伊人| 久久人人爽人人爽人人片AV麻豆 | 久久久久国产精品人妻|