最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

games101學(xué)習(xí)筆記02-MVP變換p4

2023-06-05 17:38 作者:白菜兒先生  | 我要投稿

目錄

一、MVP變換

模型變換 視圖變換 投影變換

二、視圖變換

三、投影變換

正交投影 透視投影


正文

一、MVP變換

mvp包括模型變換(model transportation),視圖變換(view transportation)和投影變換(projection transportation)。

以現(xiàn)實(shí)中拍照為例,模型變換即擺放場(chǎng)景中物體位置,視圖變換即擺放攝像機(jī)的位置,投影變換即拍照成像。

相機(jī)如何定義:相機(jī)位置Position、相機(jī)朝向Look-at、向上方向up(決定畫面是否傾斜)


二、模型變換

將局部坐標(biāo)轉(zhuǎn)換到世界坐標(biāo)。

三、視圖變換

將世界坐標(biāo)轉(zhuǎn)換到視圖坐標(biāo)。

當(dāng)相機(jī)場(chǎng)景中所有其他物體相對(duì)位置不變時(shí),呈現(xiàn)畫面一定不變,因此畫面的變換只需要看相對(duì)位置的變換。為了方便起見,圖坐標(biāo)把相機(jī)看做是靜止的,把相機(jī)的位置看做是坐標(biāo)軸的原點(diǎn),相機(jī)的向上方向?yàn)閥軸,相機(jī)的朝向?yàn)?z軸。而其他所有物體在相機(jī)的坐標(biāo)系中移動(dòng)。


步驟如下

1.先把相機(jī)局部坐標(biāo)中的中心點(diǎn)e平移到世界坐標(biāo)的原點(diǎn)。平移矩陣如下:


2.把g旋轉(zhuǎn)到與-z平行

把一個(gè)一般的向量旋轉(zhuǎn)到與坐標(biāo)軸平行比較麻煩,但把坐標(biāo)軸旋轉(zhuǎn)到與一般的向量平行很簡(jiǎn)單,因此這一步可以先寫出-z軸旋轉(zhuǎn)到g的變換,再求矩陣的逆(轉(zhuǎn)置)。

-z旋轉(zhuǎn)到g的旋轉(zhuǎn)矩陣:

再求轉(zhuǎn)置:

3.把t旋轉(zhuǎn)到與y平行

與2同理。

當(dāng)相機(jī)進(jìn)行視圖變換移動(dòng)到坐標(biāo)軸時(shí),場(chǎng)景中的物體也進(jìn)行相同的視圖變換,就可以保證成像依然沒(méi)有變化。

二、投影變換

將視圖坐標(biāo)轉(zhuǎn)換成裁剪坐標(biāo)??梢岳斫鉃椋谖矬w和相機(jī)位置之間設(shè)置一個(gè)屏,把物體的坐標(biāo)變換為在屏上的坐標(biāo)。

分為透視投影perspective?projection與正交投影orthographic?projection。


1.正交投影

設(shè)想把相機(jī)拉到無(wú)窮遠(yuǎn)位置,則無(wú)論物體的遠(yuǎn)近,其拍攝的物體的投影大小都與物體本身是一致的。即忽略深度信息,沒(méi)有近大遠(yuǎn)小。

對(duì)于正交投影,把攝像機(jī)看作原點(diǎn),朝向看作-z軸,向上方向看作y軸。如下圖。在這張圖中,只是簡(jiǎn)單地把物體坐標(biāo)信息中z軸的信息去掉,變成只含x,y的二維坐標(biāo),就得到了字母E的正交投影的坐標(biāo)了。在該圖中,E在屏幕后方,點(diǎn)在屏幕前方,但是投影在屏幕上卻無(wú)法看出前后關(guān)系。

為了方便后續(xù)工作,在正式的正交變換中,會(huì)把一個(gè)一般的立方體變成標(biāo)準(zhǔn)立方體。

先把物體中心移動(dòng)到原點(diǎn),即每條邊挪動(dòng)中點(diǎn)到坐標(biāo)軸的距離(下圖右邊的矩陣)。再進(jìn)行縮放(左邊矩陣)。

2.透視投影

滿足近大遠(yuǎn)小,許多平行關(guān)系在投影中不再平行。

透視投影變換如何進(jìn)行

先變成正交,再進(jìn)行正交投影。

(1)把透視投影轉(zhuǎn)換成正交投影

如下圖,這個(gè)六面體向左側(cè)延伸匯聚的點(diǎn)就是相機(jī)中心點(diǎn)。n處表示近處的平面,f處表示遠(yuǎn)處的平面。其中的實(shí)線表示了f平面到n平面的透視關(guān)系。

想象將f處平面擠壓,變成一個(gè)和n處平面大小一致的平面,那么其中的透視線也將變得平行。也就是變成了正交投影。這一步具體來(lái)講,應(yīng)該是保持近平面不變,遠(yuǎn)處的平面的前后距離不改變,而圍繞中心點(diǎn)進(jìn)行放縮。





接下來(lái)將求出變換矩陣。

側(cè)面圖如下。只看特定點(diǎn)(x,y,z),在平面上的投影點(diǎn)為該點(diǎn)擠壓后的結(jié)果,根據(jù)相似三角形得到。同理x'=n/z*x。

則(x',y',z')用齊次坐標(biāo)表示為(n/z*x,n/z*y,?,1)T,相當(dāng)于(nx,ny,?,z)T。

也就是說(shuō),對(duì)(x,y,z,1)T進(jìn)行透視轉(zhuǎn)正交的變換后(左乘變換矩陣M),得到(nx,ny,?,z)T。則可以計(jì)算出這個(gè)變換矩陣如下。

(在下文中用M代稱)

不妨設(shè)四個(gè)問(wèn)號(hào)的值為P,Q,A,B。為了解出它們的值,還需加入新的條件。

條件一,在距離n所在的平面上(即近平面)的點(diǎn),在近平面上投影不變。在近平面上的點(diǎn),就是把(x,y,z,1)T中的替換成n,也就是(x,y,n,1)T。為方便計(jì)算,乘個(gè)n轉(zhuǎn)化為(nx,ny,n2,n)T。

數(shù)學(xué)表示為M·(x,y,n,1)T=(nx,ny,n2,n)T。對(duì)于第三項(xiàng)n2的計(jì)算,有n2=Px+Qy+An+B。

則結(jié)論為P=Q=0,An+B=n2,A、B未知。

條件二,遠(yuǎn)平面上的中心點(diǎn)的位置不發(fā)生改變。

數(shù)學(xué)表示為M·(0,0,f,1)T=(0,0,f2,f)T。

則結(jié)論為Af+B=f2。

根據(jù)兩個(gè)結(jié)論,解方程組即可。

(2)進(jìn)行正交投影變換



games101學(xué)習(xí)筆記02-MVP變換p4的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
罗源县| 读书| 永城市| 四川省| 巫山县| 遂昌县| 华蓥市| 莱芜市| 上饶市| 宁晋县| 横峰县| 类乌齐县| 宣武区| 盐源县| 仙桃市| 金平| 荣成市| 临潭县| 莲花县| 浮梁县| 喀什市| 绥阳县| 宝坻区| 甘孜| 泽州县| 昔阳县| 崇信县| 海兴县| 通山县| 璧山县| 塔河县| 察隅县| 彰武县| 资阳市| 安新县| 新沂市| 克东县| 清新县| 巴青县| 炉霍县| 沛县|