• <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 的 四元數quaternion

            Posted on 2008-07-23 15:26 RichardHe 閱讀(2605) 評論(1)  編輯 收藏 引用 所屬分類: OGRE

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

            p={0,x0,y0,z0}

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

            p結果 =q*p*q-1

            在數學上,quaternion表示復數w+xi+yj+zk,其中i,j,k都是虛數單位,而復數乘法(叉乘)的幾何意義實際上就是對復數進行旋轉。這也是OGRE為什么要用quaternion的原因(比Matrix更快捷更節省空間),對最簡單的二維復數p= x + yi來說,和另一個q = ( conα,sinα)相乘,則表示把p沿逆時針方向旋轉α:p’ = pq ,這是2D旋轉.

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

            其中j,j,k關系如下:

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


            四元數加法:
            q1 + q2 = (w1+w2) + (x1+x2) i + (y1+y2) j + (z1+z2) k
            四元數乘法:
            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 的 四元數quaternion  回復  更多評論   

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

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

            Copyright © RichardHe

            久久99热国产这有精品| 国产91久久精品一区二区| 久久午夜免费视频| 久久精品中文无码资源站| 97久久精品人人澡人人爽| 久久这里有精品| 夜夜亚洲天天久久| 日韩人妻无码一区二区三区久久 | 97精品久久天干天天天按摩| 青青青国产成人久久111网站| 奇米影视7777久久精品| 日韩一区二区久久久久久| 久久久久久综合网天天| 7国产欧美日韩综合天堂中文久久久久| 一本久久免费视频| 国产精品久久久久久久| 777午夜精品久久av蜜臀| 国产精品嫩草影院久久| 亚洲AV无码久久精品狠狠爱浪潮| 国产女人aaa级久久久级| 久久99精品国产麻豆| 久久久久亚洲AV无码专区首JN| 精品久久一区二区| 久久国产亚洲高清观看| 久久久久99这里有精品10| 亚洲国产天堂久久综合网站| 精品蜜臀久久久久99网站| 亚洲精品乱码久久久久久按摩| 久久国产影院| 天天综合久久一二三区| 精品人妻伦九区久久AAA片69| 天天爽天天爽天天片a久久网| 久久天堂AV综合合色蜜桃网| 色狠狠久久AV五月综合| 囯产极品美女高潮无套久久久| 性高湖久久久久久久久AAAAA| 欧美国产精品久久高清| 午夜精品久久久内射近拍高清| 久久亚洲高清综合| 中文字幕无码av激情不卡久久| 日韩电影久久久被窝网|