虚拟社区漫游系统的设计与实现.docx

上传人:b****2 文档编号:11636340 上传时间:2023-06-01 格式:DOCX 页数:40 大小:266.07KB
下载 相关 举报
虚拟社区漫游系统的设计与实现.docx_第1页
第1页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第2页
第2页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第3页
第3页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第4页
第4页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第5页
第5页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第6页
第6页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第7页
第7页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第8页
第8页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第9页
第9页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第10页
第10页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第11页
第11页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第12页
第12页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第13页
第13页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第14页
第14页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第15页
第15页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第16页
第16页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第17页
第17页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第18页
第18页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第19页
第19页 / 共40页
虚拟社区漫游系统的设计与实现.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

虚拟社区漫游系统的设计与实现.docx

《虚拟社区漫游系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《虚拟社区漫游系统的设计与实现.docx(40页珍藏版)》请在冰点文库上搜索。

虚拟社区漫游系统的设计与实现.docx

虚拟社区漫游系统的设计与实现

虚拟社区漫游系统的设计与实现

摘要

虚拟理想技术是由计算机发生,经过视、听、触觉等作用,运用户发生身临其境觉得的交互式视景仿真,具有多感知性、存在感、交互性和自主性等特征。

虚拟理想建模言语VRML被用来描画三维物体及其行为,可以构建虚拟世界。

VRML的基本目的是树立互联网上的交互式三维多媒体。

VRML的出现使得虚拟理想像多媒体和互联网一样逐渐走进我们的生活。

本文主要研讨基于VRML的虚拟场景建模、交互、遨游技术,依据虚拟设计及其主要特点,结合3DMAX和CosmoWorlds,对基于VRML的虚拟理想技术在人们生活范围的运用停止了研讨,着重论述了如何应用VRML言语以生动的模型来模拟和显示理想三维空间,最终以人机交互方式来完成社区三维景观的实时遨游。

对修建楼群的建模采用3DMAX三维外型工具和VRML相结合的方式,对这些模型停止优化。

同时为了添加真实性,在虚拟社区中参与树木、游人、汽车等模型。

这些模型共同构建整个虚拟三维场景,为市政规划树立提供一个迷信简便、笼统直观的可视化人机交互平台。

关键词:

虚拟理想,VRML,场景建模,虚拟遨游

DESIGNANDIMPLEMENTATIONFORTHEVIRTUALCOMMUNITYROAMINGSYSTEM(SCENARIOMODELING)

 

ABSTRACT

 

Virtualrealityisaresultofcomputerdevelopment,itmaycreatesomescenerythatincludessensesofsight,hearingandtouch.Itscharacteristicsaremulti-sensation,existentsense,interactionandindependence.VRMLcandescriptthreedimensionalobjectsandtheirbehaviors,thuscanbuildvirtualworld.BecauseoftheappearanceofVRML,VirtualRealitycomestoourlifesuchasmultimediaandInternet.

Theresearchesofthispaperfocusonthemodeling,theinteractingandthebrowsingoftheVRML-basedvirtualscene.Accordingtothevirtualdesigningandthemainfeatures,unifyingthe3DMAXandCosmoWorlds,basedontheVRMLvirtualrealitytechnology,wehaveresearchedtheapplicationinthefieldofpeople'slife.ThepaperfocusesonhowtouseVRMLlanguagetoconstructinthemodelvividlytosimulateanddisplayrealisticthree-dimensionalspace.Finally,weachievedthereal-timeroamingintheThree-dimensionallandscapeofthecommunitybyhuman-computerinteraction.Wehavemodeledthesebuildingsbythecombinationof3DMAXthree—dimensionalmodelingtoolandVRML.Atthesametime,weputothermodelssuchastrees,humansandcarsintothe3dscenetointensifythesenseofthefacticity.Weusethesemodelstobuildavirtualthree-dimensionalscenetogether,toprovideascientificandsimple,intuitiveimagevisualizationplatformforconstructionofmunicipal.

KEYWORDS:

virtualreality,VRML,scenariomodeling,virtualtour

目 录

 

前 言

随着虚拟理想技术和计算机网络技术的开展,以及数字地球和数字城市概念的为前提的大背景下,虚拟理想技术曾经成为计算机范围研讨、开发和运用的热点,普遍运用到教育、军事、修建、医疗、工业设计等各个范围。

这一名词是由美国VPL公司创立人拉尼尔〔JaronLanier〕在80年代初提出的,也称灵境技术或人工环境[1]。

