青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

孔雀開發(fā)小屋

專注并致力于手機(jī)客戶端開發(fā)
<2010年3月>
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910

統(tǒng)計(jì)

  • 隨筆 - 103
  • 文章 - 0
  • 評(píng)論 - 251
  • 引用 - 0

常用鏈接

留言簿(38)

隨筆分類

隨筆檔案

關(guān)注的博客

朋友的博客

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

四元數(shù)概念及其應(yīng)用
學(xué)習(xí)3D編程,四元數(shù)是不得不學(xué)的。其概念的引入和定義都比較抽象,今學(xué)了,總結(jié)歸納如下:

介紹四元數(shù)之前,先做如下約定:

1.采用右手坐標(biāo)系(OpenGL)

2.旋轉(zhuǎn)次序:x->y->z

3.  矩陣是列優(yōu)先存儲(chǔ)


1.
什么是四元數(shù)?

直接用數(shù)學(xué)上的定義來解釋,因?yàn)槲液茈y在現(xiàn)實(shí)生活中找到可以描述明白的例子。

 

i, j, k 為虛數(shù)

Q = w + xi + yj + zk

其中w是實(shí)數(shù),而x,y,z為復(fù)數(shù)。

另外一種常見的表達(dá)方式是:

Q = [w, v]

其中v=(x,y,z)稱為矢量部(雖然稱為矢量,但是這個(gè)不是三維空間中的矢量,而是四維空間的,想象吧L),w稱為標(biāo)量部。


2.
四元數(shù)可以做什么?

有了四元數(shù)的概念還不行,四元數(shù)可以干什么?四元數(shù)可以用來描述方向。

先來看下如何求取四元數(shù)的長度:

||q|| = Norm(q) = sqrt(w2 + x2 + y2 + z2)

單位長度的四元數(shù)有以下屬性:

w2 + x2 + y2 + z2 = 1

所以我們使用如下方法來標(biāo)準(zhǔn)化(Normalize)一個(gè)四元數(shù):

q = q / ||q|| = q / sqrt(w2 + x2 + y2 + z2)

 

使用一個(gè)單位四元數(shù)來描述方向,請(qǐng)記住必須是單位四元數(shù)才可以描述方向。


3.
四元數(shù)的乘法

因?yàn)橐粋€(gè)單位四元數(shù)可以代表一個(gè)三維空間中的方向,那么兩個(gè)四元數(shù)相乘得到的結(jié)果仍然是一個(gè)四元數(shù),這個(gè)四元素依舊可以標(biāo)識(shí)一個(gè)方向。

 

給定兩個(gè)四元數(shù):

Q1 = (w1, x1, y1, z1)

Q2 = (w2, x2, y2, z2)

 

Q1 * Q2 = (w1.w2 – v1.v2, w1.v2 + w2.v1 + v1 x v2)

注意:.代表向量間的點(diǎn)積,x代表叉積。v1=(x1, y1, z1)  v2=(x2, y2, z2)

 

優(yōu)化一下:

w=w1w2 - x1x2 - y1y2 - z1z2
x = w1x2 + x1w2 + y1z2 - z1y2
y = w1y2 + y1w2 + z1x2 - x1z2
z = w1z2 + z1w2 + x1y2 - y1x2

 

4.四元數(shù)的轉(zhuǎn)換

       為什么要轉(zhuǎn)換,因?yàn)槲覀冞€不能直接使用四元數(shù)來進(jìn)行3D物體的旋轉(zhuǎn)。在OpenGL中和Direct3D中都是通過矩陣來描述3D旋轉(zhuǎn)的。


4.1 四元數(shù)到矩陣的轉(zhuǎn)換

 

使用單位四元數(shù)轉(zhuǎn)換到矩陣:

Matrix = [ 1 - 2y2 - 2z2   2xy - 2wz      2xz + 2wy
             2xy + 2wz      1 - 2x2 - 2z2   2yz - 2wx
             2xz - 2wy      2yz + 2wx      1 - 2x2 - 2y2 ]

 

4.2 四元數(shù)到軸角的轉(zhuǎn)換

軸角也是一種表達(dá)空間旋轉(zhuǎn)的方式。

如果旋轉(zhuǎn)軸是:(ax, ay, az)

旋轉(zhuǎn)角度是:angle (單位:弧度)

那么四元數(shù)與軸角之間的轉(zhuǎn)換關(guān)系如下:

 

angle = 2 * acos(w)

