【正文】
pp *app=new vpApp; //裝載 ACF文件 appdefine(argv[1]); //配置應(yīng)用 appconfigure(); //仿真循環(huán) apprun() ; //取消引用 appunref(); //退出 VP vp::shutdown(); return 0; } 以下以具體實(shí)例為例,詳細(xì)敘述整個(gè)設(shè)計(jì)的思想及步驟。 21 v p P a t h N a v i g a t o rv p P a t h W a yv p P a t h K i n e m a t i c S t a t e v p P a t h R e n d e r S t a t e i n t e r f a c e v p P a t h F i n d e rv p P a t h F i n d e r L i n e a rv p P a t h F i n d e r C a r d i n a l S p l i n ev p P a t h W a y P o i n t S e tW a y P o i n t 圖 39 vpPath類圖 路徑控制點(diǎn)集類( vpPathWayPointSet)是路徑上所有控制點(diǎn)的集合。 PathWay是對(duì)路徑信息類,是路徑設(shè)置最重要的一部分,它主要包括路徑的信息;主要函數(shù)有:設(shè)置連接控制點(diǎn)的方式( SetPath Finder);設(shè)置路徑、控制點(diǎn)以及控制點(diǎn)名稱的顯示方式( SetRender State);設(shè)置實(shí)體在路徑上的運(yùn)動(dòng)信息( SetKinamaticSelect);以及設(shè)置該路徑是否循環(huán)使用( SetLoopingEnable)。 vpPathFinder是一個(gè)接口,主要是對(duì)連接控制點(diǎn)的路徑曲線進(jìn)行設(shè)置。 vpPathKinematicState是對(duì)仿真實(shí)體在路徑上的運(yùn)動(dòng)狀態(tài)進(jìn)行描 22 述,主要函數(shù)有:設(shè)置運(yùn)動(dòng)的加速方式,設(shè)置初速度的值,以及設(shè)置運(yùn)動(dòng)狀態(tài)持續(xù)的時(shí)間或者幀等。 具體的流程為: i. 在 VC環(huán)境中創(chuàng)建和初始化一個(gè) vpPathWayPointSet對(duì)象。 iii. 創(chuàng)建與 vpPathWayPointSet對(duì)象和 vpPathFinder對(duì)象相關(guān)的vpPathWay對(duì)象,并設(shè)置相關(guān)屬性。 v. 創(chuàng)建與 vpPathWay相關(guān)的 vpPathNavigator對(duì)象,并設(shè)置其屬性。 實(shí)現(xiàn)過(guò) 程存在一些問(wèn)題的解決方法 (1)控制點(diǎn)的精確定位 一般地說(shuō) ,由于 Path Tool軟件界面設(shè)計(jì)的局限性 ,直接在三個(gè)正視圖中定位控制點(diǎn)的手工操作難度較大 ,點(diǎn)的精確位置不易確定 ,尤其是要求精確到小數(shù)點(diǎn)多位以后的位置根本無(wú)法確定。二是在 Lynx Prime的坐標(biāo)系中可以尋找控制點(diǎn)的準(zhǔn)確位置 。 (2) Path Tool的張力因子設(shè)定 張力因子如果設(shè)定得太小 ,路徑曲線就會(huì)發(fā)生異常 ,例如紐結(jié)和 23 打彎 ,一條很普通的曲線段中就出現(xiàn)一個(gè)結(jié)。 (3) 速度的設(shè)定 速度并不是整條路徑上的速度 ,事實(shí)上每個(gè)控制點(diǎn)都有它本身的速度值。另外還可以在 Path Tool中改變速度的設(shè)定模式 ,達(dá)到預(yù)期效果。例如 ,一輛汽車轉(zhuǎn)彎 ,汽車的方向要隨著轉(zhuǎn)彎方向而不斷調(diào)整 ,這需要調(diào)整控制點(diǎn)的HPR值 ,使汽車的方向和運(yùn)動(dòng)路線相切。 (5)拐點(diǎn)的平滑設(shè)定 由于 Path Tool軟件界面設(shè)計(jì)的局限性,運(yùn)動(dòng)體隨著拐點(diǎn)方向變化時(shí)我們會(huì)發(fā)現(xiàn)運(yùn)動(dòng)體的方向是強(qiáng)行轉(zhuǎn)過(guò)去的與我們生活的現(xiàn)象很不一致。,首先用兩點(diǎn)的坐標(biāo)確定一條直線得出兩條直線列方程計(jì)算交點(diǎn)的坐標(biāo)并計(jì)算弧度;確定圓計(jì)算半徑再把弧度除以十得出每度的增長(zhǎng)值;最后按拐點(diǎn)為九十度的方法計(jì)算結(jié)果。 本文圍繞如何開(kāi)發(fā)運(yùn)動(dòng)平臺(tái)三維物體路徑的制作與實(shí)體運(yùn)動(dòng)路徑的三維顯示,進(jìn)行了以下幾個(gè)方面的工作 : Vega Prime軟件進(jìn)行研究,熟悉此軟件相關(guān)功能; Path Tool工具中路徑和導(dǎo)航器的基本原理; ; Path Tool工具來(lái)實(shí)現(xiàn)運(yùn)動(dòng)路徑的設(shè)定; VC++中如何實(shí)現(xiàn)運(yùn)動(dòng)路徑的設(shè)定; 。 2 虛擬物體運(yùn)動(dòng)時(shí)在轉(zhuǎn)角處相鄰的兩幀不連續(xù),以至觀察者會(huì)感覺(jué)到畫(huà)面有明顯的抖動(dòng),這需要進(jìn)一步研究和完善。 從一開(kāi)始搜集資料到畢業(yè)設(shè)計(jì)論文的完成前前后后持續(xù)了兩個(gè)多月的時(shí)間。 一、通過(guò)這次畢業(yè)設(shè)計(jì),讓我又溫習(xí)了一遍自己所學(xué)的專業(yè)知識(shí),并且對(duì) Vega Prime有了更深的了解,增長(zhǎng)了在相關(guān)理論方面的知識(shí);同時(shí)在使用 Vega Prime軟件進(jìn)行動(dòng)態(tài)實(shí)現(xiàn)過(guò)程中讓我對(duì) Vega Prime軟件的強(qiáng)大功能產(chǎn)生了極大的興趣,在 Path Tool制作的特效功能以及技巧方面掌握得也比較快,相信這個(gè)軟件對(duì)我將來(lái)也會(huì)有很大的幫助。剛開(kāi)始做時(shí),心里沒(méi)有一個(gè)具體的規(guī)劃以至于老虎吃天,不知道從何處開(kāi)始。從這些問(wèn)題上使我了解到畢業(yè)設(shè)計(jì)不是一個(gè)人的事情,一個(gè)組的同學(xué)之間應(yīng)多交流交流這段時(shí)間的畢業(yè)設(shè)計(jì)心得體會(huì)以及一些經(jīng)驗(yàn),這樣在獲得經(jīng)驗(yàn)的同時(shí)也放松了自己緊張的心情,達(dá)到雙贏的目的。 四、通過(guò)這次畢業(yè)設(shè)計(jì),在我獲得知識(shí)和經(jīng)驗(yàn)的同時(shí),自己的知識(shí)結(jié)構(gòu)還不全面,能力也有所欠缺,特別是在軟件常識(shí)方面還有待進(jìn)一步加強(qiáng)。軍校思念生活 26 的點(diǎn)點(diǎn)滴滴都浮現(xiàn)在我的腦海。 感 謝曾經(jīng)向我傳道授業(yè)的教員們,正是你們的不倦教誨,指引著我在求知的道路上越走越遠(yuǎn)。s Guide for Windows NT and Windows 20xx [M].Version , MultiGenParadigm Inc. [2] MultiGenParadign Inc..Vega Prime Programmer39。s Guide),.MultiGenPraradigm Inc. [4] 倪明田 ,吳良芝 .計(jì)算機(jī)圖形學(xué) .計(jì)算機(jī)圖形學(xué) [M ].北京 :北京大學(xué)出版社 , 1999. [5] 龔卓蓉 . 實(shí)時(shí)三維視景仿真軟件《 Vega程序設(shè)計(jì)》 [M ]. 北京 : 國(guó)防工業(yè)出版社 , 20xx8. [6] 胡社教 ,等 .虛擬現(xiàn)實(shí)與衛(wèi)星仿真技術(shù) [ J ].計(jì)算機(jī)仿真 , 20xx3. [7] 戴鋒 . Visual C++程序設(shè)計(jì)基礎(chǔ) [M ].北京 :清華大學(xué)出版社 , 20xx4. [8] 楊云雷 .三維實(shí)時(shí)動(dòng)畫(huà)的原理和實(shí)現(xiàn) .中國(guó)計(jì)算機(jī)用戶, 1996 [9] 吳家鑄等 .視景仿真技術(shù)及應(yīng)用 .西安 :西安電子科技大學(xué)出版社 .20xx. [10] 劉曉波等一個(gè)基于 MultiGen/Vega Prime的虛擬場(chǎng)景漫游系統(tǒng) .計(jì)算機(jī)應(yīng)用 .20xx. [11] 龔建華等 .虛擬香港中文大學(xué)校園的設(shè)計(jì)與初步試 驗(yàn) .測(cè)繪學(xué)報(bào) .20xx. [12] 鄭新,吳恩華 .澳門(mén)大學(xué)虛擬漫游系統(tǒng)實(shí)踐 .系統(tǒng)仿真學(xué)報(bào),20xx. [13] David ++技術(shù)內(nèi)幕 (第四版 )[M].北京 :清華大學(xué)出版社, 20xx. [14] 何江華,計(jì)算機(jī)仿真導(dǎo)論,北京:科學(xué)出版社, 20xx. [15] 王乘,李利軍等, Vega 實(shí)時(shí)三維視景仿真技術(shù),花中科技大學(xué)出版社, 20xx. 28 畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明 原創(chuàng)性聲明 本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行 的研究工作及取得的成果。對(duì)本研究提供過(guò)幫助和做出過(guò)貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說(shuō)明并表示了謝意。 作者簽名: 日 期: 29 學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。 作者簽名: 日期: 年 月 日 學(xué)位論文版權(quán)使用授權(quán)書(shū) 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門(mén)或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。 涉密論文按學(xué)校規(guī)定 處理。 :任務(wù)書(shū)、開(kāi)題報(bào)告、外文譯文、譯文原文(復(fù)印件)。圖表整潔,布局合理,文字注釋必須使用工程字書(shū)寫(xiě),不準(zhǔn)用徒手畫(huà) 3)畢業(yè)論文須用 A4 單面打印,論文 50 頁(yè)以上的雙面打印 4)圖表應(yīng)繪制于無(wú)格子的頁(yè)面上 5)軟件工程類課題應(yīng)有程序清單,并提供電子文檔 1)設(shè)計(jì)(論文) 2)附件:按照任務(wù)書(shū)、開(kāi)題報(bào)告、外文譯文、譯文原文(復(fù)印件)次序裝訂 3)其它