VRML技术

2024-06-13

VRML技术(精选九篇)

VRML技术 篇1

大学生实践能力的培养日益受到人们重视,实践是创新的基础。机械制图是面向大学生的一门实践性很强的课程,零部件测绘是制图教学中极其重要的实践性环节。

在零部件测绘与装配图绘制过程中,应用CAD软件,构造零件的三维模型,再创建成部件的装配模型,通过基于网络的虚拟现实环境中模拟仿真部件的运动,检验装配的正确性,对其进行虚拟测绘,这将极大地提高学生的实践能力和对所学知识的综合应用能力。构建基于网络的虚拟零部件虚拟测绘系统,可以减少传统的测绘教室需要占用大量空间,在教学资源严重短缺的情况下,是行之有效的解决方案。

1 虚拟测绘系统的功用与实现技术

虚拟测绘系统以虚拟现实技术创建虚拟测绘环境,通过虚拟现实界面,将虚拟产品及其测绘过程呈现于学生的感官,学生通过与虚拟环境发生交互作用,对虚拟环境中的产品进行测绘模拟。虚拟测绘系统不仅可以使学生沉浸在计算机生成的三维仿真环境中,感觉到一切都是“真实”的存在,加深学生对复杂测绘过程的理解;还能将测绘中的信息反馈给学生,使学生从测绘模拟中及时得到启发,训练正确的测绘方法。

基于VRML技术的零部件虚拟测绘系统采用浏览器/服务器运行模式,应用Dreamweaver8.0软件进行网页排版、网站管理以及网页应用;Flash8.0软件制作和生成动画;SolidWorks2006软件进行零部件三维实体建模。利用虚拟现实建模语言VRML,结合Javascript编写脚本程序,并将这些嵌入到网页中构成机械零部件虚拟测绘系统,实现基于网络的机械零部件虚拟测绘。虚拟测绘系统运行界面如图1所示。

2 虚拟测绘网页的制作

交互式三维立体虚拟测绘网页的制作采用VRML,Java和HTML技术等共同完成。

VRML功能强大,它改变了原来Web网页单调、交互性差的缺点,利用VRML提供的虚拟现实技术可以创造学生能够参与的三维立体虚拟场景,使Web网页不再仅仅是简单枯躁的文字、表格和平面图形,而是可以全方位观察的虚拟场景。

为了实现与虚拟场景中的对象进行交互、动态、实时控制,必须结合Java和HTML才能完成预定的目标。当创建HTML文件时,利用表单来生成文本框、按钮或列表框等接受用户输入的参数动态控制虚拟场景。Java具有强大的图形界面编程功能,抽象窗口工具包AWT提供了丰富的图形界面组件,方便、快捷的开发出界面友好、易于交互的应用程序。可以把Java二维图形交互功能和VRML的三维虚拟场景表现与交互很好的结合在一起,完成更加复杂的任务。

交互式三维立体网页可以使学生在虚拟现实系统中对测绘的零部件从任意角度进行观察,沉浸到计算机系统所描述的场景中,利用VMRL的动态感知节点与场景进行交互,突破了传统三维动画被动观察无法互动的瓶颈,能够使学生获得身临其境的真实感受。

3 机械部件的虚拟装配动画

3.1 零件三维实体模型的建立

由于机械零部件和测绘仪器形状复杂,用VRML程序实现三维实体造型和虚拟空间非常困难,因此在系统设计中采用SolidWorks三维CAD软件来建立机械部件中各零件的实体模型,利用VRML导出接口,生成后缀名为*.wrl的VRML文件。

3.2 虚拟环境下的装配体生成

采用In Line节点参数在合适的位置、方位来调用各个零件,将零件组装成装配体。根据SolidWorks装配模型的尺寸,利用transform节点的translation、rotation、scale语句,实现对装配体各零件建模局部坐标的平移、旋转、缩放,保证在VRML环境中组装出装配体模型。

3.3 装配动画的实现

利用VRM实现装配动画,需要依靠一个给定的时间传感器、一系列各种各样的插补器节点来控制场景。其基本原理是时间传感器给出一个控制动画效果的时钟,这个时钟包含了动画的开始时间、停止时间、时间间隔和是否循环等控制参数,然后通过这个时钟的输出在虚拟世界中驱动各种内插节点产生各种相应的动画,而内插节点将给出各种动画的关键点和关键值,VRML浏览器将自动地根据这些关键点通过线性插值的方法来完成整个动画过程。

3.4 虚拟拆卸和装配

虚拟拆卸和装配需要确定拆装顺序和拆装路径。在装配体模型中,针对不同的零部件装配方式不同,拆装路径也是不同的。例如,螺钉、螺塞在拆装时,需要模拟螺纹方向的旋转动作,而大部分零部件只有平面移动的动作。在装配路径规划中采用VRML的位置插补器设置场景中物体的平移,采用旋转插补器设置物体的旋转。通过这两个插补器的设置,对装配路径进行规划,避免发生碰撞和干涉,使得整个系统更真实。

为了方便实现用户交互拆装,系统利用Script节点中的布尔变量ismove控制拆卸和装配操作,ismove的状态通过输出变量Bmove和Bback分别控制拆卸和装配时间传感器,驱动减速器各零件的动态拆装。

4 机械零件的虚拟测绘

以齿轮油泵右泵盖虚拟测量两孔外侧距为例,其虚拟测量过程为:当网页加载成功后,可以看到游标卡尺和右泵盖。移动游标卡尺,使其主尺测量爪与一孔外侧接触后,用鼠标按住游标卡尺的副尺并拖动。当副尺测量爪顶到另一孔的外侧时,副尺就不再继续移动。然后用鼠标点击游标卡尺上的锁紧螺钉,系统给出两孔内侧距测量值,如图2所示。

当游标卡尺虚拟测量右泵盖时,首先利用transform节点将游标卡尺和右泵盖嵌入到该VRML实体中去。为了避免两个物体重合到一起无法测量,需要使用transform的translation节点以及rotation节点将两个物体安放、旋转到适当的位置和角度,使两个物体的位置符合测量要求。同时还需要修改副尺平面接触器里边的最大位移和最小位移,允许副尺在一定的范围内移动。当副尺测量爪接触测量位置时就停止移动,保证虚拟测量具有真实感。

在VRML中,通过Script节点来连接VRML和JAVA,实现对VRML场景的控制,满足交互功能。将JAVA程序从Script节点处获得的事件经进一步的加工,再将在JAVA程序中实现操作者的逻辑信急反馈到Script节点中,由Script节点的event OUT事件出口通过路由(ROUTE)对场景进行控制。即把一个节点内的eventout连接到另一个节点的eventin,从而达到传播场景图内节点变化的目的。在虚拟测绘设计过程中,通过路由实现与场景进行交互。

虚拟测量右泵盖路由路径如下:

5 结论

零部件虚拟测绘系统以虚拟现实为基础,充分发挥VRML虚拟现实建模语言特点,将Java、HTMl、SolidWorks等程序和软件有机结合起来,开发出实用性较强的交互式机械零部件三维虚拟测绘系统。

目前该虚拟测绘系统已运行于我院机械制图省级精品课程网站上,学生通过网络就能看到一个真实的虚拟测绘实验室。通过与网页的互动,完成整个测绘过程,学习测卸、测量工具的使用以及零部件的测绘方法。改革传统的实验教学模式,培养学生的学习兴趣,有效提高测绘实验教学效果。同时为远程实验教学的实施提供了条件和技术支持,也为远程教育的质量提供了有力的保证。

参考文献

[1]王东.基于Web3D的VRML三维造型及动画技术研究[D].四川大学,2005,59-62.

[2]万强,王守尊,郭鸿飞,等.VRML虚拟场景中复杂动画的实现[J].湖北工业大学学报,2007,22(6):62-64.

[3]程庆,宋杰.VRML和JAVA的交互的实现[J].山西大同大学学报(自然科学版),2007,23(3)77-78.

[4]刘林,张瑞秋,江丽仪,等.机械零部件的虚拟仿真与学生实践能力的培养[J].机械管理开发,2007(4):41-45.

VRML技术 篇2

关键词:广电单个设备 广电系统设备 VRML Cult3d

中图分类号:G434 文献标识码:A 文章编号:1673-8454(2009)15-0085-04

一、解读VRML技术

VRML是虚拟现实建模语言(Virtual Reality Modeling Language)的简称,本质上是一种面向Web、面向对象的三维造型解释性语言。VRML不仅支持数据和运动过程的三维表示,而且能提供实时的声音效果。用户能走进视听效果十分逼真的虚拟世界,运用多种交互技术(如视、听、触、操纵、感知等)对虚拟对象表达自己的观点,同虚拟环境中的实体相互作用,从而产生身临其境的感觉。这种先进的数字化人机接口技术已被广泛应用于军事、制造、城市规划、地理信息系统、医学生物、教育培训、文化娱乐等领域。[1]

VRML技术有三个基本特征:沉浸(Immersion)、交互(Interaction)、构想(Imagination)。沉浸是指VRML向使用者提供的场景一如真实的三维世界,用户进入虚拟场景获得身临其境的感受。作为场景中的一员,用户可以运用交互手段变换自己的视角、操纵其中的设备、聆听其中的声音、感受其中振动等,用户置身虚拟场景由内向外观察,而不是作为一个旁观者由外向内观察,从而更逼真地观察或操纵所研究的对象;交互是指VRML虚拟现实场景中的影像、运动、声音、压力等通过人机接口系统作用到使用者的感官,并通过传感器测试及跟踪使用者的行为实时进行双向互应;构想是指VRML向使用者提供了发挥想象力的机制,它改变了过去用户只能从定量计算中得到启发的模式,开创了用户可以从定性和定量综合集成环境中得到感性和理性的认识,达到深化概念并激发用户创造性的目的。[2]

二、广电实验教学迫切需要VRML技术

广电专业是理论与实践并重的专业,实践教学非常重要。新闻制作课程实践教学前期要用到各种摄像设备,如摄像机、摇臂、升降台、轨道、特技机等;后期要用到录音卡座、调音台、非线编系统、字幕机等;高年级专业实践教学中要用到演播厅、视音频信号系统、灯光系统、音响系统、导播通讯系统、信号发射接收系统、存储系统;开路电视节目播出系统、发射系统;闭路电视卫星信号调制接收系统、有线电视前端设备等等。目前广电专业实践教学面临着两方面的问题:

