999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺議OpenGL中三維物體的顯示過程

2018-02-17 05:58:05李文高
信息記錄材料 2018年3期
關(guān)鍵詞:模型

楊 薇,李文高

(保山學(xué)院 信息學(xué)院 云南 保山 678000)

1 引言

生活的大自然中,我們看到的物體都是三維物體,但要將這些景物數(shù)字化傳到電腦上顯示,那么一切三維景物都是以二維平面圖像的形式顯示,在具體的顯示效果中,我們又要求物體能夠具備三維的視覺特性,因此在顯示三維物體時(shí),其過程是復(fù)雜的。OpenGL是目前圖形開發(fā)的標(biāo)準(zhǔn),它的性能表現(xiàn)異常優(yōu)越,尤其在實(shí)現(xiàn)三維渲染、三維場(chǎng)景等方面有著非常逼真的效果。

要利用OpenGL來顯示三維物體,可大體分為以下幾個(gè)過程。

2 首先必須對(duì)三維物體進(jìn)行建模

在顯示三維圖形之前,要對(duì)三維場(chǎng)景建模,并對(duì)場(chǎng)景中的實(shí)物建立三維景物模型。如果我們想在OpenGL中完成基本的三維圖形基礎(chǔ)模型建立并不困難,強(qiáng)大的OpenGL軟件包中包含了大量的基礎(chǔ)圖元,除此以外輔助庫(kù)中增加了很多描述三維圖像人函數(shù)及圖元。這些函數(shù)為我們提供了基礎(chǔ)圖形的模型。因此我們現(xiàn)在來繪制基本的三維圖形就很容易,只需要掌握基礎(chǔ)的三維圖形圖元函數(shù),例如繪制球體可用glutWireSphere函數(shù)來完成,繪制圓錐體可以函數(shù)glutWireCone來完成,繪制8面體可用glutWireOctahedron函數(shù)來完成。

3 將建模三維物體轉(zhuǎn)換成世界坐標(biāo)系中的三維物體

隨著計(jì)算機(jī)圖形學(xué)的發(fā)展各種顯示三維圖像的技術(shù)不斷涌出,利用當(dāng)前的三維技術(shù),我們可以將大自然的景物再現(xiàn),在實(shí)現(xiàn)過程中主要利用三維形體來表示物體信息。具體的實(shí)現(xiàn)過程,我們通常用可視化技術(shù)來完成,設(shè)計(jì)師們可以在設(shè)計(jì)三維圖像時(shí)突破傳統(tǒng)思維盡情發(fā)揮自己的想象設(shè)計(jì)出更出眾的作品。機(jī)械工程師們可以利用三維技術(shù)直接設(shè)計(jì)三維機(jī)械零部件,不必在二維技術(shù)中糾結(jié)如何展現(xiàn)三維的特性。醫(yī)生利用三維彩超直接生存三維直觀的掃描圖像,這樣更精確的分析出病人的病灶。軍事指揮員則可以利用三維軟件生存各種復(fù)雜的三維實(shí)戰(zhàn)地圖,并在模擬的地圖中完成各種三維飛機(jī)、導(dǎo)彈、軍艦等指揮,并最終分析得出最佳作戰(zhàn)方案。

我們生活的大自然是一個(gè)三維的物體世界,為了能夠盡量準(zhǔn)確逼真的將大自然還原到電腦中,我們需要一個(gè)世界空間,該世界空間就是所有物體所在的三維空間, 在該空間中定義的坐標(biāo)系稱為世界坐標(biāo)系,物體在三維空間中的運(yùn)動(dòng)及形變的過程稱為世界變換。世界坐標(biāo)系是物體的全局坐標(biāo)系,各個(gè)物體的模型統(tǒng)一在這一坐標(biāo)系下,便于表達(dá)多個(gè)物體的顯示。

將模型轉(zhuǎn)換成三維世界中的物體,就需要進(jìn)行模型變換。所謂 “模型變換”,指的是從模型坐標(biāo)系到世界坐標(biāo)系的轉(zhuǎn)換。

4 觀察變換

真實(shí)世界里所有物體都是三維的,我們要想將世界坐標(biāo)系中的三維物體轉(zhuǎn)換到二維平面上,需要經(jīng)過觀察變換來完成。

