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

posts - 4, comments - 12, trackbacks - 0, articles - 1
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

        上次說(shuō)到渲染管線的一般組成,接下來(lái)就要說(shuō)說(shuō)各部分的轉(zhuǎn)換怎么做了。
     
        在這之前,本著掃盲的態(tài)度,先介紹一點(diǎn)矩陣的基礎(chǔ)知識(shí)。

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

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

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

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


         說(shuō)了一這么些數(shù)學(xué),估計(jì)也看煩了,那么就先講一個(gè)實(shí)例:世界坐標(biāo)變換。
         世界坐標(biāo)變換是渲染管線生成世界模型時(shí)的必備操作。
         比如說(shuō),我有一個(gè)正方體,頂點(diǎn)坐標(biāo)為(1,1,1),(1,1,-1),(1,-1,1),(1,-1,-1),(-1,1,1),(-1,1,-1),(-1,-1,1),(-1,-1,-1)。  然后我需要在這個(gè)世界模型中放置很多個(gè)正方體,怎么辦呢?總不能手工的去輸入那么多的坐標(biāo)吧。我只能對(duì)這個(gè)正方體作一些變換,比如:放大縮小,旋轉(zhuǎn),移動(dòng)。通過(guò)這樣一些操作,我就可以把這個(gè)正方體放到任何地方了。那么現(xiàn)在簡(jiǎn)單說(shuō)怎么實(shí)現(xiàn)。

        這個(gè)正方體,我們存儲(chǔ)的時(shí)候就存下8個(gè)點(diǎn)就夠了,這8個(gè)點(diǎn)都各自是一個(gè)4維齊次向量,可以用靜態(tài)數(shù)組來(lái)實(shí)現(xiàn)。然后構(gòu)造一個(gè)矩陣,依次乘以這8個(gè)點(diǎn),那么一次變換就算做完了。
        放大縮小,我們就構(gòu)造這樣的矩陣 2  0  0  0 ,這樣就把正方體放大一倍
                                                                      0  2  0  0
                                                                      0  0  2  0
                                                                      0  0  0  1

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

        暫時(shí)就這么多吧,下次繼續(xù)說(shuō)~


Feedback

# re: 我的第一個(gè)3D渲染管線(2)[未登錄](méi)  回復(fù)  更多評(píng)論   

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

# re: 我的第一個(gè)3D渲染管線(2)  回復(fù)  更多評(píng)論   

2009-03-15 21:26 by Jymstart
師兄在哪公司實(shí)習(xí)呢

# re: 我的第一個(gè)3D渲染管線(2)  回復(fù)  更多評(píng)論   

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

# re: 我的第一個(gè)3D渲染管線(2)  回復(fù)  更多評(píng)論   

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

# re: 我的第一個(gè)3D渲染管線(2)  回復(fù)  更多評(píng)論   