一是投资大、设备损耗严重。基础实验室需要规模,专业实验室的设备需要档次。作为基础实验,一台普通的教学摄像机(如Panasonic MD10000)大约需要七千元,一台兼容电脑加一块准专业级的非编卡要一万多元,一个中等规模的基础实验室需要一百多万元;专业实验室器材更是昂贵,一台专业摄像机(如Panasonic Pro50)十几万元,一套专业非编设备几十万元,一个小型演播厅上百万元。上述各种系统设备,即使每种设备各购一套,也是几百万元的投入。由于教学实验使用频率高,设备损耗严重,加之维修不便,导致教学保障性困难。

二是实验时间问题。目前的教学活动大都安排在八小时之内,而学生们有大量的业余时间,比如双休日、节假日等却无法进行实验。

VRML用于实验教学,一是解决了设备消耗问题,二是解决了实验时间问题。因为用VRML开发的同一个实验系统可以同时多人多机使用,没有实质性的设备消耗,没有时间限制。也就是说VRML用于广电实验教学不仅能为我们节约大量的资金,更能为我们的学习带来极大的便利。如果能集中人力物力,开发出完整的广电设备实验系统,对教学的作用将是巨大的。

三、利用VRML技术开展和推广广电实验教学

VRML用于广电实验教学,简单地可以分为两大类,一类是单个设备的模拟,另一类是系统设备的模拟。这两类实验系统的开发是不一样的,前者着重于单个设备的操作,如参数的设定、各部件的标识、各种开关及旋钮的意义与使用方法、运行中各种状态的识别、使用设备的过程、设备保养等等;后者着重强调系统性能,包括场景的构建、系统中各种设备的依存、设备间的通讯与协同关系、系统的整体运行效果等。由于广电设备繁杂,要投入较多的人力物力来开发,应将开发团队进行分组,可分为建模组、交互设计组、美工组、网络技术组,统筹设计、分工协作。

VRML开发首先是建模,即在三维设计软件中制作三维模型,包括三维场景和三维设备模型,目前三维建模方面成熟的软件有3dsmax、Maya和Softimage,这三个软件功能上各有所长,但在三维动画设计领域,Discreet公司的3D Studio Max是当今最为畅销的三维动画和建模软件,它集实体造型、静态着色和动画创作于一体,在国际国内拥有最大的用户群,从园林设计到小区规划、室内装饰、室外建筑、影视动画等领域都有极为出色的表现,而且易于学习,在3dsmax中完成的模型和动画可以方便地生成中间产品,便于后续开发;其次是交互设计,网络交互制作选用Cult3d,Cult3d是瑞典Cycore公司的产品,它能在计算机平台上虚拟物体的形状、颜色、功能、特效等,其最大特点是具有良好的交互性,Cult3d制作的产品可以在计算机网络平台上方便地进行各种交互,如旋转、缩放、平移等,它提供了鼠标、按键、事件触发等交互操作。除物体运动外,还为场景提供了声音、动画播放的支持。Cult3d制作的产品除发布到互联网上外,还可发布到Adobe Acrobat、Powerpoint、Director、Authorware等软件中。[3]Cult3d是现代广泛应用于Web3D的新技术,具有高压缩、强交互、跨平台的优点,虽然它是一个可视化软件,但一般制作却无需编程,尤为重要的是它提供了强大的脚本编程接口,对于复杂灵活的场景交互可以通过JAS脚本编程技术来实现,最后生成的产品可用于Dreamweaver进行二次开发或直接发布到互联网上;最后是网页设计,我们选用Dreamweaver。

1.VRML构建广电单个实验设备的设计

广电单个设备,根据实验教学中设备的使用属性,广电实验教学设备大致可由广电实验教学设备名称及分类表来表示(如表1所示)。

(1)广电单个设备的建模

广电单个设备的建模,首先是测量与拍照,测量的目的是为建模服务的,要尽可能准确,测量不准会导致三维建模的比例失真,降低模型的真实感。静态拍照是为三维建模准备纹理贴图,拍照要在灯光柔和、亮度适宜、无影的环境下进行,有条件的可直接在演播室拍照,注意设备的各部件清晰,受光均匀,阴影应在三维建模中运用灯光完成。由于三维模型中色彩与材质光照有关,逼真的色彩只能在三维场景中构建。三维建模中要完成的任务是:建模、材质、灯光、摄像机、运动,最终导出模型文件。建模的原则是尽量减少面的个数,不必太过精细,太精细会影响渲染速度,尽量多地采用标准建模,对于具有较为复杂、光滑曲面的设备(如:摄像机、话筒等)可采用NURBS无缝建模,建模时要考虑到模型层级间的依存关系及物体重心的设定,这是构造逼真运动不可缺少的关键技术,建模完成后要在3dsmax和Cult3d中进行模型优化,最大程度地减少面的个数,所有这些都是为了提高网络实时显示的速度。材质的设定应以贴图为主材质为辅,材质以基本属性为主,尽量不用反射与折射,非用不可的地方用假反射替代,因为真实的反射与折射会消耗大量的系统时间,复杂纹理应使用贴图完成,简单而重复的纹理也可在Cult3d中通过JAS编程来实现。单个设备的建模中灯光只是为了再现逼真的图象,不必考虑阴影,用常规灯光就可以了,也可以采用稀疏的灯光矩阵,如果不得已用到了光学度灯光或是天光阳光,并打开了全局光照,就要使用贴图烘焙技术与贴图展平技术来提高显示速度。摄像机的运用要考虑到Cult3d同一时刻只支持一台摄像机,多角度观察可采用多摄像机切换或使用实体旋转的方式来完成,摄像机的焦距要以自然人的视角为依据,超广角的使用会导致物体失真。运动是VRML中最为精彩实用的部分,所有运动的设定都不宜太长,以不超过五秒为宜,为了便于在后续制作中调用,考虑到Cult3d不能很好地识别中文名称,所有运动应采用英文命名,运动时要以顶层物体带动下层物体运动的方式完成,旋转物体的运动要考虑到物体重心的位置,这些都要事先在建模时考虑到,以免半成品翻工重来。所有提示性信息可在后期制作中完成,三维建模可不必考虑。

(2)单个设备的交互设计

单个设备的交互设计不同于系统设备的交互,它着重于单件设备本身的属性理解与操作,交互行为分为以下几种:

1)设备的整体控制。如设备的旋转、缩放与平移。利用这些行为可以方便地看清物体的各个侧面及更小的子物体,以便了解它们的属性并对其操作。

2)部件的操作。可用鼠标或键盘对各个部件进行操作,如打开和关闭摄像机带仓、按下或弹起拍摄按钮、调整摄像机焦距、操纵升降台上升或下降、操纵切换台并观察输出信号等。

3)播放动画。如打开摄像机就能看到被拍摄的画面,调整焦距视窗画面就会放大或缩小,单击打开带仓按钮带仓连同磁带就会运动并弹出磁带,按下特技切换按钮相应的信号与特技即合成节目输出画面等等。

4)声音操作。广电设备虚拟实验离不开声音处理,应先将相关操作的声音、节目播放的声音、各路原声及合成的效果声提前录制好,以*.wav格式保存,Cult3d可以直接导入声音,声音事件可由鼠标或按键方式触发,在调声台、录声卡座与话筒的实验中是必不可少的。

5)时序操作,应精确记录各种操作过程需要的时间,并注意到操作的先后顺序,VRML中精确的时序控制可用计时器事件及时间线来完成。

(3)单个设备的美工

好的产品离不开美工,单个设备美工首先要考虑的是设备的各部分比例是否和实体一致,显示的纹理和色彩与实体的差异是否在允许的范围内,这方面的问题可与建模组协同解决。其次是要设计好虚拟设备的切入角度以便于观察,衬托背景的设计是要花一些时间的,要考虑背景的选择与实验设备的相容性,太强的对比会使人产生疲劳,太弱的对比又模糊不清,色彩与画面的设计中还要考虑到文字及提示信息的显示,选用适宜的字体字号及颜色有助于提高画面的美感,所有这些都离不开精良的美工。

(4)网页设计与编程

虽然Cult3d可以方便地在Adobe Acrobat、Powerpoint、Director、Authorware等软件中发布,但考虑到目前互联网是最好的学习平台,还是应该利用Dreamweaver强大的网络功能进行后期制作并发布到互联网为宜。Dreamweaver不仅有强大的网页编辑功能,更重要的是它支持JAS脚本编程,并易于嵌入由Cult3d生成的*.co文件,虽然Cult3d本身具有局限性,但Cult3d Designer提供了方便的Java接口, 可以对它的功能进行扩展,如要对实验设备进行更复杂更灵活的控制,就必须使用Java编程或用JAS脚本编程来实现。

Dreamweaver中主要进行两方面的设计,一是静态部分,如网页界面、文字与图象。另一部分是动态设计。前者使用静态网页实现,后者配合Cult3d中Java动作使用JAS编程来完成。设备各部件的标识在静态网页中设计比较方便,复杂设备可以分画面完成,设计时如果说明性文字太多,可考虑使用指向性箭头和重叠文字框来避免画面的零乱。设计中还应为实验操作开辟独立的空白页面,这样不仅便于操作和观察结果,更重要的是独立的页面能让操作者注意力集中。

由于广电设备的多样性与复杂性,应为VRML实验教学配备专门的服务器,尽管大部分实验教学内容在客户端就可以完成,但复杂灵活的脚本程序离不开服务器的支持。

2.VRML构建系统实验环境的设计

系统设备是相对于单个设备而言的,在广电教学过程中,系统设备比单个设备显得更加重要,如灯光系统、音响系统、导播通讯系统、演播厅信号系统、传输系统、非线编系统、有线电视前端系统、发射系统等等,每一个系统都是由许多单个设备协同工作组成的,VRML设计系统实验教学时,重要的是考虑系统中各设备的协同工作并关注其整体性能,默认操作者已经熟练掌握了构成系统的单个设备的操作。

(1)系统场景与设备的建模