作为一项尖端科技,虚拟理想集成了计算机图形技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处置等技术的最新开展效果,是一种由计算机生成的高技术模拟系统,它最早源于美国军方的作战模拟系统,九十年代初逐渐为各界所关注并且在商业范围失掉了进一步的开展。

这种技术的特点在于计算机发生一种人为虚拟的环境,这种虚拟的环境是经过计算机图形构成的三维数字模型,并编制到计算机中去生成一个以视觉感受为主,也包括听觉、触觉的综合可感知的人工环境,从而使得在视觉上发生一种沉溺于这个环境的觉得,可以直接观察、操作、触摸、检测周围环境及事物的内在变化,并能与之发作〝交互〞作用,使人和计算机很好地〝融为一体〞,给人一种〝身临其境〞的觉得。

虚拟社区(VirtualCommunity)是基于天文信息系统技术、虚拟理想技术、宽带网络技术、多媒体技术、计算机图形学等高新技术,将社区天文空间信息和其属性信息相结合,构建一个逼真的、具有视觉、听觉、触觉的虚拟社区景观,用户可以应用计算机网络远程访问这个全新的社区景观,经过终端计算机在虚拟社区中遨游,而且可以停止查询、剖析、评价等操作,运用户足不出户也可以有身临其境的觉得[1]。

虚拟社区遨游系统是数字社区树立的基础,它的研讨和创立对以后数字社区的树立有重要的理想意义。

它是一个三维可视化的、有声有色的仿真社区景观,既可以为市政树立树立良好的笼统,提高社区的知名度,宣传社区文明;还可以作为市政规划的辅佐工具,在对社区外部的修建物、路途、辅佐设备停止修建规划时,可以在这个虚拟三维环境中静态交互的对未来社区环境停止片面的审查,为社区规划和设计提供更明白的目的;同时也提高了社区管理的效率和迷信化水平,促进远程监控,加快社区树立。

总之,它是数字校园树立的基础。

本论文研讨的虚拟社区遨游系统,是以理想中功用社区为虚拟空间,依据VR技术原理,创立出社区里基本的修建物、路途、广场、车辆、人物、树木等虚拟模型,然后以VRML(VirtualRealityModelingLanguage,虚拟理想建模言语)为中心,结合3DMAX等建模工具,完成基于TCP/IP协议和因特网的逼真虚拟校园遨游系统,使得用户愈加方便、灵敏的在虚拟社区中遨游三维模型;使真实性、交互性和静态性失掉了更充沛的表达。

第1章虚拟理想建模言语

 

§1.1虚拟理想建模言语概述

虚拟理想建模言语〔VirtualRealityModelingLanguage,VRML〕是第二代WWW的规范言语,是一项与多媒体、因特网、虚拟理想等范围亲密相关的新技术[1]。

熟习3W的人们都知道,由于HTML言语的局限性,VRML之前的网页只能是复杂的平面结构。

虽然借助Java技术可以完成一些三维的效果,可是要完全结构出一个三维的环境是不能够的。

而VRML的降生恰恰补偿了这一缺陷。

VRML是一种基于文本的通用言语,是HTML的三维模型。

它定义了当今3D运用中绝大少数罕见概念,如变换层级、光源、视点、几何、动画、雾、材质属性和纹理映射等。

一个VRML的三维平面现象普通是由成百上千个多边形组成,这些多边形是构建计算机三维现象的基本资料。

VRML规范是1994年在瑞士日内瓦召开的万维网〔WWW〕会议上,由MarkPesce和TonyParisi首先提出的。

它的1.0版本只允许树立一个可以探求的环境,不能提供交互功用,也没有声响和动画。

VRML2.0规范于1996年8月经过。

它在1.0的基础上停止了很大的补充和完善。

VRML2.0改动了1.0版本中只能创立静态3D景物的限制,添加了行为,可以让物体旋转、行走、滚动、改动颜色和大小。

它提供了梯度和纹理映射背景、与地点相关的声响以及可以将MPEG-

视频映射到恣意对象上的节点。

它还提供了带轮廓的地形、突出、碰撞检验、模糊效果以及罕见的文本。

VRML文件通常包括4个主要局部:

文件头(Header),原型(Prototypes),场景图(Scenegraph),事情路由(Eventrouting)[2]。

文件头局部是必需且独一的。

后3个局部没有严厉的先后次第要求,只需求后者运用的对象在前者中曾经定义,并且这3个局部可以有恣意多个。