2012-06-07 10:40 by 吼吼

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            欧美在线综合| 久久精品91久久久久久再现| 欧美精品一区在线| 99热精品在线| 亚洲专区欧美专区| 黄色在线成人| 亚洲精品综合精品自拍| 国产精品一区二区三区久久| 欧美在线观看www| 玖玖在线精品| 亚洲一区二区免费看| 亚洲欧美日韩国产综合精品二区| 国内外成人在线| 亚洲狠狠婷婷| 国产精品久久久久久久电影| 久久精彩视频| 欧美精品在线观看播放| 小黄鸭精品aⅴ导航网站入口| 久久久国产精彩视频美女艺术照福利| 亚洲看片网站| 午夜视频一区在线观看| 亚洲精品久久久久中文字幕欢迎你 | 亚洲性图久久| 亚洲国产导航| 亚洲欧美国产另类| 亚洲区一区二| 久久aⅴ国产欧美74aaa| 这里只有精品丝袜| 老色批av在线精品| 久久高清一区| 欧美三级电影精品| 欧美成人精品一区| 国产欧美日韩亚州综合| 亚洲日本理论电影| 亚洲一区二区三区中文字幕| 久久精品国产一区二区三| 日韩亚洲视频在线| 久久久久久夜| 久久精选视频| 国产精品一级| 中文精品视频一区二区在线观看| 亚洲成人在线网| 欧美一级大片在线观看| 亚洲一区二区三区免费观看| 免费成人在线视频网站| 久久亚洲精品一区二区| 国产精品卡一卡二| 一区二区三区四区五区在线| 亚洲精品一区二区在线观看| 久久米奇亚洲| 久久在线播放| 国产丝袜一区二区三区| 亚洲一级片在线观看| 亚洲午夜在线视频| 欧美日韩国产丝袜另类| 亚洲第一色在线| 91久久线看在观草草青青| 久久综合影音| 欧美黄色影院| 亚洲高清在线观看一区| 免费成人av在线看| 欧美激情一区二区久久久| 尤物九九久久国产精品的分类| 久久国产夜色精品鲁鲁99| 欧美一区二区三区四区在线| 国产精品亚洲人在线观看| 亚洲一区欧美一区| 久久精品人人做人人综合| 国产一区二区欧美日韩| 久久精品国产亚洲精品| 老司机免费视频一区二区三区 | 久久九九热免费视频| 久久亚洲精品一区| 91久久午夜| 欧美日韩国产影院| 一本色道久久综合狠狠躁篇怎么玩 | 欧美中文在线免费| 国产一区二区三区电影在线观看| 欧美一区二区三区四区在线| 久久综合国产精品台湾中文娱乐网| 好吊日精品视频| 美女日韩欧美| 夜夜嗨av一区二区三区四区 | 欧美一区亚洲| 在线观看亚洲| 欧美揉bbbbb揉bbbbb| 新67194成人永久网站| 女人色偷偷aa久久天堂| 一本色道88久久加勒比精品 | 欧美日韩另类在线| 亚洲专区在线视频| 欧美不卡视频一区发布| 夜夜嗨av一区二区三区四区| 日韩视频在线一区| 国产综合色产| 欧美日韩国产专区| 欧美呦呦网站| 亚洲免费观看| 美玉足脚交一区二区三区图片| a4yy欧美一区二区三区| 国产综合自拍| 欧美色图五月天| 久久综合综合久久综合| 亚洲欧美成人在线| 亚洲欧洲日本专区| 久久一区二区三区av| 夜夜爽av福利精品导航 | 欧美激情一区在线| 欧美在线精品免播放器视频| 亚洲精品婷婷| 欧美成人一区二区三区在线观看| 亚洲一区二区三区成人在线视频精品| 狠狠色噜噜狠狠色综合久| 欧美日韩亚洲天堂| 久久中文精品| 久久精品30| 欧美亚洲免费在线| 国产精品99久久久久久白浆小说| 欧美激情视频一区二区三区不卡| 久久精品91久久久久久再现| 国产精品99久久久久久白浆小说| 亚洲国产导航| 在线播放中文一区| 黄色成人小视频| 国产亚洲精品bv在线观看| 国产精品黄视频| 欧美日韩另类一区| 欧美日韩精品二区第二页| 欧美成人中文字幕在线| 美女日韩欧美| 欧美ed2k| 欧美麻豆久久久久久中文| 欧美va亚洲va国产综合| 久久阴道视频| 裸体女人亚洲精品一区| 久久久久久久久久久一区| 久久精品国内一区二区三区| 欧美一区激情视频在线观看| 亚洲在线观看免费| 午夜精品久久久久久久| 亚洲欧美日韩精品在线| 性色av一区二区三区在线观看| 亚洲影院免费| 欧美伊人影院| 久热这里只精品99re8久| 久久综合九色九九| 欧美激情一区在线观看| 欧美日韩亚洲一区三区 | 国产精品免费福利| 国产精品羞羞答答xxdd| 国产深夜精品| …久久精品99久久香蕉国产| 亚洲福利视频二区| 日韩亚洲欧美一区二区三区| 一区二区久久久久| 欧美一区二区三区视频免费| 久久久久国内| 亚洲丰满在线| 亚洲婷婷综合久久一本伊一区| 亚洲天堂av在线免费观看| 性色一区二区| 欧美mv日韩mv亚洲| 欧美系列精品| 国产综合色精品一区二区三区| 亚洲国产精品久久人人爱蜜臀| 日韩一级精品| 久久国产精品黑丝| 亚洲福利在线看| 亚洲一区二区三区精品视频| 久久aⅴ乱码一区二区三区| 免费在线成人av| 欧美大尺度在线观看| 亚洲另类在线视频| 亚洲欧美日韩在线一区| 理论片一区二区在线| 欧美色图五月天| ●精品国产综合乱码久久久久 | 国产欧美日韩亚洲精品| 亚洲经典在线看| 欧美一区二区三区在线观看| 免费日韩av片| 午夜精品久久久久| 欧美精品一区二| 极品尤物av久久免费看 | 一区二区高清视频在线观看| 久久精品一区二区国产| 亚洲精品在线免费观看视频| 久久久精品视频成人| 欧美色欧美亚洲另类七区| 亚洲第一网站免费视频| 性欧美超级视频| 亚洲免费电影在线观看| 美女精品在线观看| 国产在线播精品第三| 亚洲欧美激情视频| 亚洲人成人一区二区三区| 噜噜噜91成人网| 国产视频精品免费播放| 香蕉久久久久久久av网站| 亚洲日本视频|