(精品)virtools的漫游地圖算法實(shí)現(xiàn)

(精品)virtools的漫游地圖算法實(shí)現(xiàn)

ID:35733611

大?。?6.50 KB

頁數(shù):4頁

時(shí)間:2019-04-15

(精品)virtools的漫游地圖算法實(shí)現(xiàn)_第1頁
(精品)virtools的漫游地圖算法實(shí)現(xiàn)_第2頁
(精品)virtools的漫游地圖算法實(shí)現(xiàn)_第3頁
(精品)virtools的漫游地圖算法實(shí)現(xiàn)_第4頁
資源描述:

《(精品)virtools的漫游地圖算法實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、基于Virtools的漫游地圖算法實(shí)現(xiàn)針對(duì)在VirtoolsDev3.5平臺(tái)下實(shí)現(xiàn)漫游地圖的各種功能存在實(shí)現(xiàn)算法不完善等問題,給出漫游者前進(jìn)方向?qū)崟r(shí)顯示、漫游者位置實(shí)時(shí)顯示、漫游地圖的縮放和跳轉(zhuǎn)等功能的實(shí)現(xiàn)方法,并制作出3個(gè)自成體系的通用模塊。??在用Virtools制作類似漫游的應(yīng)用中,可以使用這3個(gè)通用模塊快速實(shí)現(xiàn)漫游地圖的4種功能,提高了開發(fā)效率。在漫游者位置實(shí)時(shí)顯示功能算法中使用雙重定位策略和地圖縮放策略,保證了整個(gè)定位顯示畫面的準(zhǔn)確性和流暢性。??漫游地圖在大場(chǎng)景漫游應(yīng)用中是不可或缺的組成部分[1-4],能顯示漫游者的位置和方向,能實(shí)現(xiàn)漫

2、游者在場(chǎng)景中的跳轉(zhuǎn)等功能。在VirtoolsDev3.5平臺(tái)下還沒有既成的BB(BehaviorBuildingBlock)可以快速實(shí)現(xiàn)漫游地圖的一些基本功能。在開發(fā)時(shí)只能先設(shè)計(jì)出漫游地圖的一些基本功能的實(shí)現(xiàn)算法,再利用VirtoolsDev3.5平臺(tái)已經(jīng)提供的BB編程實(shí)現(xiàn)。目前Virtools平臺(tái)下的漫游地圖算法還存在諸多不足,也沒有提供可以快速實(shí)現(xiàn)這些功能的通用的BG(BehaviorBuildingGraph)模塊。文中在VirtoolsDev3.5平臺(tái)下,分析漫游者前進(jìn)方向?qū)崟r(shí)顯示、漫游者位置實(shí)時(shí)顯示、漫游地圖的縮放和跳轉(zhuǎn)等功能的實(shí)現(xiàn)方法,

3、并制作出3個(gè)自成體系的通用模塊。1 前進(jìn)方向?qū)崟r(shí)顯示模塊??該模塊用一個(gè)2DFrame來指示漫游者的前進(jìn)方向,稱為目標(biāo)2DFrame。它的貼圖由一系列指示方向的小圖片組成,形成一個(gè)按規(guī)則均勻分布可表示角度的子圖片序列。該模塊的目的是實(shí)現(xiàn)對(duì)漫游者前進(jìn)方向三維向量的實(shí)時(shí)檢測(cè),并獲取它在俯視圖中的二維方向向量,實(shí)時(shí)確定用于指示方向的子圖片的序號(hào),將該子圖片顯示在目標(biāo)2DFrame上。??1.1 算法設(shè)計(jì)??用S和S′分別表示漫游者的自身坐標(biāo)系和Virtools中的世界坐標(biāo)系。如果坐標(biāo)系S中的標(biāo)準(zhǔn)向量i,j和k在坐標(biāo)系中S′分別表示為U′=〈u′xu′yu

4、′z〉T,V′=〈v′xv′yv′z〉T和W′=〈w′xw′yw′z〉T,并且坐標(biāo)系S中的原點(diǎn)O=〈000〉在坐標(biāo)系中的表示為O′=〈xyz〉,那么坐標(biāo)系S到坐標(biāo)系S′的變換矩陣M在齊次坐標(biāo)系下為M=u′xv′xw′xx;u′yv′yw′yy;u′zv′zw′zz;0001。??在Virtools中,一般選擇漫游者自身坐標(biāo)系的z軸正方向?yàn)槠淝斑M(jìn)方向,根據(jù)向量W′的幾何意義可知,漫游者的前進(jìn)方向在世界坐標(biāo)系中的表示即為W′,前進(jìn)方向在俯視圖中的投影向量為:w′俯視圖=〈w′xw′z〉。因?yàn)闊o法直接求取向量w′俯視圖到貼圖中的子圖片的序號(hào)的映射,所以采

5、用先將向量w′俯視圖映射到0°~360°角度值,再將0°~360°角度值轉(zhuǎn)換為子圖片序號(hào)的映射的方法。??令θ=arctanw′zw′x,則y角度=57.3θ,一象限;57.3(π+θ),二,三象限;57.3(2π+θ),四象限。??這樣y角度的值域?yàn)?°~360°,它可以精確地表示漫游者的前進(jìn)方向;但是由于指示前進(jìn)方向的子圖片是離散的,并且是不精確的,所以要根據(jù)該漫游應(yīng)用對(duì)方向指示的精確度要求確定子圖片序列,以及確定從y角度到子圖片序號(hào)的映射。子圖片數(shù)量越多,映射越密集,方向指示畫面也越精確、流暢。??1.2 編程實(shí)現(xiàn)??先添加OpBB,指定操作

6、類型為Getworldmatrix,設(shè)置參數(shù)輸入類型為3DEntity,參數(shù)輸出類型為Matrix,設(shè)定參數(shù)輸入端3DEntity為漫游者;再添加參數(shù)操作GetZ,設(shè)置參數(shù)輸入類型為Matrix,輸出類型為Vector,并將GetZ的參數(shù)輸入端連接到OpBB的參數(shù)輸出端,這樣輸出端就得到了變換矩陣M中的向量W′;然后添加參數(shù)操作GetX和GetZ,獲取向量W′中的分量w′x和w′z,最后可以求取57.3θ的值、y角度的值和確定目標(biāo)2DFrame貼圖中的子圖片序號(hào)。??1.3 通用BG模塊??為了實(shí)現(xiàn)BB程序流程的分發(fā)和重用,可以把實(shí)現(xiàn)特定功能的BB

7、集合組合成BG模塊,然后將它導(dǎo)出形成Virtools腳本文件,方便其他用戶導(dǎo)入并使用。在Virtools的Schematic操作頁內(nèi)的BB腳本編輯欄里單擊右鍵,在彈出的快捷菜單欄中選擇DrawGraph,即可將具有特定功能的BB集合組合成一個(gè)BG,然后將那些需要靈活設(shè)置的參數(shù)拖到BG的外邊,形成一個(gè)可以靈活設(shè)置參數(shù)并實(shí)現(xiàn)特定功能的BG模塊。在BG上方單擊右鍵,選擇saveas…,就可以將該BG模塊導(dǎo)出。如果想隱藏其內(nèi)部的BB程序流程,則選中saveas…對(duì)話框左下方的選項(xiàng)Hidescriptrepresentationinschematicview

8、保存即可。2 位置實(shí)時(shí)顯示模塊??該模塊使用3個(gè)2DFrame:(1)地圖顯示框2DFrame,用來限定地圖信息顯示畫面的

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。