城市軌道交通樞紐三維可視化系統(tǒng)的開發(fā)
【摘要】城市軌道交通樞紐三維可視化系統(tǒng)采用OpenGL 作為三維圖形庫,Visual C+ + 作為開發(fā)工具,同時融合了COM 技術(shù)。文章介紹了建模系統(tǒng)及模擬系統(tǒng)的設(shè)計。【關(guān)鍵詞】城市軌道交通 交通樞紐 仿真設(shè)計任何一項軌道交通樞紐工程,都將涉及到龐大的人力和物力。若設(shè)計不能滿足實際需求,將會造成巨大的浪費,而且在施工完成后,若再想進(jìn)行改擴建,各方面的限制條件會很多。如能在設(shè)計完成后,在施工之前對車站適應(yīng)實際需要的能力進(jìn)行評估,提前發(fā)現(xiàn)設(shè)計的不足之處,將會避免不必要的損失。為此我們開發(fā)了城市軌道交通樞紐三維可視化系統(tǒng)。該系統(tǒng)是城市軌道交通客流預(yù)測與仿真系統(tǒng)的子系統(tǒng),能實現(xiàn)城市軌道交通樞紐的三維視景仿真。
1 建模系統(tǒng)
111 建模系統(tǒng)的功能
建模是該系統(tǒng)的兩大功能之一。建模系統(tǒng)提供一個標(biāo)準(zhǔn)的Windows 應(yīng)用程序界面,用戶可以通過輸入命令來建立模型。任何一次模擬都要通過建模系統(tǒng)產(chǎn)生需要的數(shù)據(jù)文件才能夠進(jìn)行。這部分的主要功能是: ① 提供建立結(jié)構(gòu)的界面和接口; ② 表達(dá)結(jié)構(gòu)間的相互關(guān)系; ③ 控制結(jié)構(gòu)建立的過程; ④ 實時顯示結(jié)構(gòu)的形態(tài); ⑤ 導(dǎo)出數(shù)據(jù)供模擬使用; ⑥ 建立批處理命令。
112 場景組成與分析
需要把車站場景分為不同的結(jié)構(gòu),以便建立靈活的模型。本系統(tǒng)中場景劃分見圖1 。
圖1 車站場景的結(jié)構(gòu)劃分
113 建模系統(tǒng)的結(jié)構(gòu)建模系統(tǒng)可以分為下列幾部分:
(1) 用戶接口 包括用戶命令輸入窗口、結(jié)構(gòu)繪制模塊、結(jié)構(gòu)關(guān)系表示模塊。
(2) 數(shù)據(jù)管理器 提供建模數(shù)據(jù)的存儲、修改、響應(yīng)數(shù)據(jù)請求、導(dǎo)出模型數(shù)據(jù)等功能。所有的數(shù)據(jù)相關(guān)操作都集中在這一部分。
(3) 命令系統(tǒng) 根據(jù)用戶輸入解析命令及其參數(shù), 提供所需要的命令對象。使用該命令對象,用戶可操作數(shù)據(jù)管理器。
(4) 輔助系統(tǒng) 提供建模過程中的輔助功能,主要是產(chǎn)生有序且唯一的索引值。該值用于標(biāo)志建模過程中的不同結(jié)構(gòu)。各部分的相互關(guān)系可以用框圖表述(見圖2) 。
圖2 建模系統(tǒng)的結(jié)構(gòu)關(guān)系
114 建模系統(tǒng)的界面對于一個Windows 應(yīng)用程序來說,提供一個友好的用戶界面相當(dāng)重要,它能使用戶提高使用速度和工作效率,增強程序的簡單性和易用性,因此用戶界面的設(shè)計在這里單獨提出。建模系統(tǒng)的界面見圖3 。
圖3 建模系統(tǒng)的用戶界面
2 模擬211 模擬系統(tǒng)功能及簡介
模擬程序采用三維技術(shù)在計算機上實現(xiàn)交通樞紐場景的三維顯示,同時用戶可以實現(xiàn)身臨其境的視角。這部分和建模除了在文件上的聯(lián)系外,沒有更多的聯(lián)系。采用OpenGL 作為三維顯示技術(shù),使用其中的紋理映射技術(shù),能夠很好地實現(xiàn)較為真實的場景。而在模擬過程中需要考慮的碰撞和運動等問題和三維顯示技術(shù)沒有關(guān)系。在這樣一個模擬程序中,重要的是建立一個模擬引擎,使整個過程有序地組織在一起。碰撞檢測、運動控制等問題需融合在模擬引擎中處理。
212 模擬引擎
模擬引擎的工作過程見圖4 。圖5 是先使用本系
圖4 模擬引擎工作過程
圖5 模擬廳的一角 統(tǒng)建模部分建立模型,然后進(jìn)行模擬得到的實際圖像
。 213 碰撞檢測在碰撞過程中,有效地檢測碰撞的發(fā)生是個比較困難的問題。本系統(tǒng)采用“ 空間碰撞立方體集合”法, 能有效地減少場景中發(fā)生碰撞的次數(shù)。使用該方法的具體步驟如下:
(1) 從整個場景的最小坐標(biāo)處開始,按照一個固定的長度分別在x 、y 、z 方向建立緊密排列的空間立方體。
(2) 通過每一個碰撞元素計算自身坐標(biāo)的最大和最小值,從而知道自身在哪些空間立方體中占有位置, 這樣就不會丟失數(shù)據(jù)。
(3) 運動體的坐標(biāo)通過簡單的運算,便能直接得到所在空間立方體的序號信息, 從而得到相關(guān)的碰撞元素。
3 結(jié)束語
針對城市軌道交通樞紐的特點,開發(fā)城市軌道交通樞紐三維可視化系統(tǒng)是非常必要的。本系統(tǒng)是城市軌道交通樞紐客流預(yù)測與仿真系統(tǒng)的子系統(tǒng)。利用本系統(tǒng),可以在城市軌道交通樞紐建設(shè)之前直觀而又動態(tài)地建立車站的模型,對城市軌道交通樞紐的建設(shè)提供很好的支持。
參考文獻(xiàn)
1 施仲衡等. 地下鐵道設(shè)計與施工. 西安:陜西科學(xué)技術(shù)出版社,1997
2 吳斌等譯. OpenGL 編程權(quán)威指南. 北京: 中國電力出版社, 2001