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

正文內(nèi)容

基于opengl的飛機(jī)虛擬場(chǎng)景漫游模擬畢業(yè)論文(存儲(chǔ)版)

  

【正文】 的工作,其中有很多地方值得研究和改進(jìn)。 } File=fopen(Filename,r)。 // 檢查位圖,如果位圖不存在 就退出 if ( pImage != NULL amp。 參數(shù)三是數(shù)據(jù)的成分?jǐn)?shù)。此例中指向存放在 pImage記錄中的數(shù)據(jù)。 free(pImagedata)。 memset(TextureImage,0,sizeof(void *)*1)。 } if (TextureImage[0]=LoadBMP()) { Status=TRUE。 glGenTextures(1, amp。texture[3])。畢業(yè)設(shè)計(jì)環(huán)節(jié)是我們每個(gè)大學(xué)生對(duì)大學(xué)四年學(xué)習(xí)的總結(jié)和反饋的一個(gè)環(huán)節(jié),在畢業(yè)設(shè)計(jì)中我遇到了很多的困難和挑戰(zhàn),鞏固了專業(yè)編程知識(shí),學(xué)習(xí)到了很多新的知識(shí)點(diǎn),同時(shí)我也認(rèn)識(shí)到了自己很多不足,這 些對(duì)于我今后的人生有很大的意義。 。伴隨著這近三個(gè)月的畢業(yè)課題設(shè)計(jì),大學(xué)生活落下了帷幕。 } 基于 OpenGL 的飛機(jī)虛擬場(chǎng)景漫游模擬 27 if (TextureImage[0]=LoadBMP()) { Status=TRUE。 gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[0]sizeX, TextureImage[0]sizeY, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]data)。 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST)。 */ int Status=FALSE。 */ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR)。 GL_UNSIGNED_BYTE 意味著組成圖像的數(shù)據(jù)是無(wú)符號(hào)字節(jié)類型的。 /* 基于 OpenGL 的飛機(jī)虛擬場(chǎng)景漫游模擬 25 告訴 OpenGL此紋理是一個(gè) 2D紋理 ( GL_TEXTURE_2D )。 // 創(chuàng)建存儲(chǔ)位圖的圖像記錄 GLuint Texture = 0。 //創(chuàng)建一個(gè)文件句柄。 福州大學(xué)陽(yáng)光學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 22 結(jié) 論 本文完成的工作主要有以下幾個(gè)方面: ( 1) 基于 OpenGL 和 VC++ MFC 工程完成 了一個(gè)小型的三維場(chǎng)景飛機(jī)漫游系統(tǒng) ,可以通過鍵盤操作對(duì)飛機(jī)和場(chǎng)景進(jìn)行控制達(dá)到漫游的效果 ; ( 2) 分析了紋理映射的使用方法,并使用紋理映射技術(shù)生成了系統(tǒng)的地形; ( 3) 分析了飛機(jī)漫游中飛行控制、飛機(jī)機(jī)身控制的算法 ; ( 4) 運(yùn)用紋理貼圖等知識(shí)完成了用球形的方法設(shè)計(jì)天空盒; ( 5) 對(duì)三維場(chǎng)景應(yīng)用到的渲染技術(shù)如光照處理,霧化進(jìn)行了概述和分析。 模擬測(cè)試 ( 1)系統(tǒng) 運(yùn)行后首先彈出對(duì)話框提示操作,如圖 51 所示。 //飛機(jī)機(jī)身上下旋轉(zhuǎn)標(biāo)志置為真 =。 //每按一次 右鍵 ,旋轉(zhuǎn) Ioan 度 ?? } if(nChar==VK_UP) //按下上鍵 { //以下是飛機(jī)機(jī)身旋轉(zhuǎn)控制 planeUpDownAngle = planeAngleSpeed。 相關(guān)代碼 如下: if(nChar==VK_LEFT) //按下左鍵 { //以下是飛機(jī)機(jī)身旋轉(zhuǎn)控制 planeLeftRightAngle = planeAngleSpeed。 } 飛機(jī)飛行 的實(shí)現(xiàn) 飛機(jī)在場(chǎng)景中不斷移動(dòng)飛行 是采用視點(diǎn)的平移控制 來實(shí)現(xiàn)的 , 視點(diǎn)的平移控制指:用戶 用鍵盤控制視點(diǎn)在當(dāng)前水平面上進(jìn)行向左 、 向右 、 向前 、 向后的平移,設(shè) h? 為 視點(diǎn)平移的變化量 , ? 為 當(dāng)前視點(diǎn)在水平面上的角度,平移之前的坐標(biāo)是 ? ?zyx , ,平移之后的坐標(biāo)福州大學(xué)陽(yáng)光學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 16 是 ? ?cba , ,它們間的關(guān)系 如公式 4 4 43所示 : ?cos*hxa ??? 公式 (41) ?sin*hzb ??? 公式 (42) hyc ??? 公式 (43) 相關(guān)代碼如下: void CPlaneView::FlyPlane(void) { register float dx,dz。//旋轉(zhuǎn)角度置為 20 } void CPlaneView::Camera(void) { float dx,dy,dz。在 InitPlane()和 Camera()函數(shù)里進(jìn)行了有關(guān)參數(shù)的設(shè)置 , 相關(guān)代碼如下: void CPlaneView::InitPlane(void) //初始化飛機(jī)的各種狀態(tài)量 { //飛機(jī)的初始位置 =0。 系統(tǒng)實(shí)現(xiàn)了三維場(chǎng)景漫游主要通過鍵盤來操作,有效增強(qiáng)用戶與場(chǎng)景的交互性。 glTexCoord2d( , )。xXQUARE1。 Terrain[x][z].y=0。zZQUARE。 glDisable(GL_TEXTURE_2D)。 相關(guān) 代碼如下 : GLUquadricObj *skyqiu。對(duì) MS3D 文件格式的三維模型讀取以打開二進(jìn)制文件的方式,將文件的數(shù)據(jù)讀到計(jì)算機(jī)內(nèi)存中,用 OpenGL 中的渲染方法將模型顯示出來 [11]。 //光源位置 GLfloat LightAmbient[]= { , , , }。運(yùn)用這三種類型的光可以模擬出物體的表面在接收不同的光照而產(chǎn)生不同的效果。 //設(shè)置霧的稠密度 glHint (GL_FOG_HINT, GL_DONT_CARE)。 //霧化開啟標(biāo)志 初值為 false,此處將標(biāo)志置為 true } void CPlaneView::drawFog(bool fog) { if(fog){ static GLint fogMode。 ( 2) 控制霧的濃度和顏色:調(diào)用函數(shù) glFog*()來決定霧的濃度和顏色。 它可以保存 24 位真彩色圖像、單色位圖、 256 色或 16 色索引模式的像素圖 [8]。同樣, Y 坐標(biāo)也有三種取值: 代表紋理的頂部, 代表紋理的中點(diǎn), 代表紋理的底部。 ( 3) 啟用紋理及載入紋理數(shù)據(jù)。使用的時(shí)候有個(gè)地方要特別的注意,紋理貼圖在顏色索引模式下使用是錯(cuò)誤的,OpenGL 規(guī)定紋理貼圖須在 RGBA 模式下 [7]。霧化可以根據(jù)到視點(diǎn)的距離逐漸把物體的顏色變淡到背景色,霧化有三種不同的設(shè)置方式,可以根據(jù)實(shí)際所需來使用 , 系統(tǒng)采用的線性霧化。為了方便系統(tǒng)的繪圖和提高速度,本課題采用 “ 天空球 ” 法 [5]。然后往格子上貼地形紋理圖就構(gòu)成了簡(jiǎn)單的地形。//添加窗口縮放時(shí)的圖形變換函數(shù) ?? . } ( 6) 修改 CPlaneView 類里的 OnDestroy 函數(shù), OnSize()函數(shù)主要作用是 當(dāng)窗口將被銷毀時(shí) ,刪除 RC。首先修改的是 planeView 類里的 OnCreate()函數(shù) ,在OnCreate()函數(shù)里創(chuàng)建一個(gè) InitializeOpenGL()函數(shù),在此函數(shù)里 創(chuàng)建一個(gè)渲染上下文文件。因此只要在創(chuàng)建 RC 時(shí)同時(shí)與一個(gè) DC建立聯(lián)系, OpenGL 函數(shù)就可以通過 RC對(duì)應(yīng)的 DC 繪制到相應(yīng)的顯示設(shè)備上面 [4]。 MFC是微軟 提供 的基本類庫(kù), 它將類和類的繼承等封裝起來,實(shí)現(xiàn)了對(duì)應(yīng)用程序的封裝。美國(guó)的 工業(yè)中,包括 BoeingIBM,CE和 GM 等在內(nèi)的企業(yè) 也 都 其新產(chǎn)品的研發(fā)過程中 不斷的 采用虛擬技術(shù),使設(shè)計(jì)周期大大縮短,同時(shí)節(jié)約了研發(fā)成本 。目前國(guó)內(nèi)的虛擬現(xiàn)實(shí)技術(shù)開發(fā) 和應(yīng)用 的難點(diǎn)和熱點(diǎn)主要集中在:大型復(fù)雜場(chǎng)景的 三維信息生成 ;實(shí)時(shí)三維場(chǎng)景 光影 效果的模擬;實(shí)時(shí)三維場(chǎng)景的內(nèi)存使用控制;運(yùn)行效率的提高等方面。 最后介紹了 結(jié)論 。 XXXXXXXXXXXX 本科畢業(yè)論文、畢業(yè)設(shè)計(jì) 題 目: 基于 OpenGL 的飛機(jī)虛擬場(chǎng)景 漫游 模擬 系 別: 計(jì)算機(jī)工程系 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 年 級(jí): XXXXXX 級(jí) 學(xué) 號(hào): XXXXXXXXX 姓 名: XXXX 指導(dǎo)教師: XXX年 XXX 月 XX 日 I 基于 OpenGL 的飛機(jī)虛擬場(chǎng)景漫游模擬 摘要 隨著三維圖形的應(yīng)用越來越廣泛, 再加上計(jì)算機(jī)技術(shù)圖形學(xué)的發(fā)展,涌現(xiàn)出了很多的三維 圖形 開發(fā)工具,而 OpenGL( Open Graphics Library)被認(rèn)為是高性能圖形和交互視景處理的標(biāo)準(zhǔn)。第五部分介紹了系統(tǒng)測(cè)試 的情況 。 隨著 OpenGL 在國(guó)內(nèi)的使用越來越流行 , 使得 OpenGL 的產(chǎn)品在國(guó)內(nèi)市場(chǎng)的占有率越來越高 。比如 知名的 MIT,Stanford 大學(xué) 和 Washington 大學(xué) 。 不僅如此, Visual C++的功能強(qiáng)大之一在于它有一 個(gè) MFC( Microsoft Foundation Classes)應(yīng)用程序向?qū)А?Windows 下的設(shè)備上下文和窗口都支持“位圖格式”屬性,和 RC 在位圖結(jié)構(gòu)方面是一致的。 ( 4) 對(duì)于程序框架來說,視圖類 planeView 是用于展現(xiàn)輸出的直接載體 , 因此以下修改都是 針 對(duì)這個(gè)類進(jìn)行的。 } 福州大學(xué)陽(yáng)光學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 4 glViewport(0,0,cx,cy)。 地形的建模主要是通過用四邊形近似模擬和紋理貼圖的方 法來實(shí)現(xiàn)的,導(dǎo)入 64*64 的位圖圖片,在 xz 平面建立 64*64 的網(wǎng)格,每 4 個(gè)點(diǎn)代表四邊形,每個(gè)點(diǎn)的 y 坐標(biāo)確定下來為 0, x, z坐標(biāo)等于對(duì)應(yīng)像素的值乘以比例值。而 “ 天空盒 ” 需創(chuàng)建六張紋理圖,且要自己計(jì)算紋理坐標(biāo),所消耗的內(nèi)存比較大。簡(jiǎn)而言之,霧化就是計(jì)算機(jī)通過虛化處理屏幕中的場(chǎng)景物體 ,使它們看起來像在霧中的物體一樣。 紋理映射的使用 紋理映射操作包括啟用紋理及載入紋理,指 定紋理坐標(biāo),設(shè)置紋理參數(shù),使用紋理對(duì)象等方面。我采用的是 GL_LINEAR 方式,這樣紋理不管從場(chǎng)景的遠(yuǎn)處或者屏幕的近處都可以平滑的顯示。 X坐標(biāo)有三種取值: 代表是紋理的右側(cè), 代表是紋理的中點(diǎn), 代表紋理的左側(cè)。考慮到程序的運(yùn)行速度,本課題采用的紋理圖都是 BMP 格式的文件,BMP 文件就是一種像素圖 。 霧化的使用 福州大學(xué)陽(yáng)光學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 8 霧化的使用并不復(fù)雜,具有以下幾個(gè)步驟: ( 1) 開啟霧化特效:調(diào)用函數(shù) glEnable(GL_FOG)來 啟用霧化,啟用后離視點(diǎn)比較遠(yuǎn)的場(chǎng)景中的物體會(huì)淡化成霧的顏色。鍵 { fog=!fog。 //設(shè)置霧的顏色 , 與背景匹配 glFogf (GL_FOG_DENSITY,)。 OpenGL 在模擬現(xiàn)實(shí)光照條件方面擁有獨(dú)特的光照模型,物體如果不能自己 發(fā)光的話,那么它就會(huì)接收三種不同類型的光的照射:散射光、環(huán)境光、鏡面光當(dāng)然真實(shí)生活中是沒有這樣的光的。//光的參數(shù)設(shè)置 GLfloat LightPosition[]={ , , , }。 飛機(jī)是一個(gè)相當(dāng)復(fù)雜的幾何模型,如果要用組合圖形來實(shí)現(xiàn) 那么 工作量非常大且真實(shí)感很差,因此系統(tǒng)采用 MS3D 模型來構(gòu)建飛機(jī) , MS3D 文件是由文件頭信息、材質(zhì)信息、多邊形信息等組成的。參數(shù) radius 代表球體的半徑,參數(shù) obj 代表二次曲面對(duì)象,并以此對(duì)象為原點(diǎn),參數(shù) slices
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1