要獲得三維世界坐標(biāo)系場(chǎng)景的顯示,必須先建立觀察用的坐標(biāo)系。然后將對(duì)象描述轉(zhuǎn)換到觀察坐標(biāo)系中來。這一過程我們通常稱為視點(diǎn)變換。為了描述視點(diǎn)變換,我們引入了一個(gè)概念即照相機(jī),在常規(guī)拍照時(shí),我們常常選擇好景點(diǎn)后開始支好三腳架,并將照相機(jī)放在三腳架上面,此時(shí)將照相機(jī)對(duì)準(zhǔn)三維景物。通過不斷的調(diào)節(jié)視點(diǎn),將景物最好的呈現(xiàn)在相機(jī)上,該過程叫視點(diǎn)變換。默認(rèn)情況下,視點(diǎn)位置即相機(jī)所在位置為世界坐標(biāo)中的原點(diǎn),并且規(guī)定反Z軸為相機(jī)的初始方向,在這種情況剛好,剛好相機(jī)與物體是重疊的。

函數(shù)gluLookAt是OpenGL實(shí)用庫(kù)中提供的視點(diǎn)變換函數(shù),此函數(shù)共有三個(gè)變量,每個(gè)變量表示視點(diǎn)的位置、相機(jī)瞄準(zhǔn)方向的參考點(diǎn)以及相機(jī)的向上方向。通過調(diào)用這個(gè)函數(shù)之后,就設(shè)定好了視點(diǎn)的位置了。

5 投影變換

在相機(jī)和物體都放好后,我們要不斷的調(diào)整相機(jī)焦距及相機(jī)鏡頭位置,使景物以最美最恰當(dāng)?shù)慕嵌瘸尸F(xiàn)的相機(jī)內(nèi)。同樣,在OpenGL中為了讓三維物體以最真實(shí)的樣子投影在二維坐標(biāo)中,就需要投影變換。利用投影降低維數(shù)的方式,我們能夠讓物體以合適的位置、方向以及大小來顯示出來。投影變換的最終目的就是定義一個(gè)視景體,將所需要的景物框在該體內(nèi),視景體外的多余景物利用相關(guān)算法裁掉。投影包括透視投影和正視投影兩種。

(1)透視投影

透視投影是一種最常用的投影方式,該方式來自于我們的生活習(xí)慣及視覺常識(shí),在視點(diǎn)附近的景物大,隨著與視點(diǎn)的距離增加物體越來越小。該視景體猶如一個(gè)頂部和底部都被進(jìn)行切割過的棱椎。在動(dòng)畫設(shè)計(jì)、視覺仿真以及其它許多需要反映真實(shí)性物體時(shí)常用到透視投影。

在OpenGL中,透視投影主要通過兩個(gè)投影函數(shù)來完成,分別是glFrustum函數(shù)和gluPerspective函數(shù)。

函數(shù)glFrustum的作用是創(chuàng)建一個(gè)透視視景體。它的操作原理是先創(chuàng)建一個(gè)用與透視投影的矩陣,然后用這個(gè)矩陣乘以三維物體的各個(gè)頂點(diǎn)坐標(biāo)組成的矩陣。這個(gè)函數(shù)的參數(shù)只定義近裁剪平面的左下角點(diǎn)和右上角點(diǎn)的三維空間坐標(biāo),即(left,bottom,-near)和(right,top,-near);最后一個(gè)參數(shù)far是遠(yuǎn)裁剪平面的Z負(fù)值,其左下角點(diǎn)和右上角點(diǎn)空間坐標(biāo)由函數(shù)根據(jù)透視投影原理自動(dòng)生成。near和far表示離視點(diǎn)的遠(yuǎn)近,它們總為正值。

gluPerspective是一個(gè)透視函數(shù),其作用最終也是創(chuàng)建一個(gè)對(duì)稱透視視景體。在使用該函數(shù)時(shí)應(yīng)注意,通過設(shè)定不同的參數(shù),我們可以定義視野在各個(gè)平面的角度、范圍值、投影平面寬度與高度的比率、遠(yuǎn)近裁剪面沿Z負(fù)軸到視點(diǎn)的距離。

(2)正射投影

該投影又稱為平行投影。正射投影的原理是創(chuàng)建一個(gè)矩形平行管道視景體。正射投影的最大特點(diǎn)是物體的大小尺寸不依賴于物體與相機(jī)的距離。因此這種投影通常用在一些物體尺寸及角度投影后沒有變化的行業(yè),目的是讓施工或者制造時(shí)保持物體比例大小,如建筑藍(lán)圖繪制和計(jì)算機(jī)輔助設(shè)計(jì)等方面。

在OpenGL中使用正射投影主要通過 glOrtho和gluOrtho2D兩個(gè)函數(shù)來實(shí)現(xiàn)。