另外,可以在VRML文件内添加注释。

VRML定义了54种节点,新增了3种数据类型,而且简直一切的节点都被或多或少地添加了功用,至少可以发送或接纳音讯。

复杂地说,VRML2.0的全部功用可以分为二大局部:

创立三维实体及对对象的编程。

这二局部是密不可分的,由于在VRML中,任何一个创立的实体都可以发送和接纳音讯,并经过JavaScript与外部Java停止交流,从而完成真正的交互功用。

此外,VRML2.0还改良了编程格式,使之愈加契合面向对象编程的思想,添加了交互的功用,详细表如今一些新增的节点,如SensorInterpolator等。

同时,VRML2.0还有支持声响、动画等功用。

VRML2.0的节点主要分红以下20大类:

(1)外型尺寸、外观节点:

Shape、Appearance、Material

(2)原始几何外型节点:

Box、Cone、Cylinder、Sphere

(3)外型编组节点:

Group、Switch、Billboard

(4)文本外型节点:

Text、FrontStyle

(5)外型定位、旋转、缩放节点:

Transform

(6)内插器节点:

TimeSensor、PositionInterpolater、OrientationInterpolater、ColorInterpolator、ScalarInterpolator、CoordinateInterpolator

(7)感知节点:

TouchSensor、CylinderSensor、PlaneSensor、SphereSensor、VisibilitySensor、ProximitySensor、Collision

(8)点、线、面集节点:

PointSet、IndexedLineSet、IndexedFaceSet、Coordinate

(9)颜色、纹理、明暗节点:

Color、ImageTexture、PixelTexture、MovieTexture、Normal

(10)控制光源的节点:

PointLight、DirectionalLight、SpotLight

(11)背景节点:

Background

(12)声响节点:

AudioClip、MovieTexture、Sound

(13)细节控制节点:

LOD

(14)雾节点:

Fog

(15)空间信息节点:

WorldInfo

(16)脚本节点:

Script

(17)控制视点的节点:

Viewpoint、NavigationInfo

(18)海拔节点:

ElevationGrid

(19)挤出节点:

Extrusion

(20)用于创立新节点类型的节点:

PROTO、EXTERNPROTO、IS

经过这些节点的相互组合和协调,简直可以模拟理想世界中的任何对象。

§1.2基于VRML的虚拟场景结构工具及VRML阅读器

§1.2.1文本编辑工具

VRML用ASC

文本格式来描画境界和链接。

因此,可以用写字板或其它的文本编辑器来编写VRML顺序(保管时要以*.wrl为后缀名)。

但关于一个虚拟的三维场景来说,它是由声响、图像、材质等复杂文件组合而成的,一个独自的*.wrl文件不能随便地完成它。

因此,便需求一种工具把这些文件归结在一个工程中(即一个文件夹)。

这样的工具很多,最常用的是VrmlPad工具。

VrmlPad工具对各个节点、域设置了层次,并提供了高亮度显示,用户可以很方便地组建、检查、调用工程中的各种文件。

§1.2.2三维建模工具

下面的文本编辑工具在构建三维模型时有两个重要缺陷:

一方面不能提供可视化界面;另一方面关于不规那么的复杂物体经常要求编辑少量的、繁琐的文本、数字[3]。

关于第一个效果,许多所见即所得的VRML制造软件曾经出现。

其中,ParallelGraphics公司推出了一系列的VRML制造工具—InternetSceneAssembler(ISA),InternetSpaceBuilder(ISB)、InternetCharacterAnimator(ICA)。

这3个工具各有侧重,ISB侧重于空间建模,ISA侧重于场景组合,ICA侧重于动画。

结合运用它们可以快速生成VRML文件。

虽然它们不支持VRML2.0的一切功用,但它们的易用性给生成复杂的三维实体提供了方便。

尤其是ISB,它虽然不支持复杂的动画,不支持行为、事情的操作(这些可由ICA、ISA完成),但由于它结合了可视化操作和VrmlPad工程的优点,从而成为虚拟理想建模的牢靠工具。

3DMAX当今世界盛行最广的三维动画外型软件,它所具有的把三维模型输入成VRML格式(应用其Import和Export方法)的功用使其成为VRML的最好助手。

但是,3DMAX中对物体描画的精度大大高于VRML的要求,它包括了很多外型的细节,这些都是VRML不需求的。