系统场景建模前也需要实地测量,场景模型必须与实验室已有的场景大小及配置相一致,只有与实景相一致的场景才能让学生产生共鸣,真正达到身临实境的感觉,场景的建模以粗线条为宜,只要比例适当就行了,以小型直播演播厅摄录信号系统场景为例,作为独立的子系统,不必考虑灯光与音响以免主体不突出。相应的舞台、背景、道具易简不易繁,重要的是根据演播厅的大小,安排好机位、轨道车、摇臂、现场音响设备、导播切换台以及后续实时字幕叠加合成与传输设备。组成系统的各部件的建模与单个设备的建模也是不一样的,比如摄像机,只要创建粗线条的模型就可以了,里面开关、按钮、带仓等都可以忽略。导播切换台只要创建其输入输出监视连接画面,而不必将其本身的细节做得十分清楚,因为大的场景强调的是整体功能,组成系统的各个设备按指令工作,我们关注的是它能否按系统要求完成工作而不必关注它如何工作。在每个系统中,VRML的建模者一定要知道这个系统工作中心所在,要明确知道每个设备应完成怎样的任务。如演播厅信号系统其工作中心在导播切换台,每个机位的摄像机只要提供良好的视频信号并知道本机位的信号是否正被采用即可。在VRML建模设计中要考虑到指示信息(如颜色信号灯、箭头线条的闪烁等)的建模,用以提示VRML实验操作者哪些设备的信号正在被采用,哪些设备正处于运行状态,系统工作是否正常等。

(2)系统实验环境的交互设计

VRML系统实验环境的交互设计不同于单个设备的交互设计,后者着重于对设备本身的认知、学习、操作规程、操作方法的模拟与设计,前者只需要单个设备的操作时间与操作结果,而着眼点在系统的整体性能。

Cult3d进行系统实验环境设计时分三个层次:

一是为系统中的单个设备提供操作和结果,如摄像机提供开关功能、机位移动功能、镜头推拉摇移功能、视频信号的输出功能。切换台提供各机位视频信号的监视功能,切换操作功能,切换结果的信号输出与监视功能。

二是场景设计中要考虑到各部件的连接操作,教学实践中我们深切地感受到系统设备的连线操作至关重要,不同的设备有不同输入、输出、线型和连接头。设备的连接不单是物理连线那么简单,要考虑到匹配、阻抗、屏蔽、损耗与衰减,连接的过程中必须检测,多机位摄拍时各台机器的视频电缆应基本等长,所有设备正常优质的连接是系统成功的一半。

三是系统运行的操作模拟,系统运行的整体效果是与各单个设备的操作结果相关联的,因此VRML设计中务必使操作者感受到这一点,比如,某台摄像机没打开或连接不正确,将会导致导播切换台的监视器上没有视频信号,如果该路信号当前正好被采用,直播发射机将因黑屏造成聚波比过高而报警。对于较为复杂的系统,交互操作中可将其分成几个子系统,如这里所列的小型直播演播厅摄录信号系统,可分为信号输入子系统、切换合成子系统、分配传输子系统。这些子系统相互间有着依存关系,VRML设计中必须考虑到前一个子系统正常运行是后一个子系统开始工作的前提。对于不合理的操作、违反时序的操作要有提示信息或报警信息,及时提醒操作者。

好的学习系统少不了激励机制,为了提高学习效能,应在VRML中设计激励机制,根据操作的不同结果给出相应的操作成绩。

系统场景的美工与编程与单个设备是一样的,此处不再赘述。

四、结束语

随着互联网技术的发展,VRML的应用越来越广泛,3dsmax与Web3D技术也将日臻成熟,VRML应用于各类设备的实验教学将会越来越广泛。基于Web3D技术的VRML用于实验教学将给人们提供越来越方便的实验平台,它不仅能构建开放性的实验教学环境,改进实验教学手段和方法,更重要的是能促使我们更新实验教学观念。这种虚拟实验与真实实验的相互促进与补充,在教学活动中将会发挥越来越大的作用。[4] ?筅

参考文献:

[1]武镇龙,吴进华等.用Java扩展Cult3d的交互功能[J].海军航空工程学院学报,2008(3).

[2]陈臣.虚拟实验在高职高专《现代信息技术》课程中的应用分析[J].萍乡高等专科学校学报,2008(1).

[3]阿新工作室.任我虚拟Cult3d/3ds Max4.2/Maya 4/三维产品设计与互动教程[M].北京:希望电子出版社,2002.

VRML技术 篇3

关键词:虚拟装配,VRML,12元组,交互性

1三维模型的建立

1.1 VRML语言简介

VRML即虚拟现实建模语言,是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言[1,2,3],是目前Internet上基于WWW的三维互动网站制作的主流语言,有着分布式、交互性、多媒体集成、境界逼真性等基本特征。VRML的对象称为节点,通过节点描述真实世界中的对象和其他概念的抽象,包括长方体、球体、圆柱等几何体,也包括对变换层级、光、雾、材质和纹理等概念的描述。

1.2 零件模型的建立

目前创建应用于虚拟场景的模型有两种方法:①使用VRML的节点直接创建;②利用CAD软件来进行零件三维建模,比如Pro/E、UG、3DS MAX等,之后转化为VRML文件[4,5]。对复杂的机械产品,如果使用VRML节点来直接创建三维模型的话是比较困难的,因此在实际应用中,一般是将上述两种方法有机结合起来,对于结构比较简单的零件模型使用VRML节点来创建,对于结构复杂的零件模型采用CAD软件来创建。在本文中,齿轮、箱盖等复杂零部件采用Pro/E造型,而相对简单的杆等零件采用VRML节点直接创建。图1为通过Pro/E构建的齿轮三维模型。

1.3零部件的装配

在VRML中零部件通过Transform节点来实现组装,其节点参数translation、rotation和scale分别实现平移、旋转和缩放,从而构造出各个零部件的局部坐标系。具体方法如下:在VRML的编辑器中,先利用VRML的Inline节点来导入各零部件的.wrl文件,然后通过调整Transform节点参数translation、rotation和scale的参数值来调整各零部件位置、角度、尺寸,使各个零部件组成装配体。

2虚拟装配功能的实现

2.1 虚拟装配流程分析

基于VRML的虚拟装配不仅是产品虚拟装配的过程,更重要的是要实现与用户的交互性。要实现与用户的交互性需要通过一系列检测器来实现,通过这些检测器节点使浏览器感知用户的各种操作,比如用户通过按钮来实现装配开始、暂停和结束。图2为一般VRML事件传递流程。

VRML事件处理机制中控制数据的传输由路由(Route语句)实现,Route语句是用来在节点之间建立事件通路的一种语法结构。当用户点击按钮时,触发了接触传感器,然后通过路由和脚本定义,接触传感器把触发时间传递给时间传感器,然后通过程序定义其组成零件的位置插补器(PositionInterpolator)节点和方位插补器(OrientationInterpolator)节点。插补器节点中定义了n个关键点(key)和n个关键值(keyValue),节点域的key指定了零件的运动时间,通过它控制零件的运动顺序;节点域的keyValue指定了每一时刻零件运动的位置;VRML浏览器依据插补器节点的设置,采用线性插值的方法完成整个装配动画过程。

对于复杂的运动,如变速运动,使用插补器节点是不能够实现的,因为插补器节点只能实现线性插值,而变速运动的零件的轨迹变化是非线性的。因此要使用VRML提供的用于更为复杂运动的接口——脚本节点(Script)。脚本节点(Script)用于在虚拟场景中实现复杂行为时的程序编写和调用,通过对该节点使用Java或JavaScript可以实现复杂的运动。

2.2 虚拟装配的关键技术

2.2.1 产品装/拆运动的表示形式

在三维空间中,任何一未加约束的物体共有6个自由度:沿X、Y、Z各轴的平移和绕X、Y、Z的旋转。用6元组可表示元件的装/拆过程,但对于既有平动又有转动的复合运动,6元组在描述上就比较复杂了,因此,清华大学张林鳇等提出用11元组定义元件的装配运动[6]。本文在11元组的基础上,提出了采用以时间t为变量的12元状态变量组:

X=(Xt,Yt,Zt,S,Xp,Yp,Zp,Xr,Yr,Zr,θ,t)。

其中:(Xt,Yt,Zt)为平动方向矢量;S为平动位移量,是一个标量;(Xp,Yp,Zp)为转轴上的一点;(Xr,Yr,Zr)为转轴方向矢量(按右手定则),是一个单位向量;θ为转动角位移量,即旋转角,是一个标量。

与6元组相比,11元组和12元组能将三维空间的所有运动形式表示出来,而且它们所描述的装配运动和拆卸运动形式上完全一致,只是矢量方向不同,能方便地实现装/拆运动之间的转换。另外,12元组相对于11元组而言,由于引入时间变量t来描述零件的运动过程,因此可以对运动过程进行插值运算(如将平动位移量和转动位移量等分),求解中间位姿。

2.2.2 虚拟装配路径规划及逻辑控制

虚拟装配需要确定装配顺序和装配路径,在确定基本的装配顺序时,要符合装配体的真实装配顺序。在规划路径上,装/拆路径是零部件在虚拟装/拆空间中的运动轨迹,进行装/拆路径规划的目的是避免装配过程中零部件的干涉。同时利用以时间t为变量的12元组可以更好地对虚拟装配路径进行规划。本文中以基座作为母体固定不动,而其他零件按照相对于基座的装/拆方向运动。图3为虚拟装配运行时的初始画面。

在逻辑控制上,为了实现交互式装/拆过程,本文利用Script节点的ismove变量来控制,通过ismove变量输出来控制装/拆时间传感器,去实现产品的动态装/拆。当ismove变量输出为Bback,则为装配过程,当ismove变量输出为Bmove,则为拆卸过程。下面为杆装/拆机制的部分代码:

其中,gan_chai、gan_zhuang分别为杆拆卸路径和杆安装路径,clock1、clock2分别为控制拆卸、安装的时间传感器。

2.2.3 虚拟装配过程中的碰撞检测方法

干涉检查在虚拟装配中是个重要环节,VRML利用集成的碰撞传感器节点(Collision)检测虚拟装配零件间是否有相互穿透现象[7],Collision节点采用的是包围盒算法思路,包围盒的大小利用Collision节点中bboxCenter和bboxSize域的域值来确定。检测到碰撞发生后,发出干涉声音或者弹出消息框,动态地提示用户发生了碰撞,表明零部件不能可靠装配,需要修改设计或者调整装配路径。具体程序如下:

3虚拟装配实例仿真

本文中机械产品的虚拟装配运动只涉及到直线和旋转运动,因此可以先利用VRML的可扩充性,通过运用原型(PROTO)来定义新的节点;对标准节点进行组合,包括时间传感器和位置(或方位)插补器,从而体现模块化设计思想。其关键代码如下:

基于文中所述的关键技术,用VRML实现了某机械产品交互式虚拟装配仿真。图4为机械产品虚拟装配过程截图。

点击开始按钮可以实现虚拟装配,用户通过VRML浏览器(如Cortona的浏览器)可以观察产品的整个装配过程。

4结论

本文利用VRML和CAD软件进行协同设计,完成具有交互功能的虚拟装配过程;提出了产品装/拆运动12元组表示形式,更好地描述了虚拟装/拆运动过程。同时对虚拟装配路径规划及逻辑控制、虚拟装配过程中的碰撞检测方法等关键技术进行了研究,对推进VRML在工程实际中的应用和发展具有重要的现实意义。

参考文献

[1]Nikolay Avgonstinov.VRML as means of expressive 4Dillustra tion in CAM education[J].Future GenerationComputer Systems,2000,17(1):39-48.

[2]宁汝新,郑轶.虚拟装配技术的研究进展及发展趋势分析[J].中国机械工程,2005,16(15):1398-1404.

[3]赛博科技工作室.VRML与Java编程技术[M]北京:人民邮电出版社,2002.

[4]任浩,谭庆平.基于VRML和Java的物理建模方法与实现[J].计算机工程与科学,2000,22(2):36-39.

[5]朱立达,梁伟立,董圣广,等.基于Web的数控机床动态仿真系统的研究[J].计算机集成制造系统,2009,15(5):953-958.

[6]张林鳇,童秉枢.并行工程中的装配仿真系统及其关键技术研究[J].计算机辅助设计与图形学学报,1999(2):163-167.

VRML技术 篇4

关键词:虚拟现实;虚拟现实建模语言;协同工作;分布式虚拟环境;关键技术

中图分类号:TP391.9 文献标识码:A 文章编号:1007-9599 (2012) 10-0000-02

一、网络虚拟现实系统

(一)系统结构

在研究网络虚拟现实基本特征和功能要求基础上,构建了如图1所示的体系结构,系统分为功能层、交互层和数据层。其中功能层位于客户端,提供分布式用户工作空间、用户替身和交流白板,实现客户端用户工作的可视化。交互层位于应用服务器端,主要生成多用户工作空间、控制各类信息传递,并实现多用户的协同交互。数据层位于信息服务器端,由用户数据库和模型数据库构成。分层结构使系统具有良好的灵活性、扩展性和可维护性。

(二)工作流程

客户端不断监听与接收应用服务器端的信息,支持用户在工作空间中进行各种操作,并及时将用户信息提交到服务器进行处理。用户登录时,执行Script类的initialize方法,建立与服务器端的连接,创建监听服务器以及用户操作线程,并加载用户工作空间到客户端。客户端与服务器端的通讯通过Java通讯软件层实现,后面将对这个关键技术进行详细阐述。用户注销时,调用shutdown方法删除监听服务器和用户操作线程,撤销与服务器端的连接。

应用服务器根据用户需求,生成用户工作空间,并根据用户的请求类型,对虚拟环境中的物体或物体的属性进行查询和修改,实现共享空间的一致性维护。用户在空间工作时,若改变了场景内容、属性,甚至需要刷新其他用户的工作空间,并不急于呈现交互的结果,而是交由服务器处理。服务器首先比较用户的操作权限、实体的属性、处理的优先级等策略,并将这个事件插入相应的处理队列中。服务器不断处理队列中的事件,当事件成功处理后再更新VRML模型数据库,并将更新信息分发给其他用户。若事件处理失败,服务器将向提交该事件的用户发送出错提示信息。

二、关键技术

(一)生成用户工作空间

在网络虚拟现实中,整个虚拟空间的数据量非常庞大。在现有网络条件下,若要每个用户下载整个虚拟空间到客户端,是没有必要和不现实的。本系统利用细节层次模型LOD和按需传输方法,实现了用户虚拟空间的快速生成,具体实现步骤如下:

step1 用户登录应用服务器后,立即向应用服务器发送请求,通知其所需文件的URL;

step2 应用服务器接到请求后,与信息服务器交互,下载对应的VRML文件;

step3 应用服务器随后以VRML文件的语法结构为依据,按照结点的嵌套层次逐步读取和分析文件,并以前序遍历、深度优先的方式为文件建立语法树,构造场景描述图,并将该场景描述图传给客户端;

step4 客户端提供操作VRML 层次结构的交互界面,用户选择所需要的那部分场景;

step5 用户选择后,客户端将选择结果作为服务请求发送到应用服务器,应用服务器利用先前对VRML文件的分析,分离出用户所需的场景单元,生成”子VRML”{sub-VRML}文件,并根据需要将生成的“子VRML”文件加入LOD控制;

step6 應用服务器将这些带功能扩展的“子VRML”文件传送给客户端,并在客户端显示出来。

用户在虚拟空间中用替身(Avatar)表示,系统用VRML原型(PROTO)定义客户对象,通过传感器ProximitySensor跟踪替身的方位。同时,替身之间通过文本和动画进行交流,用文本框控件输入文本,通过Script节点控制TimeSensor传感器,进而控制OfientadonInterpolator传感器和PositionInterpolator传感器动态改变替身的方位[4],实现点头、微笑等动画效果。

(二)建立多用户通讯环境

系统中,多用户虚拟环境之间的通讯由Java通讯软件层实现。由于VRML不是一种编程语言,不支持多用户环境所必须的共享行为和环境状态的连续性,其网络通讯和分布式控制能力需要借助与Java语言的结合来实现。有2种结合方式,即通过内部Script节点(Script Authoring Interface,SAI)和外部编程接口(External Authoring Interface,EAI)。使用EAI可以在JavaApplet中输入各种参数以改变场景的内容,控制灵活,但它不是真正意义上的分布式控制;SAI方式不需要有JavaApplet的存在,只要为场景中的物体写相应的脚本代码即可。利用Script节点的这一特点,可用Java编写成脚本语言,将Java的网络功能和文件访问功能引入到虚拟场景中,使其引用的Java语言通过TCP/IP协议接收网络数据,并用网络数据控制虚拟环境中对象的属性,从而建立起多用户通讯环境。

在此模型下,Java通讯软件层的实现首先进行2个预处理,即在Script的事件入口处理函数processEvent()中,增加起动一条新线程的语句;在线程执行函数run()中,加入提供socket服务器服务的语句。这样,当VRML分场景接收到事件入口socketPort时,Script节点通过事件处理函数起动一个新的线程。在该线程中,程序运行了socket服务器。socket服务器循环感应网络连接请求,当有请求到来时,socket服务器进行连接,这样在VRML场景与外界间就形成一条通路,VRML场景就可以通过这条路经与外界进行通讯。同样,外界来的数据也通过这条通路送到VRML场景中,在Script节点处产生新的事件,经过路由又送回VRML场景中的其它节点中。为了实现客户端的主动请求连接功能,可在Script的事件入口处理函数processEvent()中加入提供socket客户服务的语句“Socket client=new Socket(Host,Port);”,主动与外界服务器建立连接。至此,多用户环境的底层通讯就畅通了。

(三)构建通信数据包

在网络虚拟现实中,为了实现WYSIWIS效果,必需构建高效的通信数据包并有效传输,才能使所有用户获得的信息保持一致。系统主要构建了2种通信数据包满足这个要求。

一种是操作数据包,即用户在虚拟空间工作时产生的数据信息(用户操作的对象,操作的类型,操作的结果),如用户的加入或退出,替身移动或转向,替身自身动作,创建或删除一个物体,对物体进行移动(旋转、缩放、改变颜色)变换处理,对物体进行锁定或解锁等,形成一个请求数据包VPacket(操作对象类型VKIND、操作对象序号VID、操作类型VIP、操作的数据类型Vfiled、操作的数据值value),这个数据包传送到服务器进行处理后,服务器会产生一个结构相同的响应数据包,并传回给该用户。

三、应用实例

我们在校园网分布式虚拟环境下,实现了一个多用户协同组装电脑的原型系统。用户登录实验系统后,系统为每个用户生成自己的工作空间,用户在工作空间中搬动电脑配件并安装到主板的相应位置。在搬动配件之前,用户需要申请自己的工作任务以确定安装哪个设备,当每个用户成功安装设备后,即时发送信息提示其他用户。系统检测所有配件的安装情况,以决定是否完成协同工作的任务。实验场景与电脑配件用3DS MAX创建,用户替身采用Poser绘制,导出的VRML文件在CosmoWorlds中修改并添加交互。系統采用集中式数据库方式,主要存储电脑配件设备的参数信息和用户信息,与数据库的连接采用JDBC实现。

四、结束语

本文以实现CSCW为目标,在不改变现有网络带宽和网络协议的前提下,解决了VRML网络虚拟现实系统中用户虚拟空间的快速生成、VRML场景的实时通讯、多用户操作的协同控制等问题,深入研究了关键技术,并以网络环境中协同组装电脑为例进行了实现。为了实现真正高效、大规模的分布式虚拟现实,还需要在模型的优化、多用户业务规则的协同策略、协同工作过程的触发策略、突发事件的处理等方面作进一步研究,这也是我们今后研究工作的重点。

参考文献:

[1]许爱军,张文金,易丹.基于虚拟现实技术的远程教育平台研究与实现[J].计算机系统应用,2007,8:23-26

VRML技术 篇5

1 VRML的基本原理

Web3D技术在其发展过程中出现了多种可供选择的技术和解决方案, 主流技术有VRML、Cult3D、Java3D、Open GL等, 它们具有自身的优点与不足, 适合不同的应用领域。

