VRML虚拟实验室(精选8篇)
VRML虚拟实验室 篇1
在高职院校中,实验教学占有非常重要的地位,是提高学生创新素质、动手能力的一个重要手段。目前,由于各种原因,许多学校的实验设备和手段还不能完全满足要求。与此同时,近年来计算机网络技术、多媒体技术及虚拟现实技术的迅速发展,为虚拟实验系统的构建提供了有效的支撑。
《计算机组成原理》是计算机专业重要的基础课程之一,做实验又是该课程的一个重要部分,学生通过实验可以深入了解计算机是如何进行算术计算、怎样存储信息并且能更好的掌握计算机的硬件组成[1]。目前,国内部分院校已开发出了计算机组成原理课程的网络课程,但这些网络课程大多数为静态的网页展示或动画演示,并未开发出具有3D虚拟场景,交互性较好的计算机组成原理虚拟实验系统[2]。因此,具有三维交互性的计算机组成原理虚拟实验系统的设计就显得非常重要。
1 虚拟实验系统的分析与设计
VRML(Virtual Reality Modeling Language,虚拟现实建模语言)是一种三维场景描述性语言,利用它能在网页上创建具有导航及超链接功能的三维虚拟空间。VRML的工作原理可以简单描述成:文本描述、远程传输及本地计算生成。VRML并不是使用三维坐标点描述物体的,而是使用了一种类似于HTML的标记文本语言来描述三维场景,因此使用它编写的文件所占的空间非常小, 对网络带宽的要求不高[3]。利用VRML技术构建虚拟实验系统,能为学生提供一个逼真的实验环境,具有超强的现实感,可充分激VRML发学生的学习兴趣。发学生的学习兴趣。
该系统主要模拟仿真清华大学科教仪器厂生产的TEC—4计算机组成原理实验仪。使用VRML技术构建三维虚拟实验环境, 并通过ASP技术及B/S(Browser/Server浏览器/服务器)三层结构的设置,构建网页结构,发布到网络上供学生使用。系统体系结构并通过ASP技如图1所示。如图1所示。
2 虚拟实验系统的实现
2.1实验环境的构建
实验环境的构建主要包括两个方面:
1)静态环境:主要指实验室场景的构建。首先使用Vrmlpad建模工具对一些简单的形体(如实验台、地板、墙壁等)进行建模, 再利用专业三维建模软件3DSMax对导线、芯片、面包板等一些结构复杂的实验器材进行建模。由于3DSMax对物体描述的精度比较高,因此使用它建造的一些形体转到Vrmlpad后生成的文件中会存在大量多余代码,所以必须进行优化处理[4]。建模过程如图2所示:
2)动态环境:主要是指器材的功能显示。即模仿真实实验的操作效果,例如用鼠标单击开关按钮后产生的按下和弹起的动态过程、点击导线之后出现的自动连线效果等。
2.2 交互控制的设计
该部分的设计是实现系统功能的关键。本虚拟实验系统不仅根据实验要求提供了面包板、连线等实验器材,并且还提供了一个操作标记,指导实验者完成操作。学生通过鼠标将指令直接传送给虚拟空间,空间接到用户请求,将消息传递给相应的脚本程序,脚本程序经过一系列的计算,然后以相应的虚拟现实效果反馈给学生。
该部分功能的实现主要依靠各种接触传感器节点(TouchSensor)、VRMLScript编写的脚本程序以及ROUTE语句[3]。首先在系统中定义一系列的TouchSensor分布在每个需要进行交互操作的虚拟物体上,当实验进行到一定步骤时,将下步的传感器激活,同时把其他步骤上需要的传感器全置为无效,这样即可实现让实验者根据实验内容的要求按步进行操作。在这个过程中,使用设置好的Script(脚本)节点来控制这些触发事件的实现,这些脚本可以将用户的操作进行转化,控制相应的对象,进而实现虚拟交互功能。交互式虚拟实验事件驱动体系的流程图如图3所示[5]
下面以实现连线为例:
实验者按照实验要求,点击相应的面包板上的插座,这时系统将会出现自动连线。为了模拟这个过程,建模时事先使用Extru- sion节点在相应位置建成实验所需的全部连线,但是开始时用Switch节点将它们隐藏起来。随着实验过程的进展,当学生用鼠标单击指定位置时,在脚本程序的控制下,相应位置就会显示连线。图4为连线完成后的效果:
以下是实现该功能的部分程序代码:
上述代码表示当插座VCC1上的触发器被激活时,将发送一个消息给控制导线显示脚本,脚本接到消息并经过处理后,再发送命令给Switch节点,这样就可以达到显示导线的目的了。
3 实验系统网上发布
结合其它网络技术,对构建完成的三维虚拟实验室场景进行整合[6],如图5所示。之后把该虚拟实验系统传送到Web服务器上,学生只需要登录就可以随时随地进行远程实验。
4 结束语
该实验系统的设计突破了传统实验方式的时空限制,使实验教学在时间和空间上得到有效的延伸。虚拟实验作为传统实验的一个有益的补充,既能节约大量的实验设备经费,也有助于提高实验教学的效果。
VRML虚拟实验室 篇2
关键词:虚拟校园;虚拟现实;漫游系统;VRML;3DS MAX7.0;Javascript
中图分类号:TP311.51 文献标识码:A文章编号:1007-9599 (2011) 08-0000-00
3DS MAX7.0 and VRML Based Virtual Campus Roaming System Implementation and Research
Lu Zifang,Li Jianyuan,Zhang Nannan
(College of Business and Management,Nanjing University of Posts and Telecommunications,Nanjing210003,China)
Abstract:In this paper,virtual reality modeling language(Virtual Reality Modeling Language,abbreviated VRML)is roaming the engine,through JavaScript interact with,and combined with 3DS MAX7.0 3D modeling tools to create a virtual tour of Shandong Architecture University,systematic,comprehensive,dynamic display of their internal and external scenes.The overall plan for the school system,facilities management,to recruit students,provide new education and so has the advanced technical means and measures to facilitate the services,the construction of other virtual environments and functional realization of important reference value.
Keywords:Virtual Campus;Virtual reality;Roaming;VRML;3DS MAX7.0;Javascript
一、引言
虚拟漫游系统是一个以逼真的视觉、听觉、触觉为一体的特定范围的虚拟环境,用户在其中进行漫游,对虚拟环境中的对象进行观察,从而产生身临其境的感觉,同时也能对物体进行操作和规划。它的工作主要由两部分组成:三维场景的建模和漫游引擎的实现。
本系统实现了对山东建筑大学校园的实时全景漫游。访问者可以自动漫游整个场景,通过鼠标键盘进行漫游并且改变视点进行环视,可以做出像在真实世界一样的动态行为。系统实现了环境的真实性和艺术性。
二、虚拟校园漫游系统功能的简要介绍
山东建筑大学虚拟校园漫游系统实现了人机交互,访问者通过鼠标键盘能够在虚拟场景中上、下、左、右、前、后全方位漫游校园室外全部场景;除实现室外场景漫游之外,还对学校正在兴建的教学楼进行了完整的虚拟;本系统还对具有代表性的办公楼大厅和教室的室内环境进行了虚拟,在室内实现了开门、关门、推窗、关窗、开灯、关灯、开风扇、关风扇、开电视、关电视、电视选台等一系列的交互功能。
外景漫游中,可通过系统菜单选择目的地,也可以通过“俯视漫游”、“平地漫游”、“行走模式”进行自动漫游;另外,系统还设置了“记录漫游”的游览方式,用户可以通过这一功能再一次感受刚才走过的足迹;另外,系统富有特色地实现了二维地图的导航功能和导游带路的功能,以及对主要建筑物180度环视。
本系统实现了多媒体效果,增设了“背景音乐”开关和“背景时间”开关。添加了经典的背景音乐,让“游客”边漫游边听音乐;同时“游客”可以选择背景时间来观看学校的夜景。另外,本系统非常注重细节,为游客提供系统当前时间和滚动的字幕,以及飘动的红旗,增加了系统的动态效果
本系统还提供完整的系统配置和功能说明书。包括管理文档、技术文档、演示文档和用户使用手册。四个文档图文并茂,方便用户使用。
三、系统模块设计详细介绍
(一)3DS MAX7.0对校园环境建模的详细说明[1]
1.3DS MAX7.0建模过程
修整CAD图纸,删除不必要的线、块,使其尽量小,但是要全;
将CAD导入3DS MAX7.0,在3DS MAX7.0中进行修整,再次删除一部分不重要的线,进行全面修改;
在3DS MAX7.0中根据CAD图纸的位置、数据用二维线配合“捕捉”命令进行描线,而后对线运用“对齐”命令进行修整对齐;
在3DS MAX7.0中把修好的线应用“Extrude”进行向上拉伸,高度由CAD图纸决定,并在主体建筑适当位置加设建筑装饰构件;
使用数码相机在真实场景中对建筑从不同的角度进行拍摄,而后用Photoshop进行裁剪、修改、调色处理;
在3DS MAX7.0中使用多重材质的贴图方式,利用Photoshop修好的贴图,运用“Edit Mesh”、“Mesh select”、“UVW Map”命令对3DS MAX7.0所拉伸的模型各个面进行贴图;
然后,依据CAD图纸所提供的位置和角度对各个建筑进行组合;
依据CAD图纸在组合后的模型中铺设道路,并在合适的位置运用“Diffuse”、“Opacity”命令利用十字透明贴图的方式,或对单个透明贴图进行布告牌“billboard”命令的方式进行植树,在整个场景中根据需要布置绿化;
在3DS MAX7.0总场景中进行灯光布置,调节“Multip”、“Deam”、“Field”等的参数值,并且对其进行角度、位置、范围的调节;
在3DS MAX7.0场景中各个视点在不同角度设置摄影机,并对某些摄影机设置漫游路线;
整体调整结束后,输出VRML格式文件,在输出时进行有关命令的选取。
2.VRML与BS的调试过程[2]
把3DS MAX7.0场景的整体效果与BS场景的效果进行比较,之后回到3DS MAX7.0与VRML中对模型的大小、角度、自发光,灯光亮度和角度、摄影机的位置和角度,以及运动路线、视角等其他进行综合调节;
在BS中进行漫游检查各个角落,发现问题后回到3DS MAX7.0中进行修改,反复试验修整。
VRML虚拟实验室 篇3
关键词:VRML,虚拟现实,虚拟校园
虚拟校园以提供访问三维虚拟环境为主,对提高校园管理的现代化和校园综合发展具有重要的意义。虚拟校园的蓬勃发展可以让互联网上世界各地的人们不必亲临现场,只需在网上就能畅游其间,方便人们随时随地了解校园的情况。交互式虚拟现实技术的发展必将更紧密地与多媒体、网络、数据库联结起来。伴随着虚拟技术的发展,虚拟校园必将成为今后校园信息化发展方向的主流,而基于网络的大规模虚拟校园漫游将成为研究的新热点。
本文以江苏广播电视大学武进学院为背景,利用VRML构建江苏广播电视大学武进学院虚拟校园,通过VRML技术对校园场景进行建模,构造生动逼真的三维校园,使更多的人能通过互联网了解学校的结构。对推动江苏广播电视大学武进学院的校园信息化的进程具有十分重要的意义。
1 虚拟场景建设的相关技术
在虚拟现实技术中,首先要解决的问题是虚拟场景的建模方法,即虚拟世界的构造问题。而虚拟三维空间建模的好坏是产生沉浸感和真实感的先决条件,场景太简单会使用户觉得虚假,而复杂逼真的场景又势必会增加交互的难度,影响实时性。目前围绕虚拟场景建模问题的解决方式主要有三类:
l)基于几何模型的建模技术;2)基于图像绘制的建模技术;3)几何模型和图像混合建模技术。
基于几何模型渲染的建模技术要求手工设定模型参数,它借助各种造型、建模技术,用一些基本的几何单元来构造虚拟场景,然后再进行纹理映射、光亮度计算,对几何模型进行渲染。其缺点是建模前必须了解建筑物各组成部分的位置及大小,而且建模过程比较复杂且工作量大。
基于图像的建模技术用建筑物图像作为输入,使用计算机视觉技术,自动恢复建筑物的几何模型。它不依赖于几何模型,而是利用事先获取的一组真实图像序列,对环境进行编码,并通过适当地处理变换合成位于新视点的视图,最终实现环境的完全漫游。其优点是建模过程方便,但由于现在计算机视觉技术还不成熟,对图像噪声比较敏感,为了保证图像间立体匹配的正确性,不仅需要用户输入指定一些对应关系,还要求对输入图像密集采样,使相邻的两图像之间差别很小。
基于几何模型和图像混合建模技术综合了基于几何模拟建模和基于图像建模方法的优点,能利用稀疏分布的图像对建筑物进行建模。这种方法相对于基于几何的建模方法更方便,相对于基于图像的建模方法,只需少量图像就能得到准确建模结果。
2 VRML技术概述
VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。它是在WWW上创建3D图形的工具,是一种用于描述3D交互环境的简单的文本语言,是一种可以发布3D网页的跨平台语言,是一种能够提供更自然的体验方式包括交互性、动态效果、延续性以及用户参与探索的语言。
VRML文件可以包括下列四个主要成份:VRML文件头,造型和事件,脚本,路由,原型。并不是所有的文件都包括这些要素,唯一必须的是VRML文件头。
VRML中的场景由造型组成,而造型则由节点创建,这些是VRML的构件。单个节点描述造型,颜色,光照,视点,以及造型,动画定时器,传感器,内插器等的定位和朝向等等。节点可以有零个域或多个域,VRML定义了20多种基本数据类型,主要有SF的单值类型及MF的多值类型。节点除了域属性外,还具有事件属性,事件是VRML实现用户交互及场景动态变化的最主要内容。概况说来,节点由域和事件组成,其中域的取值决定了节点的取值,从而决定了当前虚拟环境的状态;事件则为节点提供了接受外界信息以及向外界发送信息的能力。
所有的VRML造型均使用Shape节点创建,且必须包含在Shape节点内。Shape包含了两个即appearance和geometry域(同时也是子节点),shape节点结构如下:
这个节点包含2个域:appearance域用于指定节点的外观,geometry域用于指定造型的3D构造或几何构造,缺省的NULL值表示没有几何结构。
VRML制作的三维空间是以文本文件的形式保存的,由已安装过插件的浏览器来解释展示。文件短小的特点使之能够很方便的在网络上进行传播。因此,这一语言为网上的虚拟现实系统提供了重要途径。虚拟校园就是VRML的一个有效应用。
3 三维虚拟校园的设计
虚拟校园旨在通过网络展示校园风貌,访问者“走”进虚拟校园中,观赏校园的自然风貌,领略校园的生活氛围。但基于VRML的三维场景规模较大,因此设计前要充分考虑虚拟校园的最终运行环境因素,这里主要是针对当前的PMⅢ以上的微机和windows系统,10M/1OOM自适应网络条件下场景的建模、显示技术。还要考虑到不同的浏览器的支持与兼容问题。较为复杂的场景,在最简化的三维模型特征描述完成后,多采用无缝贴图方式来实现细节。当场景中的建筑物对象过多时,为减少运算量保证实时响应速度,则采用更为极度的简化,并采用LOD算法来实现场景内容调度。
使用VRML可以构建基于网络的三维虚拟校园。作为实例,本文选取了江苏广播电视大学武进学院的部分场景,进行三维虚拟校园构建。
为了比较真实的反映校园风貌,通过两个方面来表现这个虚拟境界,首先要绘制校园平面图,根据校园实际的建筑布局和自然风貌对校园内各个对象进行建模,这些对象包括地表道路、建筑楼宇、树木绿化、运动场地、人物雕塑、室内家具、车辆等实物,还包括背景、光源、视点等因素,通过这些对象构建出虚拟校园的基础框架;其次要有一定的交互能力,如门、窗、灯、电梯的开启与关闭等;第三是通过声音、文字、图片、视频等多媒体技术手段辅助性地介绍虚拟校园的概况。虚拟校园的场景框架如图1所示。
4 三维虚拟校园的实现
4.1 校门设计
任何一个学校,校园正门都是最为突出的标志性景观。也是整个学校给用户的第一印象。
在场景构建中要解决的第一个问题是造型的外观的控制。造型的外观是通过材料控制的,材料属性包括造型的颜色,是否发光,所发光的颜色,是否半透明,透明程度等等。使用Appearance和Material节点,就能控制造型的颜色,发光颜色和透明度。
在场景构建中要解决的第二个问题是汉字的显示。按照VRML规范,它应该支持包括汉字在内的所有UTF8字符,但目前常见插件都不支持汉字显示。VRML不能显示汉字的原因不在于其语言本身,而在于VRML浏览器的3D引擎。为了在VRML中进行3D汉字渲染,通常有两种方法:一种是用多边形围成字体,另一种是对字体进行纹理渲染。我们采用的是第二种方法。校名场景的关键代码如下:
整个学校正门场景如图2所示。
4.2 典型建筑物的设计
楼宇建筑中一般有很多相同的地方,如门窗、柱、房间等,尽可能利用重用及原型机制简化程序代码,减轻浏览器的负担,提高场景的浏览速度。对于即不能进入的楼宇只构造其外造型,对可以进入的楼宇内的造型则只对参观路径经过的部分构建造型。
一般室内物品的形状比较规则,采用基本形状的组合即可实现。建模的重点在于材质贴图要保证逼真性。贴图的合理运用可以极大地减小模型的复杂度,设计中参照真实模型进行材质设定和贴图处理,尽量还原其真实度,使之表现尽量接近于现实。
校园中的典型建筑物例如教学楼、图书馆、行政楼等都是学校必须的建筑物,这些建筑物都是虚拟校园的重要组成部分,对于这些建筑物的实现需要进行细化场景,我们以教学楼的建模为例。在教学楼的建模中,由于教学楼的前后大部分是对称的,因此可以先对前面的部分进行建模,然后使用rotation节点旋转,最后再进行修改。
下面的关键代码描述了模型插入和旋转的运行:
4.3 植被建模
植被的建设是武进学院建设的重要组成部分,长期以来,武进学院一直重视校园整体规划和生态绿化建设,因此校园整体绿化效果比较好。这一点在构建虚拟校园时也应当加以考虑。
以树木为例,在VRML中树木模型的创建有两种方法:一种是利用计算机图形学中分形技术或旋转成形的方法,按照不同的分形规则生成的树木,但由于场景中树木太多,分形计算过程对计算机来讲负担过重,因此这种编程的方法不适用,采用旋转成形的方法对构建轴对称植物比较有利,但通用性不好。另一种是采用树木贴图方法来近似建模,但必须解决平面贴图的立体化问题,
图4所示的就是采用方法实现的树木造型,其树的建模实现代码如下:
4.4 场景组合
当各部分场景构建完成后,即可使用行插入节点Inline将这些场景组合成为一个完整的三维虚拟校园。Inline节点有一个url域,该域值指定了一个URL,这个URL就是将要插入到VRML世界中的文件位置。URL告诉了VRML浏览器如何能获得这个文件,在哪里能找到这个文件以及这个文件的文件名。URL还可以指出该文件是在WEB上还是在本机的硬盘中。在场景组合时,经常需要调整各部分场景之间的物理位置和比例。
下面的代码将构建好的教学楼安置在虚拟校园中。
5 结束语
基于VRML技术的虚拟校园是采用三维全景、虚拟现实造型语言、3DS MAX技术通过添加场景热点、交互地图以及虚拟漫游路线等方式创建校园交互式虚拟漫游效果。访问者通过电脑和网络就能身临其境感受优美的校园风光、良好的教学环境和教学资源,可随意选择园中的景点和参观路线,并通过鼠标键盘来漫步并且改变视点,校园中各景点可配有声音解说介绍。系统发布形式多样,所有场景都是真实空间中存在的场景,真实感非常强,同时也可以表现虚拟建模生成的场景,运用特殊的程序处理,使生成效果交互性强。需要说明的是在使用VRML进行三维场景构建时,工作是相当繁琐的。设计并完善这样一个创作工具将是下一步工作的重点。
参考文献
[1]黄心渊.虚拟现实技术与应用[M].北京:科学出版社,1999:5-41.
[2]汪成为,高文,王行仁.灵境(虚拟现实)技术的理论、实现及应用.清华大学出版社,1996.
[3]曾建超,俞志和.虚拟现实的技术及其应用[M].清华大学出版社,1996.
[4]周惠.航天视景仿真特殊效果图形生成技术[M].系统仿真学报.2001,13(6):711-713.
[5]曲文卿.Windows游戏编程大师技巧[M].中国电力出版社,2001.
VRML虚拟实验室 篇4
三维虚拟漫游系统的设计通过对场景内实体进行建模,并通过三维实景模拟的表现方式,使浏览者在虚拟世界内身临其境的感受现实世界。因此开展三维虚拟漫游系统及相关课题的研究适应了信息社会发展的趋势,具有重要的理论意义和现实意义。
1 相关理论技术
1.1 虚拟现实技术
虚拟现实(Virtual Reality,简称VR),是一种基于计算信息的沉浸式交互环境。
VR是一项综合集成技术,涉及计算机图形学、人机交互技术、传感技术、人工智能等领域,它用计算机生成逼真的三维视、听、嗅觉等感觉,使人作为参与者通过适当装置,自然地对虚拟世界进行体验和交互作用。使用者进行位置移动时,电脑可以立即进行复杂的运算,将精确的3D世界影像传回产生临场感。该技术集成了计算机图形(CG)技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展成果,是一种由计算机技术辅助生成的高技术模拟系统。
1.2 SketchUp概述
SketchUp是一个极受欢迎并且易于使用的3D设计软件。用户可以将用SketchUp创建的3D模型直接输出至Google Earth里,Google SketchUp是一套直接面向设计方案创作过程的设计工具,其创作过程不仅能够充分表达设计师的思想,而且完全满足与客户即时交流的需要,它使得设计师可以在计算机上直接进行非常直观的构思,是三维建筑设计方案创作中非常优秀的工具。在SketchUp中构建三维模型就像使用铅笔在图纸上作图一样,SketchUp能自动识别用户的这些线条,加以自动捕捉。它的建模流程简单明了,就是画线成面,而后挤压成型,这也是建筑建模最常用的方法。
1.3 VRML概述
VRML(Virtual Reality Modeling Language),是一种用于建立真实世界的场景模型或虚构三维场景的场景建模语言,具有平台无关性。使用VRML可以构造虚拟的房间、建筑物、城市甚至星球等现实中的和想象中的事物;也可构造虚拟三维空间,浏览者具有和虚拟空间进行交互的能力。VRML制作的三维空间是以文本文件的形式保存的,由已安装过插件的浏览器负责解释和展示。文件短小的特点使之能够很方便地在网络上进行传输。因此,这一语言为软件实现网上的虚拟现实系统提供了重要途径。构建基于网络的三维虚拟楼宇漫游系统就是VRML的一个应用方面。
2 三维虚拟漫游场景数据库的构建
数据库是虚拟漫游系统的基础。由计算机生成的虚拟环境中,必须有相应的数据库支持,才能使生成的环境足够生动逼真。因此构建一个好的虚拟现实环境必须有足够的数据库,才能给这些感官提供与现实环境相似的环境。
2.1 系统建筑模型的构建
虚拟环境建模技术是虚拟现实技术的研究重点,构造实时性强、真实感强、逼真度高的虚拟现实场景系统是虚拟现实建模的理想要求。由于VRML语言构建建筑模型不够直观便捷,因此本文采用SketchUp来构建虚拟环境中最重要的模型———建筑模型。
构建建筑的三维模型,首先需要用相机对建筑物进行拍照,建筑的每个侧面都要拍到,细节部分要具体拍;然后依据照片在SketchUp中构建模型,构建时建议使用参考线;为了给用户更好的视觉效果,使其更接近现实,模型构建完成后,可以使用SketchUp的素材对三维模型进行贴图,SketchUp素材库里的贴图比较丰富,而且非常适合建筑物的贴图,所以贴图过程中很大一部分贴图运用的是它自身素材库中的素材;最后,通过SketchUp导出WRL格式的三维模型文件,以便VRML
语言直接使用。建筑三维模型构建过程如图1所示。
2.2 地表及场景素材的构建
为了使该漫游系统看起来更加逼真,必需进行环境其他素材的设计,其中包括树木、汽车、人物和背景等。树木和人物通过VRML提供的布告牌编组(Billboard节点)来实现;运动的汽车通过动画插补器实现。
例如:背景可以通过Background节点实现。关键代码如下:
3 交互三维场景漫游系统的设计
人和计算机的交互一直是计算机系统研究的重要问题,国际上广泛采用“以用户为中心的设计(User Centered Design,UCD)”方法。就是在进行产品设计、开发、维护时从用户的需求和用户的感受出发,围绕用户为中心进行产品设计、开发及维护,而不是让用户去适应产品。
3.1 交互功能的实现
为了增加用户漫步时的真实感,在这些造型中增加了带交互能力的节点和动画节点,通过增加这些节点使这些静止的物体某些部分能够动起来,能够对用户的操作做出反应,使用户有身临其境的感受,可以与场景进行交互(如开门和开灯等)。这种交互通过VRML中的事件与路由驱动相应的传感器来实现。
3.2 楼宇漫游系统的组合
Inline节点有一个url域,该域值指定了一个URL,这个URL表示要插入到VRML环境中的文件位置,它描述了文件的存放地址,VRML可以通过这个地址找到存放的主机及相应位置。在场景组合时,经常需要调整部分场景之间的物理位置和比例。
下面的代码将构建好的建筑三维模型的WRL文件安置在虚拟系统中。
利用这种方式可以把构建好的场景建筑三维模型、树木、背景、汽车和人物等调入虚拟系统中,然后调整各个模型的物理位置、比例和方位等,从而得到构建一个三维虚拟漫游系统。
4 结束语
VRML提供了较为完善的节点来构建具有真实感的三维虚拟场景。使用VRML构建的三维虚拟现实系统,可以供浏览者在网上进行参观。浏览者在参观时可以自由走动,而不是像一般的三维造型软件必须依据预先设定好的参观路径进行浏览。需要说明的是,目前还没有一个成熟的如网页设计那样的所见即所得的创作工具。在使用VRML进行三维场景构建时,工作是相当繁琐的。设计并完善这样一个创作工具将是下一步工作的重点。
摘要:虚拟现实应用越来越广泛。VRML是用于描述交互式三维空间的虚拟现实建模语言。该文提出了一种基于SketchUp和VRML技术虚拟漫游系统的开发方法,即用SketchUp构建三维模型,用VRML语言实现场景漫游的交互控制,从而设计与实现一个三维虚拟漫游系统。
关键词:虚拟现实,SketchUp,虚拟现实建模语言VRML,场景漫游
参考文献
[1]黄心渊.虚拟现实技术与应用.科学出版社.1999,5-41.
[2]严子翔.VRML虚拟现实网页语言[M].北京:清华大学出版社,2001.
[3]胡小强.虚拟现实技术[M].北京:北京邮电出版社,2005.
[4]Vredenburg K,Isensee S,Righi C,User-Centered Design:An Integrated APProach[M]New Jersey:Prentice Hall,2001.
VRML虚拟实验室 篇5
随着计算机和网络技术的发展, 虚拟现实技术在社会生活中的应用日益广泛, 被人们誉为仅次于互联网的改变世界未来的重要技术。利用虚拟现实技术我们可以与计算机模拟生成的三维空间进行交互, 人们可以在模拟生成的环境中获得最真实的体验, 其身临其境的沉浸感和自然友好的人机交互特性是传统的信息技术所无法比拟的。
传统的室内设计是以效果图的方式来展现设计师的设计理念, 只能给客户提供静态的视觉体验, 对于非专业的客户来说, 无法对设计方案形成直观认识, 充分了解设计的格局及风格。与此同时, 平面的展示模式无法全面拓展设计师的空间思考范围, 很大程度上影响了其对于整个设计方案的功能性及艺术性的把握, 限制了设计师创新能力的发挥。而虚拟现实技术在室内设计中的应用为我们开辟了一种新的室内设计及展示模式, 通过虚拟现实技术将设计理念以逼真的三维虚拟空间进行展示, 客户能以动态交互的方式对作品中的室内布局进行全方位的审视, 能够多角度近距离地观察室内场景, 在不同的设计方案之间实时切换, 充分体验设计的功能性、舒适性及艺术性。本文拟在此领域加以尝试, 设计并实现了一个基于虚拟现实建模语言VRML的虚拟室内设计平台。
1 虚拟现实技术与VRML语言
1.1 虚拟现实技术
虚拟现实技术是指利用计算机及相关的软硬件技术所生成的三维虚拟境界, 能给人以视觉、听觉等多种感官刺激, 并允许用户以人类的自然技能与虚拟环境中的物体进行交互, 它融合了计算机图形学、传感技术及人工智能等领域的最新发展成果, 是一种高级的人机交互技术。该技术的主要特征包括沉浸感、想象性和交互性。沉浸感是指使用者作为主体在虚拟环境中所体验到的真实感, 反映了主体与虚拟环境的融入程度。想象性是指虚拟现实技术可以帮助人类拓展想象空间, 进行创造性思维, 充分发挥其主观能动性。交互性是虚拟现实技术区别于三维动画的主要特征, 是指用户对于虚拟环境中物体的可操作程度及从环境得到的反馈信息的真实感, 是虚拟现实技术的核心所在。
1.2 VRML语言
虚拟现实建模语言VRML (Virtual Reality Modeling Language) 是一种交互式三维造型和渲染的描述性语言, 可以用来在网页中创建三维动画并实现和三维对象的交互。它可以有效地集成二维、三维、文本及多媒体素材形成虚拟环境, 使用户沉浸其中。VRML为我们提供了造型、声音、光源、插补器、传感器、编组、脚本等不同类型的节点来实现三维场景的创建, 每个场景都由一系列的节点组合而成, 并通过事件体系来实现用户的交互及场景的动态变化。使用脚本程序可以对VRML的功能进行进一步的扩展, 实现高级动画及对场景的复杂控制。作为分布式、多媒体集成、实时可交互、平台无关的三维造型和渲染的开发工具, VRML在设计规划、电子商务、交互式娱乐等领域都有着广泛的应用。
2 平台的总体设计
针对传统室内设计方式的缺陷, 我们尝试研发了基于VRML的虚拟室内设计平台, 该平台采用B/S架构, 划分为模型创建和交互设计两大模块, 其总体结构如图1所示。平台的设计以用户为中心, 为设计者提供了丰富的家居产品素材, 通过产品的风格、颜色、材质及纹理的变化来满足个性化设计的需求。平台中的交互设计功能主要包括产品的加载、平移、旋转、缩放、删除及保存。设计模式通过类似积木组合的游戏方式来实现, 只需选择适当的家居产品并对其所置方位进行调整即可完成, 如图2所示, 不需要设计者具备专业的计算机素养, 使其可以专注于设计理念的表达。所见即所得的设计模式克服了传统设计方式的弊端, 虚拟现实技术的沉浸感及交互特性为设计者带来强烈逼真的感官冲击, 有效地提升了设计作品的视觉表现力, 设计之初即可预览最终效果, 便于把握作品的风格、氛围及整体布局, 完善作品中一些细节性的设计缺陷, 有效地缩短了设计周期, 提升设计品质。
3 平台的关键技术
3.1 三维建模
虚拟室内设计平台中数字家居产品的建模根据模型复杂度的不同选择了不同的建模方法, 对于一些简单的外形相对规则的模型如平台中的桌椅, 采用VRML所提供的造型节点组合而成。VRML为我们提供了立方体、球体等简单的造型节点和点、线、面和工业挤出等高级造型节点来创建物体的几何外形, 然后通过设置材质、纹理映射等为造型增加真实感。而复杂的模型如平台中的布艺沙发则借助于3dsmax等专业的建模软件建立模型, 再将其转化为VRML格式的文件。平台中采用模块化的设计思想, 将每一款数字家居产品都存储于单独的文件中, 家居设计的过程中通过内联节点将其引入主场景。
3.2 交互设计
交互性是虚拟现实技术的重要特性, 也是整个虚拟室内设计平台的核心所在。平台中对于数字家居产品的选择及位置变换等交互设计功能均是通过VRML的交互来实现的。VRML的交互功能可以通过交互传感器、Script脚本设计和外部创作接口EAI (External Authoring Interface) 3种方式来实现。平台中综合采用了这3种交互方式, 以EAI交互为主。
(1) 传感器。VRML为我们提供了接触传感器、环境传感器、感知传感器和碰撞编组4类传感器来实现一些简单的交互和控制。通过相应的传感器, 用户可以根据需要来改变场景中的造型状态、触发事件或者启动一段VRML动画, 实现用户和三维环境间的感知交互。如平台中虚拟家具在XOY平面的平移即是通过平面传感器PlaneSensor () 来实现的, 该节点可以检测用户的鼠标操作, 并将鼠标的选取和移动操作转化为造型在坐标系XOY平面上的平移, 通过该节点, 用户可以简单的通过鼠标点击拖曳的方式将家居产品置于合适的位置。
(2) Script脚本设计。VRML提供了Script节点来扩展其交互功能, 通过脚本语句的编程实现对场景的复杂控制。一个Script节点对应一段脚本程序, 用来描述用户自定义的插补器或传感器, 程序可以接受输入事件对其进行处理并将结果进行输出。平台中电视机的开关及静音的设置即是通过Script脚本编程来实现的。
(3) EAI。EAI是VRML与外部环境的创作接口, 通过这个接口, 外部环境可以访问当前所运行的VRML世界的内部场景并对其进行控制和修改。EAI中定义了一套针对VRML浏览器的Java类作为VRML世界和外部环境的通信接口。通过EAI编程可以接受或发送事情消息给三维虚拟场景中的节点, 实现VRML虚拟世界和外部网页上其它对象的交互和沟通, 从而大幅度地拓展VRML用途。平台中家居产品的加载、变换和删除等交互设计功能是通过EAI编程实现的。其实现机制和主要方法如下:
加载:用户在家居选择区域单击图片, 相应的家居产品将自动加载至设计场景区。每一张家居图片都添加了Add () 事件, 传递参数给VRML场景文件, script节点接收eventIn事件对其处理, 调用Browser.createVrmlFromString (newVRML) 方法来生成虚拟物体并将其加载至设计场景。
平移:平移分为沿XOY平面和沿Z轴两种操作。利用VRML提供的平面传感器PlaneSensor使用者用鼠标点击拖动产品即可完成XOY平面的平移。Z轴正方向和负方向的平移是通过EAI修改VRML内部场景M_e.Nodes (tr_name) .Fields ("translation") .z即Transform节点中translation域中z的取值来实现。如M_e.Nodes (tr_name) .Fields ("translation") .z+=0.1或M_e.Nodes (tr_name) .Fields ("translation") .z-=0.1;
旋转:通过EAI修改M_e.Nodes (tr_name) .Fields ("rotation") .angle即Transform节点中rotation域所对应的旋转值来实现。如:M_e.Nodes (tr_name) .Fields ("rotation") .angle+=0.1;或M_e.Nodes (tr_name) .Fields ("rotation") .angle-=0.1;
缩放:其原理是通过修改M_e.Nodes (tr_name) .Fields ("scale") .x, M_e.Nodes (tr_name) .Fields ("scale") .y和M_e.Nodes (tr_name) .Fields ("scale") .z即Transform节点中scale域所对应的缩放值来实现。
删除:设计场景中可以将设计的不合理或者不满意的家居产品删除, 其实现机制为传递需要删除节点的id给总场景, 通过id值获取相应节点testNode, 利用路由语句ROUTE sc.testNode TO model.removeChildren完成删除。主要代码如下:
保存。保存功能分为保存单个模型和保存所有场景, 其实现机制基本相同, 首先通过file=fs.OpenTextFile () 方法打开文件, 然后使用file.WriteLine () 方法将模型的移动旋转缩放转换信息写入文件, 最后file.Close () 方法关闭文件。
4 结束语
虚拟现实技术在室内设计领域的应用为室内设计行业注入了新的活力, 基于VRML的虚拟室内设计平台能够丰富室内设计的表现方式, 快捷地展现室内设计的空间布局结构, 有助于设计师对于作品的功能性及舒适性进行整体把握, 激发其创作灵感, 有一定的实用价值和现实意义。
摘要:虚拟现实技术在室内设计领域的应用已成为近年来业界研究的热点之一。设计并研发了一款基于VRML的虚拟室内设计平台。该平台充分发挥虚拟现实技术的交互特性, 可以实现家居产品的加载、变换、删除和保存功能, 为设计师提供了一个所见即所得的交互性设计新途径。
关键词:虚拟现实技术,室内设计,VRML,交互
参考文献
[1]张金钊, 张金锐, 张金镝.VRML编程实训教程[M].北京:清华大学出版社, 2008.
[2]陆昌辉, 仇刚, 蔡勇.VRML入门与提高[M].北京:北京大学出版社, 2003.
[3]陈华, 陈福民.基于VRML的虚拟场景的设计与实现[J].计算机工程与应用, 2002 (6) .
VRML虚拟实验室 篇6
虚拟现实(Virtual Reality,简称VR),是一种基于计算信息的沉浸式交互环境,具体地说,就是采用以计算机技术为核心的现代高科技生成逼真的视、听、触觉一体化的特定范围的虚拟环境,用户借助必要的设备以自然的方式与虚拟环境中的对象进行交互作用、相互影响,从而产生“沉浸”于等同真实环境的感受和体验。V R带来了人机交互的新概念、新内容、新方式和新方法,使得人机交互的内容更加丰富、形象,方式更加自然、和谐。
虚拟现实系统有极其广泛的应用领域,如娱乐、军事、航天、设计、生产制造、信息管理、商贸、建筑、医疗保险、危险及恶劣环境下的遥控操作、教育与培训、信息可视化以及远程通讯等,人们对迅速发展中的虚拟现实系统的广阔应用前景充满了憧憬与兴趣。
VRML(Virtual Reality Modeling Language),是一种用于描述交互式三维空间的虚拟现实建模语言。借助V R M L,可以建造虚拟的房间、建筑物、城市甚至星球等现实中的和想象中的事物;可以编写小程序来控制虚拟空间,赋予浏览者和虚拟空间进行交互的能力。VRML制作的三维空间是以文本文件的形式保存的,由已安装过插件的浏览器来解释展示。文件短小的特点使之能够很方便地在网络上进行传输。因此,这一语言为软件实现网上的虚拟现实系统提供了重要途径。构建网络上的三维虚拟楼宇就是VRML的一个有效应用。
1 相关理论技术
1.1 多分辨率层次细节技术
使用具有不同细节的描述方法来得到对同一场景中绘制使用的物体的描述模型,称为层次细节(Level of Detail简称LOD)模型。多分辨率模型是一种支持对同一个场景中的不同物体或同一物体的不同部分,使用具有不同的层次细节的描述方法的数据结构,它是LOD技术的发展和延伸。
为了提高本系统的场景绘制与渲染速度,我们将该系统中三维物体模型采用多分辨率层次细节模型来表示。即根据视点与物体之间的距离选择绘制模型的精细程度,视点离物体较远时选择比较粗糙的模型,用较少的多边形表示;视点离物体较近时选择比较精细的模型,用较多的多边
1.2 视点动画技术
楼宇漫游系统中的视点动画是用户通过一个虚拟运动的相机来观察场景而实现的。相机具有视野广角或近角位置和方向。如果将一个事件发送给视点的位置域position和方向域orientation,则用户的视野发生变化。通常视点的动画采用两种方法:一是线性插值方法即利用V R M L2.0的插值器创建一条有导游的游览路线,通过单击路标或按钮使用户在预先定义好的路径上漫游世界;另一种方法是视点实时跟踪法,即视点跟随用户的行为而产生动画效果。本文使用视点实时跟踪法。该方法的原理是当用户在场景中漫游时,通过Proximity Sensor来获取用户的位置并使用这个信息不断地向视点的position和orientation传送,从而更新视点的位置达到实时跟踪的目的。
2 楼宇漫游系统的设计
使用VRML语言,可以构建基于网络的三维虚拟建筑物,下面以某栋楼三维虚拟为例,进行讨论。
2.1 三维虚拟楼宇的场景结构
构建一栋楼,以该楼内有明显特征的三间房为例进行描述,一间房是多媒体室,里面有投影仪,笔记本电脑,自动窗帘等;一间是客厅,相应的装饰品有桌椅、空调、电视机及电灯控制系统等;还有一间房间设有自动门,墙画等。楼宇的主要关系如图1所示。在该楼内的电器及部分构件与浏览者有交互功能,如:电视播放、开门、开窗、开灯、开笔记本电脑、开投影仪等。建筑物的外观要求比较接近现实,有墙体和屋顶,尽量做到外观整洁漂亮。
2.2 环境和建筑物的设计
为了使该漫游系统看起来更加逼真,必需进行环境设计。本系统环境有树木、汽车、人物及周边建筑物。树木和人物通过VRML提供的布告牌编组(Billboard节点)来实现;运动的汽车通过动画插补器实现;建筑物通过Shape节点直接构造,考虑到建筑物当作背景时,有光效应,我们利用PHOTOSHOP制作有光影效果的图片,然后使用纹理映射节点制作出更加逼真的高楼,使环境更加真实。
3 基于VRML语言虚拟楼宇漫游系统实现
3.1 三维模型的实现
虚拟环境中的几何要素大部分属于在非实时状态下通过一定的建模工具建立的实体模型。通常,建模过程大致分为两个步骤,首先,根据实体的几何形状特性建立其三维空间的等体模型,该模型描述了实体形状、尺寸等信息,称其为几何模型;其次,要对几何模型表面属性进行配置,即给实体表面加上一定的颜色、材质、纹理等,增加了实体的逼真度。模型一般采用树状结构存储,构建良好的模型结构能够提高模型内部的遍历速度。
VRML语言自身有建立模型的节点,如Shape节点和Extrusion节点等。使用VRML语言自身的建模语言虽然不需要任何专业工具的帮助,但是这样建立的模型不能实现所见即所得,即设计者不能方便地看见自己设计的模型。现有很多专业的建模软件提供生成VRML模型,如:3DSMAX,Spazz3D、blender等。本文采用Spazz3D软件建立模型。建立好模型后,通过V R M L语言提供的内联节点Inline将模型导入到适当的位置。
3.2 交互功能的实现
用户漫步时,为了增加真实感,在这些造型中增加了带交互能力的节点和动画节点,通过增加这些节点使这些静止的物体某些部分能够动起来,能够对用户的操作做出反应,使用户有身临其境的感受,可以与场景进行交互(如开门,开灯等)。这种交互通过V R M L中的事件与路由驱动相应的传感器来实现。交互过程中使用的传感器与其他节点的工作方式及联系如图2所示。该图中判断程序使用的语言可以是JAVA,只要在程序的开头标明是JAVA语言就可以;判断程序进行处理后产生的几个数据主要是为下面的传感器的启动提供开启变量。判断程序提供的数据是这些感知器和传感器工作的主要依据。
下面以自动门的打开为例描述交互功能的实现过程。门的打开过程使用接触传感器和接近传感器启动时间传感器,再用时间传感器触发动画插补器实现开门,全过程的驱动是通过在VRML中的事件与路由实现的(事件和路由是VRML实现动画和互动功能的基础和必要工具)。自动门实现的效果图如图3所示。自动门具体实现的代码如下:
3.3 楼宇漫游系统的组合
当各部分场景构建完成后,即可使用行插入节点Inline将这些场景组合成为一个完整的三维虚拟楼宇。Inline节点有一个url域,该域值指定了一个URL,这个URL就是将要插入到VRML世界中的文件位置,它描述了文件的存放地址,V R M L再通过这个地址找到存放的主机及相应位置。在场景组合时,经常需要调整部分场景之间的物理位置和比例。如图4,显示了多媒体实验室组合效果图。
4 结束语
VRML提供了较为完善的节点来构建具有真实感的三维虚拟场景。使用VRML构建的三维虚拟楼宇,可以供浏览者在网上进行参观。浏览者在参观时可以自由走动,而不是像一般的三维造型软件必须依据预先设定好的参观路径进行浏览。
需要说明的是,受到Internet上传输能力及浏览器性能的约束,基于Web的交互式的虚拟现实漫游系统目前只用于规模较小的场景,还没有一个成熟的如网页设计那样的所见即所得的创作工具。在使用VRML进行三维场景构建时,工作是相当繁琐的。
摘要:虚拟现实应用越来越广泛,而VRML是用于描述交互式三维空间的虚拟现实建模语言。以VRML为基础,结合多分辨率层次细节技术,视点动画技术,虚拟景物的构建技术及人机交互技术,设计与实现了三维虚拟楼宇漫游系统。
关键词:虚拟现实,虚拟现实建模语言,虚拟楼宇
参考文献
[1]Andrea L,Ames David R,Nadeau John L,Moreland.VRML2.0Sourcebook[M].Published by John Wiley&Sons,Inc.1997.
[2]Nadeau D.R.Tutorial:Building virtual worlds with VRML[J],IEEE ComPuter Graphics&Appliations,1999,19(3):18-29.
[3]孙家广等.计算机图形学[M].北京:清华大学出版社,1998.
[4]陈小武等.虚拟自然环境计算模型的研究与实现[J].系统仿真学报,2000,12(4):351-355.
VRML虚拟实验室 篇7
材料的摩擦特性不是材料的固有性质,它是材料、负载、速度和温度等诸多复杂因素相互作用的系统特性(称为摩擦学系统特性)[1]。这导致在某一种试验条件下的试验结果不适用于其他试验条件。而在工程实际应用领域,摩擦副是在各种各样的复杂工况和环境下工作。要应用摩擦学知识进行工程设计就必须针对每种工况下的条件参数进行试验,这就要求在摩擦学研究中做大量的不同条件的摩擦学试验;另一方面,目前摩擦试验机价格昂贵、试验操作繁琐、费时费力,劳动强度大。而且对于某些特殊工况,在试验环境下无法模拟和实现。这给摩擦学研究、实践和应用带来了诸多不便,很大程度上影响着摩擦学在工程设计中的应用。
近年来,虚拟现实和仿真技术不断发展并日益成熟。目前已被广泛应用于军事、教育、过程控制、加工制造、航天航空等领域[2,3]。然而在摩擦学领域的应用却很少见,将虚拟仿真技术引入摩擦学将会大大丰富摩擦学的内容,促进摩擦学的发展和应用。目前常用的虚拟仿真语言有:Ac SL、Simscript、Easy5、Adsim、Simulink和VRML等[4]。
VRML是虚拟建模语言(Vitual Reality Modering Language)的简称,它是一种用于描述3D虚拟场境的建模语言,同时也是Internet上的三维标准规范。VRML具有分布式、交互性、平台无关性、真三维、多媒体集成等优点。目前VRML被广泛用于创建充满动感的、交互性强的三维虚拟世界[5,6]。
本篇将讨论利用VRML虚拟仿真和Matlab神经网络工具箱结合JAVA、VB等编程技术设计虚拟摩擦磨损试验机的方法。
2 虚拟试验机平台的设计目标、组成和实现原理
本虚拟试验机的设计目标是:模拟一台真实的四球摩擦磨损试验机,设计一个供试验者进行试验的虚拟摩擦试验平台。包括以下功能:
(1)真实、高精度的试验结果输出,使得在此虚拟试验机的试验结果能够在许多场合代替真实的试验机结果,以方便摩擦学研究和实践。
(2)建立生动逼真的三维模型,提供具有沉浸感、交互性强、操作便捷的虚拟试验环境,使试验者在虚拟平台上做试验就像在操作现实中的试验机一样。
(3)能对试验数据和结果进行简单的计算和处理图形化试验结果,最后它还能保存打印试验结果。
虚拟摩擦试验机主要包括四部分:(1)前台主控制界面;(2)VRML虚拟试验机模型;(3)VRML交互性和数据通信的设计;(4)后台数据库和matlab神经网络训练的设计。其实现原理和方法是:利用VB强大而方便的界面功能实现前台主控制界面,利用VRML和其他三维建模软件(如3Dsmax,Pro/E,Solid Works等)建模,导入VRML场景进行修改和优化,然后利用VRML交互性节点和Java或Java Script进行交互性和数据通信设计。利用数据库软件将已在真实试验机上做的大量试验数据制成数据库,经Matlab数据库接口将所需数据从数据库中提取,从而得到Matlab神经网络的训练样本,经神经网络训练后,任意给定一个试验条件,就可得到输出,再将数据由数据通信接口传递到VRML场景中显示。
据以上分析得虚拟试验机模块框架图如图1
3 前台VB界面的设计
前台主控制界面是整个虚拟试验平台的控制中心,它负责管理、调用和协调其他功能模块,主控制界面设计的好坏直接影响着整个系统功能的实现。典型的VB前台控制界面功能模块如下:(1)管理员的后台管理功能:主要是管理数据库和试验设备,以便扩充试验机功能和添加试验设备,试验数据等资源。主要包括的操作有:添加新表、添加记录、删除表和数据等。(2)试验者功能模块:应包括对试验条件和试验信息的一些基本记录(比如:润滑介质、试验温度、材料、负载等);还应提供简单的试验数据处理、图形可视化、打印和保存等功能。下图2为一典型的VB控制程序界面:
要实现以上模块功能,需用到的关键技术有:
(1)VB图形用户界面技术(GUI),VB有着强大而方便的界面开发功能,VB提供了许多建立标准Windows应用程序用户界面的基本控件和一些高级界面控件,灵活运用这些控件可以开发出一个友好、简洁、美观的图形用户界面。
(2)VB数据库编程技术通常可以利用ADO、DAO控件进行VB数据库的编程,可以将这些控件绑定到其他用户界面控件如文本框Text中,以方便用户管理、修改和维护试验数据。
(3)Active X控件技术VRML场景只有在特定的支持VRML的浏览器中显示,在VB中并不能直接加载和显示VRML场景,要将VRML场景嵌入到VB窗体上,以实现VRML场景和VB的无缝集成显示必须利用Active X控件技术。Active X控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中。只要将浏览器插件作为部件引入到VB中,然后添加到窗体上就可以浏览和操作VRML场景了。
(4)Active X自动化服务技术Active X自动化协议是一种允许一个应用程序(控制端)去控制另一个应用程序(服务器端)的协议。只要在一个控制端和服务器端建立一个自动化服务连接,就可以在控制端调用或执行服务端的命名和功能。Matlab支持OLE自动化服务端协议,而VB支持OLE客户端协议,因此为了在VB中调用Matlab神经网络训练程序可以使用OLE自动化服务技术实现VB和Matlab混合编程。
4 虚拟摩擦试验机的建模
VRML提供了许多方便简单的3D建模功能,与3D建模有关的节点主要有:Sphere节点(画球)、Cone节点(画圆锥)、Box节点(画长方体)、Cylinder节点(画圆柱)、Indexed Line Set(由线构造造型)。组合这些几何建模节点可以创建许多逼真的3D模型。但对于复杂的模型,在VRML中实现很麻烦,可以利用专业3D建模软件建模,然后导入VRML场景。下面是四球摩擦试验机的虚拟模型:
5 VRML场景的多媒体、交互性设计
在虚拟场景中加入多媒体使场景更加生动逼真,VRML支持的声音、贴图、影片剪辑文件格式有:mid、wav、bmp、png、jpg等。相应的节点有:Audio Clip、Sound、Image Texture节点。下面是声音的应用实例:
在场景中点击圆柱体按钮,声音就开始播放,虚拟试验机将发出录制好的摩擦试验机运转时的声音。
在虚拟场景中经常涉及到人机交互,交互性是虚拟现实技术的重要特征。虚拟现实不是简单的对实物模型的模拟,更重要的是人们能够操纵、控制场景中对象的形态和运动。在VRML中常用的交互性节点有:(Touch Sensor)、Plan Sensor、Cylingder Sensor、Script脚本节点。下面是个用java Script改变显示文本的实例:
运行结果是:每次点场景中的长方体按钮,数字文本就加1,到了9时再加1就变成0。如图4。
上图是设置摩擦试验机转数的调节面板,如图中所示,表示试验机在转过“2906”转后自动停止。当然,上面代码只是实现图中效果的小部分。
6 神经网络训练在虚拟试验机中的应用
虚拟试验机要求任意给定一个试验条件,都可以得到比较精确的试验结果,然而通过摩擦学试验做出的试验数据毕竟是有限的,而且也是离散的。必须通过对有限的试验样本进行神经网络训练以获得连续的联想输出值。
本虚拟试验机的Matlab神经网络采用径向基RBF对试验样本进行训练。径向基网络是有J.Moody和C.Darken与20世纪80年代末提出的一种神经网络结构,它是具有单隐层的三层前馈网络[7,8]。目前已经证明,径向基网络能以任意的经典逼近任意连续函数。利用Matlab神经网络工具箱的net=newrbe(P,T,SPREAD)和y=sim(net,P_test)函数可很快编写神经网络训练程序。
7 结论
VRML与其他虚拟仿真技术手段比较,具有语法简单、真三维、建模功能强大、良好的交互性、多媒体集成、便于网上发布等优点。但是VRML本身没有提供对数据处理、逻辑判断、流程控制等编程功能,而且与外界通信直接能力很差(不能与VB、Matlab、数据库、HTML等进行直接的通信)。但是它能很好的支持Java和Javascript,通过它们VRML可以弥补这些不足,以达到VRML间接地与外界进行数据通信和交互。从而构建出一个逼真、动感的、交互性强的、数据通信良好、数据真实可信的虚拟仿真平台。
参考文献
[1]温诗铸.摩擦学原理[M].上海:上海科技出版社,1990,416-420.
[2]赛博科技工作室.VRML与Java编程技术.北京:人民邮电出版社.
[3]王子才.仿真技术发展及应用[J].中国工程科学,2003,5(2):40-44.
[4]匡伟春,张传才.浅谈仿真技术[J].佛山陶瓷,2007,(3).
[5]汪兴谦,谢伟军,蒋长泉等.循序渐进学VRML[M].北京:中国水利水电出版社,2002.
[6]王尧南,马星国,杨猛.基于虚拟现实技术实现交互机械原理CAI[J].沈阳工业学院学报,2003,22,(1):88-91.
[7]飞思科技产品研发中心.神经网络理论与Matlab实现[M].北京:电子工业出版社.
VRML虚拟实验室 篇8
1 VRML的概述以及特点
1.1 VRML的概述
VRML (Virtual Reality Modeling Language) 是指虚拟现实建模语言。 VRML是虚拟现实造型语言的简称, 是一种建立于真实世界的场景模型或者是用户虚构的三维世界的场景建模语言。 受HTML的限制, WWW只停留在平面设计阶段, 使浏览者与环境的动态交换非常的繁琐。 而VRML的应用克服了WWW的单调性以及较差的交互性。 VRML通过以人为主题, 为用户创造了一个可以进入并且可以参与到其中的世界。在VRML创造的世界里, 用户可以感受到真实世界的存在。VRML使原本的平面设计立体化, 这能使画面和环境更加的真实并且具有存在感, 方便了用户对于事物的了解和利用。
1.2 VRML的特点
VRML的出现实现了在三维动画中, 用户与客体之间的相互作用, 相互影响, 使用户的行为能够作用于虚拟的环境中。和HTML相比, VRML和HTML都是ASCII格式的文件, 而VRML的简单以及速度快的特点提高了三维模型的灵活性和高效性。 VRML的数据容量小, 能够被重复使用, 用户可以在使用时直接去取, 并且可以任意地对其进行拆卸和组装。 VRML的这些特点使其在虚拟现实技术中得到广泛的应用, 提高了我国虚拟现实技术的发展。
2 虚拟现实系统的概述以及建模技术
2.1 虚拟现实技术的概述
虚拟现实技术又被称作灵境技术或人工环境。 虚拟现实技术使用户不仅对虚拟环境有了视觉上的感知, 还使用户有了触觉、 听觉以及力觉等上的感知。 虚拟现实技术能够使用户在虚拟环境里有着同真实环境一样的感知能力。 在利用了虚拟现实技术的模拟环境中, 用户所看到的模拟环境和现实中的环境是一样的, 使用户没有办法分辨出环境的真假。 在模拟环境中, 用户可以对其中的物体进行操作, 将其物体移动并且使用户的手有着真实的握着的感觉。 具有虚拟现实技术的模拟环境不仅能够展现出真实存在的环境, 还能构造出一些不可能发生的真实的环境。
2.2 建模技术
三维建模技术是虚拟现实技术中最重要的一个技术。 目前, 三维建模技术已经被运用到机械工程学、 机器人学、 运动学等多种学科。 在三维建模技术的发展过程中, 首先, 美国Sense 8 公司研制的WTK实现了实时三维图形的建造。 其次, DWB将仪表图形、 三维模型和景观应用到建模技术中。最后, Open GL利用了Silicon Graphics建立的图形库的语言。VRML有着比gif更小的动画和互动效果, 并且VRML能够支持zip压缩, 即使将文件名改为.wrl也可以用浏览器来进行观看。
3 三维建模技术
3.1 真实感图形的绘制技术
在三维建模技术中, 经常会采用消隐、 明暗模型和纹理映射等方法来提高三维建模的真实性。 在消隐算法中, 画家算法按深度将各表面由远及近地进行排序。 但画家算法不能够显示表面有重叠部分的两个物体。 扫描线算法能够使图像顶部到底部的扫描线实现透明的效果。 能够用深度数据将互相穿透的物体显示出来。 Z-缓冲器算法新的表面总是能够代替保存缓冲器的深度的表面。 但Z-缓冲器算法没有透明效果, 这使得反走样受到了很大的限制。 因此, 工作站已经把Z-缓冲器算法硬件化。
在虚拟现实中, 三维建模技术应当保证用户在进行交互时不会引起任何不协调的事情发生。 而明暗模型能够计算显示图形中的光强度, 避免了不协调的发生。 (1) 在平面明暗模型中, 平面明暗模型能够计算出多变形中点光照的光强度, 而多边形中点光照可以用来作为多边形内部各点的光照。 因此, 平面明暗模型就算出了多边形内部各点的光照, 降低了计算过程的复杂性。 但是, 平面明暗模型计算出来显示的场景看起来会特别的不自然。 (2) Gouraud明暗模型计算法能够通过多边形顶点光照来内插内部点的光照。 (3) Phong明暗模型计算法能够内插表面的法线, 但Phong明暗模型计算法不能够内插光强。
纹理映射能够加强图像的真实性, 使虚拟环境更加逼真。纹理映射是通过在图形表面贴上图像的一个映射过程。 纹理映射能够按照表面的深度来调节图像的大小, 这样能够得到正确的透视。 在纹理映射过程中, 纹理映射不是将图像映射在3D表面上, 而是将图像映射在图形上。 这大大提高了纹理映射的作用和效果。
3.2 模型的生成和绘制
随着虚拟现实技术的发展, 虚拟环境中的场景模型也越来越多样化。 而LOD描述能够使虚拟环境中复杂场景简单化, 提高了图形绘制的速度。 目前, LOD模型已被应用于3D动画、 飞行模拟器、 3D场景等许多领域。 LOD技术在保证画面视觉效果的同时, 使景物的表面细节简单化, 减少其表面的复杂性, 提高图形绘制的效率。 LOD技术能够对多面体模型应用多个几何模型, 用精细模型来观察近处的物体, 用粗糙的模型来观察远处的物体。 LOD算法包含有许多种不同的算法。 其中最主要的算法有基于长方体滤波方法的多面体简化技术、 渐近网格的简化算法以及多分辨率模型生成算法。
在1993 年, Rossignac和Borrel提出了能实时建立LOD模型的比较实用的多面体简化算法。 这种算法主要分为4 部分。 (1) 在虚拟环境中赋予变化较大处的点较大的权值。 (2) 通过分析物体的大小以及复杂程度将物体的空间以立方体的形式分成个个单元。 (3) 此方法能够计算位于物体分成的各个单元的顶点的代表点。 (4) 该算法用顶点的代表点来代替单元中的点, 移去产生的多变形。 Rossignac和Borrel的这种算法能在保持原多面体的前提下, 产生新的模型。
网格优化算法是Hoppe在1993 提出的。 网格优化算法是将计算能量通过收缩变换来优化。 网格优化算法支持模型的传送, 并且能够生成连续层次, 此算法能够处理面片上的彩色和纹理信息。 但该算法不能处理除二维流形的其他的信息。因此, Hoppe在1997 年对网格优化算法进行了改进, 使该算法能够完成对视点的精化。
多分辨率模型是通过多分辨率来对多面体模型进行重新采样, 对其局部进行参数化。 该算法通过加密采样技术使多面体模型精细化, 其中后一层的高分辨率模型能对前一层的低分辨率模型进行简单加密。 多分辨率模型能够使用户连续快速地获得多面体的多分辨率模型。 该算法和其他算法相比, 其计算量大并且较为复杂。 但该算法能够连续地产生模型, 这是其他算法所没有的特点。
3.3 碰撞检测
碰撞检测能够对虚拟环境里的移动物体以及用户的移动行为进行限制, 提高了虚拟环境的真实性。 在虚拟现实中, 碰撞检测能够显示出碰撞后的变化。 而静态检测方法和采样方式能够影响到碰撞检测的结果。 目前, 对于碰撞检测的研究主要包含3 个方面: 层次数据表示法、 动态距离跟踪算法以及静态检测算法。
层次数据表示法的目的是为了提高虚拟现实技术中动态的速度。 该算法是通过模型来减少元素对数。 目前, 建立模型的包围盒树通过建立模型来分解模型所在的空间。 这是最基本的层次数据表示法。 该方法比较简单, 能够有效地使虚拟环境更加的逼真。
动态距离跟踪算法能够决定检测的时间并时刻向用户报告模型的距离。 该算法实际上就是通过判断模型之间的最近的两点来计算模型的距离。 这种算法主要分为静态算法和动态算法。 静态算法是保证模型的预处理在线性时间内进行。而动态算法则是利用模型的位置和方向来使时间离散化, 通过这种方式来计算模型之间的距离。 这种方法能够利用运动连续性来跟踪模型的特征计算距离。
在碰撞检测中, 最静态检测算法是最基本的算法, 其检测的方法由模型的凹凸性来决定。 当模型属于凸多面体时, 静态检测则在线性时间内就能够判断出多面体的位置。 如果模型属于凹多面体时, 静态检测方法则是先将模型分成许多个凸多面体的模型之后, 再对模型进行检测。 如果凹多面体的模型的面中有凹多边形, 那么就需要先对模型进行平面分解, 然后在用凸多面体的算法对模型进行检测。
4 结语
随着我国科学技术的发展, 大量先进的技术被应用到人们的生活和工作中。 这些技术的应用提高了人们的生活和工作水平, 满足了人们对于各个方面的感知的要求。 而其中VRML被应用到我国的各个领域。 VRML的出现极大地提高了虚拟现实中三维建模技术的应用。 VRML能够灵活并且高效地创建三维模型。 对于虚拟现实中的三维建模技术中的各个技术进行分析和研究, 能够更好地了解三维建模技术, 使其能够更好地得到发展。 三维建模技术的发展能够使其更好地被我国各个领域所利用, 提高我国各个行业的发展。
参考文献
[1]孙长勇.虚拟现实中三维建模技术方法的分析与研究[D].解放军信息工程大学, 2004.
[2]李荣辉.三维建模技术在虚拟现实中的应用研究[D].大庆石油学院, 2007.
[3]侯湘.虚拟现实技术中的三维建模方法研究[D].重庆大学, 2006
[4]毕硕本, 张国建, 侯荣涛, 梁静涛.三维建模技术及实现方法对比研究[J].武汉理工大学学报, 2010, (16) .