过细的要求不可防止地形成了庞大的文件量,这影响了文件装入内存后的导航速度和功用,使文件的下载时间过长。

因此,可用一些特殊的方法来增添文件的大小,提高执行速度。

这些方法包括:

在树立的几何体中增加分段数;从场景中删除看不见的面和隐藏不需求的面;运用关联复制等。

§1.2.3VRML阅读器

和HTML一样,VRML虚拟场景源顺序文件也是由网络传输,阅读器解释、执行和出现的,只不过VRML源顺序文件在阅读器上发生的不是静态的平面结构,而是静态的平面场景,支持VRML文件的阅读器罕见的有MicrosoftVRML阅读器、ParallelGraphics公司的CortonaVRMLClient阅读器、SGI公司的CosmoPlayer阅读器、Blaxxun公司的BlaxxunContact等。

 

第2章虚拟场景建模剖析

 

VRML是第二代Web上的关键技术,是一种三维场景的描画性言语,也是在Internet网上完成虚拟理想的关键性技术。

它的基本原理是用文本信息描画三维场景,在Internet网上传输,在本地机上由VRML的阅读器解释生成三维场景,解释生成的规范规范即是VRML规范。

正是这种思想使得在Internet上传输很少的数据,就可以在Web上完成三维虚拟场景阅读成为能够。

因此,VRML可以生成网络上的三维场景。

虽然JAVA技术如今支持三维场景的创立,但是我们知道运用JAVA3D创立虚拟场景不是那么容易的事情,和VRML相比它的开发周期较长,也没有VRML技术那么成熟。

可见,采用VRML技术构建虚拟理想环境有下面几个益处:

丰厚了媒体表现方式、改善了虚拟环境的用户界面、增强了虚拟环境的交互性。

§2.1场景的建模

§2.1.1节点

虚拟境界由对象构成,对象及其属性用节点(Node)描画.所以节点是构成VRML文件的基本单元。

从层次结构上可以把节点分红三种类型,组节点、子节点和属性节点,节点名的首字母大写,而域名都用小写字母表示[4]。

VRML的每一个节点都有零或多个域(field),域值决议了该种节点类型的对象在虚拟场景中的形状[4]。

节点类型大都具有接纳和发送的事情(Event)的才干,其中事情入口是节点接纳事情的逻辑接纳器,事情的出口是节点发生事情的逻辑输入端。

外露域(exposedField)是域、入事情、和出事情的一致体,它既可作为域确定节点的形状,义作为事情入口接纳事情,还能把变化的值送往其它节点。

本系统中触及的主要外型节点包括Transform节点、Shape节点、Appearance节点、Material节点、IndexedFaceSet节点、Background节点、Billboard节点和Anchor节点等。

§2.1.2外型节点的层次结构

本系统中将组节点(Transform)作为基本外型节点,children域中的外型节点(Shape)包括外观(Appearance)和几何(geometry)节点;Appearance节点包括材质(Material)节点和纹理(texture)节点;每个节点又包括假定干个域。

本系统中,IndexedFaceSet节点用于一切的修建以及车辆、人物的建模,IndexedFaceSet节点用来创立修建物等的复杂的面,在真实的场景中,修建物往往不是规范的立方体,用BOX节点外型缺乏以表达虚拟建模的真实性。

所以在本系统中,应用IndexedFaceSet节点结构复杂的折叠面,可以完成修建外部的一些复杂设备和室内外型,例如修建外的空调平台和室内的房梁等。

图2-1即是应用索引面集结构的修建外部装饰,这类外型是经过普通的三维形体外型节点所构建不出来的。

图2-1修建外部多边形结构图

经过上述剖析得出,我们可以用Shape节点创立虚拟场景中的全部三维外型。

这些外型包括基本几何外型以及文本、点、线面方式结构的恣意几何外型。

§2.1.3节点之间的关系

节点之间的关系分为父子关系和编组关系两种:

(1)父子关系。

如上所述,父子关系是依据节点语义定义的经过特定域包括特定节点而构成的上下层次关系。

(2)编组关系。

经过组节点(GroupingNode)把一组子节点组织起来,从而构成编组关系。

编组节点有Group、Anchor、Billboard、Inline、LOD、Transform等8种。

例如Group节点的children域,它是一个MFNode类型的域,蹋来包括多个子节点。

Group{

eventInMFNodeaddChildren

eventOutMFN0deremoveChildren

exposedFieldMFNodechildren[]

fieldSFVec3fbboxCenter000#(-8,8)

fieldSFVec3fbboxSize-1-1-1#(0,8)or-1,-1,-1

}