6 視口變換

生活中當(dāng)我們沖洗照片時(shí)需要指定照片的尺寸大小,這相當(dāng)于OpenGL中的視口變換。視口變換就是在電腦屏幕上指定二維圖像的大小,通過變換,我們可以指定景物在屏幕中的一個(gè)矩形區(qū)域,該區(qū)域規(guī)定了位置范圍,尺寸大小。

在計(jì)算機(jī)圖形學(xué)中,視口變換就是將物體應(yīng)用一系列的變換算法顯示于指定窗口的矩形區(qū)域內(nèi),這些算法包括幾何變換、投影變換和裁剪變換。在OpenGL中通常我們應(yīng)用glViewport(GLint x,GLint y,GLsizei width,GLsizei height);這個(gè)函數(shù)定義一個(gè)視口,該函數(shù)我們稱之為視口函數(shù)。視口在屏幕中的初始位置由參數(shù)XY來指定,視口的寬度和高度由width和height來指定。在使用該函數(shù)時(shí)如果不指定參數(shù),系統(tǒng)會(huì)給我們一個(gè)默認(rèn)值,該默認(rèn)值為(0,0,winWidth,winHeight)。所有這些值都是以象素為單位,全為整型數(shù)。

經(jīng)過以上過程,一個(gè)三維圖形就可以完整的顯示在我們的屏幕內(nèi)。

[1]蔡士杰楊若瑜.計(jì)算機(jī)圖形學(xué)第四版.電子工業(yè)出版社,2016,2.

猜你喜歡
模型
一半模型
一種去中心化的域名服務(wù)本地化模型
適用于BDS-3 PPP的隨機(jī)模型
提煉模型 突破難點(diǎn)
函數(shù)模型及應(yīng)用
p150Glued在帕金森病模型中的表達(dá)及分布
函數(shù)模型及應(yīng)用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 久久无码免费束人妻| 一本色道久久88亚洲综合| 99人体免费视频| 日韩午夜伦| 亚洲经典在线中文字幕| 久久天天躁狠狠躁夜夜躁| 日本高清免费不卡视频| 黄色免费在线网址| 99爱视频精品免视看| 国产网友愉拍精品| 精久久久久无码区中文字幕| 五月婷婷丁香色| 亚洲日本中文字幕乱码中文| 在线不卡免费视频| 亚洲福利视频一区二区| 亚洲成肉网| 欧美黄网站免费观看| 97国产一区二区精品久久呦| 一级看片免费视频| 99re在线视频观看| 亚洲三级色| 美女视频黄频a免费高清不卡| 国产丝袜一区二区三区视频免下载| 欧美日韩高清在线| 91口爆吞精国产对白第三集 | 亚洲综合精品香蕉久久网| 国产av无码日韩av无码网站| 亚洲第一区欧美国产综合| 亚洲成人精品| 日韩麻豆小视频| 国产精品私拍在线爆乳| 色综合狠狠操| 欧美成a人片在线观看| 欧美成人第一页| 99在线观看国产| 国模极品一区二区三区| av在线无码浏览| 欧美综合区自拍亚洲综合绿色| 成人在线欧美| 精品中文字幕一区在线| 无码日韩精品91超碰| 国产精品女主播| 亚洲美女一区二区三区| 久久精品日日躁夜夜躁欧美| 国产精品流白浆在线观看| 最新精品国偷自产在线| 色亚洲激情综合精品无码视频| 国产新AV天堂| 国产精品三级专区| 99热亚洲精品6码| 波多野吉衣一区二区三区av| 免费黄色国产视频| 久久久久人妻精品一区三寸蜜桃| 99久久精品视香蕉蕉| 欧美另类图片视频无弹跳第一页| 色综合色国产热无码一| 亚洲成在人线av品善网好看| 成人在线观看一区| 欧美一级色视频| 激情爆乳一区二区| 国产精品对白刺激| 亚洲综合色婷婷中文字幕| 国产成人91精品| 成人国产精品一级毛片天堂| 一本大道香蕉高清久久| 国产不卡国语在线| lhav亚洲精品| 亚洲av片在线免费观看| 中文字幕在线播放不卡| 国产精品亚洲一区二区三区z| 亚洲码一区二区三区| 99在线视频精品| 成人欧美日韩| 国产精品第5页| 九一九色国产| 久草中文网| 日本人妻丰满熟妇区| 欧美亚洲欧美区| 亚洲天堂日韩在线| 日本人妻丰满熟妇区| 三上悠亚精品二区在线观看| 手机在线免费毛片|