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

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

OpenGL實(shí)例教程11:攝像機(jī)空間

2023-03-24 15:18 作者:阿西拜-江西  | 我要投稿

目前已經(jīng)學(xué)習(xí)了兩種類型的轉(zhuǎn)換:

1、位移變換:將模型放置在3D世界的任何地方。

2、透視投影變換:它將3D世界中的一個(gè)頂點(diǎn)的位置投影到2D世界(即平面)。

攝像機(jī)的位置如何處理?

  • 默認(rèn)位于3D空間的原點(diǎn)。

  • 需要可以將相機(jī)放置在任何地方,并將頂點(diǎn)投影到它前面的某個(gè)2D平面上。

在下面的圖片中,相機(jī)背對(duì)著我們。在它前面有一個(gè)虛擬的2D平面,球被投射到這個(gè)平面。相機(jī)是傾斜的,所以平面也相應(yīng)傾斜。由于攝像機(jī)的視角受到其視場(chǎng)角的限制,2D平面的可見部分是矩形,其他部分都將被剪掉。矩形內(nèi)容將顯示在屏幕上。

理論上,可以使用一種轉(zhuǎn)換將3D世界中的對(duì)象投射到(任意位置、角度的)相機(jī)前面的2D平面上。然而,這會(huì)比之前的運(yùn)算復(fù)雜得多。如果相機(jī)位于原點(diǎn)保持不變,以反方向移動(dòng)場(chǎng)景中的其他物體,將允許我們使用已經(jīng)學(xué)過(guò)的方法正確地渲染場(chǎng)景。

需要添加兩個(gè)新的轉(zhuǎn)換,并將它們插入到已經(jīng)擁有的轉(zhuǎn)換管道中:

  • 相機(jī)移動(dòng)到原點(diǎn),移動(dòng)對(duì)象,使它們與相機(jī)的相對(duì)位置保持不變。

  • 將對(duì)象從相機(jī)轉(zhuǎn)向相反的方向轉(zhuǎn)動(dòng)。

移動(dòng)攝像機(jī)非常簡(jiǎn)單。如果相機(jī)位于(x,y,z),那么平移變換為(-x, -y, -z)。變換矩陣如下圖所示:

下一步是處理相機(jī)的旋轉(zhuǎn)。需要相機(jī)空間坐標(biāo)系統(tǒng)中找到物體頂點(diǎn)的新坐標(biāo)。所以實(shí)際的問(wèn)題是:如何從一個(gè)坐標(biāo)系轉(zhuǎn)換到另一個(gè)坐標(biāo)系?

首選需要確定兩個(gè)坐標(biāo)系的基底:

以右圖為例:世界坐標(biāo)系由三個(gè)線性無(wú)關(guān)的單位向量(1,0,0)、(0,1,0)和(0,0,1)定義。這意味著這三個(gè)向量中的任何一對(duì)向量定義了一個(gè)垂直于第三個(gè)向量的平面(例如:平面XY永久垂直于Z軸等)。很容易看出,攝像機(jī)坐標(biāo)系是由向量(1,0,-1),(0,1,0),(1,0,1)定義的。對(duì)這些向量進(jìn)行歸一化后,我們得到(0.7071,0,-0.7071)、(0,1,0)和(0.7071,0,0.7071)。

接下來(lái)就通過(guò)世界坐標(biāo)的位置投影到相機(jī)世界坐標(biāo),首選需要兩個(gè)概念:

“標(biāo)量投影”:任意向量a和單位向量B的點(diǎn)積的結(jié)果,是a在向量B方向上的大小,即向量a在向量B上的投影。


“UVN相機(jī)”:

  • N:攝像機(jī)到目標(biāo)的向量,對(duì)應(yīng)于Z軸。

  • V :向上的向量。對(duì)于飛行模擬器來(lái)說(shuō),如果飛機(jī)是反向的,那么這個(gè)向量很可能指向地面。對(duì)應(yīng)于Y軸。

  • U :從相機(jī)指向它的右側(cè)。它對(duì)應(yīng)于X軸。

世界坐標(biāo)到相機(jī)坐標(biāo)需要在位置和UVN向量之間執(zhí)行點(diǎn)積操作。使用矩陣即可:

主要代碼:

運(yùn)行效果:


OpenGL實(shí)例教程11:攝像機(jī)空間的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
呈贡县| 高雄市| 综艺| 通江县| 洛南县| 土默特左旗| 六枝特区| 博客| 木里| 石城县| 麻栗坡县| 安义县| 嵩明县| 安宁市| 哈密市| 嘉鱼县| 澄城县| 陵川县| 永嘉县| 共和县| 荥经县| 玉溪市| 南开区| 随州市| 文水县| 子长县| 泽库县| 同仁县| 平潭县| 镇坪县| 鹤峰县| 梓潼县| 邮箱| 海城市| 富宁县| 清远市| 巴塘县| 峡江县| 通化市| 泊头市| 左权县|