VRML的基本原理可概括为:文本描述、远程传输、本地计算生成。即, 用文本信息描述三维场景, 在Inter net网上传输, 利用三维图形生成技术在本地机上利用多传感交互技术以及高分辨显示技术, 由VRML的浏览器解释生成逼真三维虚拟场景, 使用者戴上特殊的头盔、数据手套传感设备, 或利用键盘、鼠标等输入设备, 进行实时交互, 感知和操作虚拟世界中的各种对象, 从而获得身临其境的感受和体会。

基于VRML的虚拟现实系统主要由五大模块组成, 如图1所示。传感设备模块实时检测用户对传感设备的操作, 以追踪用户在虚拟世界中的位置和方向;VRML EAI模块实现外部应用程序与VRML文件的节点进行实时数据交互;VRML文件模块包含对场景中各节点的描述, 这些节点组成了虚拟环境;建模模块获取现实世界各组成部分的三维数据, 并建立相应的模型;3D模型库是现实世界各组成部分的三维表示, 由此构成对应的虚拟环境。

VRML (Virtual Reality Modeling Language) 标准是虚拟现实技术踏入网络世界的敲门砖, 它面向网络, 随网络而发展。同时它又并不受到网络带宽的限制, 因为根据VRML技术, 通过网络传播的是描述场景的模型, 而动画帧的生成是在本地。这样解决了网络带宽对虚拟现实应用的限制, 使得虚拟现实技术蓬勃发展的成果能够通过网络让社会各个方面受益。

2 系统实现的关键技术

下面以一个实例“建设福建电大虚拟校园”来介绍如何使用3DSMAX制作有交互特性的Web 3D动画。虚拟校园场景的主要内容有学生宿舍楼、篮球场、辅助教学楼, 以及一些虚拟的花草树木。用户可以通过IE浏览器在虚拟场景中随意走动, 还可以通过设置与场景中的物体产生交互。在制作过程中涉及到以下几个要点: (1) 3DSMAX如何为对象使用多重贴图; (2) 3DSMAX如何设置, 才能将Max文件导出为VRML文件; (3) 在3DSMAX中创建VRML节点, 编辑VRML文件产生交互场景。

接下来具体介绍福建电大虚拟校园的制作步骤。

2.1 设置场景的单位, 设置系统单位

在场景中设置系统单位, 使其在导出VRML文件后能产生正常的单位, 方便用户的观察。点击Customize菜单下的Units Setup命令如图。再点击System Unit Setup按钮设置系统单位为米。

2.2 在场景中建立宿舍模型

在场景中我们简单的建立一个长方体作为宿舍的模型, 然后使用贴图来完成模型。所谓贴图就是对实际宿舍的外观的几个面进行拍照, 获取的图片经过photoshop的处理, 给对应的长方体的6个面贴上不同的图片, 就完成了宿舍的模型。另在贴图时可以用6个宽度稍小的Box来组成一个长方体, 也可以用一个Box对其6个面分别贴图, 不过这样数据量偏大, 不适合在VRML中运行。在场景中选择物体类型为Box, 确定其长、宽、高;生成宿舍模型;进行贴图设置, 使其更接近模型效果。

在Edit Mesh菜单下选择Polygon, 对物体的几个面进行编辑, 将不同的面设置不同的ID号。由于底面与地面接触所以我们就不用设置了。然后我们打开材质编辑器点击键盘上的MJ, 选择一种材质再在材质的类型上选择多重子材质的贴图, 选择设置材质个数的按钮, 把个数设为5。再按下材质一的设置按钮, 在Maps选择Diffuse贴图, 选择事物拍摄的对应位图照片, 这样就完成一个面的贴图。使用相同的方法不同的图片完成剩余的4个面, 其中第5个面我们不需要贴图, 只需把亮度调亮一点, 因为它是模型的顶部, 建筑物在虚拟空间里很高正常状态下是看不到的。这样我们就把材质赋予了长方体。点击F9进行渲染, 就完成宿舍楼的建立。通过渲染透视图我们可以看到如图2效果。

现在虚拟的学生宿舍楼就完成了, 按上诉的方法所创建的模型在交互场景中所涉及的面应该是最少的, 那么做占用的资源也较少。在虚拟场景中一般不会建立太复杂的模型, 对场景的细节要求不高, 这样可以预防在导出为VRML时在浏览器中运行缓慢, 保证虚拟漫游的展示效果。

2.3 在场景中制作篮球场模型和篮球架模型

(1) 建立篮球场模型。篮球场的建立我们也可以使用Box拖出一个平面, 再修改它的长、宽、高的数值。在这里我们高用0.01m, 这样我们就可以给它贴图了。贴图的方法和宿舍楼的贴图是一样的。但在篮球场的建立中我们把长方体的顶的材质ID设为1, 把其余各面的材质ID全部设为2。在选择ID为1的贴图材质时我们先前拍摄的篮球场的实际照片, 而ID为2的则不需要进行贴图。击F9进行渲染, 就完成篮球场的建立。

(2) 建立篮球架模型。建立篮球架我们按从下往上的顺序, 先使用Box来建立篮球架的底座, 这个比较简单。再用Box建立两个长方体作为篮球架的栏杆, 设置好长、宽、高的数值后, 选中2个长方体用对齐工具, 进行对齐调整。对上面一个长方体使用点编辑 (Vertex) , 先选中最后4个点, 进行旋转操作, 控制好角度, 然后选中4各点所在的面, 进行拉伸的操作, 控制好拉伸的距离, 重复旋转操作和拉伸操作, 让两个物体形成有弧度的弯角, 完美地连接在一起, 再赋予相同的颜色, 最后进行贴图操作, 这样就篮球架的架臂就建立好了。再创建篮板和蓝筐就可以了, 我们给蓝板赋予透明的材质。

再利用镜像复制工具, 把篮球架复制一个, 设置偏移值, 把它偏移到篮球场的另外一边。这样在篮球场上就生成了2个篮球架。

2.4 在场景中制作辅助教学楼模型

(1) 辅助教学楼基本框架的建立。制作辅助教学楼模型先用Box来建立地面, 打开点捕捉工具, 用Rectangle生成长方型, 用Edit Spline进行线段编辑, 删除最右边的线段, 再进入线条编辑模式, 在Outline位置输入-0.25, 最后用Extrude, 生成部分墙体, 这样我们就建立了3个方向的墙体。

接下来我们在右视图中建立最后一面墙体。选择建立面板中建立形状物体的矩形工具, 用点捕捉工具沿墙边缘建立一个矩形, 关闭Strat New Shape的复选框, 再在场景中建两个矩形编辑大小作为门窗, 最后用捕捉的方式制作屋顶, 这样辅助教学楼的框架就基本完成了。

(2) 门窗的建立。用上诉方法建立窗框, 建立玻璃。用链接命令把窗框链接到玻璃上, 使玻璃的运动也能带动窗框运动。对玻璃设置动画效果, 在第20帧和第40帧添加关键帧完成开窗和关窗的动画效果。同样的办法在场景中创建两扇门, 再赋予材质, 添加关键帧, 完成开门和关门的动作。

2.5 在场景中制作虚拟的花草树木

在场景中创建虚拟的地面环境, 草地和植物。考虑到交互场景文件不能太大, 这里用2个透明的Gif图片贴图在相互交叉的面片物体上来模拟植物, 这样能降低对系统资源的占用。

2.6 在场景中添加灯光

在建立面板中使用Target Directional Light把灯光加入场景内。一共建立5盏。4盏在场景的四周向内照射, 一盏在场景上空直射地面。这样才能把场景全部照亮, 以便导出为VRML时有足够的光线照亮场景中所有的物体。

2.7 在3DSMAX中对场景交互进行初始设置

在场景中建立Prox Sensor (位置传感器) 物体, 以便后期在VRML中交互的制作。Prox Sensor物体是一个有长宽高的长方体, 设置在辅助教学楼的窗户边上, 在窗户周围形成一定的范围。按下Pick Action Object按钮, 选取窗户上的玻璃, 使得用户虚拟漫游到Prox Sensor物体区域时就开始播放动画。

用户在这个虚拟的环境中可以四处走动, 当观察者靠近门窗时门窗可以自动打开, 当观察者远离门窗时门窗可以自动关闭。

3 结语

随着虚拟现实技术应用的普及, VRMl势必得到更多的关注。尽管VRML在实现交互和网络通信方面存在缺陷, 但它与3dmax的结合有效弥补了自身的不足, 相信随着研究的不断深入, VRML将会在分布式虚拟现实和协同虚拟现实技术中发挥重要作用。虚拟现实技术是近年来在多种信息技术的基础上发展起来的新兴学科, VRML是将虚拟现实技术应用于internet网络的敲门砖, 它面向网络, 随网络而发展。

参考文献

[1]孙范荣, 王鹏, 黄有群.基于VRML的交互式三维地形生成技术的研究[J].系统仿真学报, 2007, 19 (16) :161-163

[2]赵学伟, 沈旭昆, 齐越.基于Web的交互式三维发布系统[J].计算机工程, 2007, 33 (22) :243-248

[3]李华, 孙智勇, 吴中福.虚拟计算机网络组网平台的设计与实现[J].计算机应用研究, 2006, 23 (8) :258260

[4]池建斌, 郭海新, 王晨, 冯桂珍.基于VRML JAVA的减速器虚拟拆装系统的实现[J].工程图学学报, 2008, 29 (2) :48-53

VRML技术 篇6

虚拟现实技术的发展和创新在应用领域中不仅能在外部发展中得到有效性,在信息处理方式中也能形成良好的应用条件。人们在这种三维信息空间中亲身经历,形成了更大的主观创造。但利用VRML并不能实现单独的三维物体创建,在虚拟场景中,还要利用Java对物体的运动模式来实现,并形成了VRML与Java技术的交互性。

1 VRML技术

1.1 VRML概述

