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

posts - 4, comments - 12, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

        上次說到渲染管線的一般組成,接下來就要說說各部分的轉換怎么做了。
     
        在這之前,本著掃盲的態度,先介紹一點矩陣的基礎知識。

        大學一年級一般都會上一門叫做“線性代數”的課,這個課上就會講很多關于線性方程組(可以先不管“線性”兩個字,初等數學里的東西基本都是線性的),關于矩陣的東西。
        首先,什么是線性方程組?
        ax + by + c = 0                                                                            a  b  c
        dx + ey + f  = 0            這個就是一個線性方程組,                d  e  f
        gx + hy + i  = 0             我們可以把它表示成矩陣                   g  h   i

        再來,什么是向量?一個1 x N 的矩陣,就是一個向量,例如
        a
        b       一般可以記成(a,b,c)
        c

        線性代數對矩陣定義了一系列的運算方法,比如乘法,加法等。具體的定義最好找本線性代數來看看,另外推薦一個《理解矩陣》,是個短小精悍的文章,對于理解矩陣,坐標系,向量比較有好處。
        
        現在就先說明幾個問題。
        1、一個N維向量,可以表示一個N維空間的點。比如說(1,2)在平面直角坐標系表示x=1,y=2的點
        2、可以同時存在多個坐標系。例如,有兩個坐標系,重疊在一起,但是坐標系A的單位長度是坐標系B單位長度的2倍。那么在A坐標系中的 (1,0)點,在B坐標系中就是 (2,0)點
        3、坐標系原點位置可以不同。比如,坐標系A原點在坐標系B的 (1,1)處,那么坐標系A的(1,0)點就是坐標系B的(2,1)點。
        4、坐標系可以表示成矩陣。 比如   2  0   就表示一個x軸縮小一半的坐標系。這個坐標系實際上是由
                                                                       0  1

兩個向量 2   和  0  放在一起組成的,沒錯,也就是坐標軸的單位向量值的倒數組成了坐標系。所以很顯
                  0         1                                                                                                                                             
然,1  0就是一個我們平常使用的坐標系。至于另外那兩個數要是不為0會發生什么情況,可以自己想
        0  1
想,我后面也會解釋。
        5、三維空間的坐標系可以表示成3x3矩陣。(這個不用解釋了吧)
        6、坐標系矩陣與對應維數的向量相乘,將得到該向量在這個坐標系下的表示。這個是最關鍵的一個點,能理解,后面就都好辦了。一個向量 (2,2,2) ,一個矩陣(坐標系)2  0  0  ,用矩陣乘以這個向量,
                                                                                                                              0  2  0
                                                                                                                              0  0  2
根據矩陣乘法,我們將得到向量(4,4,4) 。關于這一點,大家可以看看《理解矩陣》,它的描述比我說得更透徹,其實矩陣還表達了一種映射關系,或者表達了一種變換。
        7、坐標系矩陣還可以擴展,用來表示坐標系原點的位置。這種擴展的坐標系矩陣看起來就像這個樣子1  0  0  1   這是就是所謂的“三維空間的齊次坐標系”。為什么叫“齊次”,我還沒理解透,以后理解
    0  1  0  1
    0  0  1  0
    0  0  0  1
了再補上。這個矩陣描述的坐標系是這樣的: 坐標系的x,y,z軸的單位向量都與我們最常見的那種坐標系一樣,原點在(-1,-1,0)處。也就是,最右邊一列多出來的,就是表達原點位置的向量。那么這個矩陣怎么做乘法呢,因為根據矩陣乘法,這個矩陣需要乘以一個4維向量。假設有一個點(1,1,1),那么我們就在這個向量后面再增加一個數,變成 (1,1,1,1),然后就可以去乘這個矩陣了(關于這個硬加上的數,見下一點)。
        8、上面說到齊次坐標系,還說到了一個三維向量增加一維變成4維,那么這個第四維是什么含義呢?當一個向量表達齊次坐標時,它的最后一維有特殊的含義。一個4維向量V (a,b,c,h),當h = 0 時,V表示一個三維空間中的向量。當h 不為 0 時,V表示一個三維空間中的點。這個點的坐標是 (a/h,b/h,c/h)。在進行矩陣運算時,第四維正常的參與運算,我們可以得到簡單的推論:
        向量加向量得到向量。 向量得到點。 點加點得到中點。
        在此補充一點,在空間中,“點”和“向量”其實是不同的概念,向量有方向,但沒位置,點有位置但沒方向。所以在齊次坐標系矩陣中,第四列第四行是1,因為原點是一個點,不是向量。
        9、在計算機圖形學中,一般就是用矩陣來做各種物體的坐標變換,方法很簡單,就是用一個矩陣去乘以表示坐標的向量。
        10、矩陣的表示方法還有一種,就是向量按行表示,線性方程組矩陣就是這樣。也就是一行表示一個向量。所以看其它資料的時候要注意一下。


         說了一這么些數學,估計也看煩了,那么就先講一個實例:世界坐標變換。
         世界坐標變換是渲染管線生成世界模型時的必備操作。
         比如說,我有一個正方體,頂點坐標為(1,1,1),(1,1,-1),(1,-1,1),(1,-1,-1),(-1,1,1),(-1,1,-1),(-1,-1,1),(-1,-1,-1)。  然后我需要在這個世界模型中放置很多個正方體,怎么辦呢?總不能手工的去輸入那么多的坐標吧。我只能對這個正方體作一些變換,比如:放大縮小,旋轉,移動。通過這樣一些操作,我就可以把這個正方體放到任何地方了。那么現在簡單說怎么實現。

        這個正方體,我們存儲的時候就存下8個點就夠了,這8個點都各自是一個4維齊次向量,可以用靜態數組來實現。然后構造一個矩陣,依次乘以這8個點,那么一次變換就算做完了。
        放大縮小,我們就構造這樣的矩陣 2  0  0  0 ,這樣就把正方體放大一倍
                                                                      0  2  0  0
                                                                      0  0  2  0
                                                                      0  0  0  1

        旋轉: 這個相對比較復雜一點,在這里的旋轉我們會說 繞x軸旋轉 a 弧度(角度),相應的矩陣為