由此可知,应用编组节点的功用,可以把大型三维虚拟场景的结构组织得更为有序。

§2.1.4大型场景的数据组织

(1)运用编组节点

VRML提供了8种类型的编组节点,用于把共同完成某一功用的节点组合在一同(图2-2)[7]。

Group节点用于对象的群组;Transform节点那么是把对象组合后再一同停止坐标变换。

假设把子场景看作子节点,那么我们可经过内联节点(Inline)完成各场景的调出,对大场景而言,可清楚提高绘制速度。

本系统中,由于前期场景丰厚的需求,以及系统快速读取的需求,要将一些模型树立在另外的.wrl文件中。

本系统中的人物外型作为较复杂的外型,VRML文件会十分庞大,并且难于管理。

并且系统读入时检测此内联的人物外型能否会出如今默许的视点视界中,当此人物外型有效时,此模型才被描画出来,否那么将不再描画,这样节省了系统资源。

Transform{

childrenInline{#内联节点

url"male2.wrl"#内联的人物外型

}

translation-63.5449-2.33356-88.6001#关于male2.wrl中外型位置的修正

rotation0102.09439

scale2.229022.229012.22902

}

图2-2编组节点对场景的组织

(2)层次细分

对由多物体(又称实体)组成的复杂大场景,必需把场景分解成单个外型单元[8]。

分解的方法,首先把大场景按散布的区域划分红许多子块,子块尽能够规那么,以应用建模后再组分解大的场景块;其次对某一详细的外型,如本系统中的某一修建模型,可以从外向内停止分解,将屋顶的建模作为一个独自的局部,外墙的建模作为另一个局部;在VRML中经过火组节点和外型节点把分解的场景建模后,用分组节点再组分解大场景。

这样就简化了单个外型的任务量,可以一局部一局部的建模,提高了任务效率。

如图2-3所示,在VRML文件中的详细表达是树型嵌套结构。

图2-3场景的分层结构和对应的分组节点

§2.1.5建模流程

在3DMAX中结构基本模型。

以社区景观为内容的建模任务既复杂且量大,假定全部采用编写VRML代码的方法去完成,易出错且效率低[9]。

因此在结构虚拟场景时期,运用一些三维建模工具可以大大地提高开发虚拟理想系统的效率。

本项目选用三维软件3DMAX来搭建基本场景,其优势是可以快速高效结构复杂的三维模型,并设定材质、光效和动画,同时兼有输入.wrl格式的功用,这一点对提高建模效率十分有用。

在VrmlPad中编辑。

VrmlPad是一个很出色的虚拟理想文件公用编辑器,不只要利于提高代码编写效率,而且还提供顺序调试功用,是完成复杂虚拟场景必不可少的利器之一[1]。

从3DMAX输入的VRML文件,虽然已包括树立好的修建模型、环境模型、人物模型等,但是由于交互行为缺乏,所以还应该翻开生成的.wrl文件,参与指定路途遨游和一些基本的静态交互功用以完善系统功用。

并应用下面讨论的外型节点层次细分和编组节点对场景对象的相应代码做进一步的组织、校验和完善。

§2.1.6场景的树立

如前述,VRML自身就是一种建模言语,但关于一个庞大场景,经过一行一行代码的编写来完成是一件困难的事情,于是就发生了各种创立VRML场景的工具,本课题主要采用3DMax和VrmlPad。

应用3DMax创立VRML场景的主要步骤如下:

(1)场景平面图。

从系统的剖析和总体设计可以看出,对场景停止合理的规划是至关重要的。

在AutoCAD中绘制场景规划的平面图(文件格式为.dwg,可导入3DMax),定位路途、楼群和其他修建物。

该图是场景合理规划的基础。

(2)纹理采集。

采集纹理图片数据,包括砖纹图片、门窗图片、草地图片等。

对所采集的纹理图片,在Photoshop中将其处置成可无缝平铺的贴图。

(3)3DMax构建场景基本模型。

VRML经过节点来描画场景实体,3DMax可以将其环境中的模型以VRML的格式输入。

行将各个三维模型转化为相应的节点,以便为相应的阅读器解释并绘制。

以人物外型为例,输入的VRML节点如下:

#VRMLV2.0utf8

DEFman01Transform{#定义man01外型

childrenShape{

appearanceAppear

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2