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

正文內(nèi)容

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

2024-12-18 00:54上一頁面

下一頁面
  

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