




已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
中圖分類號(hào) 中圖分類號(hào) TP391 9 本本 科科 生生 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) 申請(qǐng)學(xué)士學(xué)位 申請(qǐng)學(xué)士學(xué)位 論文題目論文題目 虛擬校園全景漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 作者姓名作者姓名 張 晉 所學(xué)專業(yè)名稱所學(xué)專業(yè)名稱 計(jì)算機(jī)科學(xué)與技術(shù) 指導(dǎo)教師指導(dǎo)教師 龐明勇 趙瑞斌 2011 年年 5 月月 6 日日 學(xué)學(xué) 號(hào) 號(hào) 2009220088 論文答辯日期 論文答辯日期 2011 年年 5 月月 21 日日 指指 導(dǎo)導(dǎo) 教教 師師 簽字 簽字 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 論文 原創(chuàng)性聲明滁州學(xué)院本科畢業(yè)設(shè)計(jì) 論文 原創(chuàng)性聲明 本人鄭重聲明 所呈交的設(shè)計(jì) 論文 是本人在導(dǎo)師的指導(dǎo)下獨(dú) 立進(jìn)行研究所取得的研究成果 除了文中特別加以標(biāo)注引用的內(nèi)容外 本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果 本人完全 意識(shí)到本聲明的法律后果由本人承擔(dān) 作者簽名 2011 年 5 月 6 日 目 錄 摘要 1 Abstract 1 1 緒論 2 1 1 引言 2 1 2 選題背景及意義 2 1 2 1 選題背景 2 1 2 2 選題意義 3 1 3 本文結(jié)構(gòu)及主要內(nèi)容 3 2 相關(guān)知識(shí) 4 2 1 OpenGL 編程基礎(chǔ) 4 2 1 1 OpenGL 簡介 4 2 1 2 OpenGL 的主要功能 4 2 1 3 OpenGL 體系結(jié)構(gòu)及工作流程 5 2 2 MFC 編程技術(shù) 6 2 3 虛擬場景建模技術(shù) 8 2 3 1 三維幾何建模技術(shù) 8 2 3 2 基于圖像建模技術(shù) 8 2 3 3 基于幾何和圖像的混合虛擬場景建模技術(shù) 9 3 全景漫游系統(tǒng)的設(shè)計(jì) 10 3 1 系統(tǒng)整體設(shè)計(jì) 10 3 1 1 系統(tǒng)功能概述 10 3 1 2 系統(tǒng)基本設(shè)計(jì)方案 10 3 1 3 系統(tǒng)基本框架 11 3 2 系統(tǒng)詳細(xì)設(shè)計(jì) 11 3 2 1 全景圖的生成 11 3 2 2 紋理貼圖 14 4 系統(tǒng)實(shí)現(xiàn)與測試 17 4 1 主界面的實(shí)現(xiàn) 17 4 2 交互漫游的控制 18 4 3 系統(tǒng)相關(guān)測試 22 5 應(yīng)用前景 23 結(jié)束語 25 參考文獻(xiàn) 25 致謝 27 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 1 虛擬校園全景漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘要 虛擬現(xiàn)實(shí)技術(shù)能夠逼真再現(xiàn)現(xiàn)實(shí)環(huán)境 用戶在虛擬環(huán)境中通過自然的交互式操作能獲得與 真實(shí)環(huán)境相似的感受和體驗(yàn) 全景漫游是虛擬現(xiàn)實(shí)技術(shù)的一種典型應(yīng)用 本文旨在設(shè)計(jì)和開發(fā)一個(gè) 虛擬校園全景漫游系統(tǒng) 該系統(tǒng)不僅能以三維形式逼真再現(xiàn)虛擬校園環(huán)境 同時(shí)支持用戶交互地漫 游 論文首先詳細(xì)分析了各種建模理論和技術(shù) 特別全景圖像合成技術(shù)和三維環(huán)境貼圖技術(shù) 在此 基礎(chǔ)上 確定了全景漫游系統(tǒng)實(shí)現(xiàn)算法和系統(tǒng)框架 最后 以滁州學(xué)院校園環(huán)境為例 利用 OpenGL開放圖形庫和VC 編程工具開發(fā)了虛擬校園全景漫游原型系統(tǒng) 實(shí)驗(yàn)表明該系統(tǒng)不僅能繪 制視覺效果良好且逼真的校園環(huán)境 而且支持用戶流暢的交互式漫游操作 此外 就該系統(tǒng)在景點(diǎn) 再現(xiàn) 商品房展示等應(yīng)用領(lǐng)域進(jìn)行了嘗試并取得良好視覺效果 關(guān)鍵詞 全景圖 圖像拼接 OpenGL 虛擬校園 紋理映射 Design and Implementation of Virtual Campus Panorama Wander through System Abstract Virtual reality technology can verisimilitude reproduce the realistic environment in the virtual environment users can get with a real environment similar feelings and experiences through the natural interactive operation Panorama roaming is a typical application of the virtual reality technology This paper aims to design and develop a virtual campus panoramic roaming system this system not only can reappear in 3D virtual campus environment form lifelike and support the user interactively roaming Firstly the thesis introduces the modeling theory and technique detailedly special panoramic images synthesis technology and 3D environment mapping technology On this basis this paper determines panoramic roaming system implementation algorithms and system framework Finally in ChuZhou University for example using OpenGL graphics libraries and VC programming tools developed panorama roaming prototype system the experiment indicates that the system can not only render good visual effect and verisimilitude reproduce campus environment and support that the user fluent interactive roaming operations In addition applications such as attractions reappear and commodity house s show of the system have been tried and achieved good visual effect Key words Panoramic Image Image Mosaics OpenGL Virtual Campus Texture Mapping 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 2 1 緒論 1 1 引言 近年來 隨著科技的發(fā)展 我們進(jìn)入到一個(gè)新的信息時(shí)代 眾所周知 計(jì)算機(jī)已成為信息時(shí)代 信息處理的主要工具 成為人類與信息空間交流的主要通道 而在這其中 人機(jī)交互界面是一個(gè)主 要的障礙 那如何突破這一障礙 如何擴(kuò)展人類的感知通道 提高人類對(duì)跨越時(shí)空事物和復(fù)雜動(dòng)態(tài) 事件的感知能力 實(shí)現(xiàn)人與信息空間自然 和諧的交互 這些都己漸漸成為人類面臨的新挑戰(zhàn) 而 虛擬現(xiàn)實(shí)技術(shù)是解決這個(gè)挑戰(zhàn)最有效的方法途徑 虛擬現(xiàn)實(shí) Virtual Reality 簡稱 VR 是近年來出現(xiàn)的高新技術(shù) 也稱靈境技術(shù)或人工環(huán)境 它 借助計(jì)算機(jī)構(gòu)建出一個(gè)與現(xiàn)實(shí)環(huán)境十分逼真的交互環(huán)境 使用戶以自然的方式與虛擬環(huán)境中的對(duì)象 交互 從而產(chǎn)生等同于真實(shí)環(huán)境的感受和體驗(yàn) 虛擬現(xiàn)實(shí)技術(shù)己經(jīng)成為計(jì)算機(jī)技術(shù)中研究 開發(fā)和 應(yīng)用的熱點(diǎn) 廣泛應(yīng)用于教育 軍事 建筑 醫(yī)療 工業(yè)設(shè)計(jì)等各個(gè)領(lǐng)域 虛擬校園全景漫游是虛 擬現(xiàn)實(shí)技術(shù)在現(xiàn)代教育中的應(yīng)用 它實(shí)現(xiàn)了對(duì)校園三維景觀和教學(xué)環(huán)境的數(shù)字化和虛擬化 在學(xué)校 的教學(xué)資源管理 環(huán)境規(guī)劃和學(xué)校發(fā)展等許多方面發(fā)揮了重要的作用 1 1 2 選題背景及意義 1 2 1 選題背景 隨著社會(huì)和科學(xué)技術(shù)的發(fā)展 基于圖像繪制的虛擬現(xiàn)實(shí)技術(shù)已經(jīng)成為計(jì)算機(jī)視覺 圖像處理 計(jì)算機(jī)圖形學(xué) 人工智能研究的熱點(diǎn)并得到廣泛的應(yīng)用 可應(yīng)用于全景漫游系統(tǒng)的實(shí)現(xiàn) 虛擬現(xiàn)實(shí) VR 技術(shù)最早在 20 世紀(jì)中期由美國 VPL 探索公司和它的創(chuàng)始人 Jamn IJaIlier 提出 這一概念 后來美國宇航局 NASA 的艾姆斯空間中心利用流行的液晶顯示電視和其它設(shè)備 開始 研制低成本的虛擬現(xiàn)實(shí)系統(tǒng) 推動(dòng)了該技術(shù)硬件的進(jìn)步 目前 虛擬現(xiàn)實(shí)技術(shù)已獲得了長足的發(fā)展 在國內(nèi) 20 世紀(jì) 80 年代末開始進(jìn)行研究 目前還處于初級(jí)階段 2 美國作為VR技術(shù)的發(fā)源地 其研究水平基本上就代表國際VR發(fā)展的水平 目前美國在該領(lǐng)域 的基礎(chǔ)研究主要集中在感知 用戶界面 后臺(tái)軟件和硬件四個(gè)方面 北卡羅來納大學(xué) UNC 的計(jì)算 機(jī)系是進(jìn)行VR研究最早的大學(xué) 他們主要研究分子建模 航空駕駛 外科手術(shù)仿真 建筑仿真等 Loma lAnda大學(xué)醫(yī)學(xué)中心的DavidWarner博士和他的研究小組成功地將計(jì)算機(jī)圖形及VR的設(shè)備用于 探討與神經(jīng)疾病相關(guān)的問題 首創(chuàng)了VR兒科治療法 麻省理工學(xué)院 MIT 是研究人工智能 機(jī)器人 和計(jì)算機(jī)圖形學(xué)及動(dòng)畫的先鋒 這些技術(shù)都是VR技術(shù)的基礎(chǔ) 1985年M1T成立了媒體實(shí)驗(yàn)室 進(jìn) 行虛擬環(huán)境的正規(guī)研究 3 我國VR技術(shù)研究起步較晚 與國外發(fā)達(dá)國家還有一定的差距 但現(xiàn)在已引起國家有關(guān)部門和 科學(xué)家們的高度重視 并根據(jù)我國的國情 制定了開展VR技術(shù)的研究計(jì)劃 九五規(guī)劃 國家自然 科學(xué)基金委 國家高技術(shù)研究發(fā)展計(jì)劃等都把VR列入研究項(xiàng)目 國內(nèi)一些重點(diǎn)院校 已積極投入 到了這一領(lǐng)域的研究工作 北京航空航天大學(xué)計(jì)算機(jī)系是國內(nèi)最早進(jìn)行VR研究 最有權(quán)威的單位 之一 著重研究了虛擬環(huán)境中物體物理特性的表示與處理 實(shí)現(xiàn)了分布式虛擬環(huán)境網(wǎng)絡(luò)設(shè)計(jì) 虛擬 現(xiàn)實(shí)應(yīng)用系統(tǒng)的開發(fā)平臺(tái)等 清華大學(xué)計(jì)算機(jī)系對(duì)虛擬現(xiàn)實(shí)和臨場感方面進(jìn)行了研究 例如球面屏 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 3 幕顯示和圖像隨動(dòng) 克服立體圖閃爍的措施和深度感試驗(yàn)等方面都具有不少獨(dú)特的方法 哈爾濱工 業(yè)大學(xué)已經(jīng)成功地虛擬出了人的高級(jí)行為中特定人臉圖像的合成 表情的合成和唇動(dòng)的合成等技術(shù) 問題 北方工業(yè)大學(xué)CAD研究中心是我國最早開展計(jì)算機(jī)動(dòng)畫研究的單位之一 中國第一部完全用 計(jì)算機(jī)動(dòng)畫技術(shù)制作的科教片 相似 就出自該中心 4 虛擬漫游技術(shù)是虛擬現(xiàn)實(shí)技術(shù)的重要組成部分 在各個(gè)領(lǐng)域 尤其是旅游 航天航空 醫(yī)學(xué) 建筑等行業(yè)有著巨大的發(fā)展空間 著名的UC Berkeley建筑漫游工作室是世界上從事幾何式建筑漫 游研究較早并取得突出成果的科研機(jī)構(gòu)之一 他們從1990年開始進(jìn)行復(fù)雜模型的實(shí)施漫游策略研究 1996年 其在SGI Power Series 320工作站上實(shí)現(xiàn)了北卡大學(xué)伯克利分校新信息樓Soda Hall的實(shí)時(shí)漫 游 國內(nèi)方面 中國科學(xué)技術(shù)館研制的 虛擬珠峰漫游系統(tǒng) 用戶可以駕駛虛擬直升機(jī)飛越虛擬 珠穆朗瑪峰 以體驗(yàn)VR的魅力 寧波數(shù)字城市仿真中心 可以在三維立體的虛擬場景中 使用戶 在未來城市的各個(gè)角落體驗(yàn)對(duì)城市空間的真實(shí)感受 標(biāo)志著中國在數(shù)字城市技術(shù)方面達(dá)到世界領(lǐng)先 水平 1 2 2 選題意義 VR是一項(xiàng)綜合集成技術(shù) 涉及計(jì)算機(jī)圖形學(xué) 人機(jī)交互技術(shù) 傳感技術(shù) 人工智能等領(lǐng)域 它用計(jì)算機(jī)生成逼真的三維視 聽 嗅覺等感覺 使人作為參與者通過適當(dāng)裝置 自然地對(duì)虛擬世 界進(jìn)行體驗(yàn)和交互作用 現(xiàn)在 學(xué)校為了展示自身風(fēng)采 越來越重視宣傳 需要一種更為直接的方式 宣傳自己 虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于學(xué)校 就是虛擬校園 能夠全方位地展示學(xué)校的各方面環(huán)境 本課 題在對(duì)全景漫游技術(shù)探討的基礎(chǔ)上采用基于圖像生成每個(gè)場景的全景圖 從而實(shí)現(xiàn)一個(gè)中等復(fù)雜程 度的 具有一定人機(jī)交互能力的校園全景漫游系統(tǒng) 本課題運(yùn)用虛擬現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)校園全景漫游系統(tǒng) 讓我們更加逼真的認(rèn)識(shí)了解我們的校園 也 能從中了解虛擬現(xiàn)實(shí)技術(shù)的神奇效果 掌握2D紋理貼圖在全景漫游系統(tǒng)中的運(yùn)用 1 3 本文結(jié)構(gòu)及主要內(nèi)容 在閱讀了大量標(biāo)準(zhǔn)文獻(xiàn) 對(duì)虛擬現(xiàn)實(shí)技術(shù)及虛擬漫游系統(tǒng)有了較深理解的基礎(chǔ)上 本文主要針 對(duì)目前虛擬校園的特點(diǎn)和存在的問題 提出了基于OpenGL的虛擬校園漫游系統(tǒng)的功能設(shè)計(jì)架構(gòu)和 實(shí)現(xiàn)方法 通過實(shí)踐和測試 本文提出的虛擬校園漫游系統(tǒng)運(yùn)行流暢 對(duì)系統(tǒng)配置要求不是太高 而且 虛擬校園漫游系統(tǒng)真實(shí)地再現(xiàn)了校園的三維景觀 可以在三維的虛擬校園中進(jìn)行自由的漫游 可以實(shí)現(xiàn)真實(shí)感的交互操作 針對(duì)本選題的具體內(nèi)容 將分成六個(gè)部分來介紹 第一部分緒論 這部分主要講述引言 選題 背景 選題意義和本文結(jié)構(gòu)等幾方面的內(nèi)容 第二部分相關(guān)知識(shí) 這部分主要介紹設(shè)計(jì)當(dāng)中所涉及 到的相關(guān)技術(shù)和知識(shí) 包括OpenGL圖形編程基礎(chǔ) MFC編程技術(shù) 全景圖生成和虛擬場景建模技 術(shù)等 第三部分全景漫游系統(tǒng)的設(shè)計(jì) 本選題的重點(diǎn) 這部分主要分析論述全景漫游系統(tǒng)的整體設(shè) 計(jì)和詳細(xì)設(shè)計(jì) 同時(shí)給出部分設(shè)計(jì)思想及代碼實(shí)現(xiàn) 第四部分 系統(tǒng)實(shí)現(xiàn)與測試 這部分主要針對(duì) 系統(tǒng)的具體實(shí)現(xiàn)與相關(guān)測試 并寫出其核心代碼 第五部分應(yīng)用前景 這部分主要通過具體的應(yīng)用 實(shí)例展示本選題的意義 并總結(jié)相關(guān)技術(shù)應(yīng)用的特點(diǎn) 第六部分結(jié)束語 對(duì)本設(shè)計(jì)進(jìn)行了總結(jié) 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 4 2 相關(guān)知識(shí) 2 1 OpenGL 編程基礎(chǔ) OpenGL被定義為 圖形硬件的一種軟件接口 從本質(zhì)上說 它是一個(gè)3D圖形和模型庫 具 有高度的可移植性 并且具有非常快的速度 OpenGL嚴(yán)格按照計(jì)算機(jī)圖形學(xué)原理設(shè)計(jì)而成 符合光 學(xué)和視覺原理 可以創(chuàng)建極其逼真的3D圖像 許多三維演示系統(tǒng)都用OpenGL作為三維圖形生成和 控制的編程接口 2 1 1 OpenGL 簡介 OpenGL是近幾年發(fā)展起來的一個(gè)性能卓越的三維圖形標(biāo)準(zhǔn) 它是在SGI等多家世界聞名的計(jì)算 機(jī)公司的倡導(dǎo)下 以SGI的GL三維圖形庫為基礎(chǔ)制定的一個(gè)通用共享的開放式三維圖形標(biāo)準(zhǔn) 目前 包括Microsoft SGI IBM DEC SUN HP等大公司都采用了OpenGL做為三維圖形標(biāo)準(zhǔn) 許多 軟件廠商也紛紛以O(shè)penGL為基礎(chǔ)開發(fā)出自己的產(chǎn)品 其中比較著名的產(chǎn)品包括動(dòng)畫制作軟件Soft Image和3D Studio MAX 仿真軟件Open Inventor VR軟件World Tool Kit CAM軟件 ProEngineer GIS軟ARC INFO等 值得一提的是 隨著Microsoft公司在Windows NT和最新的 Windows 95中提供了OpenGL標(biāo)準(zhǔn)及OpenGL三維圖形加速卡的推出 OpenGL將在微機(jī)中有廣泛地 應(yīng)用 同時(shí)也為廣大用戶提供了在微機(jī)上使用以前只能在高性能圖形工作站上運(yùn)行的各種軟件的機(jī) 會(huì) OpenGL是行業(yè)領(lǐng)域中最為廣泛接納的2D 3D圖形API 其自誕生至今已催生了各種計(jì)算機(jī)平臺(tái) 及設(shè)備上的數(shù)千優(yōu)秀應(yīng)用程序 OpenGL是獨(dú)立于視窗操作系統(tǒng)或其它操作系統(tǒng)的 亦是網(wǎng)絡(luò)透明 的 在包含CAD 內(nèi)容創(chuàng)作 能源 娛樂 游戲開發(fā) 制造業(yè) 制藥業(yè)及虛擬現(xiàn)實(shí)等行業(yè)領(lǐng)域中 OpenGL幫助程序員實(shí)現(xiàn)在PC 工作站 超級(jí)計(jì)算機(jī)等硬件設(shè)備上的高性能 極具沖擊力的高視覺 表現(xiàn)力圖形處理軟件的開發(fā) OpenGL的前身是SGI公司為其圖形工作站開發(fā)的IRIS GL IRIS GL是 一個(gè)工業(yè)標(biāo)準(zhǔn)的3D圖形軟件接口 功能雖然強(qiáng)大但是移植性不好 于是SGI公司便在IRIS GL的基 礎(chǔ)上開發(fā)了OpenGL OpenGL的英文全稱是 Open Graphics Library 顧名思義 OpenGL便是 開放的圖形程序接口 雖然DirectX在家用市場全面領(lǐng)先 但在專業(yè)高端繪圖領(lǐng)域 OpenGL是 不能被取代的主角 2010年7月26日發(fā)布OpenGL 4 1和 OpenGL Shading Language 4 10 OpenGL4 1提高視覺密集型 應(yīng)用OpenCL的互操作性 并繼續(xù)加速計(jì)算剖面為核心的支持和兼容性第一次推出的OpenGL 3 2 使開發(fā)人員能夠使用一個(gè)簡化的API或保留向后兼容現(xiàn)有的OpenGL代碼 這取決于他們的市場需求 2 1 2 OpenGL 的主要功能 OpenGL是一個(gè)開放的三維圖形軟件包 它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng) 以它為基礎(chǔ)開發(fā)的應(yīng) 用程序可以十分方便地在各種平臺(tái)間移植 OpenGL可以與Visual C 緊密接口 便于實(shí)現(xiàn)設(shè)計(jì)的有 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 5 關(guān)計(jì)算和圖形算法 可保證算法的正確性和可靠性 OpenGL使用簡便 效率高 概括起來 OpenGL主要有以下功能 1 建模功能 真實(shí)世界里的任何物體都可以在計(jì)算機(jī)中用簡單的點(diǎn) 線 多邊形來描述 OpenGL圖形庫除了提供基本的點(diǎn) 線 多邊形的繪制函數(shù)外 還提供了比較復(fù)雜的三維物體 如球 錐體 多面體 茶壺等 以及復(fù)雜曲線和曲面 如Bezier Nurbs等曲線或曲面 繪制函數(shù) 從而可以方 便地構(gòu)建虛擬三維世界 2 變換功能 可以說 無論多復(fù)雜的圖形都是由基本圖元組成并經(jīng)過一系列變換來實(shí)現(xiàn)的 OpenGL圖形庫的模型變換有平移 旋轉(zhuǎn) 比例縮放等多種變換 3 顏色模式設(shè)置 OpenGL提供了兩種物體著色模式 一種是RGBA顏色模式 另一種是顏 色索引模式 Color Index 4 光照模型 要繪制逼真的三維物體 必須做光照處理 OpenGL可以控制光照與物體的關(guān) 系 產(chǎn)生多種不同的視覺效果 5 凡走樣 在OpenGL繪制圖形過程中 由于使用的是位圖 所以繪制出的圖像的邊緣會(huì)出 現(xiàn)鋸齒形狀 稱為走樣 為了消除這種缺陷 OpenGL提供了點(diǎn) 線 多邊形的反走樣技術(shù) 6 融合 為了使三維圖形更加具有真實(shí)感 經(jīng)常需要處理半透明或透明的物體圖像 這就 需要用到融合技術(shù) 7 霧化 正如自然界中存在煙霧一樣 OpenGL提供了 fog 的基本操作來達(dá)到對(duì)場景進(jìn) 行霧化的效果 8 位圖顯示和圖像增強(qiáng) 在圖形繪制過程中 位圖和圖像是非常重要的一個(gè)方面 OpenGL 提供了一系列函數(shù)來實(shí)現(xiàn)位圖和圖像的操作 9 紋理映射 在計(jì)算機(jī)圖形學(xué)中 把包含顏色 alpha值 亮度等數(shù)據(jù)的矩形數(shù)組稱為紋理 而紋理映射可以理解為將紋理粘貼在所繪制的三維模型表面 以使三維圖形顯得更生動(dòng) 10 雙緩存動(dòng)畫 出色的動(dòng)畫效果是OpenGL的一大特色 OpenGL提供了雙緩存區(qū)技術(shù)來實(shí) 現(xiàn)動(dòng)畫繪制 雙緩存即前臺(tái)緩存和后臺(tái)緩存 后臺(tái)緩存計(jì)算場景 生成動(dòng)畫 前臺(tái)緩存顯示后臺(tái)緩 存己畫好的畫面 2 1 3 OpenGL 體系結(jié)構(gòu)及工作流程 OpenGL的作用機(jī)制是客戶 client 服務(wù)器 sever 機(jī)制 即客戶 用OpenGL繪制景物的應(yīng) 用程序 向服務(wù)器 即OpenGL內(nèi)核 發(fā)布OpenGL命令 服務(wù)器則解釋這些命令 大多數(shù)情況下 客戶和服務(wù)器在同一機(jī)器上運(yùn)行 正是OpenGL的這種客戶 服務(wù)器機(jī)制 OpenGL可以十分方便地 在網(wǎng)絡(luò)環(huán)境下使用 因此Windows NT下的OpenGL是網(wǎng)絡(luò)透明的 正象Windows的圖形設(shè)備接口 GDI 把圖形函數(shù)庫封裝在一個(gè)動(dòng)態(tài)鏈接庫 Windows NT下的GDI32 DLL 內(nèi)一樣 OpenGL圖 形庫也被封裝在一個(gè)動(dòng)態(tài)鏈接庫內(nèi) OPENGL32 DLL 受客戶應(yīng)用程序調(diào)用的OpenGL函數(shù)都先 在OPENGL32 DLL中處理 然后傳給服務(wù)器WINSRV DLL OpenGL的命令再次得到處理并且直接 傳給Win32的設(shè)備驅(qū)動(dòng)接口 Device Drive Interface DDI 這樣就把經(jīng)過處理的圖形命令送給視 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 6 頻顯示驅(qū)動(dòng)程序 下圖簡要說明這個(gè)過程 OpenGL被設(shè)計(jì)成獨(dú)立于硬件 以流水線的方式工作 這樣可以把OpenGL看成一條生成流水線 原料是場景 物體的頂點(diǎn) 表面細(xì)節(jié)等信息 產(chǎn)品是看起來有三維感覺的平面位圖 在OpenGL中 每個(gè)物體都是由一組平面構(gòu)成的 這組平面記錄了該物體的表面 需要用戶提供圍繞平面邊緣的線 段的頂點(diǎn)參數(shù) 平面內(nèi)圖案的位圖兩組信息 術(shù)語稱為Vertex 頂點(diǎn) 紋理 顯然這些平面 越小則繪畫出的三維圖形越逼真 工作的流程大致如下圖所示 工作流程的輸入端可以是圖象 也可以是幾何圖形 最終的結(jié)果是光柵化后的圖象 這些進(jìn)入 幀緩沖區(qū)后 由硬件顯示在輸出設(shè)備上 上圖中的幾何頂點(diǎn)數(shù)據(jù)包括模型的頂點(diǎn)集 線集 多邊形 集 圖象像素?cái)?shù)據(jù)包括像素集 位圖集等 它們經(jīng)過各自的操作 在進(jìn)行光柵化 片元處理后寫入 幀緩存中 由此可見 OpenGL是通過一些基元如頂點(diǎn) 像素集建模 這種方式易于操作 但建模 較為復(fù)雜 此外 為增強(qiáng)真實(shí)感 OpenGL還提供了光照 視點(diǎn)設(shè)置 物體材料特性 紋理映射等其它功 能 這就大大地豐富了建模的能力 為開發(fā)三維地形可視化應(yīng)用帶來了方便 5 2 2 MFC 編程技術(shù) MFC的英文全稱是Microsoft Foundaiton Classes 即微軟的基本類庫 MFC的本質(zhì)就是一個(gè)包 含了許多微軟公司已經(jīng)定義好的對(duì)象的類庫 我們知道 雖然我們要編寫的程序在功能上是千差萬 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 7 別的 但從本質(zhì)上來講 都可以化歸為用戶界面的設(shè)計(jì) 對(duì)文件的操作 多媒體的使用 數(shù)據(jù)庫的 訪問等等一些最主要的方面 這一點(diǎn)正是微軟提供MFC類庫最重要的原因 在這個(gè)類庫中包含了一 百多個(gè)程序開發(fā)過程中最常用到的對(duì)象 在進(jìn)行程序設(shè)計(jì)的時(shí)候 如果類庫中的某個(gè)對(duì)象能完成所 需要的功能 這時(shí)我們只要簡單地調(diào)用己有對(duì)象的方法就可以了 我們還可以利用面向?qū)ο蠹夹g(shù)中 很重要的 繼承 方法從類庫中的己有對(duì)象派生出我們自己的對(duì)象 這時(shí)派生出來的對(duì)象除了具有類 庫中的對(duì)象的特性和功能之外 還可以由我們自己根據(jù)需要加上所需的特性和方法 產(chǎn)生一個(gè)更專 門的 功能更為強(qiáng)大的對(duì)象 當(dāng)然 你也可以在程序中創(chuàng)建全新的對(duì)象 并根據(jù)需要不斷完善對(duì)象 的功能 正是由于MFC編程方法充分利用了面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn) 它使得我們編程時(shí)極少需要關(guān)心對(duì)象 方法的實(shí)現(xiàn)細(xì)節(jié) 同時(shí)類庫中的各種對(duì)象的強(qiáng)大功能足以完成我們程序中的絕大部分所需功能 這 使得應(yīng)用程序中程序員所需要編寫的代碼大為減少 有力地保證了程序的良好的可調(diào)試性 下面圖2 21和圖2 22表示一個(gè)MFC方式的程序的主要類之間的關(guān)系 是一個(gè)程序的整體的框架 圖 2 21 MFC 類層關(guān)系圖 Application Object Document Object View Object FrameWnd Object 圖 2 22 Application Object 是全局對(duì)象 其他對(duì)象動(dòng)態(tài)生成 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 8 這兩個(gè)圖表示了使用MFC方式的應(yīng)用程序的四個(gè)主要類之間的關(guān)系 CMyApp類主要的作用是 用來處理消息的 它統(tǒng)一管理程序收到的所有的消息 然后把消息分配到相應(yīng)的對(duì)象 CFrameWnd 是CMainFrame的父類 CMainFrame負(fù)責(zé)視圖 工具條和狀態(tài)條等的顯示 CView是CMyView的父 類 視圖是一個(gè)窗口的對(duì)象 用戶就是通過視圖這個(gè)窗口對(duì)象來與文檔進(jìn)行交互作用的 CDocument是CMyDoc的父類 文檔是數(shù)據(jù)的對(duì)象 目標(biāo) 集合 文檔通常是由文件菜單的新建菜 單項(xiàng)或者打開菜單項(xiàng)來創(chuàng)建的 并且通常是以文件的形式保存下來 在MFC程序中 程序的數(shù)據(jù)是 放在文檔當(dāng)中的 而顯示數(shù)據(jù)則是利用視圖方式 文檔與視圖分離帶來的好處就是一個(gè)文檔可以同 時(shí)具有多個(gè)視圖 每個(gè)視圖只顯示文檔中的一部分?jǐn)?shù)據(jù) 或者以特定的風(fēng)格顯示文檔中的數(shù)據(jù) 文 檔與視圖分離的另一個(gè)好處就是在程序中可以處理多個(gè)文檔 通過對(duì)不同的視圖的處理達(dá)到對(duì)不同 的文檔分別處理的目的 傳統(tǒng)的Windows編程方法在應(yīng)用程序中有一個(gè)重要的函數(shù)WinMain 這個(gè)函數(shù)是應(yīng)用程序的基 礎(chǔ) 用戶的操作所產(chǎn)生的消息正是經(jīng)過這個(gè)函數(shù)的處理派送到對(duì)應(yīng)的對(duì)象中進(jìn)行處理 在MFC方式 的Windows應(yīng)用程序中 用來處理消息的是系統(tǒng)自動(dòng)生成的MFC中的類CWinApp的派生CMyApp 6 2 3 虛擬場景建模技術(shù) 虛擬現(xiàn)實(shí)場景中的模型是實(shí)際的或想象中的物體或現(xiàn)實(shí)的形狀再現(xiàn) 建立造型模型是構(gòu)造虛擬 現(xiàn)實(shí)場景的基礎(chǔ) 模型構(gòu)造的質(zhì)量直接影響到虛擬場景的真實(shí)感和沉浸感 因此需要根據(jù)對(duì)象的特 點(diǎn)選取不同的建模方法 目前 虛擬現(xiàn)實(shí)建模技術(shù)主要可以采用三種方式 第一種方式是基于計(jì)算 機(jī)圖形學(xué)的三維幾何建模 Geometry Based Modeling 簡稱GBM 技術(shù) 第二種方式是基于圖像的 建模 Image Based Modeling 簡稱IBM 技術(shù) 第三種方式是基于幾何和圖像的混合建模 GeometryJevel 指定紋理圖像分辨 率的級(jí)數(shù) 當(dāng)只有一種分辨率時(shí) level 0 Components 是選擇用于調(diào)整和混合的成分 width 和 height 分別指定紋理圖像的寬和高 必須是 2n n 為正數(shù) Border 為邊界的寬度 必須是 0 和 1 format 和 type 分別指定紋理映射的格式和數(shù)據(jù)類型 Pixels 指定一個(gè)指針 指向紋理數(shù)據(jù)在內(nèi) 存中的位置 2 控制紋理 紋理圖像在映射到物體時(shí)會(huì)產(chǎn)生許多問題 這些問題主要有紋理圖像的紋理怎樣對(duì)應(yīng)到屏幕上 的像素 怎樣通過紋理貼圖實(shí)現(xiàn)紋理縮放和紋理重復(fù)等 其實(shí)現(xiàn)函數(shù)為 glTexParameter 該函數(shù) 的原型 以 glTexParameterf 形式為例 為 void glTexParameterf GLenum target GLeHum pname GIAloat param 其中 target 參數(shù)為目標(biāo)紋理 pname 參數(shù)的取值有以下幾個(gè) GL EXTURE MIN FILTER GL TEXTURE MAG FILTER GL TEXTURE WRAP S GL TEX TURE WRAP T 而 param 參數(shù)的取值要根據(jù) pname 而定 3 紋理貼圖模式 OpenGL 用于紋理貼圖方式的函數(shù)為 glTexEnv 該函數(shù)的原型 以 glTexEnvf 形式為例 為 void glTexEnvf GLenum target GLenum pname GLtloat param 其中 target 參數(shù)必須為 GL TEXTURE ENV pname 參數(shù)必須為 GL TEXTURE ENV MODE 而參數(shù) param 為 GL MODULATE GLDECAL 或 GL BLEND 4 定義紋理坐標(biāo) 紋理坐標(biāo)控制紋理圖像中的像素怎樣映射到物體 紋理坐標(biāo)可以是 1 2 3 4 維的 通常用 其次坐標(biāo)來表示 即 s t r q OpenGL 定義紋理坐標(biāo)的函數(shù)為 glTexCoord 該函數(shù)共有 32 種 不同的形式 例如 gl TexCoord4f 0 0f 0 0f 0 0f 0 0f 14 紋理貼圖其實(shí)現(xiàn)代碼如下 namespace OGL class CCylinder float m Radia 圓柱半徑 float m Height int m Slice 圓柱由 m Slice 個(gè)劃分 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 17 CGLTexture m pTexture 圓柱使用的一個(gè)全景紋理圖 public CCylinder m pTexture NULL m Radia 1280 128 m Height 1024 1024 m Slice 12 char CylinderTex 255 Scene1 JPG LoadCylinderTexture CylinderTex void LoadCylinderTexture char CylinderTex if m pTexture NULL delete m pTexture m pTexture new CGLTexture CylinderTex CCylinder delete m pTexture void OnRender glPushMatrix glEnable GL CULL FACE glFrontFace GL CCW glColor4f 1 0f 1 0f 1 0f 0 8f if m pTexture NULL glEnable GL TEXTURE 2D glBindTexture GL TEXTURE 2D m pTexture GetTextureID float DeltAngle 360 m Slice glBegin GL QUADS for int i 0 i 360 0f m TFrame m Yaw 15 0f m TFrame m Pitch 15 0f if m TFrame m Pitch 25 0 vDeltDistance x 25 0 if vDeltDistance x 25 0 vDeltDistance y 25 0 if vDeltDistance y 25 0 vDeltDistance z 25 0 if vDeltDistance z 0 0 阻力影響角速度和位移速度變化 m vAcceleration m vVelocity 1 0f 相當(dāng)于摩擦力 m vVelocity m vAcceleration deltaTime if m vAnglesVelocity Length 0 0 m vAnglesAcceleration m vAnglesVelocity 1 0f m vAnglesVelocity m vAnglesAcceleration deltaTime 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 23 endif 4 3 系統(tǒng)相關(guān)測試 本設(shè)計(jì)主要運(yùn)用虛擬現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)校園全景漫游系統(tǒng) 讓我們更加逼真的認(rèn)識(shí)了解我們的校園 經(jīng)過前期的分析和設(shè)計(jì) 虛擬校園全景漫游系統(tǒng)基本實(shí)現(xiàn) 本系統(tǒng)采用 VC 6 0 MFC 和 OpenGL 設(shè)計(jì) 交互良好 界面簡單大方 可用鼠標(biāo)和鍵盤進(jìn)行控制 具體測試運(yùn)行如下 1 編譯 鏈接和運(yùn)行 出現(xiàn)主界面 2 移動(dòng)鼠標(biāo)或按 W 鍵 向前移動(dòng) 移動(dòng)鼠標(biāo)或按 A 鍵 向左移動(dòng) 3 移動(dòng)鼠標(biāo)或按 S 鍵 向后移動(dòng) 移動(dòng)鼠標(biāo)或按 D 鍵 向右移動(dòng) 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 24 4 變換場景 繼續(xù)漫游 前面是體育場 漫游籃球場一角 5 漫游女生宿舍一角 近距離的女生宿舍 6 變換角度 蔚然湖襯托的圖書館背影 近看水上報(bào)告廳 5 應(yīng)用前景 虛擬現(xiàn)實(shí)技術(shù)是本世紀(jì)發(fā)展的重要技術(shù)之一 作為一門科學(xué)和藝術(shù)將會(huì)不斷走向成熟 在各行 各業(yè)中將得到廣泛應(yīng)用 并發(fā)揮神奇的作用 二十一世紀(jì)將是虛擬現(xiàn)實(shí)技術(shù)的時(shí)代 虛擬校園全景 漫游系統(tǒng)基于 MFC 和 OpenGL 開發(fā)設(shè)計(jì) 交互性強(qiáng) 界面良好 易于操作 我相信其在很多領(lǐng)域 一定有廣闊的發(fā)展前景 1 旅游業(yè) 在旅游行業(yè) 在互聯(lián)網(wǎng)上展示旅游景點(diǎn)的虛擬漫游在眾多歐洲國家已經(jīng)成為一種 時(shí)尚 虛擬全景漫游系統(tǒng)可以說是旅游公司 官方旅游機(jī)構(gòu) 旅游景點(diǎn)經(jīng)營者用于展示旅游景區(qū) 城市景觀魅力的絕佳媒介 無論是放到互聯(lián)網(wǎng)上 還是制作成光盤發(fā)給目標(biāo)人群 一些國家的旅游 景點(diǎn)網(wǎng)站推出了景點(diǎn)導(dǎo)游欄目 它們將不同的景點(diǎn)和景區(qū)地圖關(guān)聯(lián)起來 能夠結(jié)合地圖讓網(wǎng)上的瀏 覽者全方位感受景區(qū)的魅力 下面是瑯琊山為環(huán)境的漫游系統(tǒng) 這樣可以全方位展示瑯琊山 促進(jìn) 滁州旅游業(yè)的發(fā)展 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 25 2 房地產(chǎn) 房地產(chǎn)是當(dāng)今永不降溫的話題 用什么方式來為樓盤買賣 房屋租賃做宣傳 這 是業(yè)內(nèi)人士一直在關(guān)注的焦點(diǎn)之一 相比較 3D 模型技術(shù)的高昂成本以及繁瑣 費(fèi)事的制作過程 基于全景圖的全景漫游系統(tǒng)以制作簡單 節(jié)省時(shí)間 價(jià)格低廉的優(yōu)勢(shì)更勝一籌 客戶只要在自己的 電腦前就可以真正看到房屋的布局 戶型等特點(diǎn) 3 教育應(yīng)用 學(xué)校漫游 許多家長在為自己的孩子選擇幼兒園 學(xué)校 尤其是私立學(xué)校 時(shí) 都會(huì)把校園的安全 環(huán)境作為重點(diǎn)考察對(duì)象 因?yàn)樾@的環(huán)境對(duì)學(xué)生的學(xué)習(xí) 健康 生活有很大的 影響 也是學(xué)校整體水平的綜合外在體現(xiàn)之一 比如教師是否寬敞明亮 宿舍是否屬實(shí) 食堂的衛(wèi) 生狀況 圖書館的藏書量 體育 多媒體設(shè)施是否齊全 這些都是需要綜合考慮的因素 利用虛擬 全景漫游系統(tǒng) 對(duì)校園進(jìn)行全方位的展示 將這些場所連接起來 并和校園平面圖結(jié)合 既清楚明 白 又能體現(xiàn)校園極大的吸引力和魅力 4 其它應(yīng)用 另外 在各類展會(huì) 展覽一級(jí)博物館等場所 全景漫游系統(tǒng)都能夠有很好的使 用效果和發(fā)展空間 虛擬漫游還可以在工程領(lǐng)域里 被用作數(shù)字可視化工程記錄 在網(wǎng)絡(luò)游戲中 作為虛擬的游戲場景 在文藝舞臺(tái)上作為環(huán)繞的全景背景等 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 26 結(jié)束語 虛擬校園全景漫游系統(tǒng)是計(jì)算機(jī)技術(shù) 虛擬現(xiàn)實(shí)技術(shù) 圖形圖像顯示技術(shù)等諸多高新技術(shù)的綜 合運(yùn)用 在高校的虛擬校園建設(shè)中發(fā)揮著重要的作用 本文在虛擬現(xiàn)實(shí)技術(shù)的基礎(chǔ)之上討論了虛擬 校園的設(shè)計(jì)與實(shí)現(xiàn) 通過這次畢業(yè)設(shè)計(jì) 了解了虛擬現(xiàn)實(shí)技術(shù)的特點(diǎn)和一些理論 認(rèn)識(shí)到虛擬現(xiàn)實(shí)技術(shù)在現(xiàn)代生活 中普遍性 在實(shí)現(xiàn)虛擬校園全景漫游系統(tǒng)的過程中 深入地研究了相關(guān)的三維計(jì)算機(jī)圖形學(xué)以及 MFC 編程技術(shù)的相關(guān)知識(shí) 并對(duì) OpenGL 的編程原理和編程機(jī)制做了一些研究和分析 下面對(duì)本 文的研究作進(jìn)一步的總結(jié) 本文以一個(gè)滁州學(xué)院為真實(shí)場景 介紹了基于 OpenGL 的虛擬校園全景漫游系統(tǒng)的實(shí)際開發(fā)和 應(yīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)審員考試試題及答案 (三)
- 海洋數(shù)字金融服務(wù)創(chuàng)新
- 2025年上海松江區(qū)天馬山學(xué)校招聘教師考試筆試試題(含答案)
- 老班長介紹課件
- 老年疼痛患者護(hù)理課件
- 老年護(hù)理課件模板
- 老年護(hù)理圖文課件
- 老年人心理健康咨詢課件
- 老師的視頻課件制作
- 《建筑項(xiàng)目合同約定場地估值爭議處理協(xié)議》
- 工程總承包管理制度
- 2025年云南新華印刷五廠有限責(zé)任公司招聘筆試參考題庫含答案解析
- 汽車實(shí)訓(xùn)室安全課件
- 臨時(shí)施工出入口交通疏導(dǎo)方案
- 《OPPLE歐普照明》課件
- 國家開放大學(xué)電大??啤督ㄖこ添?xiàng)目管理》期末試題及答案
- 醫(yī)療設(shè)備器材供貨安裝、調(diào)試及售后服務(wù)方案
- 部編版語文三年級(jí)上冊(cè)第四單元教材解讀大單元集體備課
- 10kV小區(qū)供配電設(shè)計(jì)、采購、施工EPC 投標(biāo)方案(技術(shù)方案)
- 2024-2025學(xué)年初中物理八年級(jí)下冊(cè)蘇科版(2024)教學(xué)設(shè)計(jì)合集
- 中外廣告史(第三版) 課件全套 何玉杰 第0-11章 緒論、中國古代廣告的發(fā)展- 日本廣告的發(fā)展
評(píng)論
0/150
提交評(píng)論