




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
虛擬現(xiàn)實(shí)三維建模課程設(shè)計(jì)
——虛擬校園目錄摘要課程設(shè)計(jì)目的虛擬校園概念及建設(shè)目標(biāo)功能展示數(shù)據(jù)來源關(guān)鍵技術(shù)小結(jié)系統(tǒng)設(shè)計(jì)架構(gòu)圖摘要為了在計(jì)算機(jī)中更好的表現(xiàn)現(xiàn)實(shí)的世界,讓我們能夠更加真實(shí)地在計(jì)算機(jī)世界中展現(xiàn)出現(xiàn)實(shí)世界的魅力,也為了讓更多的人們看到我們在現(xiàn)實(shí)世界中不可能見到的場景,我們利用虛擬現(xiàn)實(shí)技術(shù)和可視化技術(shù)更好的實(shí)現(xiàn)了這一點(diǎn)。與此同時(shí)高校的數(shù)字化校園建設(shè)是一個涵蓋范圍很廣的領(lǐng)域,其建設(shè)過程所需要解決的問題也相當(dāng)復(fù)雜。本文針對華北水利水電大學(xué)的校園的具體情況,分析建設(shè)數(shù)字校園的目的,選擇建設(shè)數(shù)字校園的關(guān)鍵技術(shù)及方法,提出數(shù)字校園應(yīng)該具備那些基本功能,并詳細(xì)討論實(shí)現(xiàn)相關(guān)功能的過程和手段。課程設(shè)計(jì)開發(fā)目的我國高校信息系統(tǒng)建設(shè)始于20世紀(jì)80年代,當(dāng)時(shí)主要是單機(jī)版應(yīng)用,解決重點(diǎn)業(yè)務(wù)環(huán)節(jié)的電算化,替代高強(qiáng)度的手工勞動,如排課系統(tǒng)、賬務(wù)管理系統(tǒng)、人員管理系統(tǒng)等。當(dāng)前許多高校都在積極研究虛擬現(xiàn)實(shí)技術(shù)及其應(yīng)用,并相繼建起了虛擬現(xiàn)實(shí)與系統(tǒng)仿真的研究室,將科研成果迅速轉(zhuǎn)化實(shí)用技術(shù),如北京航天航空大學(xué)在分布式飛行模擬方面的應(yīng)用;浙江大學(xué)在建筑方面進(jìn)行虛擬規(guī)劃、虛擬設(shè)計(jì)的應(yīng)用;哈爾濱工業(yè)大學(xué)在人機(jī)交互方面的應(yīng)用;清華大學(xué)對臨場感的研究等都頗具特色。有的研究室甚至已經(jīng)具備獨(dú)立承接大型虛擬現(xiàn)實(shí)項(xiàng)目的實(shí)力。虛擬學(xué)習(xí)環(huán)境虛擬現(xiàn)實(shí)技術(shù)能夠?yàn)閷W(xué)生提供生動、逼真的學(xué)習(xí)環(huán)境,如建造人體模型、電腦太空旅行、化合物分子結(jié)構(gòu)顯示等,在廣泛的科目領(lǐng)域提供無限的虛擬體驗(yàn),從而加速和鞏固學(xué)生學(xué)習(xí)知識的過程。親身去經(jīng)歷、親身去感受比空洞抽象的說教更具說服力,主動地去交互與被動的灌輸,有本質(zhì)的差別。虛擬實(shí)驗(yàn)利用虛擬現(xiàn)實(shí)技術(shù),可以建立各種虛擬實(shí)驗(yàn)室,如地理、物理、化學(xué)、生物實(shí)驗(yàn)室等等,擁有傳統(tǒng)實(shí)驗(yàn)室難以比擬的優(yōu)勢。第二章數(shù)字化校園的概念、建設(shè)目標(biāo)2.1數(shù)字化校園的概念2.2數(shù)字化校園的建設(shè)目標(biāo)2.2.1在教學(xué)方面2.2.2在科研方面2.2.3在管理方面2.2.4在公共服務(wù)體系方面2.2.5在學(xué)校社區(qū)服務(wù)方面2.1數(shù)字化校園的概念傳統(tǒng)上說,數(shù)字化校園是在傳統(tǒng)校園的基礎(chǔ)上,利用先進(jìn)的信息化手段和工具,以統(tǒng)一的管理和安全策略,將校園各項(xiàng)資源數(shù)字化,形成的一個數(shù)字空間,使得現(xiàn)實(shí)校園在空間和時(shí)間上延伸開來。包括網(wǎng)絡(luò)基礎(chǔ)設(shè)施、數(shù)據(jù)中心、網(wǎng)絡(luò)基本服務(wù)系統(tǒng)、一卡通系統(tǒng)、電話系統(tǒng)、有線電視系統(tǒng)、廣播系統(tǒng)、會議系統(tǒng)、計(jì)算中心、數(shù)字圖書館、數(shù)字多媒體教室、數(shù)字語音室、電子公告屏、安防系統(tǒng)、樓宇控制(門禁)系統(tǒng)、應(yīng)用軟件系統(tǒng)等方面。當(dāng)然這只是傳統(tǒng)意義上的概念,當(dāng)我們結(jié)合虛擬現(xiàn)實(shí)時(shí)又會產(chǎn)生出另外一種意義的數(shù)字校園,也就是我們在課程設(shè)計(jì)中需要完成的三維數(shù)字化校園。2.2數(shù)字化校園的建設(shè)目標(biāo)2.2.1在教學(xué)方面充分利用網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)等實(shí)現(xiàn)高質(zhì)量教學(xué)資源、信息資源和智力資源的共享與傳播,促進(jìn)高水平的師生互動,促進(jìn)主動式、協(xié)作式、研究型的學(xué)習(xí),從而形成開放的、高效的、個性化的教學(xué)模式,更好地培養(yǎng)學(xué)生的分析問題能力、解決問題能力和創(chuàng)新能力;2.2.2在科研方面充分利用校園網(wǎng)、互聯(lián)網(wǎng),促進(jìn)科研資源和設(shè)備的共享,加快科研信息傳播,促進(jìn)國際性學(xué)術(shù)交流,開展網(wǎng)上合作研究,并且利用網(wǎng)絡(luò)促進(jìn)最新科研成果向教學(xué)領(lǐng)域的轉(zhuǎn)化,以及科研成果的產(chǎn)業(yè)化和市場化,從而大大提高科研的創(chuàng)新水平和輻射力;2.2.3在管理方面充分利用現(xiàn)代信息技術(shù)實(shí)現(xiàn)職能管理的自動化、信息化,實(shí)現(xiàn)各部門之間的數(shù)據(jù)共享與協(xié)調(diào),提高決策的科學(xué)性和民主性,提高管理的質(zhì)量和效率,形成充滿活力的現(xiàn)代新型管理體制;在在公共共服務(wù)務(wù)體系系方面面建立覆覆蓋全全校的的、主主干千千兆的的高速速網(wǎng)絡(luò)絡(luò),提提高面面向全全校師師生的的基本本網(wǎng)絡(luò)絡(luò)服務(wù)務(wù)、正正版軟軟件服服務(wù)、、技術(shù)術(shù)支持持服務(wù)務(wù)等等等;建建立高高質(zhì)量量的數(shù)數(shù)字化化的圖圖書館館、多多媒體體教室室、語語音室室、會會議室室等;;在校校園內(nèi)內(nèi)建立立統(tǒng)一一的電電子身身份認(rèn)認(rèn)證系系統(tǒng),,從而而為學(xué)學(xué)校高高水平平的教教學(xué)、、科研研和管管理等等提供供強(qiáng)有有力的的支撐撐;在在學(xué)校校社區(qū)區(qū)服務(wù)務(wù)方面面結(jié)合后后勤社社會化化改革革的需需要,,建立立電子子化的的社區(qū)區(qū)服務(wù)務(wù)環(huán)境境,網(wǎng)網(wǎng)絡(luò)、、電話話、有有線電電視進(jìn)進(jìn)入社社區(qū),,并開開展各各種網(wǎng)網(wǎng)絡(luò)化化、電電子化化的服服務(wù)項(xiàng)項(xiàng)目,,如一一卡通通電子子商務(wù)務(wù)、電電子醫(yī)醫(yī)療、、電子子監(jiān)控控等,,為師師生員員工提提供便便捷、、高效效、集集成、、健康康的生生活和和休閑閑娛樂樂服務(wù)務(wù),形形成智智能型型的社社區(qū)服服務(wù)系系統(tǒng)。。小結(jié)其實(shí),,數(shù)字字化校校園是是一個個過程程、一一種境境界。。它隨隨著技技術(shù)的的發(fā)展展而發(fā)發(fā)展,,隨著著人們們辦公公方式式和習(xí)習(xí)慣以以及管管理思思想變變化而而變化化。第三章章功功能能展示示3.1模模型的的建立立樹樹模型型的建建立湖湖面模模型路路燈模模型光光線設(shè)設(shè)置3.2算算法法功能能展示示三三維維模型型的導(dǎo)導(dǎo)入音音效效的添添加霧霧效效果漫漫游游線線框模模型天天空包包圍盒盒第四章章數(shù)數(shù)據(jù)來來源空間數(shù)數(shù)據(jù)獲獲取技技術(shù)主主要有有遙感感、遙遙測、、GPS等等技技術(shù),,屬性性數(shù)據(jù)據(jù)的獲獲取技技術(shù)主主要有有傳統(tǒng)統(tǒng)測量量、統(tǒng)統(tǒng)計(jì)資資料等等。在在數(shù)字字校園園系統(tǒng)統(tǒng)中,,數(shù)據(jù)據(jù)的存存儲管管理方方式尤尤為重重要,,它決決定了了數(shù)據(jù)據(jù)處理理及空空間查查詢等等諸多多功能能的運(yùn)運(yùn)行效效率。。通過過數(shù)字字地球球技術(shù)術(shù)獲取取華北北水利利水電電大學(xué)學(xué)的空空間信信息,,比如如地理理位置置,建建筑物物情況況,學(xué)學(xué)校道道路等等,加加以儲儲存和和組織織,以以此建建設(shè)虛虛擬校校園,,更為為建設(shè)設(shè)“數(shù)數(shù)字校校園””作鋪鋪墊。。通過將將實(shí)際際測量量的數(shù)數(shù)據(jù)導(dǎo)導(dǎo)入到到計(jì)算算機(jī),,然后后基于于AutoCAD利利用南南方CASE進(jìn)進(jìn)行繪繪圖,,繪制制出校校園的的基本本地形形圖平平面模模型,,為后后期的的基礎(chǔ)礎(chǔ)建模模準(zhǔn)備備數(shù)據(jù)據(jù)。第五章章數(shù)數(shù)字校校園的的關(guān)鍵鍵技術(shù)術(shù)及方方法虛擬現(xiàn)現(xiàn)實(shí)技技術(shù)建模技技術(shù)數(shù)據(jù)庫庫技術(shù)術(shù)網(wǎng)絡(luò)信信息技技術(shù)算法設(shè)設(shè)計(jì)虛擬現(xiàn)現(xiàn)實(shí)技技術(shù)的的概念念虛擬現(xiàn)現(xiàn)實(shí)((VirtualReality))是指指運(yùn)用用計(jì)算算機(jī)技技術(shù)生生成一一個逼逼真的的、并并具有有視覺覺、聽聽覺、、觸觸覺等等效果果的可可交互互、動動態(tài)世世界,,人們們可以以對該該虛擬擬世界界中的的虛擬擬實(shí)體體進(jìn)行行操縱縱和考考察。。它的的基礎(chǔ)礎(chǔ)是高高級的的三維維圖形形技術(shù)術(shù)、問問題求求解工工具、、多媒媒體技技術(shù)、、網(wǎng)絡(luò)絡(luò)通信信技術(shù)術(shù)、數(shù)數(shù)據(jù)庫庫、信信息系系統(tǒng)、、專家家系統(tǒng)統(tǒng)、面面向?qū)ο蠹技夹g(shù)和和智能能決策策支持持系統(tǒng)統(tǒng)等技技術(shù)的的集成成。虛擬現(xiàn)現(xiàn)實(shí)技技術(shù)特特征(1))沉浸浸性使使之所所創(chuàng)造造的虛虛擬環(huán)環(huán)境能能使學(xué)學(xué)生產(chǎn)產(chǎn)生““身臨臨其境境”感感覺,,使其其相信信在虛虛擬環(huán)環(huán)境中中人也也是確確實(shí)存存在的的,而而且在在操作作過程程中它它可以以自始始至終終的發(fā)發(fā)揮作作用,,就像像真正正的客客觀世世界一一樣。。(2))交互互性是是在虛虛擬環(huán)環(huán)境中中,學(xué)學(xué)生如如同在在真實(shí)實(shí)的環(huán)環(huán)境中中一樣樣與虛虛擬環(huán)環(huán)境中中的任任務(wù)、、事物物發(fā)生生交互互關(guān)系系,其其中學(xué)學(xué)生是是交互互的主主體,,虛擬擬對象象是交交互的的客體體,主主體和和客體體之間間的交交互是是全方方位的的。(3))構(gòu)想想性是是虛擬擬現(xiàn)實(shí)實(shí)是要要能啟啟發(fā)人人的創(chuàng)創(chuàng)造性性的活活動,,不僅僅要能能使沉沉浸于于此環(huán)環(huán)境中中的學(xué)學(xué)生獲獲取新新的指指示,,提高高感性性和理理性認(rèn)認(rèn)識,,而且且要要能使使學(xué)生生產(chǎn)生生新的的構(gòu)思思。(4))動作作性是是指學(xué)學(xué)生能能以客客觀世世界的的實(shí)際際動作作或以以人類類實(shí)際際的方方式來來操作作虛擬擬系統(tǒng)統(tǒng),讓讓學(xué)生生感覺覺到他他面對對的是是一個個真實(shí)實(shí)的環(huán)環(huán)境。。(5))自主主性是是虛擬擬世界界中物物體可可按各各自的的模型型和規(guī)規(guī)則自自主運(yùn)運(yùn)動。。網(wǎng)絡(luò)絡(luò)信信息息技技術(shù)術(shù)該技術(shù)主主要是建建設(shè)新一一代高速速通信網(wǎng)網(wǎng)絡(luò),實(shí)實(shí)現(xiàn)電話話網(wǎng)、有有線電視視網(wǎng)和互互聯(lián)網(wǎng)的的互聯(lián),,建成綜綜合業(yè)務(wù)務(wù)數(shù)字網(wǎng)網(wǎng)(ISDN))。由于于數(shù)字校校園覆蓋蓋的面積積相對不不大,可可采用藍(lán)藍(lán)牙技術(shù)術(shù)實(shí)現(xiàn)短短程無線線上網(wǎng),,近幾年年來,華華北水利利水電大大學(xué)大學(xué)學(xué)對校園園網(wǎng)絡(luò)進(jìn)進(jìn)行了全全面改造造,取得得了可喜喜的成績績,實(shí)現(xiàn)現(xiàn)了辦公公樓、學(xué)學(xué)生宿舍舍寬帶上上網(wǎng),盡盡管有時(shí)時(shí)網(wǎng)速比比較差,,但總體體來說還還是相當(dāng)當(dāng)不錯的的。特別別是最近近,在校校園內(nèi)也也實(shí)現(xiàn)了了短程無無線網(wǎng)絡(luò)絡(luò)覆蓋,,這是很很令人興興奮的,,同學(xué)們們可在校校園內(nèi)隨隨時(shí)隨地地上網(wǎng)。。建模技術(shù)術(shù)該技術(shù)是是利用當(dāng)當(dāng)前比較較流行的的建模軟軟件,比比如說大大家經(jīng)常常用的CAD、、3dmax,,還有就就是Maya來來建立出出真實(shí)世世界的簡簡化模型型,然后后根據(jù)現(xiàn)現(xiàn)實(shí)的色色彩、光光線、視視覺效果果來進(jìn)行行真實(shí)模模型的后后期渲染染,這是是虛擬現(xiàn)現(xiàn)實(shí)技術(shù)術(shù)的可視視化表達(dá)達(dá)的第一一步,也也是最基基本的一一步。在在基本模模型建立立過程中中,需要要處理好好各個模模型的比比例問題題,以及及拓?fù)潢P(guān)關(guān)系,以以便于是是整個場場景看起起來更加加協(xié)調(diào),,真實(shí),,美觀。。算法設(shè)計(jì)計(jì)首先是對對現(xiàn)實(shí)世世界的TIN約約束,還還有對模模型的簡簡化剖分分,這些些都是需需要在算算法中實(shí)實(shí)現(xiàn)的功功能。在在碰撞檢檢測算法法中需要要建立模模型的格格網(wǎng)索引引,但是是比較優(yōu)優(yōu)的應(yīng)該該是四叉叉樹、八八叉樹、、哈希索索引等方方法。漫漫游中需需要設(shè)計(jì)計(jì)矩陣的的變換,,向量的的乘法,,優(yōu)化的的算法會會帶來更更高的運(yùn)運(yùn)行效率率和內(nèi)存存的節(jié)省省。然后是是實(shí)現(xiàn)現(xiàn)三維維模型型在窗窗體中中的導(dǎo)導(dǎo)入,,在導(dǎo)導(dǎo)入的的時(shí)候候綜合合考慮慮到我我們的的模型型以及及所加加材質(zhì)質(zhì)的協(xié)協(xié)調(diào)性性,最最關(guān)鍵鍵的是是如何何將模模型中中已經(jīng)經(jīng)建立立好的的有一一定坐坐標(biāo)值值得模模型導(dǎo)導(dǎo)入到到我們們的程程序去去,這這里涉涉及到到坐標(biāo)標(biāo)轉(zhuǎn)換換和相相關(guān)的的矩陣陣的運(yùn)運(yùn)算,,向量量的積積。在模型型導(dǎo)入入以后后是最最終的的也是是最重重要的的就是是碰撞撞檢測測以及及漫游游算法法的實(shí)實(shí)現(xiàn),,在碰碰撞檢檢測中中主要要就是是實(shí)現(xiàn)現(xiàn)觀察察者位位置坐坐標(biāo)與與物體體坐標(biāo)標(biāo)的求求交運(yùn)運(yùn)算,,判斷斷觀察察者的的位置置是在在物體體的里里面還還是外外邊((當(dāng)然然如果果實(shí)現(xiàn)現(xiàn)了碰碰撞檢檢測的的話,,不可可能出出現(xiàn)在在物體體的內(nèi)內(nèi)部)),如如果觀觀察者者與物物體接接近時(shí)時(shí)只需需要將將觀察察者的的位置置沿著著邊面面進(jìn)行行向左左右或或者向向后面面做平平移,,最簡簡單的的就是是不做做任何何處理理,也也不讓讓觀察察者的的位置置繼續(xù)續(xù)前移移。漫漫游就就是在在場景景中實(shí)實(shí)現(xiàn)前前后左左右的的移動動,通通過鍵鍵盤來來控制制漫游游。后期的的算法法是對對整個個系統(tǒng)統(tǒng)的一一個裝裝飾,,比如如說音音效的的調(diào)用用,還還有霧霧效果果的添添加,,天空空包圍圍盒是是為了了讓場場景看看起來來更加加真實(shí)實(shí),同同時(shí)也也是對對整個個場景景的一一個外外殼限限制,,主要要的天天空類類型可可以有有正方方形、、球形形或者者是僅僅僅一一張平平面圖圖。第六章章基基礎(chǔ)礎(chǔ)建模模6.1樹樹模型型的建建立6.2湖湖面的的制作作6.3路路燈模模型的的建立立6.4建建筑群群的制制作6.5光光線的的處理理6.1樹樹模型型的建建立在建立立樹模模型的的時(shí)候候,我我們首首先想想到的的是模模型中中自帶帶的ACE擴(kuò)展展模型型,顯顯示效效果也也可以以,但但是這這些遠(yuǎn)遠(yuǎn)遠(yuǎn)不不能滿滿足我我們在在現(xiàn)實(shí)實(shí)世界界建模模的需需要,,因此此必須須要實(shí)實(shí)現(xiàn)自自己的的模型型建立立,另另外一一種方方法就就是我我們利利用軟軟件的的毛發(fā)發(fā)系統(tǒng)統(tǒng)建立立的樹樹模型型,但但是該該模型型也存存在一一定的的問題題,就就是我我們建建立的的模型型越精精細(xì),,模型型所占占的內(nèi)內(nèi)存就就會越越大,,所以以這種種樹模模型我我們不不能用用太多多,其其中最最簡單單的樹樹模型型的表表示方方法就就是直直接利利用樹樹的圖圖片來來表示示,首首先利利用photoshopcs6制作作出黑黑白圖圖然后在在材質(zhì)質(zhì)球里里面設(shè)設(shè)置漫漫反射射和不不透明明的屬屬性,,建立立出平平面樹樹的模模型最終樹樹的表表示效效果為為:6.2湖湖面的的制作作湖面的的制作作主要要采用用NUBRS曲曲面,,通過過修改改點(diǎn)的的位置置來調(diào)調(diào)整整整個曲曲面的的形狀狀建立之之后,,利用用材質(zhì)質(zhì)編輯輯球?yàn)闉楹婷婕由仙舷鄳?yīng)應(yīng)的材材質(zhì),,最終終的制制作效效果如如圖所所示:6.3路路燈模模型的的建立立路燈的的柱子子是看看似圓圓形的的不規(guī)規(guī)則圖圖形,,但是是也有有一定定的規(guī)規(guī)律,,所以以可以以利用用軟件件中的的車削削這一一工具具來制制作燈燈柱,,而對對于路路燈的的試題題本身身可以以是由由四個個平面面來圍圍成,,中間間利用用半徑徑比較較小的的圓柱柱來連連接,,而最最上面面的蓋蓋子也也可以以利用用NUBRS曲曲面來來制作作燈柱的的制作作6.4建建筑群群的制制作在設(shè)計(jì)計(jì)建筑筑時(shí)為為了節(jié)節(jié)省空空間,,我們們主要要采用用了擠擠出的的方法法,但但是為為了更更加真真實(shí),,需要要為建建筑賦賦予比比較真真實(shí)的的材質(zhì)質(zhì),然然后對對于一一些需需要特特殊處處理的的建筑筑,利利用布布爾或或者塌塌陷將將他們們做成成比較較真實(shí)實(shí)的外外觀,,本來來想著著利用用photoshopcs6制制作出出比較較精細(xì)細(xì)的圖圖片,,然后后為建建筑群群賦予予特別別外觀觀,但但是由由于時(shí)時(shí)間問問題,,只能能做到到這一一步,,后來來有時(shí)時(shí)間的的話,,在最最后整整一下下吧。。6.5光光線的的處理理良好的的光線線可以以讓模模型的的色彩彩不可可折扣扣的表表現(xiàn)出出來,,因此此需要要對整整個場場景的的光線線進(jìn)行行設(shè)置置,按按數(shù)字字鍵8可以以調(diào)出出我們們的環(huán)環(huán)境設(shè)設(shè)置器器,進(jìn)進(jìn)行環(huán)環(huán)境光光的設(shè)設(shè)置當(dāng)然在在場景景中的的所有有景物物、建建筑都都是采采用對對應(yīng)的的工具具來設(shè)設(shè)置的的,在在此不不能一一一介介紹,,相信信學(xué)過過軟件件的同同學(xué),,也都都知道道如何何去建建立這這些簡簡單的的模型型。最終結(jié)結(jié)果展展示第七章章算算法設(shè)設(shè)計(jì)關(guān)關(guān)鍵代代碼展展示音效的添加加模型的導(dǎo)入入設(shè)置天空包包圍盒漫游向量的運(yùn)算算線框模式7.1音效的添加加InitFMOD();//初始始化音頻文文件FSOUND_Stream_Play(FSOUND_FREE,mp3back);//播播放背景景音樂returnTRUE;//初始化成成功TRUE函數(shù)定義GLvoidInitFMOD(void){if(FSOUND_Init(44100,32,0)){mp3=FSOUND_Sample_Load(0,"Data/Mssj.mp3",FSOUND_2D,0);}}GLvoidFreeFMOD(void){if(mp3!=NULL){FSOUND_Sample_Free(mp3);}}7.2模模型的導(dǎo)入打開文件m_FilePtr=fopen(strFileName,"rb");如果文件打開開失敗if(!m_FilePtr){sprintf(strMessage,"3DS文件件不存在!",strFileName);MessageBox(NULL,strMessage,"Error",MB_OK);returnfalse;}讀取3ds文文件的第一個個ChunkReadChunk(&chunk);檢查是否是3ds文件if(chunk.ID!=PRIMARY){sprintf(strMessage,"讀取文件t失敗!",strFileName);MessageBox(NULL,strMessage,"Error",MB_OK);fclose(m_FilePtr);returnfalse;}開始讀取3ds文件ReadPrimary(chunk.length-6);計(jì)算每個頂點(diǎn)點(diǎn)的法線量ComputeNormals();關(guān)閉打開的文文件fclose(m_FilePtr);m_FilePtr=NULL;對有紋理的材材質(zhì)載入該紋紋理for(inti=0;i<m_3DModel.numOfMaterials;i++){if(m_3DModel.pMaterials[i].isTexMat){if(!BuildTexture(m_3DModel.pMaterials[i].mapName.string,m_3DModel.pMaterials[i].texureId)){//紋理載載入失敗sprintf(strMessage,"3DS紋理理文件載入失失敗!",m_3DModel.pMaterials[i].mapName.string);MessageBox(NULL,strMessage,"Error",MB_OK);}}}7.3設(shè)置天空包圍圍盒設(shè)置天空盒中中心為a(cx,cy,cz)floatx=cx-width/2.0f;floaty=cy-height/2.0f;floatz=cz-length/2.0f;選擇天空盒背背面紋理glBindTexture(GL_TEXTURE_2D,skyTexture[0]);設(shè)置紋理的邊邊界的填充方方式glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP_TO_EDGE);開始繪制四邊邊形glBegin(GL_QUADS);設(shè)置紋理坐標(biāo)標(biāo)和背面四邊邊形的四個點(diǎn)點(diǎn)位置glTexCoord2f(1.0f,0.0f);glVertex3f(x+width,y,z);glTexCoord2f(1.0f,1.0f);glVertex3f(x+width,y+height,z);glTexCoord2f(0.0f,1.0f);glVertex3f(x,y+height,z);glTexCoord2f(0.0f,0.0f);glVertex3f(x,y,z);glEnd();選擇天空盒面面紋理glBindTexture(GL_TEXTURE_2D,skyTexture[1]);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP_TO_EDGE);7.4漫漫游左右移動CameravoidCCamera::StrafeCamera(floatspeed){m_vPosition.x+=m_vStrafe.x*speed;m_vPosition.z+=m_vStrafe.z*speed;m_vView.x+=m_vStrafe.x*speed;m_vView.z+=m_vStrafe.z*speed;}前后移動CameravoidCCamera::MoveCamera(floatspeed){CVector3vView=m_vView-m_vPosition;m_vPosition.x+=vView.x*speed;m_vPosition.z+=vView.z*speed;m_vView.x+=vView.x*speed;m_vView.z+=vView.z*speed;}確認(rèn)鍵盤控制制的移動判斷是否按下下向上鍵或‘‘W'鍵if(GetKeyState(VK_UP)&0x80||GetKeyState('W')&0x80){MoveCamera(MOVESPEED); //向前移動動Camera}判斷是否按下下向下鍵或'S'鍵if(GetKeyState(VK_DOWN)&0x80||GetKeyState('S')&0x80){MoveCamera(-MOVESPEED);//向后移移動Camera}判斷是否按下下向左鍵或'A'鍵if(GetKeyState(VK_LEFT)&0x80||GetKeyState('A')&0x80){StrafeCamera(-MOVESPEED);//向左左移動Camera}判斷是否按下下向右鍵或'D'鍵if(GetKeyState(VK_RIGHT)&0x80||GetKeyState('D')&0x80){StrafeCamera(MOVESPEED);//向右移移動Camera}向量的運(yùn)算計(jì)算向量的叉叉乘CVector3CVector3::CrossProduct(constCVector3&rhs)const{returnCVector3(y*rhs.z-z*rhs.y,z*rhs.x-x*rhs.z,x*rhs.y-y*rhs.x);}計(jì)算向量的點(diǎn)點(diǎn)乘floatCVector3::DotProduct(constCVector3&rhs)const{returnx*rhs.x+y*rhs.y+z*rhs.z;}計(jì)算向量的長長度floatCVector3::GetLength()const{return(float)sqrt((x*x)+(y*y)+(z*z));}計(jì)算向量的長長度的平方floatCVector3::GetSquaredLength()const{return(x*x)+(y*y)+(z*z);}向量的旋轉(zhuǎn)繞X軸旋轉(zhuǎn)向向量,返回旋旋轉(zhuǎn)后的向量量CVector3CVector3::GetRotatedX(doubleangle)const{if(angle==0.0)return(*this);floatsinAngle=(float)sin(M_PI*angle/180);floatcosAngle=(float)cos(M_PI*angle/180);returnCVector3(x,y*cosAngle-z*sinAngle,y*sinAngle+z*cosAngle);}繞X軸旋轉(zhuǎn)向向量voidCVector3::RotateX(doubleangle){(*this)=GetRotatedX(angle);}7.5線線框模式If(linemodel){glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);}Else{glPolygonMode(GL_FRONT_AND_BACK,GL_FULL);}第八章主主要技術(shù)難題題及解決方案案模型型建建立立之之平平面面樹樹的的建建立立模型型建建立立之之模模型型過過大大模型型渲渲染染之之材材質(zhì)質(zhì)的的顯顯示示與與隱隱藏藏算法法設(shè)設(shè)計(jì)計(jì)之之3dmax文文檔檔的的導(dǎo)導(dǎo)入入、、碰碰撞撞檢檢測測、、漫漫游算法法設(shè)設(shè)計(jì)計(jì)之之天天空空包包圍圍盒盒模型型建建立立之之平平面面樹樹的的建建立立在建建立立樹樹模模型型的的時(shí)時(shí)候候可可以以有有以以下下幾幾種種方方法法::一是是::就就是是最最簡簡單單的的利利用用軟軟件件中中自自帶帶的的已已經(jīng)經(jīng)建建立立好好的的模模型型;;二是:利利用建模模軟件的的毛發(fā)系系統(tǒng),可可以制作作出比較較精細(xì)的的樹模,,尤其對對于柳樹樹這一類類線條比比較明顯顯的樹木木,效果果比較好好;三是:對對于一些些有葉子子的樹木木,我們們可以首首先制作作出葉子子和樹干干以及樹樹枝這些些基本的的模型,,然后利利用合并并將葉子子有序的的加載到到樹枝上上,制作作出精美美的樹木木來;四四是:也也是最簡簡單的樹樹模型,,就是直直接用一一張簡單單的樹木木的照片片來表示示樹木,,實(shí)際卻卻是一張張照片。。當(dāng)然還有有最最最最為簡單單的一種種就是你你什么都都不用想想,直接接去找““度娘””,然后后點(diǎn)擊下下載按鈕鈕就可以以了。對于用照照片來顯顯示樹模模型的方方法來說說,首先先需要利利用PS軟件來來制作出出需要顯顯示的樹樹木的照照片的黑黑白兩色色的照片片副本來來,然后后同時(shí)保保留著兩兩張照片片,打開開材質(zhì)編編輯器,,在其中中一個未未用的材材質(zhì)編輯輯球里面面加載一一張彩色色的樹的的照片,,然后在在不透明明度上設(shè)設(shè)置為圖圖片的黑黑白副本本的照片片。然后后將材質(zhì)質(zhì)加載到到一個平平面上,,就可以以制作出出和照片片中一模模一樣的的樹模型型,設(shè)置置為黑白白圖片是是因?yàn)樵谠谟行┸涇浖心J(rèn)為不不可見,,而白色色是可見見區(qū)域,,比如說說在3dmax中。8.2模模型型建立立之模模型過過大建立模模型也也是在在模型型中增增加內(nèi)內(nèi)容的的過程程,也也是內(nèi)內(nèi)存增增加的的過程程,隨隨著模模型的的建立立,內(nèi)內(nèi)容會會越來來越多多,機(jī)機(jī)器會會越來來越慢慢,甚甚至?xí)?dǎo)致致死機(jī)機(jī),軟軟件崩崩潰等等問題題,因因此提提前做做好備備份時(shí)時(shí)必須須的,,另外外就是是選擇擇比較較好的的方法法去優(yōu)優(yōu)化我我們的的模型型,在在軟件件中有有相關(guān)關(guān)的設(shè)設(shè)置,,可以以幫助助我們們來優(yōu)優(yōu)化模模型,,對于于其中中的設(shè)設(shè)置我我們選選擇最最初的的默認(rèn)認(rèn)就可可以了了。8.3模型渲渲染之之材質(zhì)質(zhì)的顯顯示與與隱藏藏為了讓讓整個個場景景看起起來更更加真真實(shí),,我們們選擇擇在加加材質(zhì)質(zhì)的時(shí)時(shí)候就就讓其其顯示示在模模型上上面,,但是是對于于其中中一些些是無無法顯顯示的的,只只有在在渲染染的時(shí)時(shí)候才才可以以在場場景中中看到到我們們最為為真實(shí)實(shí)的模模型,,這是是我們們不想想發(fā)生生的,,因此此需要要尋找找一定定的方方法來來顯示示我們們所有有材質(zhì)質(zhì),比比如說說通過過調(diào)整整坐標(biāo)標(biāo),對對象坐坐標(biāo)、、世界界坐標(biāo)標(biāo)、實(shí)實(shí)際通通道等等。尤尤其在在平面面樹的的建立立過程程中,,該問問題特特別棘棘手。。因?yàn)闉槲矬w體的才才是有有涉及及到透透明問問題。。8.4算算法法設(shè)計(jì)計(jì)之3dmax文檔檔的導(dǎo)導(dǎo)入、、碰撞撞檢測測、漫漫游首先在在到導(dǎo)導(dǎo)入模模型的的時(shí)候候要考考慮模模型過過大的的問題題,為為此我我們已已經(jīng)在在模型型建立立的過過程中中對模模型進(jìn)進(jìn)行了了優(yōu)化化;在添加碰撞撞檢測的時(shí)時(shí)候,其實(shí)實(shí)就是最基基本的求交交運(yùn)算,在在前面我們們已經(jīng)提到到對我們的的模型進(jìn)行行三角剖分分,或者四四邊形剖分分,以及建建立TIN約束在漫游算法法中,是有有一個觀察察點(diǎn)的位置置,有一個個觀察方向向,然后給給觀察這一一個前進(jìn)的的速度就可可以實(shí)現(xiàn)前前進(jìn)或者后后退8.5算算法設(shè)設(shè)計(jì)之天空空包圍盒天空可以讓讓整個場景景都變得更更加真實(shí),,更加清晰
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)六英語試卷答案
- 賣魚銷售合同范本
- 個人一周工作計(jì)劃
- 冷凍品供貨合同范本
- 醫(yī)院規(guī)培合同范本
- 加油站清洗工程合同范本
- 一建貨運(yùn)合同范本
- 代理運(yùn)營品牌合同范本
- 保管車輛協(xié)議合同范例
- 出租破屋改造合同范本
- 2025包頭青山賓館有限公司面向社會公開招聘18人筆試參考題庫附帶答案詳解
- 課件-DeepSeek從入門到精通
- 2025至2030年中國毛絨卡通玩具數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025年度智能充電樁場地租賃合同范本3篇
- 2024年蕪湖職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 17J008擋土墻(重力式、衡重式、懸臂式)圖示圖集
- 北師大版三年級下冊數(shù)學(xué)口算題練習(xí)1000道帶答案
- 技術(shù)推廣服務(wù)合同模板五篇
- 《智能制造技術(shù)基礎(chǔ)》課件-第3章 智能制造加工技術(shù)
- 心電監(jiān)護(hù)儀的操作及注意事項(xiàng) 課件
- GB/T 718-2024鑄造用生鐵
評論
0/150
提交評論