VR 技术是信息科学领域一类新兴的工程技术,是在计算机图形学、计算机仿真、传感技术和多媒体技术、网络通信、面向对象技术和智能决策支持系统的基础上发展起来的一门交叉学科。目前在航海、飞行模拟、军事训练模拟、娱乐业,以及医疗诊断中的应用取得了可观的成果。VR 系统提供的不仅是简单的图像、数据、文字信息,而且是一种虚拟的、可感知的环境,能使人产生身临其境的感觉,从而充分发挥人的认识能力和主观能动性,提高工作效率和决策能力。
VR系统的硬件设备主要有:虚拟世界生成设备、感知设备、人机交互设备。常用的VR 硬件设备见图6-3-7。
图6-3-7 常用的VR 硬件设备
(a)空间球;(b)数据手套;(c)投影系统;(d)立体眼睛;(e)头盔
其中虚拟世界生成设备显得尤为重要,因为三维真实感场景的生成和显示在VR 系统中具有头等重要的地位。有鉴于此,它通常是带有图形加速器和多条图形输出流水线的高性能图形计算机,如SGI或SUN 图形工作站,这些超级计算机虽然性能超群,但价格非常昂贵,考虑到其适用性,采用基于PC的VR 系统即非沉浸式VR 系统。将系统功能核心放在视觉信号生成与显示(真实感图形的建模与实时绘制)、听觉通道信号生成与显示,以及三维空间定位、拾取反馈、碰撞检测上面。
1.虚拟空间几何建模
按照各几何模型的系统特征分为两类:静态模型和动态模型。
静态模型是在完成系统模拟的整个过程中,模型各顶点的几何数据及空间拓扑关系保持不变的实体(包括静态的物体,如辅助施工工厂、生活住房、风水电供应系统、拌和楼、导流建筑物等)和可运动的物体(如各种施工机械等)。我们只关心它在虚拟场景坐标系下的空间位置对整个施工系统效率的影响。在交互设计过程中,通过外设改变其空间坐标及尺寸来改变边界条件进行模拟,达到优化设计的目的。静态模型的形态只影响视觉效果,达到一定精度即可满足要求。对于静物,可以采用AutoCAD、3DSMax等建模工具直接建立三维模型,并用专用的工具转换为需要的mesh标准格式。对于可运动的物体,首先分析其基本的运动模式,通过MilkShape、Maya等工具建立骨骼动画,并转化为sk高程eton骨骼动画格式,并存入模型库。
动态模型是在交互过程中可能需要修改的模型,主要包括地形模型和坝体模型。对于施工过程中的隧洞掘进、边坡开挖、道路布置等这些都涉及地形的动态挖填,可借助于数字高程模型(Digital Elevation Model)以及图形引擎的顶点数据管理来实现其几何数据的修改。地形挖填运算的关键在于求出原始地形格网与干预模型格网的交线,之后对多余部分进行修正,得到新的地形。对于坝体模型,不同的坝型都有其自身的特点,不仅坝体结构复杂,存在各种细部结构,且在仿真时钟不断推进的过程中是不断变化的。龙滩碾压混凝土重力坝,体形复杂,施工过程中分块数以千计,且形态各异,绘制难度大,通过预定义模型来实现显得极不明智。基于此,我们根据各个坝段的体形描述方程,创建一个坝体体形描述类,封装其体形定义参数,通过空间几何坐标访问各坝块参数,通过实时计算生成、绘制模型,并采用LOD(Level of Detail)技术进行相应的模型优化,提高绘制效率。
2.数字地形模拟
数字地形模拟过程实质是在形成原始地形的大量采样点按照一定的精度进行观测,此时地形表面用一组有序的数据表达,而数字表面其他点位置的属性,采用内插的方法来表现。通常用数字高程模型(DEM)对地形地貌进行模拟,并希望它能作为一种信息的载体在施工场区的模拟中尽量表现出丰富直观的信息。数字地形要达到直观性和可量性的统一要依赖于DEM 的质量和精度。矢量型DEM 的数据组织形式有:规则格网模型(Grid)和三角网模型(Tin)等。前者处理速度快,适于表现比较平滑的地形;后者处理比较灵活,便于控制不同层次。目前,各种构网都有比较成熟的算法。我们采用单独的模块生产DEM,利用地形等高线数据生成高度场来构造三维地形模型,能保证三维地形一定的几何精确度,同时又包含有丰富的地貌特征。
图6-3-8和图6-3-9分别是龙滩水电工程在布置导流建筑物前后的地面模型。
图6-3-8 龙滩水电工程原始地面模型(DEM)
3.面向对象图形渲染引擎
OGRE(Object-Oriented Graphics Rendering Engine)是以C++语言开发、采用面向对象方法设计的3D 图形引擎。它的功能强大,使用方便,扩充性强,渲染效率高,开发者能方便地开发基于3D 硬件设备的应用程序或游戏软件。引擎中的类库对更底层的系统库(如Direct3D 和OpenGL)的全部使用细节进行了抽象,并提供了基于现实世界对象的接口和其他类。其特性如下:
(1)支持Direct3D 和Open GL。
(2)支持Windows平台。
(3)支持Linux平台。
图6-3-9 龙滩水电工程布置建筑物后的地面模型
(4)材质脚本支持。
(5)支持从PNG、JPEG 或TGA 这几种文件中加载纹理;自动产生Mip Map。
(6)支持可程序控制的纹理坐标转换。
(7)材质可以拥有足够多的纹理层,每层纹理支持各种渲染特效,支持动画纹理。
(8)自动应用多通道渲染和多纹理,从而大幅度提高渲染质量。
(9)支持透明物体和其他场景级别的渲染特效。
(10)高效的网格数据格式,支持骨骼动画。
(11)支持用Bezier实现的曲面。(www.xing528.com)
(12)拥有高效率和高度可配置性的资源管理器,并且支持多种场景类型。
(13)优秀的场景组织体系,场景节点支持对象挂接,实现关节运动继承体系。
如图6-3-10所示,从模型库中读取所需的建筑物模型,用CreateObject( )建立其相应的空间实体,并辅以合适的材质纹理,将之挂接到场景节点上,以便于控制。通过Fram 高程istener来监控外部输入,从而响应用户的操作。场景管理器将所有的场景实体输送至渲染管道绘制到屏幕。
4.施工场区漫游
图6-3-10 渲染系统工作模式
以高效的图形处理内核为前提,使得在PC上处理大幅的三维场景成为可能,并添加天空体、花草树木、施工机械等实体,进行天气变化,各种简单物理现象如重力的模拟,实现一个逼真的水电施工场景,用户可以在虚拟场景中任意漫游,包括交互式的和自动式的。前者采用外设对漫游路径、方向进行控制,比较灵活;后者是按照给定路径进行演示,用于展现某些细节。
5.施工平面布置
施工总平面布置是施工组织设计的一个重要环节,涉及面比较广,影响因素复杂。大型水利水电工程一般都建在山区,地形复杂,起伏比较大,通常存在复杂的高、中、低线交通公路或隧洞,在二维环境下难以反映地形地貌对建筑物布置的影响。在施工仿真VR系统中,可以通过缩放、平移、旋转等操作,对料场、生活住房、拌和楼、停车场等静物的空间位置参数进行编辑;对于交通系统的设计,在拟定的运输节点基础上,将可行区域分成连接的网络节点,考虑土石方挖填平衡、造价,以及线形质量(包括行使安全和舒适指标),结合物料调运,按照定量的评价指标建立路线费用模型,采用动态规划的方法进行优选。运输道路的参数需要根据当前地址、地形特征按照交通运输的基本要求进行设计,确定其边坡、宽度、地基厚度等参数,然后与山体格网进行运算。对成型的路线,可按照路线绑定的方式进行漫游的状态下,进行评估、检查,发现不符合安全行使以及认为容易产生施工干扰的路段进行切实改进,提高运输道路的质量。
6.实物动态模拟
结合水文观测资料或调洪演算过程,动态模拟上下游水位变化,体验水位变化的压迫感;结合实际工地的坝体施工数学模型,动态展示坝体浇筑过程,进行各种施工方案的比较;结合运输系统仿真模型反映各运输车辆的运行状态,直观地反映车流密度等参数,提供重要的决策依据。此外,用户在漫游状态下可以进行空间几何参数查询和系统参数统计、分析,如坝体累积曲线、施工强度的反映,空间距离查询。
仿真前端可视化主要是利用面向对象程序设计方式,实现友好的人机交互,把仿真过程所需的模型参数界面化,提高参数的透明度,同时,对参数可以进行动态操作,便于用户进行多方案的比选与研究;仿真过程可视化是可视化仿真的核心,是基于对系统内在运行规律可知性要求,把能够代表或反映真实系统特征的事件利用人们容易接受或理解的方式(二维或三维图形)表现出来,通过可视化的表征来进行仿真系统运行规律与真实系统操作机理的对照,进而实现模型的验证,确保仿真系统的有效性;仿真结果可视化是实现数据信息的图形化,简化人们的统计工作量,以直观的方式来表达仿真结果,有利于对仿真结果的快速评价等。
混凝土工程施工实时动态仿真系统结合使用了动画技术和图形输出两方面内容来进一步表达仿真结果。仿真系统自身提供的图形功能一般有以下几种:
(1)三维浇筑形象图。
(2)坝块浇筑顺序进程演示。
(3)当前状态描述,包括大坝平面图——标注各仓位某时间浇筑高程;大坝纵断面图——标注该断面处各仓位浇筑时间及相应的浇筑高程。
(4)分层分块图。
在以往建立的仿真模型中,侧重于对全过程的静态模拟,根据给定的施工组织设计方案寻求合理机械配置以及进行工期和工程量的计算和论证,为快速、优质施工奠定基础。但是,在大坝混凝土工程施工中,不确定因素众多,自然条件和技术条件复杂,使得原定的施工进度计划与实际施工过程产生了较大的偏差,以至仿真模拟方案失去对实际施工的指导作用。而实时动态仿真系统,引入人工干预对仿真存在的不足之处进行补充,并且可以对仿真进程的时间进行控制,还可以通过人机交互对仿真过程中的有关参数进行调整,从而实现从一个时间点仿真到另一个时间点,或输入实时工程数据,使得下一步仿真更为准确。
实时动态仿真通常是与仿真过程的可视化结合使用的,在仿真的过程中,使用三维动画实时地给出大坝的浇筑面貌,将大大增强仿真过程的逼真程度,通过逼真的三维动画效果提供的技术信息,可以直观地看出施工进度,有利于检验施工方案和施工机械配套方案的合理性,同时可以随时修改各项技术参数,以取得最佳的施工效果。
7.三维真实感声音处理
真实感声音的生成就是用计算机来模拟实际的声场,从而使人们获得与临场相似的听觉感受,其中主要包括方位感、距离感以及环境感等。采用Microsoft的Direct 3D Sound来实现,它可以简单模拟三维定位效应,其中包括Doppler效应等。
实现3D 音效,必须以发声者和倾听者为基础,确定音量变化的最大距离和最小距离,以及发声者和倾听者在虚拟空间中的位置、运动速度等因素,在Direct 3D Sound中都提供了相应的方法和接口。首先加入标准DirectSound所需的Dxguid.lib、Dsound.lib和Winmm.lib库文件以及相应的头文件。
取得声音文件的格式和数据大小之后,建立次缓冲区,加载声音资源。建立一个发声者就相当于建立一个具有3D 音效控制能力的次缓冲区,而且这个缓冲区必须取得LPDIRECTSOUND3DBUFFER 接口。次缓冲区负责声音的播放控制,而其对应的3D 缓冲区可以调用set Max Distance、setPosition等函数,将场景中各声源如机械等的各种信息赋给发声者,从而控制3D 音效。
8.建筑物拾取与操作
在系统应用过程中,必定需要查询某些对象的信息,对某些建筑物进行旋转、缩放、平移等操作。捕获这个对象,需要解决的核心问题是视线与对象的求交运算,可采用典型的针刺取点法。首先确定拾取方向,通常取当前摄像机的方向M,求得该方向上所有实体对象的集合P 和实体对象到摄像机的距离集合D ,min(Di)所对应的就是需要的结果。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。