1   0       0    0
0 cosa  sina  0
0 -sina  cosa 0
0   0       0    1
        平移: 把正方體中心移動到(1,2,3),矩陣為 1  0  0  1
                                                                                      0  1  0  2
                                                                                      0  0  1  3
                                                                                      0  0  0  1
        
        一般情況下我們應該按照這樣的順序來做這三種變換:  縮放、旋轉、平移。  如果改變順序,那么轉換出來的效果也將不一樣,有興趣的可以自己計算一下。

        暫時就這么多吧,下次繼續說~


Feedback

# re: 我的第一個3D渲染管線(2)[未登錄]  回復  更多評論   

2009-03-12 11:53 by cppexplore
頂下!

# re: 我的第一個3D渲染管線(2)  回復  更多評論   

2009-03-15 21:26 by Jymstart
師兄在哪公司實習呢

# re: 我的第一個3D渲染管線(2)  回復  更多評論   

2009-03-16 00:29 by 林森(L.S.Winson)
@Jymstart
額。。你是哪位來著~?

# re: 我的第一個3D渲染管線(2)  回復  更多評論   

2009-07-02 17:12 by waterpg
怎么不更新了啊~~

# re: 我的第一個3D渲染管線(2)  回復  更多評論   

2012-06-07 10:40 by 吼吼

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品欧美经典| 亚洲综合好骚| 欧美亚洲系列| 亚洲尤物在线| 欧美国产一区视频在线观看| 欧美在线免费观看视频| 欧美日韩一区二区欧美激情| 欧美成人黑人xx视频免费观看| 国产精品乱码一区二三区小蝌蚪| 亚洲片区在线| 一区二区三区在线视频观看| 香蕉成人啪国产精品视频综合网| 亚洲尤物视频网| 欧美三级小说| 一本色道久久88精品综合| 亚洲美女视频在线免费观看| 葵司免费一区二区三区四区五区| 久久亚洲风情| 激情一区二区三区| 久久大逼视频| 久久人人九九| 在线日韩欧美视频| 久久综合网色—综合色88| 美女网站在线免费欧美精品| 狠狠色狠狠色综合日日tαg| 欧美在线首页| 麻豆精品在线播放| 亚洲国产欧美国产综合一区| 久久伊伊香蕉| 亚洲丰满在线| 在线亚洲免费视频| 国产精品女主播| 欧美亚洲网站| 欧美高清视频在线观看| 99av国产精品欲麻豆| 欧美色网在线| 欧美一区二区三区在| 久久综合色8888| 亚洲黄色免费| 欧美午夜精品久久久| 亚洲欧美中文另类| 久久综合九色综合欧美狠狠| 91久久亚洲| 欧美深夜福利| 欧美一级视频精品观看| 欧美高清在线精品一区| 99精品国产一区二区青青牛奶| 欧美色图一区二区三区| 性欧美大战久久久久久久免费观看| 久久久一区二区| 亚洲肉体裸体xxxx137| 欧美日韩福利视频| 亚洲欧美日韩精品久久亚洲区| 久久在线播放| 亚洲亚洲精品三区日韩精品在线视频| 国产精品一区二区三区观看| 久久精品国产视频| 亚洲美洲欧洲综合国产一区| 欧美一区二区三区视频在线| 亚洲国产欧美不卡在线观看| 国产精品久久精品日日| 久久精品国产69国产精品亚洲| 亚洲韩国一区二区三区| 久久国产福利| 日韩视频在线观看| 国产真实乱偷精品视频免| 欧美成人精品不卡视频在线观看| 亚洲一区二区三区乱码aⅴ| 免费亚洲一区| 欧美一区二区三区免费在线看| 亚洲福利国产| 国产午夜精品视频| 欧美日韩免费一区二区三区视频 | 亚洲国产精品一区二区第一页| 国产乱码精品1区2区3区| 久久动漫亚洲| 亚洲精品女av网站| 欧美一区二区三区四区在线| 亚洲精品国产日韩| 国产视频一区欧美| 欧美日韩精品免费观看视一区二区 | 欧美一级欧美一级在线播放| 亚洲国产日韩在线一区模特| 国产免费成人av| 欧美美女福利视频| 久久伊人一区二区| 欧美一级在线视频| 亚洲午夜激情在线| 亚洲另类春色国产| 亚洲国产精品精华液2区45| 久久欧美肥婆一二区| 欧美一级黄色网| 亚洲尤物精选| 亚洲天堂男人| 一本大道久久a久久综合婷婷 | 亚洲免费高清| 亚洲娇小video精品| 在线日本成人| **性色生活片久久毛片| 国内精品久久久久久久影视蜜臀 | 亚洲国产美女久久久久| 快播亚洲色图| 久久久久久久久久久一区| 欧美在线视频不卡| 午夜精品成人在线视频| 午夜精品一区二区三区电影天堂 | 欧美黄色大片网站| 免费试看一区| 欧美黄色日本| 亚洲国产一区二区三区a毛片 | 西西人体一区二区| 亚洲在线电影| 亚洲影音一区| 欧美有码在线观看视频| 久久精品国语| 欧美成年人网站| 欧美精品在线观看播放| 欧美视频不卡| 国产日韩av高清| 一区二区亚洲欧洲国产日韩| 亚洲第一级黄色片| 亚洲免费观看高清完整版在线观看| 99国产精品久久久久久久久久| 在线亚洲电影| 久久精品91久久香蕉加勒比| 另类av一区二区| 亚洲国产日韩欧美综合久久| 99日韩精品| 欧美一级淫片aaaaaaa视频| 久久精品亚洲乱码伦伦中文| 欧美大胆成人| 国产精品久久影院| 在线精品国产欧美| 99www免费人成精品| 欧美亚洲综合网| 嫩模写真一区二区三区三州| 亚洲日本一区二区| 亚洲欧美区自拍先锋| 久久综合色一综合色88| 欧美日韩免费观看一区三区| 国产日韩成人精品| 亚洲精品小视频| 欧美制服第一页| 亚洲国产女人aaa毛片在线| 亚洲你懂的在线视频| 久久婷婷蜜乳一本欲蜜臀| 欧美日韩一区二区三区视频| 国语自产精品视频在线看一大j8| 亚洲国产精品久久久久婷婷老年 | 在线看国产日韩| 一区二区三区四区蜜桃| 久久久久9999亚洲精品| 亚洲精品久久久久久久久久久久久| 亚洲欧美日韩国产综合| 欧美大片网址| 韩国在线一区| 性欧美办公室18xxxxhd| 亚洲国产日韩一区二区| 性久久久久久久久久久久| 欧美精品一区二区久久婷婷| 国产色产综合色产在线视频| 亚洲最快最全在线视频| 嫩草影视亚洲| 欧美一区二区性| 欧美视频中文字幕在线| 91久久精品国产91性色tv| 欧美与黑人午夜性猛交久久久| 最近中文字幕mv在线一区二区三区四区 | 在线综合亚洲欧美在线视频| 久久综合伊人77777蜜臀| 国产日韩精品一区| 亚洲一二三区在线| 亚洲黄色成人久久久| 久久午夜影视| 国产欧美一区二区白浆黑人| 亚洲午夜激情在线| 亚洲经典自拍| 美国十次成人| 亚洲国产精品久久精品怡红院| 久久久久欧美| 欧美一区久久| 国产在线欧美日韩| 久久精品国产久精国产爱| 亚洲午夜精品一区二区| 欧美日韩亚洲一区二| 一本色道久久综合狠狠躁的推荐| 免费欧美电影| 久久精品亚洲一区二区| 激情成人av| 免费在线看一区| 久久精品国产96久久久香蕉| 国产真实久久| 免费观看久久久4p| 久久综合国产精品| 亚洲国产激情| 欧美黑人国产人伦爽爽爽| 欧美+亚洲+精品+三区| 亚洲人永久免费| 亚洲日本理论电影| 国产精品成人观看视频免费 |