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