ax = x / scale

ay = y / scale

az = y / scale

其中scale = sqrt(x2 + y2 + z2)


  4.3
軸角到四元數(shù)的轉(zhuǎn)換

假設(shè)旋轉(zhuǎn)軸是(ax, ay, az),記得必須是一個(gè)單位向量。

旋轉(zhuǎn)角度是theta. (單位:弧度)

那么轉(zhuǎn)換如下:

w = cos(theta / 2 )

x = ax * sin(theta / 2)

y = ay * sin(theta / 2)

z = az * sin(theta / 2 )


  4.4
歐拉角到四元數(shù)的轉(zhuǎn)換

如果你的歐拉角為(a, b, c)那么就可以形成三個(gè)獨(dú)立的四元數(shù),如下:

 

Qx = [ cos(a/2), (sin(a/2), 0, 0)]
Qy = [ cos(b/2), (0, sin(b/2), 0)]
Qz = [ cos(c/2), (0, 0, sin(c/2))]


最終的四元數(shù)是Qx * Qy * Qz的乘積的結(jié)果。

 

 
5.
使用四元數(shù)來避免Gimbal Lock

 

基本思路如下:

1)  使用一個(gè)四元數(shù)來標(biāo)識(shí)一個(gè)方向

2)  創(chuàng)建一個(gè)臨時(shí)的四元數(shù)來標(biāo)識(shí)當(dāng)前方向到新方向的變化

3)  右乘臨時(shí)的四元數(shù)和初始四元數(shù),結(jié)果是一個(gè)合并了兩個(gè)四元數(shù)的新的四元數(shù)

4)  將四元數(shù)轉(zhuǎn)換成矩陣


6.
更深入的學(xué)習(xí)四元數(shù)

SLERP:球狀線性插值對(duì)于三位模型進(jìn)行動(dòng)畫處理非常有用,因?yàn)檫@種方式在模型的各種方向之間提供了平滑的轉(zhuǎn)換。



posted on 2010-08-18 14:01 孔雀 閱讀(5812) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Graphics

評(píng)論

# re: 四元數(shù)概念及其應(yīng)用 2010-08-19 22:08 普派