VRML为虚拟现实建模语言,在发展上已经从1.0 版本开始形成2.0 版本以及X3D发展。最初主要以静态图形方式来展现的,随后形成了动态图形模式,也实现了更真实的场景设计。它不仅实现了多种技术的结合,也展现了良好的人机互动性,从而为创建三维场景实现更大的升级变化,创造了更广的发展空间。最主要的版本为VRML2.0,它在操作平台上没有关联性,能够实现较大的扩展性和良好的运行能力。VRML2.0 在功能上主要为两种,一种是创建三维实体功能,能够实现对象与对象之间的编程与交互行为,能够在信息发送与接收行为中实现真实的交互功能。一种是增加了编程格式,不仅能对对象思想实施编程,还能体现声音与动画功能。因为VRML是一种语言,VRML浏览器就是一种解释器,能够对VRML代码文件进行解释,从而形成一个图形映像。目前,虚拟技术已经在网络技术基础上实现了较大创造和更新,并实现了大规模的网络时代,在市场中,虚拟现实技术也已经得到较大应用。

1.2 VRML的工作原理

VRML主要应用在Internet以及Web链接上,能够形成多种用户的交互行为和独立的计算机平台。在虚拟世界显示中,能实现交互与网络的连通性进行描述。VRML在设计期间,是从WEB的3D图像开始的,VRML浏览器不仅是一种插件,也能够帮助应用程序。VRML应用是在三维建模以及动画应用中分离出来的,能够对场景实施着色行为,也可以在三种方向中建立3D连接,从而形成VRML的超空间模式。VRML将3D图形与多媒体形成了一种文件格式,不仅是定义集合起来的对象,也是在时间上形成的信息抽象功能。VRML文件还能对其他文件格式进行引用,能够实现对象的编程行为。VRML在场景图中,是利用数据结构形成的3D环境。而且,VRML文件在执行、解释以及呈现等方法上都是利用浏览器来实现的,浏览器将场景中的声音、图像等展现给用户,从而形成真实的虚拟世界。VRML的访问方式是在客户服务器上中,对各种资源实施下载行为访问的。VRML在开发过程中是一种标准行为,能够实现更强的协作方式,不仅提供了多种技术形式,也实现了多种技术协作的可能性。

1.3 VRML的应用

VRML技术在各个领域都实现了较快应用,不仅在电子商务、教育以及工程建设上,在娱乐以及艺术创造上也得到广泛应用,都建构了虚拟现实化的应用系统。虚拟现实是一种新的、体现人机接口技术,能够保证计算机与用户之间的相关协调。VRML在互联网平台上,形成了基本框架结构[1]。在我国,已经实现了VRML97 应用系统,在信息产业上得到较大应用。如在教育方向上,VRML不仅掌握了HTML功能中的相关特点,还实现了WWW教学模型的创新性,实现了虚拟环境在教育期间的真实性和自然性。在这种虚拟环境中,学生能够通过对知识的浏览积极探索,如在虚拟太空中能掌握相关的天文知识,在虚拟地球环境中能掌握相关的地理知识,了解我国历史发展和变化。还能在分子世界中掌握化学知识结构,从而实现学生对知识的探索能力和掌握能力。在创建的虚拟教育中,教师也可以利用VRML制作动画人物,在表情以及动作上进行捕捉并跟踪,从而实现三维课堂教学模式。这种方式与视频教学则不同,它使教学双方都得到有效利用和升华,展现了实时交互行为,形成了教师与学生之间的更好交流。

2 JAVA技术

2.1 JAVA概述

万维网也改变了人们在生产与生活上的主要方式,使人们实现了信息文明时代。在虚拟现实建模语言中,Java语言主要将Web在网页中心抓变为人们喜爱的方式。Java是一种新型的网络语言,它能实现广泛的移植性,能够保证对象之间的交互行为。不仅能够利用分布式的网络通信,在运行期间还能形成安全、可靠的优良功能,在互联网上是一种常用的设计语言。Java与VRML都是一种代码可执行技术,能够在带宽条件下对差距进行处理,能够形成丰富性的交互方式。在传输期间,能对小型指令性数据集进行传输,不能保证大文件内容的传输。Java与VEML技术的结合,体现了Web技术的二代实现,利用VRML对场景实施构建期间,Java在编写程序以及编程行为上都展现了良好的设计手段,实现了Web共享。

2.2 JAVA的现状

Java是一种对象设计语言的新方式,能够在互联网中对应用程序实施开发。目前,利用Java编程在技术领域已经成为一种时尚方式。Java在软件开发上,体现了一种新技术领域。由于计算机产业在发展中已经购买了Java的许可在业界已经得到认证。在各个软件开发中,都支持Java软件产品的利用和表现形式,并推动了PC机市场的发展。但目前,Java技术在发展中已经以网络为中心建立的计算机时代,应用程序只能在同质范围值应用。在企业信息系统中,它成为主要的应用方式,互联网的主要目的就要要将企业中的内部信息系统实施良好利用,不仅在使用期间更方便,也容易管理。用户在使用期间,不论利用哪种机器类型和操作系统,都形成了统一浏览器,并成为开发人员主要的应用模式。Java语言还在不断发展和利用,在编译环境以及相关集成环境中都得到较快发展。

2.3 JAVA的语言特点

Java语言在性能表现上具有多种特点。首先,它是一种简单的语言模式,程序员能更快了解编程,并实现丰富的内存管理。而且,这种语言方式主要是面向对象设计的,主要以静态与动态代码形式设计的。还能体现分布式的表现环境,在访问形式和空间中都能利用URL连接实施对象访问。更体现了健壮特性,在自己操作中,减少了较大失误性,实现的真数组形式避免了数据覆盖的可能性。在结构上,Java建立了网络整个,编程编译结构中形成了中立文件格式。只要利用Java运行系统,就能更好的实现中间代码。在虚拟运行方式中,也在机器运行中对调试器实现运行模式。Java也得到了安全保证,一方面,Java语言避免了内存的非法操作,另一方面,Java在创建、浏览过程中,实现了语言功能与浏览器的结合方式,实现了更大安全性。Java应用程序在配备上,是Java解释器与运行环境的运行,实现了良好的移植基础,在任何解释器中,都能实现各个类型的相关标准[2]。还具有多线程、高性能与动态扩展形式,实现了多种应用特点。

3 虚拟街道场景中的创建

3.1 思路创建

我国在经济不断发展中,随着人口的不断增加,城市街道在空间变化中也面临较大困难。规划城市建设,使人们能在自己满意的生活空间中体现个人需求的发展空间。以前,我国的城市街道经过不断翻修,经过较短时间就要重新整修,在这种趋势发展下,不仅给人们生活带来较大不便,在整修期间也浪费了大量的人力、物力。所以为了改变这种方式,在整修之前就要实现良好的整修规划。传统的规划形式是利用图纸,然后在专家审核下完成的。主要利用平面图纸,但在设计中并没有遵循城市居民的想法,缺乏灵活性。但如果将图纸做成三维模式导图,就能较大的体现生动性和灵活性,城市居民也能更直观的进行浏览,并能根据城市交通以及相关情况掌握自己的生产和生活方式。所以在这种思想设计中,本文利用VRML对城市街道实施创建,人们利用这种浏览方式能正确认识到城市的发展和建设。为了实现虚拟场景在设计期间的真实性,还利用JAVA技术实现场景的运动型,从而创建两种技术的有效结合。

3.2 创建

在对三维物体实施创建之前,首先要将整个街道的场景图进行展示。如:整个街道的建筑物、花草树木、太阳、人类以及相关指示牌等物体。如果对建筑物实施创建行为,就要将每个单一的物体利用三维坐标有机结合,如利用长方体以及圆柱体来实现。利用VRML2.0 文件对解释器进行识别,从而保证外观以及纹理的选择。在对花草树木实施创建期间,要将单个树木花草利用不同的圆柱体进行合成,然后利用translation对树木距离值进行设定,最后实现整排树木的重新设定。对于交通灯的创建,由于交通灯主要对道路进行控制,所以要利用一个长方体对四个方向中的三种颜色等进行设定,然后利用长方体以及圆柱体组成交通岗,并保证交通灯的实施和运动。在对太阳实施创建期间,由于太阳的形体比较简单,所以应利用一个球体来表示,因为太阳是一个光源点,具有较大特殊性,所以在VRML中创建三个光源点,然后将光源线在空间中实施传播,从而保证VRML的各个单位之间的可用性。在VRML中的视点设计,主要是浏览者在空间中对某一空间的位置和方向,在虚拟环境中,人们可以直观浏览,并能针对一种图形找出整个空间的具体位置和方向。对于电视屏的创建,首先,利用MPEGplayer在一个视频中的一段实施处理行为,是用户能看到真实效果[3]。在人物创建过程中,要保证VRML与Java的交互行为,主要利用Script节点与Java实施通信,然后数据在这种方式中进行传输,并在VRML空间中进行读取,从而实现了人物在虚拟场景中的实际运动,并体现较大灵活性。

3.3 JAVA与VRML应用中应注意的问题

在VRML空间创建中,首先要根据VRML中的各种节点对复杂场景实施创建行为,从而展现更多的远动功能。但在这个设计过程中,不同插件在计算机上实施的浏览行为具有较大差别,因为VRML在编写期间是一个纯元件,如果没有与JAVA实施交互行为,各种插件就能实现正常浏览。如果两者在结合期间,形成较大的控制和限制功能,在设计期间就要注意几种问题。第一,在插件上不能对VRML中的文件进行浏览,只有在网络上能够实施浏览行为。第二,如果在cosmoplayer插件上进行浏览,但在计算机中不一定能实施插件配置的浏览。第三,由于版本的不同,JAVA文件的处理方式和编译方式也会不同,就要针对不同情况实施交互行为。所以说,VRML与Java的结合方式在整体上减少了调试时间,实现了更宽的设计思路。

结论

信息技术已经成为关键技术领域,在发展中不仅仅是数字化建设的高性能处理,也是一种和谐的人机组合环境。人们在接触信息期间,不仅要通过输出以及显示屏对信息进行观察、处理,还能利用各种感官在信息环境中进行体验,已经不仅仅是数字化的信息空间模式。而是一个多维变化的信息空间,形成了定量与定性的组合模式,形成的综合环境在利用方式中也被应用所认可。

摘要:在互联网技术、图形技术以及虚拟现实技术发展中,计算机在应用方式上已经创建了新的表现形式。特别是虚拟现实技术在计算机发展领域中已经得到广泛应用。在本文中,利用VRML与JAVA技术实现了良好的应用方法,也体现了更大的创新意义。所以根据两种技术的相关内容和应用模式进行分析,阐述它在虚拟场景中的应用和研究。

