版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
虚拟现实(即VirtualReality,简称VR),是一种全新的人机交互技术,它融合了计算机21世纪90年代是网络和多的时代,而21世纪初则将是虚拟现实技术的时代。虚2000机会,于07年开设《虚拟现实》课程,并引进教学和实验,选派教师到该方向国内领备和已基本齐全,但目前国内的相关较旧,如只能使用2001年版的,无法反,针对这种情况,在信息学院教学研究基金的资助下编写了这套讲义。在讲义的编,由于虚拟现实研究内容展迅速,内容的组织面,没有求“大而全,而是根据现有的备以应把握基理与新增内的平衡调知识构化值得一提是息学院年来虚海洋拟海滨城市工鱼等面的研成果陈勇 增强现实中的显示技术:光学混合和混 增强现实技术的应用领 增强现实技术研究进 系统体系结 通信系 PCCAVE的应 性能分 第六章VR实例—虚拟水族馆和人工 虚拟现实和6.1.1 人工鱼研究现 基于行为建模的人工 基于认知建模的人工 基于自繁衍模型的人工 状态模 三阶段机 基于的人工鱼认知模 的回调和更 实验结 高级行为规 运动模 算法定 多Agent协同控制算 第七章虚拟现实平台VR- VRGIS系统概 系统功能模 系统架 系统数据流程 系统的VR与GIS的集成模式研 VR与GIS数据的共 基于VR的GIS分析算 海量数据的支 基于组件式的开 VRGIS平台的实 总 第八章三维虚拟场景漫游的路径规 Floyd算 3D环境信息的表 .2路径规划方 路径搜索技 基于栅格的环境信息表 物的表 算法描 算法设 算法分 算法效 第九章展 第四章VR驱4.1.1投VE,VE坐标系是描述虚拟环境的坐标系,一般是一个固定坐标系。VO坐标系是固定在虚VO在虚拟观察者一只眼上,Z轴为光轴,X轴向左,Y下图表示VO一般来说,投影首先把VE坐标系中的点的坐标,转换成在VO坐标系中的坐标。然后是在VO坐标系中引入平行于Xvo,Yvo平面的投影平面。以后将把VO坐标系中的Xvo,Yvo平面平行移动到投影平面,得到新的VO坐标系,如下图所示。VE中每个点与VO连线,这个连线与投影平面的交点就是该点的投影。这个过程就是投影。把VE(c)Zvo通过右眼中心。Zvo与物体表面的交点是在正方形中心点右边。这个交VR视觉的显示,仅仅实现双目视差。这是双目平视远方,双目光轴平行时,双目视图之间的差别。VR视觉的显示,还没有实现人类其他的深度感。2.显Se是两眼光轴的距离。考虑两眼的光轴平行。VO坐标系(观察坐标系)的原点改在两眼的中点,在这个VO坐标系中的一点(x,y,在左眼观察坐标系中的坐标为Se/2,y(xSe/2, 3D边分别与视点VO组成的四个面围成的部分这个空(无的四棱锥内每个点的投影,,IiIp·cosθ(Lx, 是入射线。令是表面法线,,例如:在地面的阴影。已知三角形一个项点(位置向量,平行光线方向,需要求出这个顶点在地面上的阴影(位置向量=代入其中:光源强度,漫反射系数,θ入射光与法线交角。镜面反射项,g其中:环境光强度,环境反射系数。绘制(render)是由3D模型、光照模型,经过投影,得到平面图形。绘制时间可Gouraud,,若三角形三项点的光强为则三角形边上两个点 ,,Phong纹理纹理由于计算机图形的象素特性,所以显示的图形是点的矩阵。若象素达到500K,则人眼基于图像的绘制(Image—BasedRendering)是实时地生成般真的计算机图形的一—Map系统中,他们将成千上万的参考图像在光盘上,用户可根据当前的视点随机地Chen和William的视点插值方法根据的是这样的观察事实:由空间上相距很近的一些度值(Z值)按由后至前的顺序对四叉树压缩流场进行预排序,并使用参考图像局部邻域的信图像变形(Imagemorphing)是一项常用的基于图像的绘制技术。图像变形是对外形和纹物体形态或视点的不同通常导致不自然的,很难用人工方法加以修正。S.M.Seitz和C。R。Dyer将图像变形方法加以推广,在图像变形时综合考虑视点的改变和其他三维效果。他们的方法称为视图变形(Viewmorphing)。更一般的说,该方法无须三维外形信息,完全对图像进行操作处理,就可以将各物体的3D投影变换(包括三维旋转、平移、切变和楔变等)效Adelson和Bergen的全光函数(Plenopticfunction)为基于图像的绘制技术提供了一个精确的问题表述。它描述了从观察者的视点所能感受到的所有辐射能量。在指定某一时刻t,从空间中的任一视点(Vx,Vy,Vz),选择某一方位角和仰角()及频带波长 。在这个框架下可以对基于图像的绘制给出下面的定义:给定全光函数的一组离散。L.McMillan和G。Bishop提出了一种基于对全光函数进行采样、重构和重新采样的基于图像的绘制系统。他们选择圆柱式投影作为全光函数采样的表示。圆柱式投影的最大优不同的基于图像的方法,如Movie-map、图像变形、视点插值等,其特点就在于对全光函数进行采样、重构和重新采样这三个关键步骤的不同方式。Movie-map技术的特点可以概 )f)时,Movie—map系统。流明图是述在所位置所方向的流的完全函数的一子集如果假定空气是透明的末沿着一穿过空一物的间光线的辐将保持变如果进一步将局于离开个体的凸的线这时只须考包围该体的4。全光函数、流明图等概念主要在理论上有一定意义。在实际应用方面会遇到许多。通过采用机械方法将照相机运动限制在平面同心圆上,可获得由内向外看的3D全光函数。I.和Carlb.Dm定义了一个4D几何与基于图像相结合的方法。PaulE.Debevec等提出了一种由少量图像重构和绘制建筑物场景的方法。他们的建模方法有两个组成部分。一个是摄影测量建模方法,便于恢复IBMR和基于图像的光照技术是前景而又十分有趣的研究领域一定会有越来越广研究场景复杂性和人类视觉感知规律等相关因素的联系设计出与场景规模基本不相关算法。由于需要判断每个绘制元素是否可见,其算法复杂度至少为O(N),可见性判断的时视域剔除(View-Frustum遮挡剔除(Occlusion背面剔除(Back-Face显示互相的表面,也不能实现反走样。对两个有的物体,A的一部分在B前,B的另一部分在A前,就不能用此算法。支持透明效果,反走样也受限制。有些工作站已把z-缓冲器算法硬件化。1996年,Kumar等人提出了一种分层背面剔除方法,但是该方法需要对三角网格模型1997年,Zhang等人通过引进法向位的概念,即仅仅通过逻辑与操作来减少每个多边形背面剔除检测的计算开销,对Kumar2000年,Assarsson提出,先将物体的包围盒与视域进行空间求交计算,以快速剔除完全在视域外的物体;2002年,Stamminger提出,由于与视锥体进行求交,计算比较费时,可通过坐标变换1997年,Zhang等人先将面片进行基于法向的编码,然后在成像时根据视线方面1999年,Kumar19931994年,Greene和Kass提出HZBhierarchicalZ-buffer)方法,将成像面进行可见;1997年,Zhang提出,一种层次遮挡图(hierarchicalocclusionmap,HOM)的方法,以多分辨率的方式记录成像面上各个部分进行遮挡剔除的效率。剔除效率以非来表2005年,任重提出了于一种有效的全局可见性的紧凑数据表示形式——全局遮挡图,———凡是位于该临界面后的物体必是不可见的。全局遮挡图的优点在于:(1)复杂度无关,仅取决于空间方向的离散精度;(2)可用深度图像的方式压缩;(3)判断遮又有所区别。整个大地形可以看作一个大的模型,LOD技术是将其的各个部分以不同的分辨率表现。而虚拟城市建筑模型的LOD处理对象则是一个个独立的模型。一帧模通过细的模型作(或者并)得到但是连层次细模型于OD量的时间进行多分辨率模型的构造会大大降低绘制系统的性能,从而降低每秒绘制的帧速率。位置在一定数目的帧之内动态变换到新的位置这样的渐变所产生的pop对于人眼的刺激要远远小于在相邻帧之间突变所导致的pop现象。为了尽量消除po现象对视觉造成的影响,李胜提出一种具有轮廓保持性质的简化更加重要的一点是地形绘制中,不同层次细节之间的切换所导致的po现象最醒目帧之中轮廓部分发生的变化最少,那么将会大大提高图象质量,减小po现象对视觉的MIPMAP技术结合,LOD技术同样可以减少纹理的绘制数量,因为对于远处的大部分场景,使用低分辨率的纹理就足够了。地形绘制一般是使用DEM(DigitalElevationMode1)格式的数据,也就是按照矩形网格网格的算法和基于不规则网格的算法。这些算法在构造网格时都用到了层次细节技术1997年Duchaineauy提出实时优化适应性网格(Real-timeOptimalAdaptiveMeshes,1998年,Hoppe渐进网格算法。对大规模地形采用自底向上的累进网格模型进可见性剔除算法可分为三类视域剔除(View-FrustumCulling),遮挡剔除n=(v1-v0)*(v2-v0),其中n为(0,0,α)或(0,0,-α),α>0。如果-z轴指向屏幕,则前者为多边形正面,后者为背面。对于背面剔除方62003年,陆艳青在采用了包围体来完成地形的可见性剔除。该包围体是保守估计的,2005年,吴金钟提出一种分块策略对规则网格进行区域分割,采用空间填充曲线对分2006年,李胜认为,场景简化过提取出的潜在轮廓特征可以通过巧妙地构建漫游2004年,戴晨光提出了一种多分辨率的金字塔层次模型。在地形场景绘制时,在保证通常需要不同分辨率的DEM数据和纹理影像数据,将原始地形DEM数据和DOM数据进Hoppe4097×2049的现有的实时地形漫游算法以基于规整网格的为多,特别是ROAM算法的到了广泛的应在海量地形场景的数据组织中采用了地形几何数据和纹理数据分块和分层的双网中建立层次法向锥更为方便是对层次三角形四叉树自底向上逐层建立层次法向锥,动态加载所需的子块,块内根据法向锥决定的层次,在不同LOD级别的边界处会出现数据管理模块和渲染模块相分离,采线程实现数据读入和渲染的并行性LoadingRealtimeLoading和页面预取模块对于绘制时所需数据已在内存的地形块,Rendering线程依次绘制这对于实时调度区域中不在内存的分块,RealtimeLoading模块实时读在当前帧剩余时间内调用preLoading模块读入页面预取区域的分块。TerrainRSG32*32的快,513*513大小的网格,用LOD的思路绘制地形数据。使用了Hoppe使用的大峡谷DEM数据进行实验,场景网格大小为4097×2049,地形实际大小为240km×120km,高度数据由255级灰度值表示,一个高度单位对应PCVisualC++OpenGL1.6G,1GM内存,ATI9700显卡的配置下,对于Hoppe大峡谷地形数据获得了16/秒的平均帧速率。在漫游过,帧速率变化较为平缓,能基本保持16帧/秒以上的帧速视点相关的LOD(带纹理视点相关的LOD(网格示意图此处要介绍船舶的技术等人机交互(HumanComputerInteraction)。用户界面的发展对计算机系统整体性能提高所具有的重要性己经得到了人们的高度重视通过对算机五多年的究和应用人们己渐认识到机交互形式能响最终用户的使用计机的推广至人们工作和活根据对大系的统计析结果表明,人机界面开发工作量大,占系开发总工量的40-6%左右,加不同人群对界面的要不全相同因而人界面是算机研最的分之一因如此机交互技术成为了1世纪息领域要解决重大题一21纪计划的基础研究内容就包含了人机交互技术,即:、人机交互、网络、高性能计算。与此同时,围绕人机建已形成计算机业又一的竞争域在人建模研在中被列为与计算机列的六国家之为“对于算机工有着突的重要性,对其它工也是很重的。防计划不仅把人交互界面为技术发展的重内容之一而且还门增加与并列的人系统界一项内容也提出了END21划(uue aednoraonEnvironentevepent)其目标就是要开发21世界的算机界。我国73、86、五计划均人机交列入为要内容。在人机学设计理论中经常提到三种模式,即用户思维模式(uer’oel,系统运行模式(emode(degeode是程序设计师和编程。设计者思维模式是指人机交互设计在设计过考虑的内容。普遍接受的人类信息处理(humaninformationprocess-ing)模型。人类信息处理模型认为人tion感知系统 计算的输出息以视和听觉方被眼睛耳朵感知系接受后传输到感处理器在里这些刺信号被暂起来且被初地理解如没有进一步的理这些信息会例一段话的个词的音等在感处理器中进行理解大只限于式识别上下文解例如一条线被夹在一些数字中时就理解为字1是如被杂在一字中时就被解为字母此可在感知处理中进行息处理层次是当表面的在系统设中应当虑到感系统和感知处器的特点如图形用界面的计当尽量减用户不要的眼移动设计易于浏的格式布局注提供便用户理上下文信等这样可以有地避免感知的重信息过或误解又例如了障人的听系统的康系统的出应认知系统人类认知过程是由思维处理器与短时器和长时器的协调工作完忆器(short?termmemory)中。短时器的容量小(可以同时5至9个内容单(ong?rery)中。长时器的特点是容大,时间长,并且主要以结构化联系的方式内容时的内容提取能是人们平所说的力长器具“用进退的点也是说是被经到的内容越是准确时也越容易被提取很少被到的内容易在中“形或丢失,就是人平时所的遗忘同时某内在与其他容联越丰富征越明显表现方越形象就越容易保持和取长时器中内容与所感知息吻合得完全这内容也越容易被发现和取出来维处理经常需将长时器中的内提取到时中与感来,这样短时器在任何时刻只需要处理总体信息的一个小的部分,这种“分块(attentionselection、知识和技能的学习(knowledgeandskillacquisition、解决问题(problemsolving)和语言处理(languageprocessing。在这些方面的研究成果也为设计反应系统产品的设计还应当尽可能减少对人的反应处理器和反应系统的负荷。例如方面,应当采用最符合人使用的键盘和鼠标设计,合理的显示器位置和显示参数以及各种工作环境的设置避免长期使用计算机设备所常见腕腰部背部等的损伤。虚拟现实是一种新的人机界面形式,VR为参与者提供了一种临境(Immersive)和多感觉3DGOMSGoalsOperatorsMethods方法(多个SelectionRulesDesktopGOMSGOMSVR观察点导航操作临境(帮助信息、出错信息等)。为使交互系统灵活,不能简单地提供大量界面去对付每Multigen在三维实时视景仿真领域,MutiGenCreator以其无与伦比的强大的三维实体建模工具务训练、分析和计划、虚拟现实、事件重现、环境模拟、运载工具训练(空中、地面、和普通视觉应用。Vega将先进的模拟功能和易用工具相结合,对于复杂的应用,能够提供快速、方便地建立、编辑和驱动工具。Vega能显著地提高工作效率,同时大幅度减少源代CVega函数调用库。LynX并将其存在一个应用定义文件(.ADF)VegaC语言函数库来对已建好的三维场景进行渲染驱动。由于Vega起初是作为在SGIUNIX平台上的一VegaPCUNIX程序设计颇为1VegaVega编程类似于C编程,实际接口是C,包括完整的C语言应用程序接口,为开发提供最大程度的控制和灵活性。对于WindowsNT平台上的Vega应用,主要有三种类型控制台程序传统的Windows应用程序和基于MFC( FoundationClasses)的应用。但无论是哪一种应用,建立Vega应用的三个必需的步骤为:2ADF型main() //定义 while(bContinuing){ //applicationspecific 这就是一个控制台的应用程序。但是vega只是一个包含十几种不同模块的函数集,并没有窗口函数(虽然Vega函数库中提供了一些窗口和事件管理的函数,但这些函数在实际应用中还远远不够,它缺乏面象能力,不符合当前流行的设计思想,因此需要一VegaWindows平台上开发,那么具有良好图形用户界面的应用程序将更受到欢迎。对于基于窗口的应用来说,Vega系统通过提供一vgInitSys替换成vgInitWinSys()即可。该函数通过获得窗口句柄来初始化Vega的显示窗口。2基于MFCVegaVegaC++WindowsVC++作为开发工具成为首选。在VC++中的MFC类库已是一个相当成类库,特别是其基于文档/视结构的应用程序框架,已成为开发Windows应用程序的主流框架结构。该框架结构能够CViewzsVegaViewzsVegaViewVega线程用程序只需从zsVegaView派生出新类并根据需要重载必要的虚函数即可。从设计模式的观点来看,它是采用了模板方法模式(TemplateMethod)。模板方法模式是一种类行为模式,其3基于MFCVega通过采用模板方法将用户开发一个基于MFC应用的工作量减少到最低,这是Vega系统提供的方法,其初衷是好的,但由于MFC类库并不是一个支持多线程的类库。用户派生的子类通过在OnInitialUpdate()函数中调用基类的runVega()来启动Vega线程,并类CView(根据“ISA”规则,它的子类对象也是一个CView对象)将是的,实践也证明了这一点。在单文档多视中在Vega线改变文档数据后通过调用函数UpdateAllViews()来更新所有相应的视图时旋即出现了保护异常的错误。回头看一下Vega的三个主要步骤,模型渲染主循环和便于用户扩展的几个虚函数接口,其CViewCView类所拥有的视窗口的句柄而已。这种设计其实Vega线程改变数据后如何通知各个视口及时的进行更新呢?好在Windows平台的消息驱制,使得可以利4基于MFC的Vega线的问Vega应用程序可以通过应用定义文件(.ADF)来载入三维场景模型。在实际开发的应用Vega的应用程序框架中可以看出,框架主要由它的配置三步曲和渲染主循环构成。当配置三步曲中的第二步导入另一个.ADF文件再进行第三步设置或三步曲皆重新作过再进入不通。由于Vega系统提供的是库形式的函数调用,没有源码,从设计系统的角度下,给开发用户提供必要的诊错也是必不可少的。在这方面Windows的API调用以及MFC类库等做的十分好,它们在许多操作的结果通常都返回一个值,以告诉用户是否成功或是失败还是出现异常,更完善的是Windows系统提供了一个全局的函数调用GetLastError()操作来获取每一步操作后的结果是否成功。从设计模式的观点来看,这是使Vega将类的接口若在Vega线程未退出时进行重新配置将导致失败,那么在切换场景时让正在运行的线VegaVega线程不是已经终止了吗?所以一定存在遗留问题。经调试显示,问题就出在Vega配置三步曲的第一步vgInitWinSys()上,该函数的作用主要是初始化Vega系统并创建共享内存以及信号量等,除此之外它还在做了一件重要的事情——就是又开启了一个Vega窗口子线程,该子线程根据传送的窗口句柄参数创建一个与该句柄对应窗口一相同大小的窗口二,并将它蒙(覆盖)在窗口一上,这是Vega开发指南上未有提及的,这样Vega系统的渲染窗口就可以嵌入到基于MFC的视口上了。该子线程的创建是必不可少的,但却没有终止它的办法——它是Vega函数创建的。又因为线vgInitWinSys()却不再启动新的子线程而是继续保留原来没死的窗口线程,由ndows程的一特性可得出解问题的方法就是一步—用个单独的ega程来实。从模的观点看,这以作为一新的设模式应于设计当中去,不妨称之为栅栏模式(n)。它通过将同一个应用中的不同部分进行相互黑箱化彼此间仅通定义好接口进这得各部分间的相影响减到最低nowsFVSS1WindowsNT在ndowsNT台上进间通信主要方有动态(D)网络动据交换NeD)ndows套接(ndwsSoce命名管道Naedpe)内存文件(ery-apede)NeOS,程调用)以及磁盘文件等。在特定的场合ega进程和CCCeDEndwsSckeeOSC皆不予考虑。而通过磁文件来行显然行不通,使得直接内存中行通信为必要。因为在eaC采用内文的方式是最佳。3MFCVega在WindowsNT平台上采用文件对象使得Vega进程与MFC界面主进程之间能够进行有效的。因为分离出来的Vega进程是一个控制台程序(尽管它还创建了自己的渲染窗口Vega应用框架中的渲染主循环恰恰可以一些操作用来模拟一个消息泵以完成MFC的主进程的要求操作,这个被传递的消息同样可以放在文件对象中反之由于MFC主进程是一个窗口应用,WindowsWindows内存管理中的文件对象,不仅解决了两个进程间的共享数据和传输数据的速率问题,还域中实时计算机成像的研究与开发的广泛使用。到后来GeminiTechnology公司并入了Quantum3D公司,后者花费了较多的时间和财力在OpenGVS的升级工作上,OpenGVS的早期的名字叫做GVS,GenericSceneSystem,意为通用视景系统。90年代,SGI公司开放了OpenGLAPI,使OpenGL成为了一种3D工业标准后,GVS随即在4.0版本中支持了OpenGL3DAPI,并支持PC机的图形开发。到90年代中期,随着PC特别是领域,由此3D世界中,出现了 的Direct3DAPI,它专门针对PC机的市场,由于其性能的优越性,取得了较大的成功。与此同时,出现了Voodoo图形加速卡,利用该可以快速的开发3D,Voodoo图形加速卡提供了工作站级的3D图形性能,但它本身没有Direct3D和OpenGL驱动,只有它的原始版本,提供低级的底层在这种形势下,OpenGVS3DOpenGL远远不够,他们决定开发一种面象的OpenGVS设计模式:硬件虚拟层。该层支持OpenGL,Glide,Direct3D以及以后可能新出现的3DAPI。 的Direct3DAPI和Voodoo图形加速卡2代的Glide,从而在3D领域中得到OpenGVSOpenGLAPI一般只提供底层的绘图原理,如使用预定义的属性(颜色、纹理、材质)来画多边形而OpenGVS是基于面象的设计它提供的3DAPI基本上都是针对"SceneGraph","SceneManage",现在Direct3D虽然也支持的功能函数,但它的性能和它的平台的局限性削弱了它的优势。现在SGI平台上流行的IRIS(另一种3DAPI)其性能也很好,但其兼容性不能和OpenGVS相比,因为它只能在SGI工作站上使用。OpenGVSSDK将己经形成的分散的3D对象集成起来形成一个交互式可视化环境,其目OpenGVSSDK包括一个功能强大的应用程序界面,该程序界面极易进行3D图形应用程序的开发。由于OpenGVS具有良好的3D跨平台性能,便于移植,因此用户可以方便的在从PC机到UNIX工作站的不同运行环境下运行用OpenGVS开发的程序。①独立的开发平台(Windows98,Windows2000,WindowsNT,Linux,SGIIRIX,SunSolaris等操作系统);②基于面象可视化3D开发环境OpenFlight、3DS、TerraPage等文件格式④为 ⑤支持等绘图RealWorld基准OpenGVS主要提供的功能接口,而底层的绘图功能交给Low-levelOpenGLOpenGVS资源及其相互关OpenGVS的结OpenGVS的下层是一个模型,它负责虚拟环境创建的大部分工作,并被分成许多用户(user)工具:程序员通过用户工具来OpenGVS,允许特定的初始化代对象(object)工具:对象工具关心的是自动场景(scene)管理对象的动态性和连接(culling)机制。这个工具的一个重要特征是给每一个对象指定运动方程(equationofmotion)的能力,因而可以给对象的某些部分提供运动行为。调入到给由OpenGVS构造的语句加入物质定义功能,并提供了以下特性:背景(ambient)色、漫射纹理((texture)工具:除了被调入的对象保持其纹理元素以及OpenGVS的语句可以调入(import)工具:从用户观点来看调入工具可能是OpenGVS最重要的元一,因为它将详细化的模型/对象和地形对象调入OpenGVS环境。低层任务如视景裁剪域(fieldofviewculling)光源(lihtsoure)工具OpnGVS(/种背景色,只需创建光源和定义其位置(如果它不是本地光源)或方向(如果它是无限远光源)视点((camera)工具:OpenGVS中的视点工具是一种控制显示的方式,它控制观察者通道((chnnel)工具角或离轴投影连接,通过这种方法就可以支持不同程序的双目视景和离轴投影系统对于视应用用户只指定两视点视点对应只眼即两个通是被OenGVSWTK的全是WorldTolKit,由ense8研制的虚环境应场景工包,是一种简的跨平开系统可用科学和业领域建高性能的时的综合的WTK(AP)造应用程序的工作。WTK也支持基于网络的分布式模拟环境以及工业上使用的大量界面设备,如头式显示、和导航制器等。WTK的算法设计使画面的高品质得到了根本的保障。这种高效的视觉数字显示提高了WTK提供了强大的功能,它可以开发出较复杂的应用程序,.还能提高的生产效率。一个用C代码编写的对象定位库可以提供给用户1000多个高级语言函数,可用来构造交互和实时控制的模拟系个函数调用相当于执行1000行代码,这将般地缩短WTK使OpenVRTM的理论成为现实,它提供了一个工具来实现跨平台的操作,包括SGI,Evans,Sutherland,Sun,HP,DEC和In优化的功能使它可以直接通过连续的系统库使最快速的传输成为可能。另外,WTK支持多种输入输出设备,并且允许用户修改C代码—如设备驱动器、文件阅读器和绘图例行程序,也允许它和多种信息源进行交互。WTK包含的函数可用来实例化并通用的设备,如Polhemus公司的FastrakAscension公司的BirdWTK按照面象名方式来组织虚拟环境,其主要的函数类有Universe(宇宙)eoer(几何体)、Ligh(光源)、enso(传感器)、ewpon(视点)、ndw(窗口)等,分Unere是最类一个WK虚拟境中以包含个Unvr虚拟境中的Unvre越UnereWTK3DVC程序中利用嵌入的WTK库函数,可以实现WTK虚拟环境的编译与测试。WTKWTK通过面象的方式进行构造。下面介绍一下WTK主要的函数类AutoCAD的DXFWTKNFFCAD程序包来创建,包括WTK中,传感器是指任何能够给计算机输入以控制对象的位置和方位的外部设备。WTK提供两种形式的光照模型。一种是背景光,通过来自背景的光线等量地照亮视景WindowWTK应用可以在同一个虚拟世界中有多个窗口,或者仿真循环(simulationloop)是WTK仿真的。仿真的各个方面都发生在宇宙(universe)中。仿真循环通过调用WTuniverse_goWTuniverse_stop退出。WTK的工WTK第五章VR的发要应用有分布式虚拟环境(distributedvirtualenvironment简称DVE)、分布式交互仿真(distributedinteractivesimulation,简称DIS)、沉浸(remoteimmersion,简称RI)等.通常在一则通过某个底层分布式运行时系统(runtimeinfrastructure)连接起来,它主要负责管理节点之间的通信,目前,HLA/RTI(highlevelarchitecture/runtimeinfrastructure)已成为国际上主流的分DVR每个用户在一个VR环境(真实感3D图形,声)中通过联网的计算机与其他DVR的发展。典型的DVR有 DVR NPS开发的NPSNET瑞典计算机科学,DVR5DVR4DVRVR 的局部数据库中所有对象(也称数据库)是完全相同的,不同用户装入相同的数据库,即虚场景是的。图形生成的计算并提供用户接口。DVR系统常使用Client/Server方法。I/ODVR的通用参考结构模型7非VR服DivisiondVS,ProVision和SuperVisionAlberta大学开发的VRSGI工作站上的C语言直接调用。瑞典的DIVE实验性平(NPS)计算机系开发的NPSNET,遵循IEEE1278分布式交互仿真(DIS)IP3DInternet上进行多用户德国国家开发的主要有2中通信模型消息传送有1.点对点 DVR21.数据库语音消息服务消息服务用户D用户消数据库语音消息服务消息服务用户D用户消息服务用户用户A多用户虚拟环境系统RING2DVR系统涉及许多复杂的计算,如实体之间的运动和碰撞检测,需要消耗大量时间。节点提供面象的场景图形API,可以调用这些API来表达绘制复杂的几何形体。在本课程的后半段也将要学习Windows的重要的图形API OpenGL还有近年检测器提供AvocadoababcdcdAvocado2增强现实(AugmentedRealityAR),是虚拟现实研究领域里逐渐引起广大学者关增强现实和虚拟现实之间的关系可以由Milgram一种分类学的方法来表示机的参数(焦距和透镜的失真率)和外部参数(位置和方向)决定了哪一部分三维图增强现实中的显示技术:光学混合和混光学式头盔装置(opticalseethroughHMDs)是把光学融合器(opficMcombiner)放置在用,。相对的头盔装(ehrughHD)是把一个闭的头盔同到两个机结合一起机用户提实世界中场景这真实的同景产生器产生的虚拟图像相融合。最后结果由人眼前的位于封闭式头盔上的监视器来,用户可以观到增强真实世。下图示式头装置的造示意。,。板、被维修设备的结构、被维修设备零件图等。中列出10个2020年最具意义的技术趋势这些趋势将决定着未来一个时期的社会发展特征,其中第10位的便是增强现实技术。国内研究AR系统的单位有理工大学、国防科技大学、西安石油学院、电子科技大学华技大学大学等国外研究AR系统的单位有德国 哥伦比亚大学、澳大利亚Vienna大学、Nara等,这些单位已经在AR系统的机校正算法、AR头盔显示器的设计、硬件平台的应用、视觉技术等方面一篇德国专利DE10108064述及的增强现实系统,用或音频信息进行综合视觉同年公开的专利US2002191003涉及的增强现实显示技术,用机定位物ARAR系统的研究尚处PC声音等,并且可以头部的6个度的运动,可以应用到许多领域,例如科学计算可视元到数百万不等,长期以来主机使用SGI的高档工作站、多通道图形系般用户近几年来,随着微机的性能和图形加速卡的图形渲染能力的不断提高,AGP总线突破PCI33Mhz的限制,微机图形加速卡的性能得到了很大的提升,使得用分布微机系统替代昂贵的SGI工作站成为可能。CAVE5SGI高端图形工作站,其中的四台工作站负责四个面的立体图像渲染,另外一台负责头部运动和提供三维声音服务。尺寸为7英尺X7英尺X7限元计算的数据量非常巨大,后来不断地对CAVE进行改进,采用了单独的超级计算机代设备是SGIOnyx2CAVE系统大部分仍然停留在高NAVE系统是一个基于PC的廉价CAVE系统[3],由三台Pentium500加 2图形加速卡组成图形绘制系台Pentium450和SoundBlasterLIVE!组成声系统。该系统采用三投影面,相邻两个面之间的夹角为120度,使用偏振光的方式实现图像,每个面使用两台廉价的投影仪,投影仪价格每台6,000~15,000,分辨率1024X768,60帧/秒。眼睛采用低于1的偏振光眼睛无头部设备。该系统整体硬件造价小于60,000(注:该系统由微软和NSF资助。在实现CAVE系统的编程环境和系统结构方面,研究使用了不同的方法,并行和分布处理是一项常用的技术。Repo-3D实现了一个面象的分布图形系统,该系统运行于分布式共享内存(DistributedSharedMemory)系统之上,优点是系统是面象和事件驱动的[4]Blair实现了一个廉价的VRVNC(RetainedMode)GLX的立即模式(ImmediateMode,大大地降低了立即模式传送动态图像的高带宽要求,性能得到了很大提升[5]。WireGL对OpenGL命令进行了扩展,允许OpenGL命令可以在网络上运行,使用caching策略和严格的优化降低网络带宽需求和消除网络带宽造成的瓶颈[6]。Pomegranate是一个全新的并行绘制的硬件体系结构,将整个图形绘制流水采用GeoForce256三维图形加速卡,Myrinet高速网络,实现了一个并行的OpenGL,64个节点,流水线利用率为87%-99%,每秒11亿三角形,218亿像素。整个系统是一个主从模式的图形集群计算系统,见下图。操作系统采用Windows2000,与Linux相比,前者具有广泛的硬件支持和的用户支持,同时提供QoS与DiffServ服务,同时目前的Linux系统对三维图形加速卡的支持种类和能力都比Windows差。主节点点,其它为从节点,接收主节点令,同时向主节点发送请求与状态。网络使用100Mbps的D-LinkDTX530网卡和一个24口的交换式HUB。从节通 图形计图形从节通 图形计图形计通从节图形计通从节主节硬件输控通图形计网制的服务模块。图形子系统的底层图形绘制引擎为DirectX或者OpenGL,为场景管理PCCAVE应用程序使用。每个节点都具有一个性能监测GUIClusterS实现程序启动与关闭。1部件名 型部件名 型单价/合计元主 ASUS4PentiumIII4电源机 4图形 4硬 IBMDTLA4显示 SumsungSyncMaster1网 LegendDTX530RECV4光盘驱动 美达 键盘鼠
总 服通信,控PCCAVE注该报价表为设备价格时间为2000年10服通信,控PCCAVE底层协底层协MPICH12图形性能监通信系通信子系统是PCCAVE的模块。它负责在节点之间传递信息,包括将主节点的控85Mbps,因此通信系统的时间延迟和通信带宽都可以满足分布图形计等待所有从节点绘制完成,发送Swapbuffer消息,并进入下一次绘制过程,如果用户发出绘制完成向主节点发送绘制结束消息,等待主节点的Swapbuffer命令交换缓冲区。如果接,MPICH1.2点对点双向时间延迟测y2E-07x00 数据包大小(字节点对点双向时间延迟(IIORB(智能信息服务。PCCAVE实现了智能信息机制,主要用来透明地存取分布数据。IIORB将所有的数据划分为两种不同类型,周期性的数据存取服务,随机数据存取服务。分布在不同节点上的数据都分配了一个系统全局数字标识ID,它将分布在不同节点不同区域的数据连接在一起。当节点i需要存取节点,MPICH1.2点对点双向时间延迟测y2E-07x00 数据包大小(字节点对点双向时间延迟(MPICH1.2图形子系ASUSAGP-6800Delux图形加速卡,属于入门级。该1536万三角形每秒。3D图形API可以使用DirectX或者OpenGL,图形库的选择比较多,对于DirectX,.X格式是一种比较好的选择,DirectX可以对几何数据进行优化,同时支持累进网格和多级纹理,目前的DemoDirectX作为底层的API。当然可以使用其它的文件格式或者场景管理方法,例如VRML,3DS等。也可以利用Pro/E等CAD作为二次开发的平台,直接将设计结果置于CAVE中作现场的验证。投影系统目前没有采购新的设备。由于Windows2000XWindows显示系统存在着相1280*1024的图像,刷新频率150Hz,每只眼睛75Hz。目前系统的照相机参数假定每个面使用90度的视角范围,Front面照相机参数为原始参数,Floor、Left、Right三个面的照相机PCCAVESwapbuffer,由于MPICH消息传递的时延很小,人眼觉察不到四个面的图像同步的差异。声系目前本系统尚没有集成声设备。声系统使用AC-3组就可以得到相当好的效果。NAVE的配置也可以作为参考。DirectAudio提供了强大的三维声支持API。目前大部分的头部设备都运行于微机上因为UNIX的串口通信的效率与Windows相比太差。采用Windows可以获得更高的采样速度和精度,同时可以降低延时。Windows3DSMax建模,场景数据包含了12,500三角形,30M纹理数据,运行速度超过了20帧/秒,并且可以产生高度的沉该程序采用DirectX83D图形API,.XVisualC++6.0为开发语PCCAVE12个星期。由PCCAVE对节点做透明的管理,因此程序设计相对非常简单,应用程序的开发在一定程度上达到了单一系统影像(SingleSystemImage),基本实现透明的信息分布处理,如果一个PCCAVE程序框(a)位置1左面墙的图 (b)位置1前面墙的图像(c)位置1右面墙的像 (d)位置2左面墙的图 (e)位置2前面墙的图像(f)位置2右面墙的像优缺便,系统可靠性高。如果采用偏振光的方式实现图像,那么可以采用10,000~30,000如果需要提升系统的性能,可以使用8台PC或者使用Wildcat高端图形显示卡,每秒钟可以绘制超过千万个三角形。同时PC机的发展比工作站或者超级计算机快,价格和性能持续地按照摩尔定律发展。目前Windows下的开发工具种类比较多,可以拥有比UNIX的Windows版本,这给PCCAVE的应用提供了广泛的应用范围,使得中小企业使用PCCAVE交互设备API的工具和开发包。同时没有广泛地开发面向不同应用领域的开发工具包。性能分MPICH1.20.35毫秒,4PC的系次通信总的时间延迟为0.35X3毫秒,一次绘制过程需要两次,那么总的通信资源将占用2.150帧/89.5,20帧/96%PCCAVE应用而言,假设每次绘制的数据传送为10毫秒,系统性能20帧/秒,节点利用率仍然可以达到36%,当然采用更高的网络系统可以获得更好的利用率和运行速度,Myrinet点对点的通信带宽为816节点,那么必须采用集合通信方式或者将节点组织为树状结构,降低系44CPUSGIOnyx2,可以配置高档的图形卡提供更高的系统性能。系统的沉浸感和CAVE系统相比较无差异。与交互设备的响应时间。这些设备在Windows系统下可以获得比UNIX下更小的时间延迟,因此可以更短的响应时间和更小的滞后。同时由于Windows系统可以更到CAVE系统的要求。暂时使用鼠标和键盘控制。可扩展性。各个子系统都可以升级,节点数据可以扩展到8个甚至,同时也可以升级到最快的CPU与系统总线,网络通信可以使用Myrinet等高速网络设备,图形子,PC软硬件环境,系统的可扩展能力强,开发工具众多,程序员不需要特殊的培训,使得CAVE广泛地推广成为可能。第六章VR实例—虚拟水族馆和人工、虚拟现实技术应用领域非常广泛,与计算机和动画的结合即是一个新颖VR技术,生成可交互的具有生命特征的智能动画角色,进而扩展、真,让人们不必深入其中而能够“看到、感受到其中的美妙景象并与之交互。虚拟现实和6.1.1(ArtificialLife,简称ALife或AL)的概念最初由的Langton教授于1987之一。目前,在、欧洲及这方面的研究最为活跃。的SFI、MIT以及的ATR有专门的研究的课题。我国学者接触这个领域较晚,目前尚未形成声势和有规模的研究队伍。1997年夏天,2002年10月,工智能学会在主办了第一届“及应用”专题学术会议,标虚拟式表现的。如:C.G.Langton的细胞自、的“人工鱼”动画等。实体式表现的。如Brooks的六腿机器人,Garis的机器猫等。虚拟现实与的结、洋馆进行了仿真。在这个虚拟海洋馆系统中,一台图形超计算机对海洋馆的外部环境进行真的外观建模,同时程序赋予它们感知、行为和运动能力以及各种属性设置,人、拟动画生物进行交互。投影系统包括一个12平方米的大屏幕,作为计算机生成的环境生深度感觉和效果。eda发了可用面板制的交式拟水族馆整系统包三部分:虚拟水族馆定交互板和移交互面板定互面板提可触摸水族馆流虚的人工鱼用Dsax三维建进形体建模可以通交互面跟用户进行交互。3D模型建立珊瑚礁生态,以展示珊瑚礁复杂多变的景象。技术仿真海豚的动态,观众只要带上偏光眼镜,便可看见海豚或其它海洋动物的影像,13种热带鱼追逐而动。这些虚拟鱼是通过参观者人工鱼研究现中的基于知识的系统(模拟外在智能的抽象形式、如问题求解、博弈等、(动物System(XiaoyuansFish行为等,每条人工鱼都是独立自主的、有自激发功能的Agent。“Xiaoyuan’sFish”开创了计GrzeszczukTerzopoulos[41,42]研究了人工鱼的学习技术,能够自动地并把它们提取为适当的参数形式。一方面学习中枢取代了原始的费力工制作运动控制件变成了代码,因而变得繁琐复杂,导致鲁棒性和效率较低。针对以上不足,JohnFunge[43,44]开辟了利用人工智能认知建模方法来创建智能角色的型定义为角色关于其世界的模型,它支配着角色对其世界的了解程度指导角色如何获取知识,以及如何利用知识进行推理和规划行动。Funge提出通过在情景演算(situation(uncertaintyJohnFunge利用认知建模方法创作了史前世界和海底世在Funge所认知建模的基础上丰富了人工鱼的认知模型并提出了人工鱼的习机制[45,46]。工鱼的自繁衍模型,根据人工鱼的表现型,给出了人工鱼的组成,建立了人工鱼的模型。在此基础上,给出了人工鱼的遗传、杂交和变异规则。提出了基于竞争机制的感感系认系行系图 包括模块、聚焦器和决策器,对感知到的信息进行和处理、决策,产生当前意图。认子系统功能相于人工的大脑具、学、推理决策等种能力 A(t),标志其是否存活。定义人IS{A(t),H(t),D(t),S(t)}={存活状态,饥饿度,度,体 (6-A(t)
H(t)min[1exp(u(1tH)/C)Sh(t),
(6-0D(tminDi,1DiminP*idi(t),0
iS(t):其中,H(t)和D(t)的取值范围为[0,1]值越大表示饥饿程度和程度越深。H由冲动和外部刺激同时决定,而D(t)则由外部刺激(如遇到捕食鱼)单独引起。公h (6-3)t为时间,u表示人工鱼所消耗的食物量,可通过计算食物颗粒数或01的取值不同;tH是自从上次进食以来的时间;C表明鱼的胃口大小C值与鱼的大小有关(体形较大的鱼胃h 度H(t) 续量,设定阈值H[0,1],如果H(t)H,则认为人工鱼比较饥饿
200diDi分别表示跟所发现的捕食者i者i造成的度总度D(t)实际上是所感知到的所有捕食者对其造成的度的累,和其中每个predator所带来的度与其相对距离有关一般来说距离越近度越强,,但小鱼仍处于安全状态。为此增设一个判断因子i,表示捕食者i对于人工鱼此时的处境而言,是否真的。i定义如下:i
iisdangerou;there'srefugefor
6.5.1节。(PrefereceP={Light,Warm,InSchool,FoodType 其中,Light、WarmInSchooltruefalse表明鱼是否喜光,喜暖,喜欢集群;FoodType为枚举参数,表示鱼喜欢吃的食物的类型。三阶段机,,而言能力是非常必要的,因为它无法预知环境变化能够使其记住以往的经验和,,瞬提复瞬提复短长遗遗信遗图6.2流程由图可见分为瞬时短时和长时三个阶段其中每个阶段都存在编码、瞬时USTM(UltraShort-TermMemory:又称为“感觉”,在整个认知过起到滤波器的作用,从外部环境中得到的信息经过瞬时之后得到筛选和短时STM(Short-TermMemory:又称为“工作”或“直接”,只要指够被再现,短时组成了当前头脑中的信息。它类似于一个工作台,从长时记存回长时库。短时对决策起着重要作用,可视为一个包括和加工的长时LTM(Long-TermMemory:是一个庞大而复杂的信息库,着主体 基于的人工鱼认知模感愿信信 器行调长感愿信信 器行调长图6.3基于的人工鱼认知模认知模型的工作过程描述如下:外界感知信息传递到USTM中进行短暂的,聚焦器根据当前人工鱼的状态和偏好对这些信息进行筛选过滤掉当前不感或是冗余的,按照愿望的特征值搜索人工鱼感知到的虚拟环境信息无非是空间点信息和向量信息,以及信息之间的相互关对信息进编,确定系的作对象和用式。定义编码规如下。Cell息单元。ICell其中:Head为信息头,是指向下一个信息元的指针;TimeStamp为时间戳,标志该信息元的生成时间;Type为类型,表明该信息元属于哪种类型;Content为具体内容,不同的USTMWeight0,在之后的信息处理中再进行调整。2.SICell(SensoryInformationCellUSTM的信息元称为感知信息元。SICell64.1;Position为目标物体的相对位置。表 PredatorFoodGrassRockFishSame遇物需要躲避碰撞(中断执行,就需要记录其觅食的行为目标和食物位置,从而能够Cell近正在执行的行为目标;FinishedGoal是否已经完成。Cell工和强化之后的信息,作为经验知识被和调用,因此称作经验信息元。LTM实际上是载体,随时可能被STM到。EICellContent择执行的行为;Success标志行为是否成功。聚焦器得到USTM中的所有信息元,根据人工鱼的状态和偏好对其进行过滤和筛选,选中的SICell进入STM,为决策作准备,同时状态也得到更新。聚焦器反映了由D(t仅由外部刺激即出现的捕食者决定,所以任何有关捕食者出现的信息都应该被关注,因为这是生命安全的,即选择所有ObjectType=Predator的信息元,按照公式(4-2)D(t)的值,同时用D(t)Weight值;H(t) 冲动和外部刺激同时决定,因此如果H(t)H(H为设定的饥度阈值则选择所有ObjectType=Food(2)H(tH更新选中的信息元的WeightObjectType=FishSame的信息元,更新权重;ObjectTypeSICell仅提供关于碰撞检测的信息,由于避碰属于直接SICell不必送入STM中,被聚焦器过滤掉。照不同的类别了所有当前感的信息。决策器接收STM的输入,根据人工鱼状人工鱼:IntentionSet={觅食Forage,进食Eat,逃避Esc 捕食鱼:IntentionSet={进攻Attack,进食Eat,游弋Wander};检查行为:检查STM中的DICell,若其Finished=false,则选择Goal为(3优先级选择:若当前STM存在SICell,则对其中每一类信息元按其Weight值从则,直接根据状态和偏好确定一种行为作为当前愿望Desire;特征匹配Desire搜索LTM,找到LTM中满足特征匹配条件“Behavior=Desire”的所有EICell,调用到STM中,同时增加保留在LTM中的这EICellWeight值;Intention;决策反馈Intention和相关信息元传递给STM,STMEICell的回调采用LIFO(LastInOut,后进先出)算法,即最近形成的最容易被想起来,最久形成的最不容易想起。,随时间增长中充满了信息元,由于的容量有限,所以必须决定删除哪些信息LTM中的信息元每次被调用FIFO(InOut,先,进先出)算法,即最先形成、距离现在最久的最先被丢弃。当下一时刻来到USTM→STM→LTM中的信息就会被更新,开始一个新的和传递过程PCVisualC++.netAPIDirectX9.03DsMax三维建模工具建好,转化为.x格式,导入到程序中,由代码控制其运动。A,B,C……则设置USTM、STM和LTM三个缓冲区,以STM为中心,它的和更新也最频繁。鱼到任意一个区域进食后,就在STM缓冲区增加一条记录,每次觅随机因子[01,不同的值对于人工鱼的行为产生不同的效果。之,越小,随机性越小,表明人工鱼比较依赖过去的来指导当前行为。)((2(2)6.5行为控图6.5为针对人工鱼Agent建立的模型框架。其中图 图6.6人工鱼行为双层控制结,控制结构,人工鱼能够根据环境及其他角色的状况选择策略、调整其行为和运动一, 食者的数量;di为捕食者和第i 距离常量,如果diD,则捕食者按照当前体力所能提供的最大速度,全速冲向目标猎物;否则捕食者采取不同的策略来追捕猎物。定义捕食者可吃范围eatable_margin。Predator规划目标:predator规划前提:当前环境中有多个preypredator;约束:predator和prey都受自身状态和体力的限制;初始状态:predatorprey各自在某处活动;predator当前状态为饥饿,产生捕食Step1.predator感知系统的输出:如果n0,则随机游动;Step2.{如果n1prey为捕食目标,追击目标;如果是,则predator单独追捕鱼群形成的球体边缘,鱼群;否则,predatorprey;}Step3.如果捕食成功,则捕食过程结束;如果超过设定的时间阈值,则predator放弃此次捕食,结束;否则,返回Step1。当predatorprey的距离在teatable_margin时,定prey的生存状态active=false。npreypredatordiprey和第ipredatorRefuge,Refuge的属性在虚拟环境建模时已经Prey规划目标:preyesca规划前提:当前环境中有多个prey约束:predator和prey都受自身状态和体力的限制初始状态:predator产生捕食行为,prey当前意图为逃避;Step1.计算prey的度Step2.prey{RefugeRefuge;prey是否为集群鱼且附近有同伴鱼,如果n1prey}Step3.preyactive=false,则逃避过程结束;否则返回Step1。prey生存状态active=false只考虑安静状态(闲游)力的恢复和运动状态力的消耗。定义人工鱼在t时刻的实际速度为V(t),常量Vnormal为安静状态下人工鱼的速度上限,则在t时刻的小邻域t内,人工鱼体力的变化值S(t计算如下:S(tt)S(t)SS(t)(V(t)
)
If(V(t)Vnormal),thenS(t)0S(tt)S(tIf(V(t)Vnormal),thenS(t)0S(tt)S(tIf(V(t)Vnormal),thenS(t)0,S
0逐渐增大,t1H(tHv1v2v3,可见运动速度越大,体力衰减越快。t1(3)运动之后进入休息状态时的体力恢复曲线,v1v2v3HH10SS0SSS0t6.7(1)饥饿度曲线(2)体力衰减曲线(3)自然界中的鱼类有其自身的机制,鱼类通过进食降低饥饿感并获取生存所必须的 otionModel ; ; 速度(三维向量; ;max_stamina最大体力(标量}其中,mass、max_speed、max_stamina均为标量,分别表示人工鱼的质量、最大速率、最大体力(max_staminaSmax;position、velocity是三维向量,分别表示人工鱼的位置、速度和朝向(当前速度方向与三个坐标轴的夹角velocity的模值speedorientation。FFFmass
F动力F阻力指鱼受到的阻力。定义符号ACBABCAB,方向与向量CF
向量theta
(6-AFish的新位置,具体计算公式如下:accelerati
(6-
positionposition“到指定点”和“追逐动态目标”两性的行为为例,给出各个运动量的计算方法。6.8SwimToPosition行为的路径规划示意图。A点表示人工鱼所处位置,B静态目标点,t时刻人工鱼的速度为Vf(t,Vd(tVa(tVd(t)VfVfVf VaVdB图 图6.9所示为 (prey, 的prey当前的速度为ft),sst)CAft)B图 人工鱼群由多个Agent组成,存在Agents的协作和竞争。在Agent建模的基Agent群体行为进行规划建模和协同控制。基本思想如下:系统中所有Agent组成一个队列,设置一个虚拟的消息中心,负责消息缓冲区的管理。每隔AgentAgent状态发生改变,则产生一个消息,放在消息缓冲区中,并将此消息发送给其他所有能感知到的Agent(此过程示6.10。Agent接收到所有消息之后,集中对消息进行解析、处理,并通过意图产消息中心。。。。列队图 Agent的信息,Agent能够做出全局的、群体协调的行为决策。在消息发送和接收过,由于加入了可感知性判定,避免了冗余的消息传递,Agent的实时协同控制成为可能;消息的集中处理又可以快速地模拟真实的感知。CenterBuffer为坐标位置改变,就产生一条消息,记录该Agent(称为消息源)的变化信息,同时将此Message::=其中,No为消息;SourceID为消息源标识;Position为消息源位置;Level为消息Agent的级别;Timestamp为时间戳,记录该消息的生成时间。List虚拟环境中的Agent是自主行为的,每个Agent在消息中心,形成一个Agent称为Agent。Agent的结构如下:RA::=(<Head><ID><Level><Position><other其中,Head为指针,指向下一个结点;ID为Agent的唯一标识;Level为级别。鱼在最,以浮游生物为食的小鱼在最底层。为简化起见,只考虑相邻层的捕食关系。PositionAgent在虚拟环境中所处的位置。Otherinformation指按照不同需要设定的人工若虚拟海洋环境中有集群的人工鱼,则消息中心的Agent队列中,同一个鱼群中环境中存在捕食关系,有些鱼食,Agent总体数目减少,从而使Agent队列发生改变。Agent组。……同……同一鱼群中的AgentotherotherotherotherN21Agent队同一级的Agent链图 Agent队列的示意图Agent(1)用一个质点代表一个fish_agent(2)物(如礁石等)用规则的几何体代替,如圆柱、球体和矩形体等(3)设 Agent队列 有N个级别,第i级共有ni个Agents。AgentStep2.消息生成:每个时间步t,MC按照级别对Agent队列进行扫描////先由高到低扫描,再反向扫描对的每个Agent://设 Step3.Agent(RAjj1,2,ni)RAj可感知到消息k,则将k发送给它,同时从消息缓冲区中清除该RAjStep4.根据自身状态,利用规划策略和运动模型执行相应的行为:如果当前意图为捕食,则调用Hunt算法;如果当前意图为逃避,则调用 算法Step5.行为:如果RAj处在一个鱼群中,则将其意图给该鱼群中所有其他Step6.更新环境信息和AgentStep7.返回Step2AgentRAjddR(RRAj的可感知半径遮挡判定:如果消息源Agent跟RAj之间有物遮挡,则无法感知到Step4中调用的Hunt算法和 第七章拟现实平台VR-交互界面与地理信息系统的地理空间分析专长结合起来,形成虚拟现实地理信息系统(VRGISVRGIS平台的设计目标为一个VR与GIS紧密集成的虚拟地理信息系统:能够支支持GIS空间分析;支持快速地二次开发等,为城市的建设和规划提供科学的依据和灵活VRGIS以VR技术作为前端与用户进行交互,同时在底层支持GIS(的空间数据,处理,查询,分析等功能的系统。VRGIS应具有以下几个方面的特征[2]:①空间数据的真移动;③具有基于三数据库的基本GIS功能(如查询、空间分析等);④可视化部分VRGIS系统集成的方式分为松散集成、紧密集成和完全集成3种:VRGISVRGIS系VRGIS完全集成方式实现了VR和GIS功能上的高度,既使用相同的数据库又把VRGIS的理论和技术经过多年的研究和探索,取得了一定的研究进展,开发出了一些比较成功的,如ERSI的ArcView3Dyst、ERDAS的ImagineVirtualGIS、Integraph的GeoMedia,国内有灵图的VRMap、的CCGIS等。但这些的主要功能还是停留在数据表现与简单的三维显示上,与VR与GIS的完全集成还有差距。VCOpen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程进度保证保函
- 保安人员职责保证
- 招标文件条款的深入解读
- 不放弃工作的承诺示范
- 玉石原料购买协议
- 软件服务及技术支持协议书
- 零件加工合同书范例
- 真情的承诺保证
- 国内模特服务合同
- 调味品供应合同
- DZ∕T 0211-2020 矿产地质勘查规范 重晶石、毒重石、萤石、硼(正式版)
- MOOC 作物育种学-四川农业大学 中国大学慕课答案
- 变电站隐患排查治理总结报告
- 异彩纷呈的民族文化智慧树知到期末考试答案2024年
- 国标《电化学储能电站检修试验规程》
- 车辆救援及维修服务方案
- 三体读书分享
- 2024年内蒙古巴彦淖尔市交通投资集团有限公司招聘笔试参考题库含答案解析
- 2024年南平实业集团有限公司招聘笔试参考题库附带答案详解
- 咖啡学概论智慧树知到期末考试答案2024年
- (高清版)DZT 0217-2020 石油天然气储量估算规范
评论
0/150
提交评论