VRML在构建三维虚拟校园中的应用研究

本栏目责任编辑:王力计算机教学与教育信息化
VRML在构建三维虚拟校园中的应用研究
孙文霞,顾翔
(南通大学,江苏南通226019)
摘要:VRML是可以用来创作桌面虚拟现实系统的建模语言。本文在介绍VRML的基础上,以南通大学三维虚拟校园为例,讨论了虚拟场景的构建技术,介绍了一些常用的建模的方法:包括几何体建模、汉字显示、场景组合等等技术。使用VRML实现的三维场景,临场感强,文件短小,易于在网络上传输。此技术有着较好的应用前景,必将对互联网络的发展产生新的推动。
关键词:虚拟现实;VRML;虚拟校园
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)10-20115-04
ApplicationResearchof3DVirtualCampusConstructingUsingVRML
SUNWen-xia,GUXiang
(NantongUniversity,Nantong226019,China)
Abstract:VRMLisakindofModelingLanguagethatcanbeusedfordeskvirtualrealitysystemconstructing.ThepaperfirstlyintroducesVRMLbriefly,andthendiscussessomemethodssuchasmodelingofgeometry,displayingofChinesecharacters,assemblingofscenesandsoon.Allthoseareexplainedbyanexample-NatongUniversity3Dvirtualcampus.Filesof3DsceneconstructingbyVRMLissoshortthattheyarefitfortransferringonInternet.VRMLhasstrongvitalityandwillaffectsthenextgenerationInternet.
Keywords:virtualreality;VRML;virtualcampus
1引言
VRML(VirtualRealityModelingLanguage),是一种用于描述交互式三维空间的虚拟现实建模语言。借助VRML,可以建造虚拟的房间、建筑物、城市甚至星球等现实中的和想象中的事物;可以编写小程序来控制虚拟空间,赋予用户和虚拟空间进行交互的能力。
VRML制作的三维空间是以文本文件的形式保存的,由已安装过插件的浏览器来解释展示。文件短小的特点使之能够很方便的在网络上进行传输。它试图成为集成3D图形和多媒体的通用交换格式。这一语言为实现网上的虚拟现实系统提供了重要途径。
构建基于互联网络平台的三维虚拟校园就是VRML的一个有效应用。
2VRML概述
VRML是解释展示的,浏览器就是其解释器。为了使IE浏览器能够支持VRML,需要安装相应插件。一种比较流行的插件是Intervista公司的WorldView,另有一种是SGI(SiliconGraphicsInc)公司的CosmoPlayer。
VRML使用场景图数据结构来建立3D实境,这是以SGI的OpenInventor3D工具包为基础的一种数据格式,其基本单元被称为节点,场景图规定了节点之间的等级关系与嵌套关系。
VRML总共定义有54个节点,它大致可以分为如下几类:
造型节点:用于表示各种基本的几何体和用于任意几何体的线框图和面框图。
属性节点:用于定义相关对象的颜、材质、纹理以及摄像机组、灯光组、视点、背景等。
组节点:用于将节点分组,把相关节点组合成为同一个对象。
感应节点:用于感知用户的输入或动作,以触发相应的动作。
其它节点:包括移动和旋转动作,脚本(Script)节点、超链接节点等。
每个具体节点都包含有一个或多个域(Field),VRML对域名、域值类型以及缺省值都有规定。下面就是一个造型(Shape)节点的结构。
Shape{
appearanceNULL//exposedSFNode
geometryNULL//exposedSFNode
这个节点包含2个域:appearance域用于指定节点的外观,geometry域用于指定造型的3D构造或几何构造,缺省的NULL值表示没有几何结构。
VRML使用符合右手规则的三维坐标系统,原点在屏幕中心,它也是使用这一坐标系统的各种几何体的中心。所以,当根据构图要求,某个几何体的中心不在屏幕中心时,就需要移动坐标系统,即使用Transform节点,在该节点内定义的几何体都使用该节点中所定义的平移后的坐标系统。
最后,在场景图结构中经常需要使用Group节点,即组节点。由于VRML只提供最基本的几何体,因此,要表现一个三维对象或场景,设计者只能通过组合这些基本几何体来实现,Group节点就为这种组合提供了支持。VRML规定使用“#”来标记注释。
收稿日期:2008-02-10
基金项目:江苏省高校“青蓝工程”资助
作者简介:顾翔(1973-),男,博士,副教授,硕士生导师,主要从事协议工程、形式化技术和虚拟现实技术的研究。
计算机教学与教育信息化
本栏目责任编辑:王力
3三维虚拟校园设计
使用VRML,可以构建基于网络的三维虚拟校园。作为实例,本文选取了南通大学的部分场景,进行三维虚拟校园构建。3.1设计指导思想
虚拟的南通大学校园是一个规模较大的三维场景,旨在通过网络展示南通大学的校园风貌。用户可以走进校园,观赏校园的自然风貌,领略校园的生活氛围,在虚拟旅游中了解南通大学。
为了较真实的反映校园的风貌,可以通过两个层面来表现这个虚拟境界:
第一,根据南通大学实际的景观风貌对校园内的各个场景进行建模。这些场景包括道路、楼宇、校门等典型景观建筑及附属植被。通过这些场景构建出虚拟的南通大学校园。为了使场景更加真实,可以为部分场景设计一定的交互能力,例如用户可以进行门、窗的开关。
第二,通过声音、文字、图片等多媒体技术手段在主要景观建筑处添加相关链接,辅助性的介绍南通大学的概况、历史等情况,从而使用户更加深入的了解南通大学的文化底蕴。
3.2场景结构设计
南通大学规模较大,限于篇幅,本文仅选取了学校的部分景观进行阐述。
由于整个场景中的各个对象是通过空间相对位置关系组织在一起的,因此我们先建立一个对象,然后以它作为参照物来放置其它对象。
经过分析,确立以进入校门后的东西向主干道作为场景基线,然后以此主干道为参照物,把独立构建的各个楼、校门、花草树木及其它场景组合安放在相应位置。
此部分场景的结构如图1所示。
图1南通大学虚拟校园(局部)场景结构图2虚拟校园背景
4三维虚拟校园实现
4.1校园背景
为了更逼真的表现出虚拟现实所描述的环境,需要给虚拟校园设置背景。建立的虚拟校园处于大地中心。背景可以通过Background节点实现。关键代码如下:
Background{
skyColor[000]
frontUrl"tian.jpg"#为前景选择文件tian.jpg作为贴图,下同
backUrl"tian.jpg"
leftUrl"tian.jpg"
rightUrl"tian.jpg"
其效果如图2所示。
4.2校园正门建模
任何一所学校,校园正门都是最为突出的标志性景观。也是整个学校给用户的第一印象。具体到南通大学而言,整个校门由“南通大学”校名、传达室、自动伸缩门等场景组成。
在场景构建中要解决的第一个问题是造型的外观的控制。造型的外观是通过材料控制的,材料属性包括造型的颜,是否发光,所发光的颜,是否半透明,透明程度等等。使用Appearance和Material节点,就能控制造型的颜,发光颜和透明度。例如,在校门的建模中,传达室是由三个正方体造型构成的,外部是半透明的玻璃。
在场景构建中要解决的第二个问题是汉字的显示。按照VRML规范,它应该支持包括汉字在内的所有UTF8字符,但目前常见插件都不支持汉字显示。VRML不能显示汉字的原因不在于其语言本身,而在于VRML浏览器的3D引擎。为了在VRML中进行3D汉字渲染,通常有两种方法:一种是用多边形围成字体,另一种是对字体进行纹理渲染。我们采用的是第二种方法。校名场景的关键代码如下:
Transform{
rotation0.01.00.0-0.52
translation602
children[
Shape{
本栏目责任编辑:王力计算机教学与教育信息化appearanceAppearance{车用暖风机
materialMaterial{diffuseColor0.50.50.5}
#使用学校创始人张謇先生手书“南通大学”的纹理贴图
textureImageTexture{url"hanzi.jpg"}}
geometryBox{size6.752.00.5}
}]}
校名建模的效果如图3所示。整个学校正门场景如图4所示。
图3校名建模图4学校正门场景
4.3校内建筑举例——
—方肇周教学楼
校内建筑在虚拟校园中是比较重要的建模对象,特别是对相关教学楼的建模要比较细致。在设计中,对教学楼外观的建模要求较高,特别是楼外观上标志性的对象进行了仔细的建模,让熟悉校园的用户一眼就能认同这就是那幢教学楼。
在教学楼的建模中应该做到以下几点:
由于这个系统虚拟的是一个现实存在的环境,为了取得较真实的效果,现实存在的楼在虚拟环境中都
应该进行建模。
为某一楼宇建模时,要尽可能的利用重用机制简化程序代码。这一方面可以减少工作量,另一方面可以减轻浏览器负担,提高浏览速度。
选择校园中的典型楼宇作细化场景,其它楼可进行复制,或稍做修改。
教学楼的建模是一个较复杂,较大的场景,需要将整个教学楼分割建模,例如:窗户、单个房间、由多个房间构成的楼层、由多个楼层构成的大楼。在方肇周教学楼的建模中,由于教学楼的前后大部分是对称的,因此可以先对前面的部分进行建模,然后使用rotation节点旋转,最后再进行修改。
下面的关键代码描述了模型插入和旋转的运用:
Group{
children[
Transform{
Translation-6.9-8.2-3
children[
DEFPartInline{
bboxSize5.08.02.0
bboxCenter1.04.00.0
url"part.wrl"
}#这一段用于插入教学楼的一部分
Transform{
Translation-6.9-4.2-3
childrenUSEPart
}#对上面的建模重用
Transform{
Translation-3.6-0.2-12
rotation0103.14
childrenUSEPart
}#旋转
方肇周教学楼建模的效果如图5所示。
4.4植被建模
在真实校园中,种植有大量景观植物。这一点
在构建虚拟校园时也应当加以考虑。
以树为例,在建模过程中可以遵循以下步骤:
节点使用Billboard,它有一项特殊的功能,就
图5方肇周教学楼建模
本栏目责任编辑:王力计算机教学与教育信息化图7南通大学三维虚拟校园(局部)
是使它的子节点永远面向观看者。
Box的设置是根据树的高低来决定的,并且要使长方体基本没有厚度。
使用PhotoShop生成和处理树的纹理映像。首先将拍摄的树的照片上除了树以外的其它事物处理掉,最好树叶间的空隙也能处理出来没,使树的最终效果更好;然后把图像的背景设置为背景透明;调整图像的大小,将其存储为GIF文件格式。这是因为GIF文件格式可以存储一些背景颜并将其转换成透明性信息,而JEPG和MEPG不能存储透明性信息。
将处理好的树的图像映射到Box节点上去。
树的建模的关键代码具体如下:
Billboard{
ChildrenShape{
appearanceAppearance{
textureImageTexture{url”
tree.gif”}}
geometryBox{size250.00001}
其建模的效果如图6所示。校园中的花草也可以通过类似方法实现。
图6植被建模
尼龙螺杆>4.5场景组合
当各部分场景构建完成后,即可使用行插入节点Inline将这些场景组合成为一个完整的三维虚拟校园。Inline节点有一个url域,该域值指定了一个URL,这个URL就是将要插入到VRML世界中的文件位置。URL告诉了VRML浏览器如何能获得这个文件,在哪里能到这个文件以及这个文件的文件名。URL还可以指出该文件是在WEB上还是在本机的硬盘中。在场景组合时,经常需要调整各部分场景之间的物理位置和比例。
下面的代码将构建好的方肇周教学楼安置在虚拟校园中。
Transform{
translation00-150
rotation010-1.396
children[
DEFJSJInline{
url"jsj.wrl"青果素
各部分组合后的三维虚拟校园效果如
图7所示。
5结束语
VRML提供了较为完善的节点来构建
具有真实感的三维场景,其文件短小的特
点有利于以互联网络为平台进行虚拟场景
展示。使用VRML构建的三维虚拟校园,可
以供用户在网上进行参观。用户在参观时
可以自由走动,而不是象一般的三维造型
软件那样必须预先设定好一条参观路径,(下转第159页)
本栏目责任编辑:贾薇薇计算机工程应用技术
(上接第118页)
垃圾分类器并且可以在场景中提供一定程度的交互。
需要说明的是,目前还没有一个成熟的如网页设计那样的所见即所得的创作工具。在使用VRML进行三维场景构建时,工作是相当繁琐的。设计并完善这样一个创作工具将是下一步工作的重点。
参考文献:
[1]AndreaLAmes,DavidRNadeau,JohnLMoreland,著,宗志方,译.VRML资源手册[M].北京:电子工业出版社,1998.
[2]顾翔,王汝传.Internet上的虚拟现实建模语言-VRML[J].电子工程师,1999,(6):10-13.
[3]王汝传,陈丹伟,顾翔.虚拟现实技术及其实现研究[J].计算机工程,2000,26(12):1-3.
[4]TakashiWatanabe,AkikoTashiro,SeizoFukii.EstimationofThreeDimensionalObjectsfromOrthographicViewwithInconsistencies[J].Computer&Graphics.1995,19(6):815-829.
受控电机的传递函数。
其系统得整个运行过程如下:
铣床防护罩首先启动变频器,调整变频器的工作模式,使之运行在0-5v和由外部输入电压来控制变频器的输出的工作模态上;然后启动EPA的MDI和AO设备并在工程师站的pc机上,启动组态软件。此时组态软件就能显示出在网络中的EPA设备。接下来开始对
EPA设备进行组态,主要是对MDI功能块、AO功能块和PID功能块进行参数设置(如在PID功能块中设定电机转速)、
设备调度组态和功能块链路组态。其功能块的链路组态图如图4所示。设备组态完成后,EPA设备按照组态的控制策略开始运行。首先MDI的9号输出端的值为检测到的电机转速值。把电机转速通过网络传输给PID功能块,PID功能块把接受到的实际电机转速和设定的电机转速进行比较计算出,AO设备需要产生的控制电压。PID功能块再把这个需要产生的电压值通过网络发送给AO功能块,AO功能块再调用技术块在AO设备的相应端口产生相应的电压。AO设备的输出电压通过电线再传递给变频器,由变频器控制电机运行在相应的转速上。如此反复运行,使得电机能较快,较好的运行到设定的转速上。
7控制系统的运行情况分析
组态软件的运行监控图
,能很好的反映出控制系统的运行过程和结果。图4是控制系统的监控界面,显示了该系统的实时运行状况。
图4EPA组态控制系统运行状况
从上面图4可以得出我们的控制系统运行良好。从而证明EPA的控制方式是确实可行的,证明开发的EPA功能块,EPA组态软件,EPA协议栈是确实可用的。
8结束语
工业以太网技术代表了现场总线技术的发展方向。研发基于EPA的应用系统并推广应用,对于缩小我国仪器仪表的智能化、控制系统网络化与国外的差距,具有重要意义。该文首先介绍了EAP功能块和EPA组态软件,接着论述了EPA控制系统的结构图以及本次控制系统选用的设备,然后给出了本次EPA功能块的组态链路,最后分析了控制系统的原理、运行过程并展示了系统运行结果。分析结果表明,设备经过功能块组态后能按照组态的控制策略正确运行,达到预期控制功能。
参考文献:
[1]GB/T20171-2006,用于工业测量与控制系统的EPA系统结构与通信规范[S].
[2]基于EPA的功能块规范[S].
[3]IEC61804.FunctionBlocks(FB)forProcessControl[S].
[4]王捷.DCS中顺序控制功能块应用及综合设计[J].微计算机信息,10-3:34-36.
[5]阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社,1998.
[6]阳宪惠.工业数据通信与控制网络[M].北京:清华大学出版社,2002.

本文发布于:2024-09-23 03:24:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/99024.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:场景   校园   虚拟   节点   进行   建模
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议