关键词:VRML,Java技术,虚拟场景

参考文献

[1]张辉,吴侃.VRML与Java技术在虚拟现实中的作用[J].测绘信息与工程,2004,02:42-43.

[2]陈玲.VRML和JAVA技术在虚拟产品开发中的应用[J].机电工程技术,2004,08:42-44.

基于VRML车间动态布局方法 篇7

随着经济技术的高速发展,顾客需求和市场环境不断变化,制造业企业正面临着越来越激烈的竞争。目前已有的车间布局已不能满足企业的需求,无论是扩大生产新建车间,还是对原有的车间布局进行改造和重组,都需要及时、快速地确定合理的车间动态布局设计,迅速满足新的需求。目前,对车间动态布局研究很多,多种仿真软件应用到生产系统中。徐正等对基于Lightning[1]车间生产线深入研究;鲍婷洁、楼佩煌提出了基于e M-plant对汽车车身焊装线系统仿真技术方法;李晓峰,王晓枫提出了基于Quest的车间物流建模和仿真,但仿真软件的昂贵及无法实时三维浏览车间布局情况制约了企业对布局仿真的使用。

本文从应用层角度出发,基于VRML通过组件式设备模型搭建虚拟车间、模型识别及设备动态拖拽布局的实现了虚拟环境中车间生产线的动态布局。图1为总体框架。

1 组件式设备模型构建

车间动态布局涉及到设备模型间的空间约束,利用组件式建模方式将车间设备自身尺寸与其约束空间组合成单个模型,减少在约束碰撞检测中实时建立约束空间的数据量,为动态布局建立基础。

构建虚拟车间[2]场景的加工设备,工件设备和物流设备,其几何模型[3]构建通过CAD软件完成,将基础几何模型导入VMRL后设计人员建立以最大包围盒原则的约束空间。对于一般设备模型的空间主要包含设备自身尺寸、工件尺寸空间、工件作业空间、夹具尺寸空间、夹具安装空间、操作人员工作空间、物料堆垛及传输空间、安全性预留空间。在VRML建模过程中,以VRML97为标准,以包围设备自身Box尺寸为基准对应构建其他约束空间,同时将设备自身尺寸空间与其他约束空间组合起来生成模型组件。其构建过程如图2所示。

上述过程展示了车间模型组件式建模过程。其中,最终发布模型为设备的设备模型和空间约束模型,空间约束模型作为检测替身应用在拖动布局的实时约束中,采用透明不可见处理[4]。

2 车间虚拟场景搭建

2.1 车间构建

虚拟车间是一个集成环境,从全局的虚拟生产车间可以逐层细化到虚拟生产线,到虚拟加工设备,再到具体操作。虚拟设备模型是构成虚拟车间的基本元素。对于车间设备布局,根据生产工艺要求确定设备布局形式,计算设备在虚拟车间中的大概位置,同时将构建好的设备模型统一导入虚拟车间模型中。

在导入以及后续动态布局的过程中,设备模型在虚拟车间动态移动实现布局需要,因此设备模型的坐标在虚拟车间中实时动态转化。在VMRL环境中,设备模型与车间虚拟场景分别拥有为设备坐标系(Equipment Coordinate System,ECS)和车间坐标系(Workshop Coordinate System,WCS),两个坐标系都遵循以X,Y,Z为轴的笛卡儿右手坐标系。在默认情况下,车间坐标原点在屏幕的中心点上,X轴正方向向右;而Z坐标垂直于显示屏幕向外,即指向观察者。在设备坐标系中,以设备自身模型一边中点作为坐标原点,而虚拟车间以车间中心点为坐标原点,实现设备模型坐标在虚拟车间的动态转化,故将每一个设备坐标ESC向世界坐标WCS转换。

具体使用4×4矩阵将ECS坐标中指定一点(x,y,z)变换到WCS坐标系中任意一点(x’,y’,z’)。利用多个4阶矩阵的坐标变换,将得到每一个模型m(i)的变换坐标组,含有三组数据:

式中:T(i)是第i个实体的ECS坐标系原点向WCS变换时所需要的分别沿x,y,z方向的偏移量。

R(i)表示第i个实体的ECS坐标系沿着WCS坐标系的(0,0,0)指向(Rx(i),Ry(i),Rz(i))矢量旋转Ra(i)弧度。

S(i)表示第i个实体的ECS坐标系向WCS变换时所需要的分别沿x,y,z方向的缩放比例。

利用上述坐标转换方法,实现导入车间设备模型动态构建虚拟车间环境。

2.2 碰撞检测

碰撞检测用于检测车间设备模型的相互作用,需要计算设备模型间的相互位置,其计算量取决于模型外形的复杂性和检测精度。为加快碰撞检测速度,将碰撞检测分解为两步:第一步,粗略检测,利用包围盒碰撞检测方法[5,6]来判断设备模型位置上是否重叠;第二步,细化检测,提取检测干涉的设备模型碰撞数据以及设备模型外型数据求面交,检测判断干涉碰撞是否真正发生。同时,本文利用组件式建模方法构建单一空间设备模型,代替结构复杂的车间设备,省去碰撞检测中自行生成包围盒碰撞代理过程,加快检测速度。

3 动态布局的实现

3.1 设备模型识别

对虚拟车间场景中的设备模型识别提取,本文利用BSContact插件浏览器作为设备模型提取平台,通过定标设备二维空间移动的鼠标,从二维向三维空间的交互需要采用坐标系转换后求交计算,提取求交结果来实现对设备模型的识别。本文中设备模型识别采用包围盒射线求交法[7](RayBox intersection)。

以计算机屏幕为X-Y平面,向内为Z轴正向构造笛卡尔坐标系,基于鼠标在计算机屏幕上的虚拟车间场景的放下事件所产生的点击点,以当前视点为方向,向屏幕内构造测试射线,并利用VMRL中的求交函数对车间设备模型做求交测试,同时将求交结果反馈给系统求交集合,实现对设备模型的识别提取。当鼠标在多模型求交中,优先取离视点距离d最小的设备模型为最终的求交结果。在本文定义求交集合G(x)如下:

3.2 设备动态拖拽

设备模型的动态拖拽布局,是设备模型在虚拟车间坐标系X和Z轴坐标的动态变化,以及绕Y轴的旋转转动变化。实现设备拖拽动作是通过VMRL软件传感器Touchsensor来检测用户是否单击了设备模型,信号自定标设备鼠标输入到系统中,同时实时追踪鼠标移动数据并输入到虚拟车间场景中,激活VMRL中相应的Java Script程序,使每一次动态拖拽布局只改变模型的X坐标或Z坐标或绕Y轴的旋转,流程如图3所示。

在VRML编程语言中,定义P为设备模型三个下标的变量,来表示m(i)虚拟设备的移动translation和旋转rotation动作坐标变化。定义设备移动数据P如下:

P=[+/-1,0,0]虚拟设备沿着X轴移动1个基本单位;

P=[0,0,+/-1]虚拟设备沿着Z轴移动1个基本单位;

P=[0,+/-1,0]虚拟设备沿着Y轴旋转1个基本单位。

基本单位是程序中自由设定,定义为当定标设备以最小步长运动时虚拟设备的最小移动距离或最小转动角度。这样,通过鼠标拖拽设备移动引起P数值变化,同时将P值导入到场景中转化为设备移动或者旋转动作实现设备模型在虚拟车间场景中拖拽布局。

4 实例验证

通过上述方法,基于VMRL开发了核电机组300MW低压转子加工生产线车间动态布局系统,并已经应用到上海汽轮发电机有限公司项目工程中。在线圈转子车间布局设计中,利用组件化建模方式建立车间布局的设备模型,同时通过实地测量车间完成初步车间构建。通过三维坐标系的矩阵转换实现卧式车床等设备模型动态移动搭建。

在拖拽布局设计中,利用检测鼠标放下事件对设备模型的抓取触发Move程序,从event In事件开始实时读取P值到event Out事件结束将P值导入虚拟场景改变设备XZ坐标及Y轴旋转度,实现动态车间布局的效果,如图4所示。

5 结论

本文研究和提出了基于VRML的车间动态布局方法,组件式建模方式构建车间设备模型并构建虚拟车间,分层次碰撞检测,同时引入定标设备移动数据P来实现拖拽动态布局,通过线圈转子车间为布局设计充分证明了此方法的可行性和应用性,同时,此方法在实际应用中大大缩减车间生产线设计时间,节约投资。随着虚拟技术的不断发展,结合数据库技术可得到车间生产线布局与制造管理上更多地应用。

参考文献

[1]徐正,单忠德,李周,Hans Peter Lentes.基于Lightning的生产线仿真[J].中国机械工程.2011,22(14):1690-1693.

[2]杜宝江.虚拟制造技术[M].科学(上海),2007,59(2).

[3]Neug ebauer R,Weidlich D,Zickner H,etal.Virtual RealityAided Design of Parts and Assemblies[J].InternationalJournal on Interactive Design and Manufacturing,2007,1(1):15-20.

[4]Margaret Dolinsky,Josephine Anstey,Dave E,Pape etal.Collaborative virtual environments art exhibition[J].Conference on Stereoscopic Displays and Virtual RealitySystemsXII,2005,1.

[5]朱元峰,孟军.一种基于混合包围盒结构的实时碰撞检测的有效方法[J].系统仿真学报.2008,20(19):5099-5104.

[6]高军峰,徐凯声,崔劲.一个基于包围盒技术提高光线与物体求交效率的算法[J].交通与计算机.2004,22(6):65-57.

VRML在教学中的应用 篇8

1虚拟现实与VRML

1.1什么是虚拟现实技术

虚拟现实 (Virtual Reality, 简称VR) , 是一种基于可计算信息的沉浸式交互环境, 具体地说, 虚拟现实技术主要有三个基本特征:自主性 (imagination) 、交互性 (interaction) 、沉浸感 (immersion) 。它是一种可以创建和体验虚拟世界 (Virtual World) 的计算机系统, 是用计算机技术生成一个逼真的三维世界, 让用户可以从自己的视点出发, 利用自然的技能和某些设备对这一生成的虚拟世界物体进行交互和互动观察。虚拟现实技术的核心是模拟和仿真。

1.2虚拟现实与VRML的关系