球狀線性插值對(duì)于三位模型進(jìn)行動(dòng)畫處理非常有用,因?yàn)檫@種方式在模型的各種方向之間提供了平滑的轉(zhuǎn)換。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美日产图| 狠狠色狠狠色综合日日91app| 日韩写真在线| 亚洲精品一级| 99re8这里有精品热视频免费| 亚洲精品小视频在线观看| 亚洲视频久久| 欧美一级二区| 久久久久www| 欧美极品在线观看| 国产精品久久久久久户外露出| 国产乱码精品1区2区3区| 在线观看视频日韩| 亚洲一区二区三区在线观看视频| 亚洲欧美日韩国产中文| 久久久精品999| 亚洲欧洲免费视频| 夜夜嗨av一区二区三区网站四季av | 欧美激情综合色综合啪啪| 欧美午夜剧场| 激情综合网址| 亚洲欧美日韩一区二区三区在线| 久久久午夜视频| 亚洲精品小视频在线观看| 久久国产精品久久久久久久久久| 欧美精品偷拍| 韩国精品久久久999| 一本久久综合| 免费观看久久久4p| 亚洲欧美日本另类| 欧美精品自拍| 亚洲高清电影| 久久久久久久综合| 一区二区三区三区在线| 久久人人看视频| 国产精品一区二区a| 夜夜夜精品看看| 欧美高清不卡在线| 久久成人人人人精品欧| 国产精品成av人在线视午夜片| 亚洲日本电影| 久久综合亚洲社区| 亚洲欧美日韩一区二区三区在线观看 | 欧美色道久久88综合亚洲精品| 国产一区二区剧情av在线| 亚洲视频免费在线观看| 欧美黄免费看| 久久久精彩视频| 国产日韩欧美二区| 欧美一级大片在线观看| 亚洲网址在线| 国产精品女主播一区二区三区| 99视频精品在线| 亚洲欧洲日本专区| 欧美成人一品| 亚洲人成亚洲人成在线观看图片| 免费看成人av| 美日韩精品免费| 亚洲国内高清视频| 亚洲成色777777在线观看影院| 欧美伊人精品成人久久综合97| 国产精品每日更新在线播放网址| 在线亚洲+欧美+日本专区| 亚洲精品国产精品乱码不99按摩| 欧美高清视频一区二区三区在线观看 | 亚洲国产日韩欧美一区二区三区| 久久久久久尹人网香蕉| 久久不见久久见免费视频1| 国内精品久久久久久| 久久久水蜜桃| 久久综合给合久久狠狠狠97色69| 一区二区在线观看av| 欧美成人午夜视频| 欧美剧在线观看| 亚洲性线免费观看视频成熟| 在线一区欧美| 国产亚洲美州欧州综合国| 久久综合色婷婷| 欧美黄色小视频| 亚洲欧洲av一区二区三区久久| 亚洲自拍偷拍网址| 亚洲电影第1页| 99精品欧美一区| 国产一区二区成人| 亚洲丰满少妇videoshd| 欧美日韩国产专区| 久久精品99国产精品酒店日本| 久久久综合激的五月天| 日韩视频―中文字幕| 亚洲一区二区免费| 亚洲高清免费视频| 亚洲午夜久久久| 激情欧美日韩一区| 夜夜躁日日躁狠狠久久88av| 国产亚洲美州欧州综合国| 亚洲激情视频网| 亚洲午夜精品网| 老司机亚洲精品| 99这里只有精品| 欧美在线视频免费| 一区二区三区成人| 久久av一区二区三区亚洲| 99精品视频一区| 久久国产精品99国产| 99国产精品久久久| 久久午夜羞羞影院免费观看| 亚洲免费网站| 欧美精品少妇一区二区三区| 久久久久九九九| 国产精品国产三级国产专区53 | 亚洲精品美女| 久久不射中文字幕| 亚洲欧美变态国产另类| 欧美1区免费| 久热精品视频| 国产精品亚洲аv天堂网| 亚洲人成人一区二区三区| 一区二区亚洲精品| 欧美一区视频在线| 翔田千里一区二区| 欧美午夜宅男影院在线观看| 亚洲激情国产精品| 亚洲日韩中文字幕在线播放| 久久精品30| 久久久亚洲欧洲日产国码αv| 欧美调教vk| 一区二区三区欧美亚洲| 夜夜躁日日躁狠狠久久88av| 女人色偷偷aa久久天堂| 美女图片一区二区| 国产综合久久久久久| 午夜精品福利一区二区三区av| 亚洲综合色自拍一区| 国产精品a久久久久| 在线视频你懂得一区| 亚洲自拍偷拍麻豆| 国产精品乱看| 性色av一区二区怡红| 久久岛国电影| 激情久久综合| 欧美成人精品| 亚洲精品自在久久| 亚洲男人天堂2024| 国产欧美短视频| 欧美一区二区三区免费在线看 | 久久天天狠狠| 一区二区在线不卡| 欧美aa在线视频| 亚洲精品久久久久久久久久久 | 欧美成人午夜激情在线| 亚洲人成亚洲人成在线观看图片| 欧美国产视频日韩| 一本一本久久a久久精品综合妖精| 中文欧美在线视频| 国产日韩在线看| 久久久久在线观看| 亚洲精品视频一区二区三区| 亚洲一二三区在线| 国产日韩在线看| 欧美aⅴ99久久黑人专区| 亚洲伊人色欲综合网| 久久久精品性| 亚洲电影av在线| 一区二区久久久久| 国产美女精品免费电影| 久久综合导航| 亚洲一区二区三区四区中文| 老色鬼久久亚洲一区二区| 一本大道久久a久久精二百| 国产亚洲视频在线观看| 欧美fxxxxxx另类| 亚洲一区二区精品视频| 免费在线看一区| 午夜精品福利在线| 亚洲精品免费看| 狠狠色狠色综合曰曰| 欧美色图首页| 你懂的成人av| 欧美在线观看一区二区三区| 亚洲黄色有码视频| 久久精品视频免费| 一区二区三区四区五区精品| 黄色亚洲免费| 国产精品久久777777毛茸茸| 久久久亚洲精品一区二区三区| 99在线精品观看| 亚洲电影第1页| 老色批av在线精品| 欧美一二区视频| 亚洲在线观看视频网站| 亚洲毛片在线免费观看| 在线观看日韩专区| 国户精品久久久久久久久久久不卡 | 亚洲精品久久嫩草网站秘色| 久久精品国产欧美激情| 亚洲综合精品| 亚洲欧美中文另类| 亚洲最新视频在线播放| 亚洲高清在线观看| 亚洲大胆视频|