VRML技术在水工建筑物设计中的应用
随着网络技术的普及和计算机性能的提高,人们对二维非交互方式的设计、计算及浏览越来越不满足,希望能通过三维多媒体的方式表达设计思想.虚拟现实技术是人们实现这一目的一种良好工具.虚拟现实技术提供了一种全新的人机交互方式,用户通过它可以以自然的方式与虚拟世界中的对象进行交互操作.
虚拟现实技术在航空航天、机械工程设计等领域都有着广泛的应用,并取得了良好进展.由于水工建筑物设计的特殊性以及许多设计条件的不可预测和描述,设计模型的建立比较困难,虚拟现实技术在该领域的应用远滞后于机械、建筑等行业.本文通过码头结构设计中VRML技术的应用,对水工建筑物设计中应用虚拟现实技术作一些探讨.
1 VRML技术
VRML技术是一种完全虚拟现实的三维空间描述技术,其最大特点是可以实现对设定的模型和场景进行实时渲染与实时交互的功能,从而制造出效果极为丰富的造型和场景,使设计者具有身临其境的感觉.利用VRML,我们可以浏览设计的结构物,以达到设计的最佳效果;还可以在Internet上建立具有异地交互功能的三维虚拟设计环境,在这个虚拟环境下对结构物实现多点协同设计,以取得来自多方位的设计信息.
1.1 虚拟现实开发环境
虚拟现实环境由硬件、软件和用户界面三部分组成.如果把虚拟环境的硬件部分看作其肢体,则虚拟环境的软件控制部分就是大脑.先进的虚拟现实设备有数据手套、触觉和力反馈装置、力学反馈手套及CAVE显示设备等[1].对于普通的个人机用户可以选用功能较强的VRML浏览器.虚拟环境的开发途径主要有以下三种[5]:①VRML语言编写:利用VRML语言进行编程,利用函数定义场景中的对象;②造型软件生成法:利用CAD软件创建三维模型,在3DSMAX软件中加以渲染,建立复杂逼真的虚拟原型,然后在VRML建立的虚拟场景中进行交互式浏览;③以WTK为开发工具构建虚拟现实系统.
1.2 VRML的特点
VRML语言是描述虚拟现实场景的一种标准,它定义了三维应用系统中常用的语言描述:层次变换、视点、几何、动画、材料特征和纹理映射等,并且有简单行为特征描述功能[2].设计VRML的一个主要目标就是使它成为虚拟现实系统或在其组成部分间建立有效的三维数据文件交换格式,并且虚拟现实系统或其组成部分可分布在网络的不同计算机上.如今网络开发语言越来越多,如HTML,XML,ActiveX等,相比之下VRML不但能够生成动态的页面,且交互性很强,而且在VRML中可嵌入Java,JavaScript等脚本语言使虚拟场景更丰富.由于VRML和Java等是完全基于Web平台无关技术的,可以在不同的硬件环境和软件平台上实现三维形体的可视化,从而拓宽了信息共享的范围.
VRML语言是一种用于造型的脚本语言,与目前成熟的CAD软件相比,VRML模型在精确性和信息量方面相差比较多,因此充分利用CAD软件的建模优势,是实现水工建筑物虚拟场景浏览的重要途径.
2 水工建筑物虚拟现实开发思路
2.1 开发流程
开发虚拟场景应包括结构建模、渲染、场景设置和浏览三个过程,尽管VRML提供了各个过程的节点函数,但是要实现水工建筑物的场景描述只是杯水车薪.水工建筑物种类繁多,设计要求受地理、地形等条件制约,结构形状缺乏可描述性,结构形状的数模和物模的建立都比较困难,因此利用相关CAD软件的建模优势与VRML相结合开发是建立虚拟现实场景的快捷方法.我们选择适用的CAD软件对水工建筑物进行参数化建模,再导入VRML设置的场景中进行实时渲染和浏览,从而达到逼真的结构物与美观的场景的现实与虚拟的最佳结合.一般虚拟场景开发流程。
2.2 建模方法
几何建模是用计算机及其图形工具描述几何物体的形状,设计几何形体,将物体的形状及其属性数字化,形成物体的几何模型.在CAD系统中,描述一个实体的方法很多,如实体实例法、网格分解法、扫描法等[1].在建模工具选择上,商业通用CAD软件有许多,如AutoCAD和Pre/E等都可以用于构建三维实体模型,或利用其开发平台开发专用的结构参数化设计系统,经建模程序构建的三维结构模型以数据文件保存后,即可为后续工作所利用.
本文以一高桩码头结构的虚拟浏览场景为实例.三维模型通过一个在AutoCAD平台上开发的高桩码头参数化设计环境完成.
高桩码头是下承式结构,自下而上为桩基、桩帽、横梁、纵梁、面板,这些构件以积木块式搭接形成整体结构.因此三维建模时构建一个由桩基、桩帽、横梁、纵梁、面板等各种类型的构件实体模型组成的实体模型库,然后根据构件的类型要求和跨长进行拼接和布尔运算,即可建立高桩码头的结构实体模型.其构件之间的逻辑关系和建模思路。
2.3 三维信息提取
三维模型信息在CAD环境下提取有以下几种途径[4]:①直接利用某些CAD软件具有的VRML导出功能;②通过产品模型数据转换标准STEP;③通过CAD软件的API接口.若导出的三维信息与VRML格式一致,则可直接导入VRML设置的场景中实时渲染和浏览.由于VRML对材质视点等设置的局限性,对工程场景效果控制
较困难,因此可在提取三维信息后通过效果图软件对模型进行渲染后再导入VRML设置的场景中实时浏览.
2.4 三维模型的渲染
由CAD软件生成高桩码头三维结构模型仅是数据化实体模型,要使其看上去具有真实感,需加入结构物的材质、纹理以及适度的光照.在AutoCAD环境下,三维模型可转换为3DSMAX数据格式,利用3DSMAX材质编辑器编辑和设定场景内物体的材质、纹理等问题比直接用VRML程序处理要简单得多,也比较容易达到理想的效果.在3DSMAX中通过几个窗口直观操作,经过调整就可得到比较满意的效果.对于能直接在3DSMAX场景中创建的VRML节点,可以插入有关图标来引入相应的VRML节点,如在3DSMAX场景中加入TouchSensor节点可使浏览者在浏览窗口选择某个对象时触发一系列动画,这些节点与空间结构造型连接在一起,这样得到的VRML文件与直接编写的VRML文件完全相同[2].这种模型渲染方法可以大大缩短创建建筑物方案设计的开发周期.
3 VRML实时交互设计
3.1 构筑虚拟场景的方法
VRML语言是面向对象语言,可对场景中各种对象进行建模.在建立一个工程建筑物复杂虚拟场景时,所包含对象数目较多,重复对象较多,因此数据量非常大,如果把所有模型数据放在一个文件中,不利于模型的重构和场景的重用性.为了快捷地得到效果比较满意的场景,可有针对性地编制简单、短小的VRML程序描述建筑物造型,并且借用已有的或第三者开发的场景实例来建立新的场景.VRML 的Inline节点可以很方便地完成分场景之间的合成问题.码头虚拟场景构筑内容包括码头结构物、门机、车辆、堆场、仓库、背景等,完整的虚拟场景结构及浏览。
3.2 场景效果
VRML技术可以利用简单语法生成动态的、交互性强的虚拟场景,以满足浏览者的视觉、听觉、触觉感受的虚拟世界.可以利用VRML提供的场景优化节点创建个性化的虚拟场景.在VRML中场景优化节点有空间背景(background)节点、光源(pointlight)节点、声音(audioclip或sound)节点、空间视点控制(viewpoint)节点等[2].图6为高桩码头场景中加入适当光源,并以不同视点观察码头下部结构的不同情形.
3.3 浏览与动画演示
在VRML2.0中可以实现虚拟场景的实时浏览和虚拟场景预设动画演示.VRML的动画效果主要以时间传感器(timesensor)和各种插补器节点实现关键帧动画,其基本原理是:驱动动画效果的时间传感器给出时钟,根据这个时钟的输出,驱动虚拟场景中的各种插补器节点,通过插补器节点设置,VRML浏览器根据线性插值方法完成整个动画过程[3].
仅通过生成动画的节点构造的虚拟环境只能实现一些简单的运动,要实现在虚拟场景中的复杂运动,需要通过脚本程序来实现.可以利用Java或JavaScrip语言来设计程序脚本实现动画,关于运动的计算和控制均可由Java实现,使用户可以方便地修改和控制运动路径,也有利于共享不同场合下的运动信息.
4 结 语
VRML技术为建立虚拟场景提供了良好的规范,利用VRML技术生成的场景逼真,给人以真实感.通过VRML语言提供的各种节点可以实现工程建筑场景的虚拟,并且实现实时浏览和动画演示.本文对此作了初步的探讨,为码头结构设计提供了一种直观、有形的三维设计解决方案,可对码头结构设计中梁板布置、桩基的空间布局评价以及诸如检查是否存在碰桩问题等提供帮助.
上一页12