塔式起重机的虚拟场景浏览与实现
2011-03-23卜雷
卜 雷
(江汉大学机电与建筑工程学院,湖北 武汉 430056)
塔式起重机在投入使用之前,使用方希望能够预知其使用功效,而塔式起重机体积大、运输费用高等自身特点使得塔机户外真机展示具有较大局限性.起重机生产企业也需要寻求更多的方式进行产品推广,因此产品的虚拟动态展示便成为重要的宣传手段.
本文采用Microsoft Visual Studion.NET 2003为开发平台,以OSG为场景驱动实现了塔式起重虚拟样机的可视化框架.
1 技术路线
虚拟场景浏览框架[1]见图1.
图1 技术路线
2 软件程序实现
2.1 程序实现基本步骤
软件程序基本开发步骤[2]包括:
1)设置环境——链接对应的库文件、连接使用类的头文件等;
2)创建虚拟浏览场景——建立 osgViewer::Viewer类的一个对象,用于渲染已经组织好的模型;
3)加载三维模型——对于复杂的模型一般通过导入的方法来完成,即应用其他软件完成复杂模型的三维实体建模,通过相应的接口导入程序中,并对场景数据库进行初始化;
4)组织模型——通过建立模型的拓扑结构来表示模型的位移、灯光等各种关系;
5)已组织完毕的模型加载到虚拟场景中;
6)进入循环,进行渲染即可进行浏览和查看等操作.
2.2 程序基本框架
程序的基本框架如图2所示.
图2 OSG基本程序框架
基本程序结构如下:
2.3 设置节点的位置
浏览场景的时候,节点不一定刚好在视口的合适位置,可以通过设置节点来解决.
osg::PositionAttitudeTransform是一个位置变换节点,继承自osg::Transform主要是提供模型的位置变换、大小缩放,原点位置的设置以及坐标系的变换.常用的成员函数包括:setPosition设置位置、getPosition得到位置、setAttitude设置姿态、setScale设置缩放等.使用该节点加载模型,示意代码如下:
场景浏览完整的源代码略去.
3 实验效果
3.1 实验硬件条件
实验选用某型号的塔式起重机进行塔式起重机场景可视化模拟.绘制塔式起重机虚拟场景中拥有模型的信息统计量,帧速率达60帧/s.试验硬件条件见表1.
表1 实验的硬件条件
3.2 实验结果
实验结果见图3.
4 结论
试验结果表明:虚拟塔式机场景可视化框架是合理、有效的,设计的方案能够满足实现塔机虚拟工作场景浏览的需求,开发的系统人机交互效果良好,能够用键盘实现实时漫游系统,并且克服了传统的OpenGL以及Direct3D开发周期长、难度大的缺点,解决了使用OpenGVS、Vega等商业引擎开发成本过高等问题.
[1]转 萍,申闫春.基于OSG的虚拟校园漫游系统的设计与实现[J].计算机技术与发展,2009,19(1):217-220.
[2]文 峰.基于虚拟现实的驾驶模拟器视景系统关键技术与艺术研究[D].武汉:武汉理工大学图书馆,2006.