基于MFC的三維場景系統(tǒng)設(shè)計報告_第1頁
基于MFC的三維場景系統(tǒng)設(shè)計報告_第2頁
基于MFC的三維場景系統(tǒng)設(shè)計報告_第3頁
基于MFC的三維場景系統(tǒng)設(shè)計報告_第4頁
基于MFC的三維場景系統(tǒng)設(shè)計報告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、研究生課程考試成績單(試卷封面)院 系儀器科學(xué)與工程學(xué)院專業(yè)儀器科學(xué)與技術(shù)學(xué)生姓名學(xué)號課程名稱面向?qū)ο蟮拇笮蜏y控軟件設(shè)計授課時間 2012年9月至2012年12月周學(xué)時3學(xué)分2簡要評語考核論題基于MFC的三維場景系統(tǒng)設(shè)計總評成績(含平時成績)備注任課教師簽名: 日期: 注:1. 以論文或大作業(yè)為考核方式的課程必須填此表,綜合考試可不填?!昂喴u語”欄缺填無效。2. 任課教師填寫后與試卷一起送院系研究生秘書處。3. 學(xué)位課總評成績以百分制計分。基于MFC的三維場景系統(tǒng)設(shè)計報告1 引言1.1 編寫目的 隨著現(xiàn)在生活節(jié)奏的加快,網(wǎng)絡(luò)對人民的生活越來越重要。虛擬漫游技術(shù)是虛擬現(xiàn)實技術(shù)的重要分支,在建筑

2、、旅游、游戲、航空航天、醫(yī)學(xué)等多種行業(yè)發(fā)展很快。 本文在MFC的框架的,設(shè)計一種三維的漫游壞境,對場景中的道具可以進行自主的選擇功能,實現(xiàn)更好的個性化設(shè)計,給人營造一種更加真實和方便操作的虛擬的漫游環(huán)境。1.2 背景1.3 術(shù)語說明MFC 微軟基礎(chǔ)類庫,是一種應(yīng)用程序框架OpenGL 是個專業(yè)的圖形程序接口,是一個功能強大,調(diào)用方便的底層圖形庫1.4 參考資料OpenGL編程指南 Dave Shreiner編著 人民郵電出版社OpenGL超級寶典 Richard S. Wright編著人民郵電出版社三維游戲設(shè)計師寶典:學(xué)OpenGL編3D游戲 唐明理編著 四川出版集團 C+程序設(shè)計 吳乃陵編著

3、 高等教育出版社MFC深入淺出 侯俊杰編著 華中科技大學(xué)出版社2 需求分析2.1功能需求 該軟件要求完成三維場景的的繪制,能夠在虛擬的場景中進行漫游,以增強現(xiàn)實感;能夠?qū)鼍暗?DS模型進行查看及移動,實現(xiàn)個性的場景設(shè)計。 本軟件主要有如下功能:(1),三維場景顯示功能:對要顯示的3D模型在場景中進行顯示,場景中應(yīng)有天空盒、地面、樹、文字和3DS模型;(2),場景漫游功能:實現(xiàn)視口變換,在虛擬環(huán)境中進行漫游,漫游時隨地勢的高度起伏變化,完全模擬人正常走路的情況;(3),場景中3DS模型的移動功能:可以任意移動你選中的模型,然后實現(xiàn)鼠標左鍵移動3D模型,實現(xiàn)個性場景布局;(4),場景中3DS模型

4、的查看功能:選中某3DS模型,右擊可以彈出菜單,選擇查看3D示意圖,可以用子窗口進行顯示,并且可以用鼠標控制旋轉(zhuǎn)。2.2 性能需求(1),漫游環(huán)境的真實性:設(shè)計的三維漫游壞境應(yīng)當源于現(xiàn)實生活的場景,漫游時應(yīng)當流暢,體驗性好。(2),時間特點 :操作響應(yīng)時間不能太長,方便用戶的個性選擇。(3),程序結(jié)構(gòu)優(yōu)化:用MFC進行開發(fā),應(yīng)實現(xiàn)程序結(jié)構(gòu)的優(yōu)化,更好體現(xiàn)C+面向?qū)ο蟮乃枷搿?.3 市場需求(1) ,可以用于3D游戲場景的布置,在游戲環(huán)境中可以漫游,以及游戲中道具的移動及查看;(2) 可以用于實現(xiàn)場景的編輯,實現(xiàn)用戶對各3DS模型的操作:移動,旋轉(zhuǎn),刪除,復(fù)制,達到個性的2.4 外部接口需求(1

5、),硬件接口:筆記本電腦。(2),軟件接口:運行于Windows操作系統(tǒng)之上,在Microsoft Visual Studio壞境中進行開發(fā)的。 (3),軟件屬性需求:正確性,要求所開發(fā)的軟件要達到用戶的需求,運行時基本無誤;可靠性,一般條件下,不應(yīng)該出現(xiàn)故障;效率,對用戶的要求要有極快的響應(yīng);易使用性,要求能盡量為用戶的使用提供方便;可維護性,當軟件出錯時可以盡快的進行修改;可移植性,要求本軟件能在Windows系統(tǒng)上進行移植;互聯(lián)性,要求提供數(shù)據(jù)的導(dǎo)入和導(dǎo)出接口,以易于同其他系統(tǒng)的連接。3 系統(tǒng)設(shè)計3.1 設(shè)計思路 在MFC環(huán)境下設(shè)計,應(yīng)用面向?qū)ο蟮乃枷敫玫捏w現(xiàn)三維場景各部件的獨立性和聯(lián)

