虚拟场景建模技术(共8篇)
虚拟场景建模技术 篇1
0 引言
虚拟场景的设计和实现十分复杂,仅视景系统的开发,其复杂程度也是传统的应用程序开发所无法相比的。虚拟环境的开发设计、组织和管理采用先进的建模方法进行,研究虚拟现实系统的设计和实现需要站在软件设计方法论的角度,在虚拟环境的开发设计中就显得尤为重要[1,2,3,4]。在多维信息空间内创造一个更适应于人的信息处理环境,是虚拟环境的实质,这对软件技术有一些特殊的要求,目前虚拟现实系统的主要设计方法,是面向对象技术在一定的程度上去适应虚拟环境设计对软件技术的这种特殊要求,面向智能体技术是对面向对象技术的改进,目前正处于发展阶段。本文将对以上技术进行深入的讨论。
1 面向对象的方法
虚拟系统所处理的是包括各种模型、信号的多媒体信息,其目标是创建一个更适应于人的信息处理环境,[5]把各种处理的对象都归纳为一种统一规范的“对象”,就是对这种处理系统的最本质的抽象,这种处理遵循的原则和过程近似与人认识客观事物的规律。目前,绝大多数的虚拟环境开发工具、软件都是面向对象的。如:Division公司的dvise、dvs、provision、SGI公司的opengl inventer等。面向对象技术已经成为了虚拟现实系统设计的基本方法。
面向对象技术一般包括的特性有以下几个方面:(1)数据抽象。数据抽象是建立一个超类的过程,它从较为特殊的类或对象中抽出一般属性。在数据抽象的过程中,要解决的问题需要研究目标程序以及组成该问题的概念性的实体,从中找出一些对解决问题有所帮助的特性,进而得到对这一问题的抽象结果。(2)封装。封装是把数据和方法在同一对象中放置,对象之间通过消息进行交互,程序的其他部分不能直接作用于此对象的数据,对数据的存取只能通过该对象本身的方法进行。(3)继承性。在面向对象的程序设计中,一个类可以定义其自己的数据成员和成员函数来实现其特定的功能。而且这个类可以继承另一个类中的所有数据成员和成员函数。(4)多态性。多态性与类的继承性密切相关,它通常是指同一消息被不同的对象接收后解释为不同的含义和功能。它利用多态性,用户可以通过发送统一的消息,并由各个接收者来完成不同的实现细节。(5)动态连接。动态连接是指将程序各组成部分在运行时连接起来的过程,通过继承和多态性可以实现动态连接。把数据以及与它相关的过程包括在一个对象之内,面向对象的软件设计,从而使对象成为比数据和过程的结构层次更高的计算实体。对象既可以像过程一样去描述处理的流程和细节,又可以像数据一样的被处理。由于面向对象的处理过程和所遵循的原则与人的认识客观事物的过程非常接近,因此,越是大型的、复杂的仿真,越能体现出面向对象方法的优越性。面向对象的方法首先在建模和仿真中得到重视和应用。
2 面向智能体的方法
面向对象技术与结构化的软件技术相比,可在一定程度上满足实现对软件技术和虚拟现实系统设计的一些特殊要求,面向对象技术随着虚拟现实技术的发展,也在一些方面表现出了它的不足。主要表现在[6]:(1)不能满足对多维信息所描述的对象进行表示的要求。(2)不能满足对多维信息所描述的对象进行实时处理的要求。(3)不能满足对多个多维信息所描述的对象进行并发处理的要求。专业研究人员近年来从不同的应用领域对面向对象技术进行了改进,这些改进主要是在保留对象原有的特性的基础上,使对象具有实时处理的功能或更强的实时通信能力、能够根据环境的变化改变自身的特性。这种对面向对象技术的改进就被统称为面向智能体技术(agentoriented technology)[7,8]。由于所用的术语、定义都不尽相同,研究人员在不同的应用领域对面向对象技术进行改进,但基本上都使用了智能体这一概念。它的聪明之处在于其不但能够表示知识,还能够从外部吸收新的知识,进行推理。可以说智能体就是一种聪明的对象,如果把对象表示为:对象=属性+方法;智能体则可以表示为:agent=知识表示结构+处理方法。
3 面向对象建模步骤
本节将讨论虚拟现实建模的各个方面。
3.1 几何建模
几何建模描述了虚拟对象的形状(多边形、三角形、顶点和样条)以及外观(表面纹理、表面光强度和颜色)。
3.2 运动建模
设置完对象的形状和外观后,接下来要做的是运动建模。运动建模主要用于确定三维对象在世界坐标系中的位置以及它们在虚拟世界中的运动。对象运动受父子层次关系的制约,父对象的运动会影响子对象。运动建模的另一个方面就是设置观察世界的方式,即虚拟相机的运动。最后,照相机图像需要经过变换投影到二维显示窗口中,为用户提供视觉反馈。
3.3 物理建模
几何建模和运动建模之后,下一步是综合体现对象的物理特性,包括重量、惯性、表面硬度、柔软度和变形模式等。这些特征与对象的行为一起,给虚拟世界的模型带来更大的真实感。
3.4 行为建模
到目前为止,所有的讨论都只局限于对象外观、运动和物理特性的数据模型。只要对象参与交互,都可以假设它是由用户控制的。可以对不依赖于用户动作的对象的行为建模。在超大规模仿真环境中,用户不可能控制环境中发生的所有交互,因此行为建模是非常困难的。
3.5 模型管理
对一个拥有很多对象的虚拟世界来说,几何模型、运动模型、物理模型和行为模型构成了一个非常复杂的大模型,由此带来的巨大计算负载使VR引擎几乎不可能做到实时处理。此外,复杂世界对存储空间的大量要求,也是现有的存储器无法满足的。这就导致了昂贵的存储交换,需要从较为缓慢的硬盘存储器上调入数据。这种存储访问方式影响了仿真的帧刷新率,从而妨碍了最后的视觉表现(场景会出现暂时的冻结)。
4 结束语
虚拟场景建模技术是虚拟现实技术中最重要的技术领域,也是虚拟现实技术中的关键技术之一。本文介绍了几种常用的虚拟场景建模技术,实际应用中要最大限度地提高仿真效果,需要综合采用以上多种技术。
参考文献
[1]曾建超,俞志和.虚拟现实技术及其应用[M].清华大学出版社,1996.
[2]杨克俭,刘舒燕,陈定方.分布交互三维视景行为-特征建模方法研究[J].计算机辅助设计与图形学学报,2000.12(11):845-850.
[3]Florian Schroder,Patrick Robbaach.Managing the Complexity of DigitalTerrainModels.Computer Graphics,1994,18.pp.775-783.
[4]Latta JN.Oberg DLA conceptual virtual reality model.IEEE CG&A.January 1994,23-29.
[5]Barbars S.The value of Virtual Product Development[J].Journal ofComputer-octorber 2002.
[6]Perry A Appino,Bryan Lewis Lawrence Koved Daniel et Al.Anarchitecture for virtualworlds.presence,winter 1992,1(1):1-17.
[7]Hagsand.Interactive multi-user VEs in the DVE system.IEEEMultimedia,1996,3(1):30-39.
[8]Macedona M R,Zyda M J.NPSNET:A net work software architecture forlarge scale VE Presence,1994,3(4):265-287.
三维虚拟城市景观建模技术研究 篇2
关键词:三维建模;城市景观;虚拟城市;CityGML
所谓的“虚拟城市” 是指运用3S技术(遥感RS、全球定位系统GPS、地理信息系统GIS)、遥测、仿真虚拟技术等现代化技术,以宽带网络为纽带,并应用计算机技术、多媒体技术和大规模存储技术为基础,对城市进行多分辨率、多尺度、多时空和多种类的三维描述,模拟和表达城市地形地貌、城市道路、建筑、交通、水域等城市环境中的现象和过程。城市三维景观中涉及多种地物模型和地形模型,而地形模型是其中必不可少的一类特殊模型,是城市实体的三维空间基础。
1 虚拟三维城市模型系统数据
CityGML是虚拟三维城市模型系统数据库的结构设计主要逻辑,其主要是对三维数据进行储存和管理。当前,主要的数据类型主要有:地籍数据和航空影像;DTM(数字地型模型),20 m精度部分作为框架数据,高分辨率DTM作为三维城市模型的核心数据,特殊地区用TIN建模;对建筑物而言,在三维模型中可以把它当作一个cityObjectMember来看待,它的空间属性并不是非得与LOD2层次的数据描述相同。建筑物模型数据,采用激光扫描或摄像测量方法在大约250 km2范围内对建筑物进行三维重建,建模工具主要通过数据CAD或3D MAX转换成为CityGML格式。
2城市园林景观三维可视化应用
2.1在城市园林景观中,一般情况下所以园林中一部分为建好的,一部分为在建的,在这些区域的数据源多对应现状是普查GIS数据库和CAD设计施工图。设计者为了表达城市园林景观的设计理念和意向的各种分布形态,把CAD设计施工图的数据源中把地形地貌平面、竖向规划、小品平面位置及铺装、植物的分布等所对应。
2.2城市园林景观GIS数据的现状地形图的获取普查是现状建成数据的主要来源。其中,按照绿化分类普查的GIS数据主要有:公园绿地在内的面状数据和对应的属性关联子表,通过“绿地细斑代码”属性字段进行关联。
3 三维虚拟城市景观专题模型
3.1 DTM模型。三维城市建模中地形是最重要的一部分,需要CityGML用起伏要素(ReliefFeature)来描述,其中,每个起伏要素对象可以对某块地域内的地形起伏来描述。具体表现为:规则格网和不规则三角形以及质点集和断裂线等。断裂线主要表示为地面上不连续的部分,几何上一般以三维曲线来变现。这四种地形表现形式在CityGML数据集中可以随意组合。首先,在不同的LOD中可以出现不同类型的精度与分辨率做出反映。其次,不同组合方式可用来描述每块地表。值得注意的是,此种情况下不规则三角网与断裂线必须缝合。再次,相邻的地域可以以不同的形式来分别表达。为了能便于组合不同地域地形比,各个起伏要素对象可用一个二维多边形来指定其有效范围,这种方法可以让地形在不同精度时便于拼合。
3.2建筑物模型。CityGML就是建筑物模型的核心,它是对建筑物的组成和附属部分的空间和专题特征的表达方式。其中AbstractBuilding类是该模型的枢纽,它是CityGML的子类。而BuildingPart和Building类是AbstractBuilding的派生类。即建筑物建模时把某一部分的建模视为抽象“建筑我对象”。另外,一个复杂建筑物对象(BuildingComplex)的一部分也可以是一个Building对象。当考虑不同LOD层次的地形数据和建筑物模型数据叠加时,建筑物和地形的集成是三维城市建模的一个重要问题。因此,(TerrainIntersection)的概念被引入了建筑物和地表面发交叉曲线,该曲线可以精确地对建筑物和地表面的结合位置进行描述,形成一个焕然建筑物的闭环。如:当有的建筑物包含有院子时,则该曲线可以形成两个闭环来组成,其他建筑物的描述也是以此方式来描述的。当集成时,为确保纹理的准确定位,应把采取拖拽的方式把建筑物和地形表面的拖至与交叉曲线完全吻合的为止。
3.3细节层次模型(LOD)。根据处理和分析多元数据的展示需要,CityGML可以分为5个细节层次的精细程度来描述三维城市。其实2.5维的DTM数据既为LOD0,其可以再2维地图和航空影响上以相互叠加的方式来使用。LOD1所描述的建筑物是呈块状形的。LOD2则是主要描述建筑物的屋顶、纹理和植被对象等。LOD3所描述的对象主要是建筑物的结构层次。另外高分辨率的纹理也可以在这些结构面上相互叠加。LOD4层次主要对房间的内部结构进行建模。细节层次的不同点位的精确度也不同。因此,城市的三维数据集质量可以以LOD的级别来评价。用户也可以根据自己的需求,随意选取合适的建模层次。在同一对象可以在一个CityGML数据集中上以不同细节层次来表示,而两个数据集中也可以分别把同一对象的不同细节层次放在一起。细节层次模型既便于三维对象可视化展示,也便于多源数据的集成。
3.4几何拓扑建模。CityGML可以用0~3维基本几何元素分别为点、边、面、立体等边界表达的方法对专题对象的空间属性进行几何拓扑建模。其中,边、面、立体等基元可以聚合成为弧聚合体、面聚合体、立体聚合体。CityGML要求必須确保模型的点、边、面、立体基元及聚合体的一致性,满足完整性约束。并确保拓扑关系清晰性,消除数据冗余,如相离的两个立体基元之间,那么它们两者的体积加在一起就是其体积的总和,相反两个交叉的立体基元的体积计算则非常麻烦。
3.5几何语义建模。CityGML实现了对空间对象的几何拓扑属性和语义进行一致性建模。在语义特征上,CityGML以专题模型描述建筑物的属性和层次关系等几何拓扑对象。CityGML模型有语义和几何拓扑两个层次体系,其优点是便于在各自层次体系中分别遍历或者相互遍历。
nlc202309012353
3.6建筑物建模。在一般的三维景观中,因为城市中建筑物种类繁多,结构用途各异组成最重要的部分;城市不同建筑风格不同。反映出一个城市的特色可以在特定地段以独特的建筑物及其所处的环境来反应。所以,景观模型的主要表达内容是城市建筑物。由于CAD矢量数据中建筑物等的属性信息不完善,因此,建筑物的高度信息需要查找相应的建筑物楼高资料,以获得准确的楼高信息,保证模型的精确性。导入的CAD底图中,构成建筑物的很多线不闭合,需要沿着建筑物的轮廓线重新描线,由线构成面,并根据建筑物高度赋予相应的高度值。
3.7道路建模。根据道路的表现形式不同可以将道路分级建模。級别低的道路如小路、内部道路等,可以贴近地面建模,而高速路、省道、国道等建模时则要高出地面相应的距离。道路建模时采用先高后低、高低有序原则,即先建级别高的,后级别低的,由高到低。重新描线时将道路封闭为多边形,并做相应级别高度的拉伸,建立道路框架。城市道路表现路面的同时,还主要表现道路附属设施,如路灯、栅栏、公交站台、指示牌等道路小品,这需要在建模软件中精细建模或者获取模型库中的模型。
4 应用三维虚拟城市景观建模技术需注意事项
4.1由于城市测量时地类地物的分层与三维建模时数据的分层略有不同,同时,不编辑和修正的大比例尺地形图图层较多,如果直接将其导入到软件中,不仅会对整个场景的美观产生影响,还会在建筑物的三维建模中受到干扰。因此先需要对CAD数据进行处理,以满足三维建模的需要。
4.2在三维城市建模中,根据建模精度的不同,地类地物的细节表现也不尽相同。在城市三维建模中,主要表现道路、河流、绿化等地类地物及其附属设施。因此在建模之前需要对现有的矢量数据进行处理,主要包括:减少数据的冗余,删除不必要的注记、控制点、高程点、等高线,清理不需要的图层;将点,线的高度属性统一改为0,防止有飞线,飞点产生。必要时需要手动修改点、线,将其高度属性改为0,将建筑物,道路,河流,绿化等信息分层设色,同时检查线状地物是否有重叠、悬挂等情况并加以修正。
参考文献:
[1] 李庆军.三维模型及可视化技术在城市景观应用研究[D].中国建筑,2009.(11).
[2] 丁令奋.城市景观可视化的研究进展[J].园林与建筑,2010.(05).
[3] 王育坚,刘治国,张睿哲,刘畅.城市三维建模与可视化应用研究[J]. 北京联合大学学报(自然科学版),2007,21(4).
[4] 刘凯成.虚拟城市三维景观构建技术研究.城市建筑,2008.(2).
虚拟场景建模技术 篇3
树木, 因其高度复杂的集合结构以及千姿百态的造型外观, 一直以来都被认为是最难以建模仿真的物体。在绝大多数WebVR应用的开发中, 场景建模通常还是通过建模人员手工完成, 比起一般的建筑物模型, 树木模型因其复杂的形态往往会耗费大量建模人员的精力。出现了以下问题:1) 虚拟场景中物体构成的复杂度不断加大;2) 虚拟场景中物体的数量急剧增加。加重了建模人员的负担。该论文通过L-system方法使用树木的特征值最终自动、快速、逼真地生成树木, 对上述问题进行了有效解决。
1 预备知识
VRML是虚拟现实造型语言 (Virtual Reality Modeling Language) 的简称, 本质上是一种面向Web, 面向对象的三维造型语言, 而且它是一种解释性语言。VRML的对象称为结点, 子结点的集合可以构成复杂的景物。结点可以通过实例得到复用, 对它们赋以名字, 进行定义后, 即可建立动态的VR (虚拟世界) 。VRML被称为继HTML之后的第二代Web语言, 它本身是一种建模语言, 它是用来描述三维物体及其行为的。VRML具有开源、面向对象思想、资源丰富、开发效率高、周期短、开发成本低等优秀的特点。
2 基于规则的树木模型生成
2.1 枝干的生成和缩放的处理
由L字串描述的一颗树, 比如该二维树的描述字串F[+F]F[-F]F[+F]F, 最基本的形态单元是字符'F', 即F将被描绘成一颗树木的枝干, 所以第一步是解析F转化为VRML能表示出的几何形体。由于树木的枝干是一种圆台型的几何体而VRML中并没有提供此形状的可用节点, 所以需要自己使用PROTO节点定义出该造型。在常用可见节点Shape中的geometry域里, 我们选用挤出造型类 (Extrusion) 来模拟枝干形状。Extrusion节点中的crossSection域可设置一组在同一平面上的点。然后由那些点前后相连形成的一条曲线作为该形状的母线, 通过该节点中的spine域定义的路径平移该母线随即形成一个挤出造型。而且该节点中的scale域可以控制母线在平移过程中的缩放。Transform节点中的rotation域、scale域、translation域分别对应树干的各种参数, children域包含先前自定义的Trunk节点。
2.2 旋转处理
控制枝干旋转的Rotation域由4个浮点型 (float) 数据组成, L字串中F字符给予的关于旋转的信息是基于上一个枝干的旋转方向和旋转弧度。所以确定旋转轴时需要时刻记录上一个枝干旋转后的枝干坐标系的矩阵描述, 然后, 再通过F字符中包含的旋转信息, 找出在该坐标系矩阵中对应的三个旋转轴:x轴, y轴, z轴。转后的枝干坐标系矩阵的标准轴信息可以通过以下公式得出:MX=VX·M MY=VY·M MZ=VZ·M其中M为此时的物体坐标系矩阵, VX (100) , VY (010) , VZ (001) ;MX、MY、MZ就是该枝干坐标系对应的XYZ轴在该树木的惯性坐标系中的朝向。
根据L系统关于旋转的定义:枝干的坐标系矩阵由最初的单位矩阵 (E矩阵) 开始的, 每次旋转都是绕自己的 (即本枝干的) XYZ坐标系旋转的, 而不是该树木的惯性坐标系。则这就关系到绕任意轴旋转的问题。绕任意轴旋转就是在任意一个角度, 任意一个方向的旋转。例如绕任意单位轴r旋转角度α的步骤如下:1) 由r构造一个正交坐标系;2) 变换坐标系, 使得r与x轴重合;3) 绕x轴旋转;4) 通过转置矩阵变换回原始状态。
2.3 步进的处理
至此, 对L字串中的各字符和相关控制信息解析工作做完毕, 下面是用C++语言实现的树木模型:
3 结论和展望
该论文提出了L用-s Lys-tseysmtem管理植物形态和智能化生成的思想, 使开发人员可以设置相关参数就能快速且智能的生成树木。对论文开篇提出的两个矛盾进行了一定程度的解决。不过该方法仍有不足和值得改进的地方。首先树木模型的建立程序较多的依靠手工编码, 不利于非专业人士使用, 将来朝着完全图形化用户界面方向努力, 形成所见即所得模式。最后, 在大规模森林场景中树木生成的加速算法也会在将来的研究计划之中。
参考文献
[1]Chen.C.Y, Cheng.K.Y.A Sharpness-Dependent Filter for Recovering Sharp Features in Repaired 3D Mesh Models[J].IEEE Transactions on Visualization and Computer Graphics, 2008, 14:200-212.
[2]Chen X., Peng G.H., Zhao C.Dynamic simulation for trees swaying in wind based on fractal 3D L system.Computer Engineering and Application[J], 2008, 44.
虚拟场景建模技术 篇4
关键词:虚拟校园,GoogleEarth,3DSMAX,场景建模
虚拟校园是基于地理信息技术、虚拟现实技术、计算机网络技术等高新技术, 将校园地理信息和其它校园信息结合, 以三维可视化和虚拟现实场景界面实现校园景观、校园信息的浏览、查询, 并可以上载到计算机网络, 提供远程用户访问的一个新的校园空间[1]。本文主要介绍模拟四川文理学院新校区的校园景观的虚拟环境, 研究一套符合本学院的校园建模技术。通过本系统, 学生和家长可以在任何时间和地点通过网络在线访问虚拟校园系统, 了解学校的各个部门的地理位置和建筑环境。
1、实体建模的前期准备
在整个虚拟校园系统的设计中三维场景的建模工作量最大、投入的时间与精力最多。本系统中所有的三维模型是使用3ds Max建立完成。建模过程中, 应该依据不同的事物区别对待。在一般的建筑场景中采取的最佳建模方式就是使用多边型建模方式来建立模型, 而模型贴图根据模型的情况采用UVW maping方式进行贴图。
1.1 建筑场景的数据采集
在建模之前需要作的准备工作是进行实地的数据采集和拍摄照片获取贴图数据。从实地拍摄的数码相片中选取合适角度的照片在Photoshop中进行拉伸扭曲得到所需贴图单元, 保存为JPG格式 (如图1.1) , 为后期建筑模型贴图作准备。
1.2 卫星底图绘制
采用Google Earth卫星截图作为整个校区的地面底图 (如图1.2) , 对卫星图的建筑实体及公共实体进行标号注明, 并根据卫星图已标建筑进行逐一拍照整理, 将卫星图导入3D中 (文件/导入) , 进行地块的勾勒绘制, 预留人工湖和路网。
2、建筑模型的建立
由于大多数建筑物, 一般都是由正方体的形状构成, 因此使用多边形来建立模型是最适合的。在建立模型之前首先观察建筑的形态, 再建立出大概的轮廓, 最后再使用多边形的修改命令来完善模型。在建筑物上会有许多凸起部分, 不能全部使用模型来实现它, 使用贴图效果来充当凸起部分的面是三维程序惯用的手法, 这样也能是一个平面看起来更加富有立体感。下面介绍三维模型的建立过程:
(1) 首先打开3ds Max导入先前已经完成的卫星底图, 用于约束模型的比例和作为建立模型的参照, 然后在顶视图的窗口建立出建筑物的大概轮廓。
(2) 有了底图作为参照, 按照数码相片的取材估算出建筑物的每层楼的大概高度, 然后建立出组成建筑物的多边形组合。建筑物的主体主要是一个长方体, 然后通过3Dmax的多边形修改器的cut命令在长方体上切割出分割线, 再选择面工具的挤压 (Extrude) 命令来制作出突起面。
(3) 在建筑物的主体中, 有突出面也有塌陷的面, 这里使用到布尔运算的修改面板来制作出模型的塌陷面。
如果想用布尔运算在一扇墙上开窗户或门, 最好把所有的窗户或门连接成一个对象, 然后只用一次布尔运算来实现开窗户或门的操作;在对样条曲线进行布尔运算前, 要确保所有的样条都被结合到了一起, 否则它们是不会进行布尔运算的。
(4) 制作完建筑物的主体以后, 再使用正方形建模工具在主体的旁边建立出突起部分, 再使用多边行修改工具挤压出楼梯、柱子、花坛等辅助模型, 最后完成的建筑物三维模型。
(5) 在完成模型的建立以后, 要检查模型是否有多余的面和不可见的面, 这些面必须得全部删除, 以确保模型的面达到最少, 以减少程序导入三维模型的负荷。
在地形中, 比较矮小的坡度则不进行3D建模, 而是使用贴图取而代之, 这样将会最大程度上减小程序的开销。
3、材质与贴图的处理
建立模型之后的工作就是给模型赋予材质和贴图。在3ds Max中材质就是模型的灵魂, 一个好的材质会使模型有生气。3ds Max中最简单的是Bitmap贴图。除此之外还有多种贴图形式。在三维制作中, 位图是较为常用的一种二维贴图。在三维场景制作中大部分模型的表面贴图都需要与现实中的实体相吻合, 而这一点通过其它程序贴图是很难实现的, 也许通过一些程序贴图可以模拟出一些纹理, 但这也与真实的纹理有一定差距。所以选择以数码相机拍摄手段获取的位图作为建筑立体图对象的贴图。
制作过程如下:
从实地拍摄的数码相片中选取合适角度的照片在Photoshop中进行拉伸扭曲得到所需贴图单元, 保存为JPG格式。在3ds Max中, 调用经过处理过的图片进行贴图, 初步贴上的图在建筑物上是很不规则的, 所以需要运用修改工具中的UVW贴图坐标。贴上实地采集的相片使得所得图像与实际建筑物很接近。使用Unwrap UVW贴图方式一般用于较复杂的模型贴图, 因为它能够自定义UVW坐标的位置, 所以它能够把几图片都集成在一张贴图上面, 这样能省下不少资源。
对于材质中的二维贴图, 物体就必须具有贴图坐标。这个坐标就是确定二维的贴图以何种方式映射在物体上。它不同于场景中的XYZ坐标系, 而是使用的UV或UVW坐标系。因为大多数建筑都是呈矩形, 因此使用box与planar两种方式比较常用, 在使用box与planar通常是用在重复的无缝贴图上面。而Cylindrical贴图方式则常用在圆柱面的贴图上。
4、渲染及后期处理
所有主要建筑建模好后, 最后是根据统一的视图角度进行渲染, 渲染时, 要绘制一个地面并给阴影材质, 对三维虚拟校区使用不同的区域和高度进行分区渲染, 结合photoshop进行后期的拼合处理, 在整个校区中对对主要的路名和斑马线进行PS绘制, 并对校区内的两个湖泊翠柳湖和凝碧潭进行的绘制, 最后是进行植物的添加及城市的美化。对植物的添加方面主要包括树木和广场景观。
5、结语
本文以四川文理学院新校区为例, 就三维虚拟校园电子地图的三维建模技术进行探讨, 提出了一套使用3DMAX的三维建模技术和后期数据处理技术, 并为制作虚拟校园三维电子地图的系统做好前期工作。
参考文献
[1]牟萍.虚拟校园建模、漫游技术研究及其实践[D].硕士, 重庆师范大学, 2006:1-1.
[2]李宝瞳, 刑丹丹等.基于OpenGL的虚拟校园建模与漫游系统设计和实现[J].光盘技术, 2007 (4) :18-20.
[3]王瑞玲, 陈振明等.基于场景建模的虚拟漫游系统[J].计算机应用与软件, 2007 (7) :123-125.
[4]张荣华.几何建模技术在虚拟校园漫游系统开发中的应用[J].计算机工程与设计, 2008 (12) :6146-6148.
对虚拟场景语音交互技术的研究 篇5
关键词:虚拟交互,语音识别模块,XML技术,语音控制,虚拟现实
0 引言
随着计算机技术的不断发展, 网页上一些文本、图片等二维展示途径已经满足不了人们的需要, 三维建模语言的出现则满足了人们的这一要求。VRML是基于Web的虚拟现实建模语言, 是第二代Web的标准语言, 它是一种用文本信息描述三维场景的描述性语言, 是Internet上3D文件描述、交换的标准。其基本原理是利用文本信息描述三维场景, 在Internet网上传输, 在本地机上通过支持VRML浏览器解释执行并显示创建的三维场景。在交互方面, VRML可以通过两种技术实现交互功能。一种是传感器交互技术, 另一种技术是脚本编程交互技术[1,2]。
现阶段对虚拟场景的交互还都停留在鼠标交互的阶段, 并不能完全满足人们的使用习惯。而随着语音识别技术的快速发展, 将语言这种人类最直接、最有效、最常用和最方便的通信方式用于虚拟场景的交互成为了现实。语音识别技术是以语言为研究对象, 让机器通过识别和理解过程把语音信号转变为相应的文本或命令, 使人机能自然地进行语音交流的技术。随着时代进步, 语音识别技术已经发展成一门综合人类智能各项研究的独立学科, 逐步成为信息技术中人机接口的关键技术[3]。
1 技术架构
本文所提出的语音控制虚拟场景的方法涉及到语音识别技术, XML技术, 对象编程技术, 计算机辅助设计技术、虚拟现实技术和网络技术等, 其技术架构如图1所示。
硬件层包括PC机和麦克风, 麦克风用于声音信号的采集, PC机作为计算逻辑层、数据库层、用户界面的载体。计算逻辑层是整个系统的核心, 其中语音识别模块对通过麦克风获取的声音信号进行处理, 生成定义好存储结构的XML文档, XML文档就存储在数据层。逻辑运算模块主要包括XML数据管理和一些虚拟算法功能。虚拟算法如平移算法、旋转算法、综合 (平移、旋转) 算法, 力学模型的变形算法, 交互映射, 实时仿真管理等算法通过VRML或JSP/ASP, Java等编程语言来调用XML数据文档, 把多个XML数据文档作为数据与存储层, 通过DOM解析被调用, 从而生成新的VRML程序[4]。用户界面层可采用HTML的样式或VRML浏览器的方式显示实时变化的虚拟现实的场景。
在架构图中的数据层、计算逻辑层和用户界面层是分开的, 使不同类型用户可访问同一计算层, 但可根据每一类用户的特定需要定制不同的界面;硬件层、数据层、计算逻辑层可位于主机端, 而用户界面层位于客户端;由于数据层和计算逻辑层是在计算机后台执行的, 所以整个系统的直观概念就是语音直接改变了用户界面的虚拟场景。
2 关键技术与实施过程
2.1 基于Via Voice的语音识别模块设计
2.1.1 识别模块的识别流程
语音识别技术从20世纪50年代开始提出, 到现在已经有近60年的发展历史, 许多公司都相继推出了语音应用软件, IBM公司推出的Via Voice语音应用软件已经日趋成熟, 并且支持汉语识别。IBM Via Voice提供了与其它应用软件接口的API函数。可以在PC机上编写具有可视化界面的语音识别软件, 通过API函数将IBM Via Voice作为语音引擎[5]。通过语音识别软件, 我们语音将信息判断, 提取有用的语音信息存储到XML文件中。图2为此软件的语音信息识别流程。
2.1.2 识别模块设计时拟解决的关键问题
(1) 在实际运用中, 每个用户的发音各不相同, 识别的效率会有所影响, 所以进行自适应的学习是十分必要的。即让用户先朗读一段特定训练文件, 系统采集用户的发音特征, 形成相应的配置文件, 从而在以后使用中根据此配置文件有效地完成识别, 这样可以显著地提高识别的准确率。针对多用户的情况, 系统可以同时使用多个配置文件, 当特定人员使用时, 只需要选择相应的配置文件, 识别引擎就可以准确地依据此文件来进行语音识别, 从而满足多用户系统的要求。
(2) 在语音消息循环中, 对语音进行连续识别, 将识别结果与交互文件中用户根据自己需要定义的内容进行匹配, 最后由语音输入引擎将符合匹配的信息存储到XML文件中。
(3) 对于数字语音, 需要进行汉语文字信息向数学数字之间的转化, 如通过识别引擎得到的是类似于“一千三百二十一点零六”的语言文字信息, 用来驱动的消息参数必须转化为1321.06。这一部分的实现需要在程序中对数字信号进行拾取与规整。
(1) 定义对应标记: ({“q”, “千”}, {“h”, “百”}, {“t”, “十”}, {“p”, “点”}, 和{“0”, “零”}, …, {“9”, “九”}) 。
(2) 把文字信息转为用定义的标记进行表示, 为了进行统一处理, 需要把文字信息转化为标准的定义格式:_h_t_p__对于一些特殊的汉语语法, 如“十八”, 直接转化结果为“t8”, 所以需要进行规则化处理, 把其变成系统可以进一步处理的“1t8”格式。
(3) 对于数字的处理, 小数点前面部分的处理和小数点后面的处理是不一样的, 所以在处理之前, 程序把规则化后的字串以“p”标记为中心分为前后两部分, 记为str Before Point和str After Point。
(4) 遍历str Before Point和str After Point的字符串, 找出所有的数字, 将他们进行差位补零和公式相加运算即可得到实际的数字信号。
整个数字信号拾取与规整流程如图3所示。
2.2 用XML作为语音交互中信息数据的存储方式
2.2.1 采用XML文件作为参数的存储方式的优势
由W3C (World Wide Web Consortium) 根据SGML (Standard Generalized Markup Language) 推出的XML语言与HTML一样都是标记语言, 而XML强大的功能, 描述数据和交换数据的平台无关性深得业界的关注。XML包含三要素, DTD (Document Type Definition) 或XML Schema (XML大纲) , XSL (可扩展样式语言) 和XLink (可扩展链接语句) 。DTD或Schema规定了XML文件的逻辑结构, 包括XML文件的元素、元素的属性、元素与元素属性见得关系;XSL用于规定XML文档呈现的样式, 使数据与其表现形式相互独立;而XLink将进一步扩展目前Web上已有的简单链接[6]。
语音识别模块, 将语音信号转为数据信息后, 可以采用数据库来存储数据, 也可以采用XML文件存储数据。相比较, 采用XML文件存储数据具有更大的优势: (1) XML具有跨平台姓、自描述性和可扩充性, 是Internet上分布式应用程序相互交互数据的标准格式。 (2) XML比数据库更轻巧和灵活, 访问效率更高, 非常适合实时要求高的三维程序, 把XML以文件形式存放在服务器端可以作为Java Applet的参数下载到客户端, 直接在客户端执行, 速度快, 而数据库必须在服务器端, 访问速度慢, 而且Java Applet访问数据库有复杂的安全限制。
2.2.2 XML文件设计
语音识别系统的目标是生成中间转换的XML文档。每个XML文档的结构类型是各不相同的, 这是有语音的命令类型决定的。如移动、旋转、缩放、闪烁、透明变化等各种命令, 他们对应了XML文档的各个根元素move, rotate, scale, flash, transparent。例如语音命令“叉车四秒内沿X轴正方向行走五米”, 生成的XML文档内容为:
<?xml version=”1.0”?>
<!DOCTYPE move SYSTEM“move.dtd”>
<move>
<partname>forklift</partname>
<time>4</time>
<axis>x</axis>
<plus_minus>plus</plus_minus>
<distance>5</distance>
</move>
上面生成的XML文档表征了各元素的参数内容, 是一个结构良好的XML文档, 但要作为一个有效的XML文档, 还要符合规定文档约束的DXD或XML Schema文件。对于移动命令的包含DTD的”move.dtd”文件如下:
<ELEMENT move (partname, axis, plus_minus, distance) >
<!ELEMENT partname (#PCDATA) >
<!ELEMENT time (#PCDATA) >
<!ELEMENT axis (#PCDATA) >
<!ELEMENT plus_minus (#PCDATA) >
<!ELEMENT distance (#PCDATA) >
2.3 XML映射到虚拟场景的虚拟算法
2.3.1 虚拟算法的实现步骤
要实现虚拟场景的变化, 需要将存储在XML文件中命令信息映射到虚拟场景中。在XML文档中, 数据是以层次化树状结构组织的, 虚拟算法就是将树状结构的元素映射到虚拟场景中的各个节点和Java Script脚本中。实现XML到VRML的映射有以下两个步骤。
XML文档要通过XML解析器和XSL样式单, 得到VRML所需的信息。解析是首先检验XML文档是否Validate, 然后将XML文件转换为可以通过程序语言处理的对象。如DOM (文档对象模型) 。DOM解析是基于树型的解析技术。当XML文档被加载后, 在内存中就构建起一棵完整的解析树, 解析树是一组对象的集合, 通过操作这些对象, 可以实现XML文档的全面、动态的访问。最后通过DOM树来访问树中任何一个对象, 从文档中获取所需的信息[7]。
对所获取的信息, Java语言进行转化和整合。在Java语言中, 支持VRML的Script节点的API提供了类的集合和方法, 程序脚本可以通过调用它们来访问借口field和event Out, 例如get Field和get Event Out方法就分别获得接口field和event Out的句柄 (handle) , 拥有句柄就可以对对象 (物体) 进行多方面的操作, 提供类扩展实现数据类型的转换。用户可创建initialize方法和shutdown方法控制脚本程序, 创建与event In事件同名的方法对事件做成响应, 用get Browser访问访问浏览器。通过编写Java程序进行有关运算并调用相应API, 可实现宿主节点、Script节点和程序脚本的交互, 完成所希望的功能。
2.3.2 虚拟算法的具体实现过程
以上面提到的语音命令“叉车四秒内沿X轴正方向行走五米”为例, 其具体实现过程是:先在VRML文件中定义各个动画的通用节点, 下面的代码为平移动画的通用节点。
语音命令“叉车四秒内沿X轴正方向行走五米”经语音识别模块和XML模块生成XML文档, 此处先经过XML解析器解析, 然后由Java程序传给VRML内部文件。XML文档的根元素是”move”, 确定将平移动画的节点实例化, 节点中的各域值也可以得出作用体Transform Node为forklift, EnduringTime 4, start_position 0 0 0, end_position 5 0 0。在域值确定和实例化后, 在浏览器中就会出现“叉车沿X轴正方向行走五米”的动作。
3 应用实例
上述方法已应用到锯片生产车间虚拟规划系统中, 实现了语音与生产车间虚拟场景的交互, 快速地改变不同的工艺操作在车间里的规划。直到在有限的生产车间内各个操作工艺都能实施, 并满足生产要求。图4为在语音规划的不同时刻, 车间里各操作工艺的实际情况 (绞孔机和绞平机在规划车间中的位置不同) 。
4 结束语
利用语音来驱动虚拟场景变化是一种新型的虚拟场景交互方式, 具有交互操作方便, 信息响应速度快的优点。在虚拟规划、虚拟装配和虚拟设计等领域有着重要的实践意义。因为整个技术环节的效率主要是由语音识别的效率决定的, 随着语音识别技术的提高, 这一技术会得到更广泛的应用。
参考文献
[1]杜宝江.虚拟制造[M].上海:上海科学技术出版社, 2012:310-367.
[2]杨琳.基于VRML和Java Script的动画控制机制[J].系统仿真技术, 2012, 8 (3) :205-208.
[3]刘幺和.语音识别与控制应用技术[M].北京:科学出版社, 2008:15-34.
[4]张倩茜, 陈家新.基于XML-VRML的三维模型可视化系统[J].河南科技大学学报, 2005, 26 (6) :52-58.
[5]基于语音识别技术的交互绘图系统的设计与实现[D].大连:大连理工大学, 2006.
[6]李玉忠, 贾达贵.基于XML的虚拟现实研究[J].计算机仿真, 2006, 21 (4) :87-90.
虚拟场景建模技术 篇6
大规模、复杂虚拟场景的建模和绘制是计算机图形学最为重要的研究问题之一[1]。随着三维扫描和几何建模技术的快速发展,构建高度复杂的三维场景已经变得相对容易,可以包含几亿甚至几十亿个三角形和高分辨率纹理。若不采用合适的处理技术,即使利用最新的图形处理器也无法在普通PC上实现上述数据集的交互式绘制。虽然可利用模型简化和可见性剔除技术来加速虚拟场景绘制,但采用这类技术的实时绘制系统主要侧重于速度,它们通过牺牲画面质量来实现快速绘制[1]。
由于图形硬件本身的固有限制,对于大数据集仍无法实现复杂的光线跟踪、辐射度、光子跟踪等全局光照明绘制算法。为此,可采用基于图像的绘制IBR技术[2]来解决高质量实时图形绘制问题。基于图像的绘制技术以给定图像/视频序列作为输入,利用采样数据来重建全光函数的连续表示,然后通过重采样得到目标视点的图像[3]。由于可使用三维造型和绘制软件来离线绘制高质量的输入图像,IBR系统可取得比传统实时绘制系统更好的视觉效果。
现有IBR技术,如全光建模[3]、全光拼接[4]、同心拼图[2,5]等,主要面向真实场景。这些IBR技术采用的场景表示、绘制算法和结果图像质量都取决于获取的几何信息的精确性。它们采用计算机视觉算法来计算相机参数和图像之间的对应关系或者场景几何模型,视觉算法的不稳定性限制了它们的应用场合。另外,它们使用的绘制算法也没有利用图形处理器(GPU)的可编程性来提高系统性能[6]。
虚拟场景与真实场景相比具有自身的特点。对于给定的虚拟场景,通过交互设定虚拟相机的运动路径,可以非常方便地获取全光函数的多个样本。另外,利用三维造型和动画软件,如3DS Max、Maya等,不仅可以得到绘制图像的颜色信息,还可以得到Z-Buffer中保存的深度值,这些深度值给出了虚拟场景在相机位置的局部精确几何信息[7]。利用获取的全光函数样本和Z-Buffer中的深度值,可以设计多幅深度图像混合绘制技术来生成目标画面[8]。虽然可将面向真实场景的IBR技术直接应用于虚拟场景,但由于它们的场景表示和绘制算法没有充分利用虚拟场景自身的特点,因此,它们并不是虚拟场景IBR的最合适方法。
本文研究面向虚拟场景的IBR技术来克服现有方法的不足,提出以深度全景视频DPV(Depth Panoramic Video)作为场景表示的基本单元,通过多段深度全景视频组成的深度全景视频网络来表示虚拟场景的漫游区域,它允许视点在漫游平面的封闭区域内连续运动。绘制算法根据目标视点参数来计算深度全景视频环中对目标图像有贡献的候选区域,综合利用GPU的强大处理能力和浮点格式的绘制目标[6],以及多幅深度图像混合绘制技术对候选区域进行绘制来生成目标图像。
1 深度全景视频
1.1 基本表示
深度全景视频是深度全景图的动画序列。深度全景图是全景图的一种扩展,它由全景图、相机参数和全景深度图三部分组成。全景深度图记录了全景图的像素所对应的场景深度值,深度值可通过三维软件或者三维重建算法获得。相机参数和全景深度图给出了场景在相机位置的局部精确几何信息。全光函数的原始描述并不涉及几何信息[3],包含几何信息的描述方法可看作它的一种扩展。几何信息用于绘制过程中全光函数的重建,它并不改变全光函数的维数。
深度全景图包含了相机位置沿空间所有方向的可见信息,可看作全光函数的一个样本,需两个参数来描述它所包含的光线,即:
其中(θ,ϕ)描述了光线方向。深度全景视频可看作一种三维全光函数,需三个参数来描述它所包含的光线。即:
其中t表示光线所在的深度全景图在图像序列中的编号。
选择立方体的外表面作为投影面来记录全光函数的样本。使用该投影表面,深度全景图可分解为具有公共投影中心的六幅深度图像,其中每幅图像对应于立方体的一个面。相应地,深度全景视频可分解为六段深度图像序列。
1.2 复合表示
对于大部分虚拟场景漫游应用,人眼一般局限于某个平面/高度场上[2,4,5],我们称该平面/高度场为漫游平面。某一时刻,漫游平面发出的光线需四个参数来表示,即:
其中(u,v)表示光线在漫游平面上的参数坐标,(θ,ϕ)描述了光线方向。
由于深度全景视频只是一种三维全光函数,为采集漫游平面发出的光线,必须使用多段深度全景视频。这些深度全景视频在漫游平面上相互交错,形成网状结构,我们称它为深度全景视频网络。图1给出了一个深度全景视频网络。图1(a)为某个虚拟场景的俯视图,我们对方框内的区域进行光线采集。图1(b)中粗线条表示深度全景视频的相机路径。
由图1可以看出,多条深度全景视频可围成具有一定面积的封闭区域,我们将构成区域边界的所有深度全景视频称为深度全景视频环。深度全景视频环是深度全景视频复合结构中最简单的一种,深度全景视频网络由多个深度全景视频环彼此连接构成。
理想的漫游系统允许用户在三维空间中自由移动,描述三维空间中的光线需五个参数[3],即:
其中(Vx,Vy,Vz)表示光线在三维空间中的位置,(θ,ϕ)描述了光线方向。
我们采用空间分层方法来描述自由空间中的光线。该方法以某个坐标分量(比如说Vz)为基准对空间进行分层,然后在每一层以另外两个坐标分量(Vx,Vy)作为光线在漫游平面上的参数坐标。该方法实质是将光线的空间位置(Vx,Vy,Vz)转化为(n,u,v)三元组,其中n表示光线所在层的编号,(u,v)为光线在漫游平面上的参数坐标。采用空间分层方法,可以在每一层采集深度全景视频网络,从而表示整个虚拟场景。
2 虚拟场景绘制
深度全景视频环是虚拟场景绘制的基本单元。深度全景视频环采集了从漫游平面某个封闭区域边界出发的所有光线。对于给定深度全景视频环内的任意视点,首先根据目标视点参数(位置、朝向和视域范围)来确定深度全景视频环中哪些深度全景图在目标视点可见,以及这些可见的深度全景图中对目标图像有贡献的区域(简为候选区域)。然后,计算候选区域内每一像素的混合权。混合权描述了像素对目标图像的贡献比例[9,10],通过权函数来计算。权函数的选择可根据具体应用场合而定,通过设计不同的权函数可以控制目标图像的绘制质量。最后,利用深度图像三维变换技术把所有对目标图像有贡献的候选区域warping到目标视点,并使用多幅深度图像混合绘制技术来绘制目标画面[8]。
对于深度全景视频网络,首先确定视点所在的深度全景视频环,然后利用上述绘制技术来生成目标视点画面。由于绘制算法使用的三维变换方程描述了视点之间的透视变换关系,视点可自然地从一个深度全景视频环过渡到另一个深度全景视频环。利用这种分而治之的策略,可实现视点在深度全景视频网络内自由运动。
综上所述,虚拟场景绘制的基本过程如下:
Step1.在深度全景视频网络中,根据视点所在虚拟场景中的位置(u, v)和高度h确定其所在的深度全景视频环。
Step2.利用深度全景视频环绘制技术生成目标视点画面。
2.1 深度全景视频环绘制
深度全景视频环采集了从漫游平面某个封闭区域边界出发的所有光线,可以利用这些采集的光线来生成视频环内任意视点位置的目标图像。绘制算法将候选区域重建为三角形网格,然后利用三维变换将它们warping到目标视点[8],并将绘制的结果通过视点空间Z偏移和浮点混合技术来生成目标图像。深度全景视频环绘制的基本过程如下:
2.2 候选区域计算
对于给定的深度全景视频环,绘制算法的目标是利用视频环中采集的光线来生成它内部区域任意视点的目标图像。将目标图像的每一个像素看作一根光线(称为目标光线),计算目标光线的颜色等价于对采集的若干光线的颜色进行插值。几何代理是场景几何信息的一种近似表示[10],大部分IBR技术都使用几何代理计算插值光线,从而提高系统的绘制质量。
深度全景图中的全景深度图包含了全景图中每一像素的深度信息,利用相机参数和全景深度图,可以重建虚拟场景在相机位置的局部精确几何。因此,本文将全景深度图作为场景的几何代理。利用全景深度图作为场景的局部几何代理,与传统方法不同,本文绘制算法不需显式地查找每根目标光线所需的插值光线,而是根据视点参数来确定每个全光样本对目标图像有贡献的区域,然后将这些候选区域warping到目标视点,并利用多幅深度图像混合绘制技术来生成目标图像。
对于给定深度全景视频环,绘制算法需根据视点参数来确定深度全景视频环中哪些深度全景图在目标视点可见以及这些可见的深度全景图中对目标图像有贡献的区域。图2说明如何完成这一任务,其中矩形表示深度全景视频环的相机路径,三角形表示目标相机,圆和圆心发出的一簇光线表示一幅深度全景图。不失一般性,使用相机路径上相邻的三幅深度全景图{Si}i=1,2,3来说明问题。
令{Li}i=1,2,3表示从目标相机D的投影中心O出发,通过深度全景图{Si}i=1,2,3的相机投影中心{Oi}i=1,2,3的射线集合,{Pi}i=1,2,3为{Li}i=1,2,3与目标相机成像平面I的交点集合。若Li在目标相机D的视域范围内,则认为深度全景图Si在目标视点可见,它会对目标画面有所贡献。下面讨论如何确定深度全景图Si中对目标图像有贡献的区域。
如图2(a)(b)所示,以深度全景图S1的投影中心O1为始点作平行于L2的射线L′2;以深度全景图S2投影中心O2为始点作分别平行于L1和L3的射线L′1和L′3。
对于成像平面I上{Pi}i=1,2,3三点,它们对应的目标光线{Li}i=1,2,3通过深度全景图{Si}i=1,2,3的相机中心{Oi}i=1,2,3,可用{Si}i=1,2,3中与{Li}i=1,2,3方向相同的光线颜色作为{Pi}i=1,2,3的颜色。对于P1与P2之间的像素所对应的目标光线L,需对S1和S2中与L方向相同的两根光线进行插值来计算L的颜色值。利用上述插值策略,参考图2(a)不难看出,绘制P1与P2之间的像素只需S1中位于射线L1与L′2夹角范围内的光线和S2中位于射线L′1与L2夹角范围内的光线。同理,可得到P2与P3之间的像素绘制时,S2和S3中对目标光线有贡献的区域。对于深度全景图S2来说,它对目标图像有贡献的区域由两部分组成,可将它们合并为一个更大的区域(图2(b)中L′1与L′3的夹角范围)。
上述搜索策略假设场景在无穷远处,基于该假设得到的区域是候选区域的最乐观的估计。实际应用中,若场景中物体距离虚拟相机较近,上述区域估算方法将出现重建盲区。通过扩大候选区域面积来减小重建盲区面积,一个简单方法是使用相机路径上与它编号距离为r(r≥2)的全光样本信息。
综上所述,若使用与深度全景图编号距离为r(r≥2)的全光样本作为搜索策略,估算目标图像候选区域基本过程如下:
2.3 混合权计算
根据光线插值策略,候选区域中每一像素对目标图像的贡献均不相同,用混合权来描述像素对目标图像的贡献比例。图3以深度全景图S2为例(参看图2),说明如何计算候选区域中像素的混合权。
图3中,L2表示从目标相机投影中心O出发,通过S2的相机投影中心O2的射线(参看图2),空心圆表示候选区域的像素。根据极点一致性准则[10],L2所对应的候选区域像素的混合权应最大,候选区域边界所对应像素的混合权最小,它们之间像素的混合权应从最大值连续变化到最小值。混合权的计算以图像列为基本单元,候选区域中位于同一列的所有像素具有相同的混合权。
下面以一次函数作为权函数 (图3中w3)来说明如何计算像素的混合权。设L2右侧区域中像素qi所对应的光线与L2的夹角为angle(i),区域右侧边界与L2的夹角为angleright,则像素点qi的混合权为:
L2左侧区域的像素混合权可同理计算。
权函数的选择可根据具体应用场合而定,通过设计不同的权函数可以控制目标图像的绘制质量[9,10]。GPU支持的浮点混合技术[6],允许使用更一般的权函数,如截断的sinc函数(图3中w1)、高斯函数(图3中w2)来控制重建结果。
综上所述,若以一次函数作为权函数,则混合权算法的实现方法如下:
3 实验结果
3.1 数据说明
利用3DS Max软件,依照1.1节介绍的方法从浙江大学新校区规划场景中采集深度全景视频环。该场景包含了大量三维几何和精细纹理,在硬盘上占用超过1GB的存储空间。数据采集时,每台虚拟相机生成深度图像的分辨率为512×512。以矩形的每条边作为相机路径,均匀采集50幅深度全景图,深度全景视频环一共包含200幅深度全景图,整个采集过程大约需要8小时。使用脚本程序从3DS Max软件的绘制结果中提取颜色信息、深度信息和相机参数。整个数据获取阶段需要12小时左右。
3.2 实验结果
我们在一台配备NVIDIA GeForce GTX260图形卡、Intel i7-920四核CPU的PC上实现了一个浙江大学新校区的漫游系统。该系统根据当前视点信息,使用2.1节介绍的绘制流程来生成目标图像,它允许视点在深度全景视频环的内部区域作连续运动。用一张表面格式为D3DFMT_A16B16G16R16F的浮点纹理作为绘制目标来保存混合绘制结果。将该纹理映射到一个四边形上,通过绘制带纹理的四边形来显示最终画面(分辨率为512×512)。绘制过程中目标相机的视域(FOV)保持不变,始终为70度。
系统绘制一帧所需的时间随目标相机视域内候选区域的变化而变化。若相机运动过快,候选区域缓存命中率会急剧降低,这时系统性能最差,平均速度为每秒25帧左右,如图4(a)。在大多数运动模式下,缓存的使用会极大地提高系统的响应速度,系统最大绘制速度为每秒160帧左右,如图4(b)。
图5给出场景的几个典型绘制结果。图5(a)给出视点在两个不同位置得到的绘制图像。由于三维warping可以描述视点之间的透视变换关系,建筑物本身的直线特征得到了保持。图5(b)左图中临水建筑具有四根柱子,由于视点位置改变会引起物体之间遮挡关系发生变化,在右图中只能观察到三根,其中一根被遮挡。本文提出的绘制技术不仅可处理遮挡变化,还可生成与视点相关的光照效果。比较图5(b)中左右两幅图可发现视点变化引起的水面高光区域的改变,浮点纹理混合技术使重建的高光区域非常平滑。
4 总结与展望
本文提出了一种面向虚拟场景的深度全景视频绘制技术,以深度全景视频作为场景表示的基本单元,以深度全景视频环作为场景绘制的基本单元。通过多段深度全景视频组成的深度全景视频网络来表示虚拟场景的漫游区域,它允许视点在漫游平面的封闭区域内连续运动。该技术综合利用GPU的强大处理能力和浮点格式的绘制目标,以及多幅深度图像混合绘制技术对候选区域进行绘制来生成目标图像。实验结果表明,本文提出的深度全景视频绘制技术可实现大规模虚拟场景高质量实时绘制。在未来,我们将研发出一套完整软件工具,支持面向虚拟场景的深度全景视频获取、压缩和网络传输的完整流程,将深度全景视频绘制技术应用于互联网,在自由视点视频、三维立体电视等应用领域获得应用。
摘要:高度复杂的三维场景通常包含几千万甚至上亿个三角形和丰富的纹理,大大超过了目前图形硬件的处理能力。传统基于几何的绘制系统通过牺牲画面质量来实现场景的快速绘制。与此不同,基于图像的绘制技术利用逼真的图像序列来生成高质量的目标画面。研究面向虚拟场景的IBR(Image-Based Rendering)技术来克服现有方法的不足,提出以深度全景视频DPV作为场景表示的基本单元,通过多段深度全景视频组成的深度全景视频网络来表示虚拟场景的漫游区域,它允许视点在漫游平面的封闭区域内连续运动。绘制算法根据目标视点参数计算深度全景视频环中对目标图像有贡献的候选区域,综合利用GPU的强大处理能力和浮点格式的绘制目标,以及多幅深度图像混合绘制技术对候选区域进行绘制来生成目标图像。实验结果表明,深度全景视频绘制技术可实现大规模虚拟场景高质量实时绘制。
关键词:虚拟场景,基于图像的绘制,深度全景视频
参考文献
[1] Moller T A,Haines E,Hoffman N.Real-Time Rendering[M].3rd ed.AK Peters,2008.
[2]Shum H Y,Chan S C,Kang S B.Image-Based Rendering[R].Spring-er,1 edition,September 28,2006.
[3] McMillan L,Bishop G.Plenoptic modeling: An image-based rendering system[C]//Computer Graphics (SIGGRAPH95),1995:39-46.
[4]Aliaga D,Carlbom I.Plenoptic stitching:a scalable method for recon-structing 3D interactive walkthroughs[C]//SIGGRAPH 2001:443450.
[5]Shum H Y,He L W.Rendering with concentric mosaics[C]//SIG-GRAPH 1999:299-306.
[6] http://www.microsoft.com/games/en-US/aboutGFW/pages/directx.aspx.
[7]http://usa.autodesk.com/adsk/servlet/pc/indexid=14898170&siteID=123112.
[8]Jiang Z,Wong T T,Bao H.Three-Dimensional Image Warping on Pro-grammable Graphics Hardware[R].Technical Report,CAD&CG Lab,Zhejiang University,TR-03-01,2003.
[9] Isaksen A,McMillan L,Gortler S.Dynamically reparameterized light fields[C]//SIGGRAPH 2000:297-306.
虚拟场景建模技术 篇7
随着测绘科技与计算机技术的发展,GIS作为国民经济建设中的一个重要信息管理系统,已从二维平面图向三维GIS领域延伸拓展,三维电子地图、数字城市等三维GIS的应用已越来越深入到人们的日常生活中。在增强交互功能,提高三维地理场景的逼真与精细程度的同时,漫游速度下降成为了最敏感的技术瓶颈。如何有效提高交互式三维地理场景中的漫游速度,给用户以高速、流畅的操作感受,成为了三维GIS技术发展中的关键问题之一。仅靠硬件加速得到的效果远远达不到用户的期望性能。在三维GIS平台开发中,最关键也是最耗时的工作是三维模型的构建。优化三维地理场景中的模型是有效解决以上问题的一个突破口。
优化三维模型的技术有很多种,但研究内容多数针对特定数据或是某种技术或是具体算法,缺少面向整个三维地理场景构建过程的综合优化方案。本文着重于研究在三维地理场景构建中可实现的模型优化手段,比较在采用了优化技术后的优化效果,提出一种可实现且效果显著的具有普遍适用性的优化综合技术。采用对比优化前后指标的方法,对各项速度优化技术进行研究分析。并通过具体的应用,将其实践到不同尺度的三维地理场景的构建中。
1 漫游速度评价指标
最能直接反映三维场景漫游速度的参数是帧率(Frames Per Second,简称FPS),即每秒显示帧数,其单位是fps。帧率高可以得到更流畅、更逼真的动画。在进行三维场景漫游交互时,利用帧率作为指标,可以直接衡量其漫游速度与效果。从满足眼睛的生理需求来说,帧率高于16fps时,画面是连贯的;一般而言,30fps就可以满足视觉感官,60fps则可以明显提升交互感和逼真感。
为了尽可能全面的考察各项模型优化技术的效果,本文将漫游过程分成“全景”、“局部”、“平移”、“推进”和“环绕”五个状态,记录不同状态下的平均帧率值,进行逐一对比评测。“全景”为静态远距离鸟瞰整个三维地理场景;“局部”为静态近距离观察细节场景;“平移”为视角以左右平移方式动态漫游;“推进”为视角以前后推进方式动态漫游;“环绕”为视角以旋转环绕方式动态浏览四周场景。为了便于评测记录,分别将5个状态类型编码为:C1:“全景”;C2:“局部”;C3:“平移”;C4:“推进”;C5:“环绕”。
测试所用计算机的软硬件配置如下:WindowsXP系统,OSG三维图形渲染引擎,CPU为酷睿双核2.33GHz,2GB内存,显卡为ATI Radeon HD2400,显存256MB。
2 优化技术与实现
场景的几何复杂度通常是用场景中几何图元的数量来衡量,是帧速率的决定性因素,因而优化技术主要内容即是尽量简化场景。根据数据内容和建模手段的不同,可将三维地理场景分为两类:一类是以场景为基础,在空间上连续分布的地形对象;另一类是以离散实体为特征,以独立的个体而存在的地物对象,包括建筑物、树木、路灯等。本文针对两个内容分别探讨三维地理场景模型的优化技术。
2.1三维地形优化
三维地形是三维地理场景中数据量较大的模型,三维地形优化手段主要是细节层次(Level of Detail,LOD)技术、网格简化等。
三维地形优化测试所用的数据文件为:dem.tif,DEM高程数据,文件大小为785KB,行列数为704×571,分辨率为30米;tex.tif,对应纹理文件,文件大小为28.1MB,像素大小为3 480×2 822,分辨率为6m。
2.1.1细节层次技术
细节层次技术主要是针对大范围的三维场景,建立二叉树或四叉树结构的金字塔。顶层为一整块简略模型,依次分层分块,底层模型块数越多,模型构造越精细。而在三维环境中,当视线接近物体且视野范围渐小时,细节层次显示技术实现了用视野范围内的局部底层数据块逐层替换上层数据,以保证任意视景下用最小的几何数据来满足水平相当的视觉感官。采用不同分层分块的细节层次技术的优化结果如表1所示。
当采用细节层次技术进行优化后,在C1“全景”状态下,因场景只包含了细节粗略的最顶层地形,所以纹理分辨率和地形网格数都较小,速度明显提快;但在近景状态下,反映的是与未优化前相同的细节详细程度,所以场景漫游速度相当;在运动状态的近景条件下,由于细节层次技术需要动态调度数据,数据从磁盘到内存,再传到显存,并渲染,这一过程对渲染速度产生一定消耗,所以速度有所降低。综合分析,细节层次在远景状态下有较大的提速优势,适合三维地理场景中的大范围地形的表现。
2.1.2网格简化
在保持5层的细节层次基础上,采用不同网格类型,利用地理建模中常用的规则三角网代替规则格网,以便于进一步的三角网合并。三角网合并技术主要采用三角网压缩算法,将在同一平面或近似同一平面上的相邻三角形合并为大三角形或多边形,以减少几何面的数目。采用网格简化后的优化结果如表2所示。
当采用了规则三角网代替规则格网构建三维地形时,因其网格数目稍有增加,所以场景运行速度在各方面稍慢一点。但将三角网进一步合并化简,虽然在地形生成时计算时间较长,但计算所得地形模型的网格数目大幅减少,运行速度也有所提高,特别是弥补了细节层次技术在近景状态下表现的劣势。综合分析,网格数目决定了整体的三维地形渲染效率,将细节层次技术与三角网合并技术结合能在各方面有效提高三维地形的漫游速度。
2.2地物模型简化
地物模型主要是指利用3Dmax、Maya、Creator等建模软件生成的建筑物、树木、道路等地物三维模型。高精度模型利用精细的几何体构造地物的形状与细节,往往面数多、资源消耗大,三维地理场景内若加入多个这样的高精度模型,速度将大大降低。所以需要简化地物模型,利用低精度模型,即利用数少而又能真实模拟地物外形的简单面来构造模型。
简化的方法包括:简化模型几何构造,利用有立体感纹理代替复杂几何体构造;删除隐藏面,将建筑物底部、房檐内部等这些不可见的隐藏面删除以减少模型面数;纹理压缩,在不影响反映地物模型外观的前提下压缩纹理文件的大小以减小模型纹理渲染显示的压力。
用于地物模型简化测试的数据文件为:tm.max,建筑物精细模型,文件大小为2.30M,1 390个几何面;其中含6个bmp纹理文件,总大小2.12M。
2.2.1简化模型几何构造
在场景中尽量减少多边形使用的数量,尽量创建那些视觉上很真实但多边形数量又不多的模型。例如墙面有起伏起凹凸,由数十个多边形组成,但可以将其近似为一个平面,用一个多边形构造即可。对于几何构造省略的细节凹凸,只需用具体立体感的纹理来代替细节构造。一幅贴图代替的简单模型与由几百甚至几千个多边形模型相比,渲染速度要快得多,而效果却不会有太多逊色。
例如构造一个楼梯模型,并不需要逐级阶梯的用多边形构造上去,只需建一个斜面,然后在斜面上贴上楼梯台阶纹理,即以得到一样的三维效果,如图1所示。
2.2.2删除隐藏面
在地物建模时,产生的几何体中难免有一些重复叠加的面,或者是位于建筑物内部不可见的隐藏面。对于这些模型构造面,可在地物模型结构中找出,并予以删除。还有一些面较大部分被遮挡,同样可分割裁剪后删除被遮挡的部分,以减少几何面的渲染消耗。
简化地物模型构造并删除隐藏面的优化结果如表3所示。因建筑物在三维地理场景中属于局部场景,所以只对建筑物全景、局部近景以及旋转环绕三个状态进行测试。在模型经过几何构造简化并删除隐藏面后,其构造面数大幅减少,渲染损耗减少,漫游速度明显加快。
2.2.3纹理压缩
纹理文件是模型的重要组成部分,对纹理文件的压缩可以大大提高模型简化的效率。选择图片压缩格式是最直接的纹理压缩方法。对于只用于外观欣赏而非数据分析的地物模型,其纹理文件可以使用JPEG压缩格式,要比RGB格式的文件小得多。静止图像压缩算法JPEG是一种有损压缩,一般可以达到40∶1或者更高的压缩比。
在保证预计可视化效果的前提下,也可以尽量降低纹理图像的像素尺寸,缩小图像面积来实现纹理文件压缩。纹理像素越低,文件的数据量也就越小。
从图2可以看出,对于内容并不复杂的纹理,像素从128×128降到64×64,效果上几乎看不出区别,但图片面积只有原来的四分之一,数据量压缩了1.69倍;像素从64×64降到32×32,图像质量变差,图片面积同样缩小四倍,但数据量仅压缩了1.15倍。可见在保证图像显示质量的前提下,可以合理选择纹理图像像素尺寸,压缩纹理文件大小。
在地物模型几何构造简化的基础上进行纹理压缩,前后的优化结果如表4所示。当采用JPEG压缩格式压缩后,所有纹理文件的平均压缩率达到约22:1,纹理数据大幅减小,在模型中的图形渲染消耗也随之减少,速度有了明显提高。再进一步调整纹理像素尺寸,减轻渲染压力。从测试结果可以看出,调整调整纹理像素尺寸后,近景细节渲染的效率大幅提高。
3 综合优化结果分析
在综合优化测试中,本文利用了大比例尺数字街区、中比例尺三维城镇以及小比例尺全国三维地形三个不同空间尺度的具体三维地理场景,在建模过程中实践优化技术。3个应用案例的三维可视化效果如图3。
大比例尺的数字街区原始数据模型共计582M,包含局部小山丘地形模型,几百个建筑物、绿化带等地物模型。地物模型数据数目较多,未经优化的模型直接载入造成内存不足而无法实现三维可视化。地形模型地势较为平坦,在三角网合并时有较大优化效率;建筑物模型较多,在对建筑物简化构造和压缩纹理后,优化效果显著。整个场景模型进优化后,总数据量减小到32.3M,三维可视化的漫游速度在60fps左右。
中比例尺的三维城镇原始数据共计851.2M,包含场景地形,影像,城镇建筑物、桥梁、道路、绿地等地物模型。需要对地形建模进行优化,才能实现三维可视化。地形网格合并优化后的场景漫游速度在4fps左右,交互迟钝。对地形模型进一步用细节层次技术优化后,实现地形数据分层分块的动态加载。并优化建筑物模型,减少复杂几何体渲染的消耗。整个场景模型进优化后,总数据量达到1.02G,三维可视化的漫游速度在60fps左右。
小比例尺的全国三维地形原始数据共计168G,包含全国范围的SRTM地形,及相应的遥感影像作为地形纹理,无其它地物模型。地形数据量巨大,未经优化无法实现三维可视化,细节层次优化技术可以高效解决大场景地形问题。对地形进行优化建模,总数据量达295G,三维可视化的漫游速度基本在30fps以上,在运动剧烈状态下,漫游速度下降到10fps左右。
4 结束语
测试数据表明,通过细节层次技术、网格简化、简化模型几何构造、删除隐藏面、纹理压缩等优化手段,可以有效提高场景的漫游速度。将优化技术综合应用于不同尺度和内容的三维地理场景建模中,各种优化技术表现出不同的优化效率。表明每种优化技术都有其优势性和针对性,在实际应用中,需要灵活选取和运用,有针对性地发挥技术的特长,才能高效地实现对漫游速度的优化。
摘要:三维地理场景的流畅性取决于场景的漫游速度。首先, 通过对场景建模过程中的若干优化技术进行研究与实践, 实现三维地理场景漫游速度的提高。并以不同漫游状态下的帧率作为主要指标, 对比优化后和优化前的模型质量、漫游速度及仿真效果, 分析各项优化技术的优劣。然后, 通过数字街区、三维城镇和全国三维地形等应用实例, 验证各项优化技术在不同空间尺度下的可行性与实用性, 提出三维地理场景构建中的一种有效优化漫游速度的综合方案。
关键词:优化,帧率,三维地理场景,建模过程
参考文献
[1]马照亭, 李成名, 王继周, 等.海量地形可视化的研究现状与前景展望[J].测绘科学, 2006 (1) .
[2]曹晶, 邵远征, 张煜, 等.大范围地形及城市三维快速建模与漫游[J].长江科学院院报, 2008 (4) .
[3]王姝, 刘小丹.一种个性化三维人面模型及其绘制方法[J].计算机应用, 2007 (5) .
[4]周石琳, 孙茂印, 景宁.三维虚拟场景绘制加速技术综述[J].计算机工程与科学, 2002 (5) .
[5]周希望, 刘正东.虚拟校园的建模优化及Web3D交互技术[J].软件导刊, 2010 (1) .
[6]洪光, 李洪儒, 牟建.基于Creator的三维模型的简化研究[J].计算机仿真, 2004 (1) .
虚拟场景建模技术 篇8
虚拟现实, 英文名为Virtual Reality, 简称VR技术。随着计算机硬件软件技术的发展以及人们越来越认识到它的重要作用, 虚拟技术在各行各业都得到了不同程度的发展, 并且越来越显示出广阔的应用前景, 在军事、教学、制造工业、建筑与城市规划、娱乐业、医学、石油工业中等都有广泛的应用。虚拟现实技术主要包括桌面级的虚拟现实、投入的虚拟现实、增强现实性的虚拟现实、分布式虚拟现实。文章涉及的内容属于桌面级的虚拟现实, 发挥各种虚拟现实软件的特点, 探讨如何将各种软件融合到一起, 充分发挥虚拟现实技术的强大作用。
2 三维GIS——宏观展示
地理信息系统 (Geographic Information System, GIS) 是一种特定的十分重要的空间信息系统, 它是在计算机硬、软件系统支持下, 对整个或部分地球表层 (包括大气层) 空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。位置可能由经度、纬度和海拔的x, y, z坐标来标注, 或是由其他地理编码系统比如ZIP码, 又或是高速公路英里标志来表示。地理信息系统广泛应用于资源调查、环境评估、灾害预测、国土管理、城市规划、石油管道、邮电通讯、交通运输、军事公安、水利电力、公共设施管理、农林牧业、统计、商业金融等几乎所有领域。GIS开发工具和软件很多, 例如ARCGIS、MAPGIS、mapinfo等等, 开发语言几乎主流的开发语言都支持, 例如C++、C#、VB、java。
3 3ds Max和Auto CAD等软件—设计三维场景
目前常用三维软件很多, 比较流行的三维软件如:3ds Max、Maya、Softimage/XSI、Lightwave 3D、PRO-E等。3D MAX的制作流程简洁高效, 操作简便, 广泛应用于广告、影视、工业设计、建筑设计、三维动画、多媒体制作、游戏、辅助教学以及工程可视化等领域;Auto CAD具有强大的编辑功能, 可以移动、复制、旋转、阵列、拉伸、延长、修剪、缩放对象等, 可创建3D实体及表面模型, Auto CAD提供了多种图形图像数据交换格式及相应命令;Maya的CG功能十分全面, 建模、粒子系统、毛发生成、植物创建、衣料仿真等等, MAYA软件应用主要是动画片制作、电影制作、电视栏目包装、电视广告、游戏动画制作等。
4 Java 3D——几何形状复杂且相对位置要求严格
计算机图形系统的开发平台从早期的GKS、PHIGS等发展到Open GL等, 再发展到现在的Java3D等, Java 3D集成了底层的图形库Open GL与Direct X功能, 并增加了声音功能, 对集合形体采用场景式管理。Java语言强大的网络功能与Java 3D强大的图形图像处理功能相结合, Java3D与Java一样, 一次便可跨平台运行。Java 3D能够贵场景的可视化进行并行计算与优化, 能够自动应用计算机硬件的加速功能, 并且提高图形显示的效率, 能够对场景进行预编译。
5 VRML——交互性要求的需要
VRML (Virtual reality modeling language) 与其它实现三维场景的技术手段 (如Open GL, 3DSMAX) 相比, 具有语法简单、三维建模功能强大、便于网上发布、良好的交互功能等优点。在交互性方面, 仅依赖于VRML本身还存在很大的局限性, 例如物体的非线性运动等。VRML与Java Script、Java的交互, 使得VRML具有强大的编程能力, 从而更加灵活、方便的对场景和造型进行控制, 同时实现了在Web页上对VRML场景进行有效控制。
Java是一种跨平台的、面向对象的、解释的、健壮的、自动回收内存的、安全的、可移植的、多线程的、动态的语言。通过Java, 可以实现用户和VRML虚拟场景之间丰富、便捷的人机交互。虚拟现实不仅仅是一个演示媒体, 而且还是一个设计工具, 例如定制高脚脸盆龙头, 如图1所示, 用户通过对主管高度、支管高度、支管长度、主管圆径、支管圆径的尺寸定制, 支管、颜色的外观定制、单孔、双控的功能定制、模拟防水等, 可直接显示高脚脸盆龙头的定制结果。
6 3D全景展示——复杂环境及局部环境展示
360度全景不但有360度的视角, 更可以带来三维立体的视觉感, 让观者犹如身临其境。相对来说, 三维建模立体感和沉浸感无疑比360度全景景更强, 360度全景的拍摄和制作投入少, 制作简单, 例如只需要全景图的拼接 (现在多数照相机具备全景图拍摄的功能) 和Pan02V的简单操作, 一个全景从拍摄到完成制作发布只需要短短的几分钟时间, 360度全景无疑是性价比较高的选择。它的数据量很小, 对系统的要求低, 适合各种方式, 各种终端设备上观看。全景虚拟现实的需求领域比较广泛, 可用于展示房产、观光景点、汽车、酒店、校园、文化和体育场馆、公司办公环境等。
7 结束语
文章简单介绍了用户宏观展示的三维GIS、普遍用于设计三维场景的软件3ds Max、Auto CAD等, 设计几何形状复杂且相对位置要求严格的Java 3D, 用于交互性需要的VRML, 用于复杂环境及其局部环境展示的3D全景展示。下一步工作是, 通过具体的系统实现, 将各种虚拟现实软件融合到一起, 将虚拟现实场景从宏观到微观, 从整体到局部, 从简单到复杂的展示, 达到更好的视觉效果和人机交互的效果。
参考文献
[1]村姑, Vulture, Zfj3000, Dan, Yixi, KAER, G aoshan2013, 方小莉.虚拟现实技术[EB/OL].http://wiki.mbalib.com/wiki/虚拟现实技术, 2014-6-20.
[2]zcb.地理信息系统[EB/OL].http://www.baike.com/wiki/地理信息系统, 2014-05-11.
[3]kiss5_2011.gis软件[EB/OL].http://baike.so.com/doc/5421363.html, 2013-05-27.
[4]115798202.3ds max[EB/OL].http://baike.baidu.com/view/11137.htm?fr=aladdin#9, 2014-06-12.
[5]java118 AutoCAD[EB/OL].http://baike.baidu.com/view/25199.htm?fr=Aladdin, 2014-05-27.
[6]兔子.198510.MAYA软件[EB/OL].2014-05-24.
[7]高新瑞.Java、Java 3D与计算机几何设计[M].北京:电子工业出版社, 2007:1-8.
[8]俞敏, 杨力.VRML与外部程序交互的研究[J].计算机工程, 2005, 31 (19) :82-84.
[9]陆昌辉, 周正平, 倪文志, 等.使用VRML与Java创建网络虚拟环境[M].北京:北京大学出版社, 2003.
【虚拟场景建模技术】推荐阅读:
虚拟场景漫游05-26
虚拟场景生成系统11-05
虚拟现实技术三维建模11-20
虚拟样机建模05-19
多场景技术06-14
区块链技术的应用场景06-01
虚拟测试技术10-20
虚拟电池技术05-11
虚拟平台技术05-16
虚拟加工技术06-08