VRML (Virtual Realty Modeling Language, 虚拟现实建模语言) 基于客户/服务器模式, 是一种描述在Internet上创建三维复杂交互场景和对象的文件格式标准, 通过网络传输的只是一个很小的描述文件, 在服务器上提供VRML文件及图像、视频、声音等支持资源, 客户端通过本地VRML浏览器交互地访问这些文件并解释执行。

它的出现及其发展改变了网络的二维平面世界, 实现真正的三维立体网络世界、动态交互与智能感知, 是计算机网络、多媒体技术与人工智能等技术的完美结合, 已成为把握未来网络、多媒体及人工智能的关键技术。

2 VRML的语法与结构

VRML文件由语句构成, 文件里可以有以下四种语句:PROTO (EXTERNPROTO) 语句、节点语句、USE语句、R O U T E语句。

VRML文件可以使我们在计算机上通过Netscape或IE浏览器观察丰富多彩的三维世界, 文件的扩展名为wrl, 有文本 (可读) 和加密两种格式, 文本格式经处理可变成加密格式。

一个VRML文件语法主要包括有文件头、节点、原型、脚步和路由等。

文件头是每一个文件都必须有的, 而且目前的写法都是一样。一个文件必须由节点构成, 再通过路由实现动态的交互与感知, 或是使用脚本文件或外部接口进行动态交互。一般来说比较复杂的VRML程序大多都有事件的路由ROUTE, 但它不是文件必须的内容。

一个比较通用的VRML文件语法结构如下:

注:1行:V R M L文件标志2行:VRML的各种“节点”3行:对应“节点”的“域”与“域值”6行:脚步Script节点8行:路由:把入事件与出事件相关联

3 VRML教学设计与实现

3.1 VRML教学设计

根据实际的教学要求, 例如在网络技术课程或网络工程课程中, 要求学生认识掌握网络布线各个环节中的操作, 了解网络连接终端水晶头的结构;了解EIA/TIA-568标准电线与模块插头和插座的连接方式T568A和T568B的排线顺序;了解综合布线场景的模拟实验等。

3.2实验实现

实验一:RJ45模块的核心是模块化插孔。弹片与插孔间有磨擦的作用。插孔主体设计采用了整体锁定机制。如图1所示。

实验二:通过模拟EIA/TIA-568标准电线的排序方法加深理解综合布线模块的制作标准, 实验中可以对线的排序进行调整。如图2所示。

实验三:通过模拟综合布线场景, 让学生在没有进场之前就已经了解了相关的布线格局, 为课程进一步实施打好基础。如图3所示。

4 VRML教学应用前景

由虚拟现实技术生成的适用于进行虚拟实验的实验系统, 包括相应的实验室环境、有关的实验仪器设备、实验对象。以及实验信息资源等。虚拟实验室可以是某一现实实验室的真实再现。也可以是虚拟构想的实验室。VRML在各方面都展现除了强大的应用可能性, 蕴藏了无限生机, 在教育领域Web站点中, 它可广泛用于学习情景创设, 增加学习内容的形象性和趣味性、可视化的导航、自然的人机界面等方面。

5结语

本文通过阐述VRML在教学中的应用实例, 说明了在构建虚拟教学平台方面有广阔的应用前景。可以有效地激发学生的学习兴趣和效率。

摘要:本文首先介绍虚拟现实定义和特点, 虚拟现实和VRML的关系, VRML的语言特征。其次, 阐述教学环境中的VRML应用实例。最后, 说明VRML在教学方面的展望。

关键词:虚拟现实,VRML,教学,节点

参考文献

[1]韦素媛, 宁超, 张世英.Web环境下的智能网络教学系统[J].计算机工程与应用, 2003 (35) :155~157.

[2]杜选.多媒体远程教学系统的设计与实现[J].计算机应用, 2006 (22) :353~355.

[3]叶艳青, 邵剑龙.VRML优化技术分析[J].云南民族大学学报, 2004, 13 (2) :122~124.

[4]David R.Nadeau.Building Virtual Worlds with VRML[J].IEEE C omputer G raphics and Aplications, 1999, March/April:18.

基于VRML的虚拟实验系统设计 篇9

随着网络技术和虚拟现实技术的迅猛发展和普及,远程教育得到了强大的技术支持,使网络虚拟实验实现了对传统实验的有力补允,实现了其时间上的拓展和空间上的延伸。目前的虚拟实验多为二维演示实验,在实验真实感、交互性和教学效果等方面与真实实验相差甚远。VRML(Virtual Reality Modeling Language)是开放的、可扩展的、工业标准的虚拟现实描述语言,它能够在Web上创建可导航的、超链接的三维虚拟现实空间,并使用户与场景进行实时交互,感知和操作虚拟对象,因而能够提供更佳的性能和更好的教学效果。

1 虚拟现实与VRML

虚拟现实(Virtual Reality)是一项综合集成人———机界面交互技术,它利用计算机生成具有表面色彩的立体图形模拟现实环境,通过多种传感设备使用户融入到该环境中,并与该环境中的对象进行自然的、实时的交互,从而使用户产生一种沉浸在虚拟环境中的真实感觉。

VRML作为一种与互联网结合,用来描述三维交互世界的程序语言,可应用于创建虚拟现实的对象、景象和展示模型等。VRML的工作原理是用文本信息描述三维场景,在Internet网上传输,在本地机上由VRML浏览器解释生成三维场景,解释生成的标准规范即是VRML规范,而把复杂的处理任务交给本地机从而减轻了网路的负荷。

2 实验系统的设计与实现

2.1 虚拟场景的建立

VRML语言本身可以进行三维建模,但是它的标记语言特性使得建立三维虚拟场景比较麻烦,尤其是对一些庞大、复杂、要求精细逼真的场景。一种比较通用的方法是用3D Max这样的三维建模软件来建立静态虚拟场景,然后再导入到VRML编辑器中添加动态效果和交互控制。

但是,一般建模软件建立的场景文件都很大,这对网络传输是不利的,必须进行场景优化。通常我们可以采用以下几种方法进行优化。

(1)利用VRML中的LOD节点(Level of Detail,细节层次)。LOD节点主要是以视觉效应为每个物体建立多个相似模型,根据距离由远及近依次使用从粗到细的不同模型描述物体,减少不需要的模型细节,从而加速模型的绘制,达到优化处理的目的。(2)多使用DEF/USE方式。对于在场景中多次使用的对象,可在对象首次使用时用DEF给物体命名,以后仅需通过“USE+对象名”即可引用该物体。这种方法不但能够提高代码重用度,减少文件体积,还可以减少场景中要绘制的多边形,提高场景生成速度。(3)多使用PROTO原型定义。使用原型可以获得与DEF/USE方式相同效果,此外它还有动画效果,能进行交互控制,其使用更为灵活,功能更为强大。(4)复杂模型尽可能用简单模型拼装。用布尔运算得到的复杂模型不利于修改和贴图,为此可用Box、Cone、Cylinder、Sphere这些简单模型来构建复杂模型,这样既可以节省在网络中的传输时间,也有利于浏览器的优化。(5)利用压缩工具压缩VRML文件。在VRML的构建过程中难免会出现一些冗余信息,通过压缩工具,可以删掉冗余空间,减少文件体积。

2.2 自动演示功能实现

自动演示功能主要用来演示实验的全过程,以帮助用户了解实验。例如,本系统中的一个基本实验就是通过电源开关的开、合控制灯泡的亮灭。自动演示功能可利用预定义动画来实现,这主要涉及下面的几个功能节点。

(1)传感器Sensor。传感器是虚拟场景中的动作感知器,利用它来感知场景中各种物体的动作。本例中可以为电源开关添加感知鼠标单击动作的接触传感器TouchSensor和自动时间控制的时间传感器TimeSensor。(2)插补器Interpolator。插补器是实现动画效果必不可少的节点,它给出了动画过程中各个时刻变化量的参数值。电源开关的开合和电流表指针的转动都是旋转运动,可以为它们添加插补器OrientationInterpolator,而灯泡亮度的变化要由颜色插补器ColorInterpolator来实现。(3)ROUTE命令。ROUTE命令根据动画响应的顺序将各传感器、插补器、以及要控制的节点串连起来共同实现一个效果。

2.3 使用JavaScript实现交互功能

交互功能要求系统根据用户对场景中不同节点的操作做出不同的响应,这就不能通过预定义的方式来实现,而必须采用更复杂的程序代码进行处理。VRML中常用的脚本语言是JavaScrip。此外,对于一些需要与网页进行信息传递的场景,还可以利用网页中的Java Applet来实现更为复杂的控制功能。Java EAI(External Authoring Interface,外部创作接口)是增强VRML场景与外部环境通信联系和融合能力的一个高层次的Java类包,它使得外部的Java Applet程序可以利用VRML的事件模型访问和控制VRML场景中的节点。

本例中采用JavaScript脚本的形式进行代码编程来判断电源开关开、合状态并确定其转向动画。最后脚本代码要用ROUTE命令与相关传感器、插补器、和节点串连起来,形成一条动画通路。其动画效果如图所示。

2.4 将VRML场景嵌入网页

利用HTML语言的EMBED元素可以实现VRML和HTML语言的结合。网页中嵌入虚拟场景文件,能将三维立体信息和二维平面信息融合在同一个网页之中,网页部分既可以对三维立体场景进行解释、说明,又能够作为用户与场景交互的界面,弥补三维场景在文本方面的不足。

3 结束语

VRML语言具有交互性、分布式、场景逼真、易于实现等特性,是开发基于Internet虚拟实验系统的首选。利用VRML构建的虚拟实验系统能够模拟出逼真的实验场景,并提供与实际实验相似的实践体验,不但可以提高实验的效率和效果,拓宽学生实验学习的途径,而且能够更好地完善实验教学的结构,激发学生的创造性思维。

摘要:以一个物理电路虚拟实验系统为基础,介绍了VRML及其实现原理,并详细论述了虚拟实验系统的创建过程和创建方法。

关键词:虚拟现实,VRML,虚拟实验

参考文献

[1]吴春华.虚拟实验教学在现代远程教育中的应用研究[D].长沙:中南大学,2006.

上一篇:跨文化意识的培养下一篇:案例及启示