6、系性。在主View類中搭建OpenGL框架,在主窗口中實現(xiàn)整個場景的繪制;用子View類繼承于它,實現(xiàn)子窗口的創(chuàng)建顯示;將要顯示的每個部分各封裝到一個類中,并且將他們作為場景類的成員,在場景類中實現(xiàn)他們各自的顯示。3.2 詳細設(shè)計方案(1) ,用例圖參與者:用戶用例:三維場景顯示、場景漫游、選中3DS模型及移動、子窗口查看3DS模型 參與者只有用戶,用戶參與用例三維場景顯示、場景漫游、選中3DS模型及移動、子窗口查看3DS模型。 (2),類圖SkyBox類、Sand類、Tree類、Text類、M3ds類是OpenGLView類的成員對象,共同實現(xiàn)場景的匯制;SubView繼承于OpenGLVi

7、ew類,它是OpenGLDlg類的成員對象,實現(xiàn)子窗口顯示3DS模型;T3DModel是M3ds類的成員對象,;Picture類是SkyBox類、Sand類、Tree類的成員函數(shù),實現(xiàn)各自位圖紋理生成。3.3 具體描述序號 名稱 功能1OpenGLView類該類實現(xiàn)OpenGL框架的搭建及主窗口場景顯示。屬性:m_hRC;著色描述表m_pDC; 設(shè)備描述表m_skybox; 天空盒對象指針m_sand; 地面對象指針m_tree; 樹對象指針m_3ds; 3DS對象指針m_text; 顯示文字M3dsIndex; 拾取對象序號操作:RenderScene(); 畫圖DisplayScene()

8、; 漫游的接口函數(shù)2SubView類用于子窗口被選中3ds模型對象顯示。屬性:Height; 客戶區(qū)高 Width; 客戶區(qū)寬m_bDraw; 開始旋轉(zhuǎn)的標志M3dsIndex; 選中模型的序號操作:RenderScene(); 顯示選中的ds模型3OpenGLDlg類用于對話框的建立及與SubView的關(guān)聯(lián)顯示。屬性:m_subview; 創(chuàng)建子窗口m3dSIndex; 選中3ds模型序號操作:OnInitDialog();對話框處理4Picture類實現(xiàn)所有對象中位圖紋理的處理。屬性:無操作:LoadBit();調(diào)位圖loadtexture();產(chǎn)生紋理loadpicture();載入文件

9、LoadT16(); 16位色的貼圖5Sand類用于地面地勢的創(chuàng)建及顯示。屬性:fg_terrain;地域數(shù)組g_index; 頂點數(shù)組g_texcoord; 索引數(shù)組r; 旋轉(zhuǎn)角度texture1; 定義紋理數(shù)組m_picture1; 定義Picture對象指針操作:Drawsand(); 畫地面GetHeight(); 取地面高度InitTerrain(); 建立地域數(shù)組Loadsand(); 貼圖操作6Skybox類用于天空盒的建立及顯示。屬性:a,wi,he,le; 天空盒對應(yīng)的長寬高及高度調(diào)整值m_picture; 定義貼圖對象指針 g_texture5; 定義紋理數(shù)組操作:Crea

10、teSkyBox(); 創(chuàng)建天空盒bool Loadskybox(); 載入天空盒紋理7M3ds類該類用于3ds容器建立、3ds模型的選中及顯示。屬性:s3ds1,s3ds2,s3ds3; 建立個3ds對象S3dsList; 存放ds的容器LBUTTONDOWN; 判斷鼠標左鍵是否按下GET; 判斷是否選中3ds模型操作:Init(); 對S3dsList容器進行初始化ShowM3ds(); S3dsList容器中3ds的顯示Get3ds(); 拾取一個3dsMove(); 3ds的移動8T3DModel類是一個完整3ds模型對象,實現(xiàn)單個模型的載入和顯示。屬性:pos_x,int pos_z,float pos_y; 3ds模型的XYZ坐標r; 3ds模型旋轉(zhuǎn)半徑Re; 3ds模型角度size; 3ds模型比例大小cn;要載入的3ds模型文件操作:Set(); 設(shè)置3ds模型對象初始參數(shù)load3dobj(); 加載ds文件Init(); 初始化ds模型CleanUp(); 關(guān)閉文件,釋放內(nèi)存空間show3ds(); 顯示ds模型9Text類該類用于文字的創(chuàng)建及顯示。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論