• <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>

            天行健 君子當(dāng)自強(qiáng)而不息

            3D中的方位和角位移(3)

            HTML clipboard

             

            四元數(shù)記法

            一個(gè)四元數(shù)包含一個(gè)標(biāo)量和一個(gè)3D向量分量,經(jīng)常記標(biāo)量分量為w,記向量分量為單一的 v 或分開的x、y、z。兩種記法分別如下:

            [w v ]

            [w, (x, y, z)]

            在某些情況下,用 v 這樣的短記法更方便,但在另一些情況下,"擴(kuò)展"的記法會(huì)更清楚。

            也可以將四元數(shù)豎著寫,有時(shí)這會(huì)使等式的格式一目了然,"行"或"列"四元數(shù)沒有明顯的區(qū)別。

             

            四元數(shù)和復(fù)數(shù)

            復(fù)數(shù)對(duì)(a, b)定義了數(shù)a+bi,i是所謂的虛數(shù),滿足i2 = -1:a稱作實(shí)部,b稱作虛部。任意實(shí)數(shù)k都能表示為復(fù)數(shù)(k, 0)=k + 0i。

            復(fù)數(shù)能夠相加、相減、相乘,如公式10.1所示:

            通過使虛部變負(fù),還能夠計(jì)算復(fù)數(shù)的共軛,記法如公式10.2:

            還能夠計(jì)算復(fù)數(shù)的模。這個(gè)運(yùn)算的記法和解釋與實(shí)數(shù)的絕對(duì)值類似,實(shí)際上,如果將實(shí)數(shù)表示成復(fù)數(shù),它們將產(chǎn)生相同的結(jié)果。公式10.3是計(jì)算復(fù)數(shù)大小的公式:

            復(fù)數(shù)集存在于一個(gè)2D平面上,可以認(rèn)為這個(gè)平面有兩個(gè)軸:實(shí)軸和虛軸。這樣,就能將復(fù)數(shù)(x, y)解釋為2D向量。用這種方法解釋復(fù)數(shù)時(shí),它們能用來表達(dá)平面中的旋轉(zhuǎn)。看看復(fù)數(shù)p繞原點(diǎn)旋轉(zhuǎn)角度θ的情況,如圖10.9所示:

            為進(jìn)行這個(gè)旋轉(zhuǎn),引入第二個(gè)復(fù)數(shù) q = (cosθ, sinθ)。現(xiàn)在,旋轉(zhuǎn)后的復(fù)數(shù)p'能用復(fù)數(shù)乘法計(jì)算出來:

            p = x + yi

            q = cosθ + i sinθ

            p' = pq = (x + yi)(cosθ + i sinθ) = (xcosθ - ysinθ) + (xsinθ + ycosθ)i

            引入復(fù)數(shù)q和用2x2旋轉(zhuǎn)矩陣達(dá)到的效果是一樣的,但復(fù)數(shù)提供了另一種有趣的記法。

            四元數(shù)擴(kuò)展了復(fù)數(shù)系統(tǒng),它使用三個(gè)虛部i, j, k。它們的關(guān)系如下:

            一個(gè)四元數(shù)[w, (x, y, z)]定義了復(fù)數(shù) w+xi+yj+zk,很多標(biāo)準(zhǔn)復(fù)數(shù)的性質(zhì)都能應(yīng)用到四元數(shù)上。更重要的是,和復(fù)數(shù)能用來旋轉(zhuǎn)2D中的向量類似,四元數(shù)也能用來旋轉(zhuǎn)3D中的向量。

             

            四元數(shù)和軸-角對(duì)

            歐拉證明了一個(gè)旋轉(zhuǎn)序列等價(jià)于單個(gè)旋轉(zhuǎn)。因此,3D中的任意角位移都能表示為繞單一軸的單一旋轉(zhuǎn)(這里的軸是一般意義上的旋轉(zhuǎn)軸,不要和笛卡爾坐標(biāo)軸混淆。顯然,旋轉(zhuǎn)軸的方向是任意的)。當(dāng)一個(gè)方位用這種形式來描述時(shí)稱作軸-角描述法(實(shí)際上,能將軸-角形式作為描述方位的第四種表達(dá)方式。但是,軸-角對(duì)很少用到,經(jīng)常被歐拉角或四元數(shù)替代)。

            設(shè) n 為旋轉(zhuǎn)軸,對(duì)于旋轉(zhuǎn)軸來說長(zhǎng)度并不重要,將 n 定義為單位長(zhǎng)度會(huì)比較方便。根據(jù)左手或右手法則, n 的方向定義了哪邊將被認(rèn)為是旋轉(zhuǎn)"正"方向。設(shè)θ為繞軸旋轉(zhuǎn)的量,因此,軸-角對(duì)( n , θ)定義了一個(gè)角位移:繞 n 指定的軸旋轉(zhuǎn)θ角。

            四元數(shù)能被解釋為角位移的軸-角對(duì)方式。然而, n 和θ不是直接存儲(chǔ)在四元數(shù)的四個(gè)數(shù)中,它們的確在四元數(shù)里,但不是那么直接。公式10.4列出了四元數(shù)中的數(shù)和 n ,θ的關(guān)系,兩種四元數(shù)加法都被使用了。

            記住, q 的w分量和θ有關(guān)系,但它們不是一回事。同樣, v n 也有關(guān)系但不完全相同。

             

            負(fù)四元數(shù)

            四元數(shù)能求負(fù),做法很直接,將每個(gè)分量對(duì)變負(fù),見公式10.5:

            - q = -[w  (x  y  z)] = [-w  (-x  -y  -z)] = -[w v ] = [-w  - v ]      

            公式10.5  四元數(shù)求負(fù)

            q 和- q 代表的實(shí)際角位移是相同的,很奇怪吧!如果我們將θ加上360度的倍數(shù),不會(huì)改變 q 代表的角位移,但它使 q 的四個(gè)分量都變負(fù)了。因此,3D中的任意角位移都有兩種不同的四元數(shù)表示方法,它們互相為負(fù)。

             

            單位四元數(shù)

            幾何上,存在兩個(gè)"單位"四元數(shù),它們代表沒有角位移,[1, 0 ]和[-1, 0 ](注意粗體 0 ,它們代表零向量)。當(dāng)θ是360度的偶數(shù)倍時(shí),有第一種形式,cos(θ/2)=1;θ是360度的奇數(shù)倍時(shí),cos( θ /2)=-1。在兩種情況下,都有sin(θ/2)=0,所以 n 的值無關(guān)緊要。它的意義在于:

            當(dāng)旋轉(zhuǎn)角θ是360度的整數(shù)倍時(shí),方位并沒有改變,并且旋轉(zhuǎn)軸也是無關(guān)緊要的。

            數(shù)學(xué)上,實(shí)際只有一個(gè)單位四元數(shù):[1, 0 ]。用任意四元數(shù) q 乘以單位四元數(shù)[1, 0 ],結(jié)果仍是 q 。任意四元數(shù) q 乘以另一個(gè)"幾何單位"[-1, 0 ]時(shí)得到- q 。幾何上,因?yàn)?strong> q 和- q 代表的角位移相同,可認(rèn)為結(jié)果是相同的。但在數(shù)學(xué)上, q 和- q 不相等,所以[-1, 0 ]并不是"真正"的單位四元數(shù)。

             

            四元數(shù)的模

            和復(fù)數(shù)一樣,四元數(shù)也有模。記法和公式都和向量類似,如公式10.6所示:

            讓我們看看它的幾何意義,代入 θ n ,可得到:

            n 為單位向量,所以:

            應(yīng)用三角公式sin2x + cos2x = 1,得到:

            如果為了用四元數(shù)來表示方位,我們僅使用符合這個(gè)規(guī)則的單位四元數(shù)。

             

            四元數(shù)共軛和逆

            四元數(shù)的共軛記作 q *,可通過讓四元數(shù)的向量部分變負(fù)來獲得,見公式10.7:

            四元數(shù)的逆記作 q ^-1,定義為四元數(shù)的共軛除以它的模,見公式10.8:

            四元數(shù)的逆和實(shí)數(shù)的倒數(shù)有著有趣的對(duì)應(yīng)關(guān)系。對(duì)于實(shí)數(shù)a,它的逆a-1為1/a,從另一方面說,aa-1 = a-1a = 1。四元數(shù)的逆也有著同樣的性質(zhì),一個(gè)四元數(shù) q 乘以它的逆 q -1,即可得到單位四元數(shù)[1, 0 ]。

            公式10.8是四元數(shù)逆的正式定義,但我們只使用單位四元數(shù),所以四元數(shù)的逆和共軛是相等的。

            共軛非常有趣,因?yàn)?strong> q 和 q *代表相反的角位移。很容易驗(yàn)證這種說法,使 v 變負(fù),也就是使旋轉(zhuǎn)軸反向,它顛倒了我們所認(rèn)為的旋轉(zhuǎn)正方向。因此, q 繞軸旋轉(zhuǎn)θ角,而 q *沿相反的方向旋轉(zhuǎn)相同的角度。


             

            posted on 2008-02-13 13:38 lovedday 閱讀(1789) 評(píng)論(1)  編輯 收藏 引用

            評(píng)論

            # re: 3D中的方位和角位移(3) 2011-12-21 15:27 WMQ

            樓主真乃神人也  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            公告

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關(guān)鏈接

            搜索

            最新評(píng)論

            日韩人妻无码精品久久免费一| 久久夜色撩人精品国产| 久久久久久国产精品无码超碰| 久久久久免费看成人影片| 久久r热这里有精品视频| 少妇被又大又粗又爽毛片久久黑人| 久久久久亚洲av综合波多野结衣 | 久久精品亚洲精品国产色婷| 国产精品天天影视久久综合网| 久久精品一区二区三区中文字幕| 久久人人爽人人爽人人片AV东京热| 久久久久久亚洲精品成人| 性欧美大战久久久久久久| 久久精品国产99国产电影网| 久久久久久精品免费看SSS| 成人国内精品久久久久影院VR| 亚洲第一极品精品无码久久| 国产99久久久国产精免费| 久久狠狠高潮亚洲精品| 久久亚洲熟女cc98cm| 国内精品免费久久影院| 国内精品久久久久久野外| 婷婷综合久久中文字幕蜜桃三电影| 精品久久人人妻人人做精品| 精品久久久久香蕉网| 精品国产99久久久久久麻豆| 久久久91人妻无码精品蜜桃HD| 99久久免费国产精品热| 国产情侣久久久久aⅴ免费| 国产成人久久精品一区二区三区| 欧美成a人片免费看久久| 精品久久久久久无码中文字幕 | 久久93精品国产91久久综合| 精品一区二区久久久久久久网站| 久久久精品人妻一区二区三区四| 精品久久久久久国产| 中文字幕热久久久久久久| 亚洲伊人久久精品影院| 欧美熟妇另类久久久久久不卡| 色婷婷综合久久久久中文一区二区 | 久久综合给合综合久久|