freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于opengl的三維飛行器程序設(shè)計(jì)與仿真_畢業(yè)論文-文庫吧資料

2024-09-11 05:55本頁面
  

【正文】 移動的原理 顯示列表 這里主要是引入一個在飛行器構(gòu)建過程中特別重要的知識, 就是顯示列表的概念。 因?yàn)?glLookAt()函數(shù)在本文飛機(jī)的漫游過程中比較重要,所以下面利用圖示的方法介紹一下 gllookat()函數(shù)的工作過程: up Eye look Z X 圖 31 視點(diǎn)各向量示意圖 glLookAt()函數(shù)中的三個主要變量 (eye,look,up)就是像上面展示的那樣,當(dāng)我們把西安科技大學(xué)畢業(yè)論文 17 eye,look,up三個參數(shù)傳遞給 glLookAt()函數(shù)的時候,函數(shù)可以自身算出新的坐標(biāo)系,也就相當(dāng)于將我們?nèi)说难劬υ趫鼍爸幸频搅硪粋€位置,因此漫游的過程也就是視點(diǎn)的變化過程,也即坐標(biāo)系不斷改變的過程。目標(biāo)點(diǎn)的移動,相當(dāng)于我們?nèi)苏局欢?,頭或手中的相機(jī)上下左右移動的效果。 X 量的變化就像是我們在場景中橫向移動, Y 量的變化就像是我們的身體高度的變化, Z 量的變化就像是我們在場景中前后移動。在 OpenGL中觀察虛擬世界的主要函數(shù) glulookAt(? ),它的主要作用是可以改變我們在場景中的觀察點(diǎn),看到前面的場景越來越近,兩邊的物體在向后退,這就是我們的觀察點(diǎn)在場景中的位置改變的結(jié)果。在計(jì)算機(jī) 3D圖形處理技術(shù)中,也有類似我們眼睛的東西glulookAt(? )觀察函數(shù),如果這個觀察點(diǎn)在 OpenGL場景中的位置發(fā)生變化,我們在計(jì)算機(jī)屏幕上的圖像就發(fā)生了變化。 在人對世界的綜合視覺觀察效果,是來源于我們的眼睛。 最后當(dāng)紋理對象被綁定到其數(shù)據(jù)上以后,可以調(diào)用 glBindTexture()函數(shù)來將此紋理設(shè)置為當(dāng)前的紋理狀態(tài),這樣在繪制多邊形完成后,就可以調(diào)用相應(yīng)的紋理來進(jìn)行貼圖。生成紋理名之后 ,然后使用glBindTexture()函數(shù)將此紋理對象綁定為我們將在繪制多邊形時使用的當(dāng)前紋理。 在將紋理數(shù)據(jù)從 BMP文件中載入到內(nèi)存之后,將其定義為一個 OpenGL紋理圖,調(diào)用OpenGL中的 glTexImage()函數(shù)可以實(shí)現(xiàn),在函數(shù)被調(diào)用之后,紋理數(shù)據(jù)就會被載入并做好被使用的準(zhǔn)備,調(diào)用 glGenTexture()函數(shù)將一個名字賦給紋理對象,因?yàn)榧y理對象是用來存儲數(shù)據(jù)的,使其隨時準(zhǔn)備被使用。 // Load The Bitmap And Return A Pointer } return NULL。 // Check To See If The File Exists if (File) Does The File Exist? { fclose(File)。 File Handle if (!Filename) //Make Sure A Filename Was Given { return NULL。草地,天空,飛行器都使用紋理貼圖來增加圖形的真實(shí)感。對于所要進(jìn)行紋理映射的表面,其上的坐標(biāo)的最大值和最小值決定了紋理映射的范圍,改變這些值就可以產(chǎn)生各種不同的紋理映射效果。紋理可以是 2D, 3D, 4D紋理等,但我們文中使用的是 2D紋理,它通常是從圖像或者圖片文 件中載入的,文中使用的是從一幅 256*256的現(xiàn)成圖片中載入紋理數(shù)據(jù),它是在程序運(yùn)行是才生成紋理。也可以說,紋理就是一個函數(shù) textture(s,t),對于 s和 t在 0到 1之間的取值產(chǎn)生一個顏色或者亮度值。通常,顏色緩沖區(qū)和窗口像素之間存在著一對一的對應(yīng)關(guān)系。 視區(qū)變換 視口變換:當(dāng)上面的操作全部完成以后,最后所獲得的是場景的而為投影,將被投影到屏幕上的某個窗口 。透視投影的優(yōu)點(diǎn)是不必判斷直線將在什么地方交匯,也不必操心遠(yuǎn)處的物體是如何變小的。透視投影所顯示的場景更接近真實(shí),他的標(biāo)志性特點(diǎn)就是透視縮短,他會使遠(yuǎn)處的物體看上去比相同大小的近處物體更小一些。這意味著不管物體有多遠(yuǎn),都仍然 按照相同的大小進(jìn)行繪制,平面的出現(xiàn)屏幕上。在正投影中,屏幕上所繪制的所有多邊形都按照指定的相對大小出現(xiàn)。裁剪平面是 3D空間的平面方程式, OpenGL用它來確定幾何圖形能否被觀察者所看到。 投影變換 投影變換是在模型視圖變換之后應(yīng)用到物體的頂點(diǎn)之上的。場景或者物體的最終外觀很大程度上取決于模型變換的應(yīng)用順序。 基于 OpenGL三維飛行器程序設(shè)計(jì)與仿真 模型變換 模型變換用于對模型以及模型內(nèi)部的特定物體進(jìn)行操縱。然后,根據(jù)最新修改的坐標(biāo)系統(tǒng)進(jìn)行其他所有的后續(xù)變換。作為總體原則,在進(jìn)行任何變換之前必須先指定視圖變換。視圖變換允許把觀察點(diǎn)放在自己所希望的任何位置,并允許在任何方向上觀察場景。這個觀察點(diǎn)系相對于視覺坐標(biāo)系統(tǒng)進(jìn)行移動,以提供一個特定的拍攝點(diǎn)。它用于確定場景的拍攝點(diǎn)。因此,視覺坐標(biāo)表示一種固定的坐標(biāo)系統(tǒng)。 定義了頂點(diǎn)以后,但在屏幕上顯示他們之前一共會發(fā)生 3中類型的變換:視圖變換,模型變換和投影變換。 首先說 OpenGL中的平移:要對一個點(diǎn)進(jìn)行平移變換,只需要將每個坐標(biāo)軸的增量值加上要平移的點(diǎn)的原始坐標(biāo)就行了 。為了進(jìn)行變換,基本就是用變換矩陣乘以想要變換的點(diǎn),得到的結(jié)果 就是變換過的新的點(diǎn),比如有一個點(diǎn) P和變換矩陣 M,那么為了用變換矩陣 M來變換點(diǎn) P,從而得到結(jié)西安科技大學(xué)畢業(yè)論文 11 果點(diǎn) P’,應(yīng)該像下面這樣做 : PMP *39。 坐標(biāo)變換 變換允許我們移動,旋轉(zhuǎn)和操作 3D世界中的實(shí)體。像素格式用 PIXELFORMATDESCRIPTOR 結(jié)構(gòu)來表示 , 通過設(shè)置這一結(jié)構(gòu)的成員值使 之支持 OpenGL。每個 OpenGL 顯示設(shè)備都支持某一特定的像素格式。使用時先通過 wglCreateContext ( ) 函數(shù)創(chuàng)建一個 RC,然后調(diào)用 wglMakeCurrent ( ) 函數(shù)啟動它 , 就可在所定義的窗口內(nèi)調(diào)用 OpenGL 函數(shù)繪制飛行器了。而在 OpenGL 程序中 , 必須創(chuàng)建圖形操作描述表 ,這是 DC 中專用于 OpenGL的一種。 建立圖形操作描述表 OpenGL 作圖窗口必 須設(shè)置為 WM_CLIPSIBLINGS 和 WM_CLIPCHILDREN 風(fēng)格。OpenGL 的渲染處理完全不同于 Windows 的圖形設(shè)備接口 GDI。同時還要修改工程 中的相關(guān)參數(shù) ,即將 _CONLOLE改為 _WINDOWS,在 link項(xiàng),在對象、模塊欄的前面加上 OpenGL 函數(shù)庫的調(diào)用有效。 本論文研究重點(diǎn) 本文研究的重點(diǎn)主要是利用 OpenGL模擬現(xiàn)實(shí)中飛機(jī)的飛行場景以及對飛機(jī)進(jìn)行操作和控制,重點(diǎn)是各種變換的體實(shí)現(xiàn)以及場景的繪制過程,還有飛機(jī)飛行過程中的一些列控制,主要是各種相關(guān)數(shù)據(jù)的獲取,因此,本論文實(shí)際上是一系列數(shù)據(jù)的操作過程。 西安科技大學(xué)畢業(yè)論文 9 ( 2) 飛行器 該程序的實(shí)現(xiàn)過程中,飛機(jī)的構(gòu)成不是使用當(dāng)下 3D游戲中流行的使用建好后的3DMAX 模型載入到內(nèi)存中,進(jìn)而重新繪制飛機(jī)模型,而是由一些基本的三角形進(jìn)行組合而成的,這種方法可能沒有利用直接載入 3DMAX模型的方法產(chǎn)生的效果好,但這里主要想利用 OpenGL繪圖中經(jīng)常使用的一個東西,即就是顯示列表,主要就是想盡可能的從OpenGL的 角度出發(fā)來完成本次設(shè)計(jì)。 本文在研究了前人仿真天空算法的基礎(chǔ)上,提 出了一種更加簡單實(shí)用的仿真 3D天空的方法,地球是球型的,所以天空像半個球一樣籠罩在大地之上。此外,霧化設(shè)置也會產(chǎn)生問題,如果霧的設(shè)置靠近觀察點(diǎn),則天空的顏色會變淡甚至沒有。 這 3種方法都具備了實(shí)時性,方法簡單的優(yōu)點(diǎn),但同時也存在明顯的不足,第一種方法繪制的天空效果看起來太平面化,簡單粗糙,逼近度不高。光照和霧可以調(diào)用 OpenGL中的相關(guān)函數(shù)進(jìn)行設(shè)計(jì)。完成后經(jīng)過紋理映射使場景看起來更加貼近現(xiàn)實(shí)。 基于 OpenGL三維飛行器程序設(shè)計(jì)與仿真 2. 程序功能概述 這一章節(jié)主要介紹飛行器飛行的具體場景的構(gòu)建以及在程序中它們是如何生成的,還有就是主要介紹程序各個部分的功能以及場景中與飛行器相關(guān)的其他模型的構(gòu)建過程。為了使運(yùn)動軌跡可視化更加逼真,本文首先利用 DEM 數(shù)據(jù)構(gòu)建地形模型,綁定上地形紋理數(shù)據(jù)后,便生 成基礎(chǔ)的三維戰(zhàn)場環(huán)境 。 然后再調(diào)用仿真數(shù)據(jù)結(jié)果庫的數(shù)據(jù)對模型進(jìn)行實(shí)時繪制,驅(qū)動飛行器在空地作戰(zhàn)環(huán)境運(yùn)動 。在航天任務(wù)選擇階段,研究人員需要進(jìn)行大量的軌道計(jì)算,而在航天發(fā)射和航天任務(wù)的執(zhí)行過程中,需要對航天工具以及航天器進(jìn)行導(dǎo)航,定位,上述工作中,都會產(chǎn) 生大量的有關(guān)飛行狀態(tài)的數(shù)據(jù),將這些抽象的數(shù)據(jù)在屏幕上表現(xiàn)出來,對航天任務(wù)的分析和論證,以及發(fā)射和運(yùn)行方案的選擇,都是極其重要的。近年來,隨著計(jì)算機(jī)的普及和科學(xué)技術(shù)的迅速發(fā)展,天氣,衛(wèi)星以及地震勘測領(lǐng)域中的數(shù)據(jù)量越來越大,可視化技術(shù)就成為科學(xué)研究中必不可少的手段。對 國內(nèi)來說,可視化仿真尤其是飛行器仿真起步較晚,不過也處于發(fā)展之中,在航空航天領(lǐng)域的可視化仿真工作,基本上還是處于使用國外的可視化仿真工具來開發(fā)應(yīng)用程序的階段,沒有達(dá)到一個相對成熟的階段,還沒有專用的可視化仿真工具,這使得可視化仿真工作始終落后于國外,因此很有必要認(rèn)真吸收國外的先進(jìn)研究成果,盡可能的掌握相關(guān)的先進(jìn)軟件,在此基礎(chǔ)上進(jìn)行創(chuàng)新研究,盡量縮短差距,推動國內(nèi)可視化仿真技術(shù)的創(chuàng)新和長足發(fā)展。在 Visual C+ + 編程環(huán)境下 , 能方便地調(diào)用這些函數(shù)對三維圖形進(jìn)行仿真。 OpenGL實(shí)用庫 (GLU)是 OpenGL的補(bǔ)充,它提供了更高一層的函數(shù), GLU的功能廣泛,既有 OpenGL函數(shù)的簡單封裝,也有能支持高級的繪制技術(shù)的復(fù)雜組件。但是圖形設(shè)備接口是為一般的應(yīng)用程序而提供的,因此不能滿足游戲所必須的速度要求。準(zhǔn)確的掌握各種狀態(tài)機(jī)的含義以及他們所產(chǎn)生的效果是很重要的,因?yàn)橐粋€或者多個不正確的狀 基于 OpenGL三維飛行器程序設(shè)計(jì)與仿真 態(tài)設(shè)置,就會導(dǎo)致意想不到的結(jié)果。通過應(yīng)用程序編程接口,可以設(shè)置狀態(tài)機(jī)的各個狀態(tài),例如當(dāng)前的顏色,光照以及混合模式等狀態(tài)。 OpenGL是幾百個能夠訪問圖形硬件所有性能的函數(shù)的集合。它有意識的只提供底層的繪制程序功能,這就使得程序員有了更多的控制權(quán)和靈活性。同時一個功能強(qiáng)大的,支持底層繪制和造型能力的軟件圖形函數(shù)庫,適用于所有的主流操作系統(tǒng)平臺,有著廣泛的硬件支持。 OpenGL是 SGI公司開發(fā)的與硬件環(huán)境和操作系統(tǒng)獨(dú)立的 API,它提供了建模、坐標(biāo)變換、著色、光照、平滑等二維和 三維圖形功能以及紋理映射、曲線等高級功能,并且能夠生成三維場景,繪制三維物體 OpenGL良好的交互性和代碼運(yùn)行的高效性使它已經(jīng)成為三維動畫和虛擬現(xiàn)實(shí)場景開發(fā)的重要工具。 OpenGL是一個獨(dú)立的工作平臺 , 用它編寫的程序可以在不同的硬件平臺 (如工作站或個人微機(jī) )中使用 , 也可以在多種操作系統(tǒng) (如 Windows 系列、 OS/2 等 )下運(yùn)行。 目前 , OpenGL 在虛擬現(xiàn)實(shí)領(lǐng)域是功能較強(qiáng) , 最具發(fā)展前途的實(shí)現(xiàn)工具。三維可視化技術(shù)對于地下構(gòu)造研究十分重要 , 三維可視化模型能夠形象地表達(dá)地下構(gòu)造的“ 真實(shí)” 形態(tài)特征以及構(gòu)造要素的空間關(guān)系 , 結(jié)合三維信息處理和空間分析功能可以使地下構(gòu)造分析更為直觀、準(zhǔn)確 , 為地下構(gòu)造三維可視化研究開拓了一條現(xiàn)實(shí)的途徑。 simulate 【 Type of Thesis】 The design model 西安科技大學(xué)畢業(yè)論文 3 目 錄 1. 緒論 ....................................................................................................................................... 5 前言 ............................................................................................................................... 5 飛行器仿真技術(shù)國內(nèi)外研究現(xiàn)狀 ............................................................................... 6 本文研究的目的及主要內(nèi)容 ....................................................................................... 6 2. 程序功能概述 ..............
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1