论文部分内容阅读
货物装载是否超限直接影响到货物列车的运行安全,为此,开发了货车超限监测模拟程序。模拟程序是在奔腾Ⅳ微机上,以Windows操作系统为开发平台,使用Visual C++ MFC开发工具,基于OpenGL库进行开发的。 本论文主要工作包括: (1)在Windows平台上成功地开发了基于OpenGL的模拟程序,程序界面具有良好的人机交互能力,界面分为动画显示视区和控制交互命令视区。 (2)确定便利观察模型的OpenGL取景体。OpenGL为建立取景体提供了一系列基本的变换函数,它由矩阵乘法来表达,包括模型化操作、视图操作和投影操作。其中包括旋转变换、平移变换、比例变换、反射变换、正交投影变换和透视投影变换。利用这几种变换的组合建立取景体。 (3)采用了增加颜色、纹理、消隐、材质和光照技术来加强三维几何模型的真实感。利用消隐函数消除不可见的线面;利用纹理映射函数对模型进行纹理贴图,增加了模型的真实感,并减少了建模的难度;利用材质函数为模型指定材料的属性;利用光照函数表示模型所处的光照条件和环境。开发的程序中使用了RGBA颜色渲染模式。 (4)根据要建造的三维模型的不同特点选择不同的建模方式。对形状比较简单、有规则的几何模型直接采用OPENGL基本图元建模,在建模中利用了OpenGL的二次曲面函数和NURBS求值器函数。复杂形体建模则是通过在3DsMax交互建立模型,再由3ds接口程序把存储的三维模型数据转换为OpenGL的显示列表。 (5)OpenGL系统利用双缓冲机制来实现动画。程序动画有货车运行的纵向模拟动画和运行时的横断面图动画,两者动画实现了完全同步。运行的横断面动画和铁道部制定的机车车辆限界进行实时比较来判断是否超限,超限则报警。程序实现了在真实图像背景上运动的二维图像动画,采用了制作二维图像掩膜图并分两次融合处理技术来实现该动画。