卜 雷
(江漢大學機電與建筑工程學院,湖北 武漢 430056)
塔式起重機在投入使用之前,使用方希望能夠預知其使用功效,而塔式起重機體積大、運輸費用高等自身特點使得塔機戶外真機展示具有較大局限性.起重機生產企業(yè)也需要尋求更多的方式進行產品推廣,因此產品的虛擬動態(tài)展示便成為重要的宣傳手段.
本文采用Microsoft Visual Studion.NET 2003為開發(fā)平臺,以OSG為場景驅動實現了塔式起重虛擬樣機的可視化框架.
虛擬場景瀏覽框架[1]見圖1.
圖1 技術路線
軟件程序基本開發(fā)步驟[2]包括:
1)設置環(huán)境——鏈接對應的庫文件、連接使用類的頭文件等;
2)創(chuàng)建虛擬瀏覽場景——建立 osgViewer::Viewer類的一個對象,用于渲染已經組織好的模型;
3)加載三維模型——對于復雜的模型一般通過導入的方法來完成,即應用其他軟件完成復雜模型的三維實體建模,通過相應的接口導入程序中,并對場景數據庫進行初始化;
4)組織模型——通過建立模型的拓撲結構來表示模型的位移、燈光等各種關系;
5)已組織完畢的模型加載到虛擬場景中;
6)進入循環(huán),進行渲染即可進行瀏覽和查看等操作.
程序的基本框架如圖2所示.
圖2 OSG基本程序框架
基本程序結構如下:
瀏覽場景的時候,節(jié)點不一定剛好在視口的合適位置,可以通過設置節(jié)點來解決.
osg::PositionAttitudeTransform是一個位置變換節(jié)點,繼承自osg::Transform主要是提供模型的位置變換、大小縮放,原點位置的設置以及坐標系的變換.常用的成員函數包括:setPosition設置位置、getPosition得到位置、setAttitude設置姿態(tài)、setScale設置縮放等.使用該節(jié)點加載模型,示意代碼如下:
場景瀏覽完整的源代碼略去.
實驗選用某型號的塔式起重機進行塔式起重機場景可視化模擬.繪制塔式起重機虛擬場景中擁有模型的信息統(tǒng)計量,幀速率達60幀/s.試驗硬件條件見表1.
表1 實驗的硬件條件
實驗結果見圖3.
試驗結果表明:虛擬塔式機場景可視化框架是合理、有效的,設計的方案能夠滿足實現塔機虛擬工作場景瀏覽的需求,開發(fā)的系統(tǒng)人機交互效果良好,能夠用鍵盤實現實時漫游系統(tǒng),并且克服了傳統(tǒng)的OpenGL以及Direct3D開發(fā)周期長、難度大的缺點,解決了使用OpenGVS、Vega等商業(yè)引擎開發(fā)成本過高等問題.
[1]轉 萍,申閆春.基于OSG的虛擬校園漫游系統(tǒng)的設計與實現[J].計算機技術與發(fā)展,2009,19(1):217-220.
[2]文 峰.基于虛擬現實的駕駛模擬器視景系統(tǒng)關鍵技術與藝術研究[D].武漢:武漢理工大學圖書館,2006.