虚拟现实技术课件第三章114.ppt_第1页
虚拟现实技术课件第三章114.ppt_第2页
虚拟现实技术课件第三章114.ppt_第3页
虚拟现实技术课件第三章114.ppt_第4页
虚拟现实技术课件第三章114.ppt_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

虚拟现实技术,第三章虚拟现实的计算机技术,课前索引第一节虚拟现实的计算机体系结构第二节虚拟现实的软件系统第三节虚拟现实的网络和通讯章节小结课后习题,课前思考1哪些计算机用于VR?2常用工具软件的特点。3分布式仿真中的网络和通讯的特点。学习目标1了解不同类型VR用计算机的组成及特点。2了解工具软件的要求和功能,了解分布式仿真。3了解网络和通讯的硬件,软件和分布式仿真。学习指南1注意VR用计算机提高速度的措施。2注意工具软件的功能及对比。3注意分布式仿真中的网络和通讯的主要问题。,难重点1注意帧频和延迟的要求。2注意不同类型VR用计算机的组成结构。3注意VR用计算机的并行处理技术构。4注意工具软件的要求。5注意工具软件的功能。6注意常用工具软件的对比。7注意各类网络结构的对比。8注意软件质量的要求和保证措施。9注意分布式仿真的特点。,1虚拟现实的计算机体系结构,虚拟现实的计算机体系结构虚拟现实对计算机系统的要求基于PC的虚拟现实机器的组成结构基于工作站的虚拟现实机器组成结构高度并行的虚拟现实机器组成结构,虚拟现实对计算机系统的要求问题一:前面我们讲解了很多虚拟现实技术的指标,例如:位姿、视觉、听觉、力觉触觉显示等,是否都是在现有手段范围内,对计算机系统实施必要要的要求呢?只包括了视觉显示对计算机系统的要求。原因是:位姿传感器的数据处理,一般不在主计算机上进行,而是由专用的电子设备完成。听觉显示,力觉触觉显示,研究工作和实际应用还较少,对其计算要求的认识还较少。听觉显示和力觉触觉显示的计算,往往由专用计算机完成。所以,当前的虚拟现实计算机,主要完成视觉显示的计算任务。问题二:视觉显示对计算机系统的要求有哪些?1帧频和延迟时间的要求2计算能力和场景复杂性,视觉显示对计算机系统的要求-帧频和延迟时间,VR要求高帧频和快速响应,这是由于其内在的交互性质决定的。两个概念:帧频来自动态图像技术。在动图像显示中,每一帧实际上是静止照片。如果新照片快速接替旧照片,就产生连续运动的幻觉修改率是在屏幕上的显示改变的速率。为符合基本的动图像技术,理想的修改率是每秒20帧(新图像)。,对计算机硬件,帧频有几个含义。它们大致分类为图形的帧频计算的帧频数据存取的帧频哪种帧频是最重要的?为了维持在VR中的临场和沉浸感,图形帧频是关键。原因:这些帧频可能是独立的,图像场景可能变化,而没有来自用户视点运动的计算和数据存取。这时,图形的帧频大于计算的帧频和数据存取的帧频。经验表明,图形帧频率应尽可能高,低于每秒10帧的帧频严重降低临场的幻觉。如果图形显示依靠计算和数据存取,则计算和数据存取帧频必须为8到10帧/秒,维持用户看到时间演化的幻觉。,什么情况下,希望VR具备快速响应?如果应用允许交互控制,就要求快速响应。长响应时间(滞后时间,延迟时间)最直接的影响是什么?严重降低用户性能。响应时间的通常恒量值是多少?多于几毫秒的延迟会影响用户性能,而多于0.1秒的延迟有严重影响。例举一个响应时间影响用户性能的例子,延迟时间是如何计算的?从用户的动作开始(如用户转动头部),经过位姿传感器感知用户位姿,把位姿信号传送给计算机,计算机计算新的显示场景把新的场景传送给视觉显示设备,直到视觉显示设备显示出新的场景为止。影响延迟的因素这些延迟在计算机系统中来自很多因素:如数据存取时间计算时间绘制时间输入设备数据处理时间。类似帧频的情况,延迟的来源分成:数据存取计算图形显示。,问题:系统有高帧频,延迟就相对会小,正确与否?虽然延迟与帧频有关,但它们不同。系统可能有高帧频,但有较大的延迟时间,显示的图像和提供的计算结果是几帧以前的。,帧频和延迟的最低要求由什么决定?要求的帧频和延迟一般取决于环境特性。只有慢速运动物体,较静的环境,可以用帧频每秒8至10,和0.1秒延迟。如果环境中有高速运动的物体,则要求高帧频(60Hz)和短延迟。所有情况下,若帧频低于每秒8帧,则失去三维环境的生动感,若延迟大于0.1秒,则很难操作环境。因此,帧频必须大于8到10帧/秒,总延迟必须小于0.1秒。,视觉显示对计算机系统的要求-计算能力和场景复杂性,为什么说虚拟现实仿真的计算问题,是一种时间受限的计算这是因为显示的帧频必须大于8到10帧/秒。于是,在0.1秒内,必须完成一次场景的计算。用什么能够表示计算能力?如果一个显示的场景中有10,000个三角形(或多边形),这个数量就反映了场景复杂性。这样,在每秒进行的10次计算中,就应该计算100,000个三角形(或多边形)。这表示了计算能力。计算能力和场景复杂性的折衷问题若要求更加逼真的仿真效果,就要增加场景复杂性。显示的场景中有更多的三角形(或多边形),显示的效果就更逼真。这就要求更强的计算能力,每秒计算更多的三角形(或多边形)。反之,如果只能使用能力有限的指定的计算机,则限定了计算能力,也就限定了场景复杂性。每个场景,只能用较少的三角形(或多边形),产生较粗糙的显示。,下图表示,波音747-400飞机的两种复杂性不同的三维模型。(a)中的模型有520个顶点,406个多边形。(b)中的模型有7694个顶点,7556个多边形。效果图说明了明显的逼真度差别。,下图表示,人体骨骼的两种复杂性不同的三维模型。(a)中的模型有8979个多边形。(b)中的模型有131275个多边形。效果图说明了明显的逼真度差别。,问题:对于VR计算机,主要的技术指标就是其计算能力,用什么恒量计算能力?每秒计算的三角形(或多边形)的数目。讨论计算能力时应该注意的问题是否加纹理,是否反走样,采用哪一种明暗模型,都会影响到计算能力。加入这些复杂的功能,就会增加计算复杂性,从而减少每秒计算的三角形(或多边形)的数目。,计算机生成图像时的走样现象通常存在三种走样现象中的两种:锯齿形边图形细节或纹理绘制失真第三种现象出现在显示非常微小对象的场合。什么是反走样?在光栅图形显示器上绘制非水平且非垂直的直线或多边形边界时,或多或少会呈现锯齿状或台阶状外观。原因?这是因为直线、多边形、色彩边界等是连续的,而光栅则是由离散的点组成,在光栅显示设备上表现直线、多边形等,必须在离散位置采样。由于采样不充分重建后造成的信息失真,就叫走样(aliasing)。而用于减少或消除这种效果的技术,就称为反走样(antialiasing)。,反走样的方法:基本上反走样方法可分为两类。第一类是提高分辨率即增加采样点(提高采样频率)。然而,CRT光栅扫描设备显示非常精细光栅的能力是有限的,因此人们通常是在较高分辨率上对光栅进行计算,然后采用某种平均算法(滤除高频分量)得到较低分辨率的象素的属性,并显示在分辨率较低的显示器上。这种方法称为超采样或后置滤波。另一类反走样是把像素作为一个有限区域,对区域采样来调整像素的亮度,以光顺边界来减小锯齿现象。这种方法等价于图像的前置滤波。,关于明暗模型光照模型可用于任何表面上任一可见点。通过计算该点处的表面法线方向及应用光照模型即可确定此点的光照明暗程度。当我们处理多边形集合或多面体时,如果整个表面都这样依次计算每点的光照明暗度,所需的耗费就太大了。因此,需要采取一些有效的方法对整个表面的明暗度进行处理。对多边形和多边形网格的基本明暗处理方法有三种:常数明暗处理法Gourand明暗处理算法:Phong明暗处理算法,常数明暗处理法Gourand明暗处理算法:Phong明暗处理算法三种算法的具体内容?,对计算机系统的要求,图形学和计算机硬件的进展对全真实的VR是关键因素。由于广泛的兴趣和有不同性能要求的大量应用,所以需要在几个层次继续进行硬件开发,由高档多模式工作站到低档的只有适当三维视觉能力的个人工作站。将来的高档VE系统有几个硬件要求。具有高计算要求的计算机结构。这些机器必须有很大的物理存储多个高性能向量处理机高带宽(500Mbytes/s)低延迟(0.03s)巨型存储设备和对各种输入输出设备的高速接口。物理建模和可视化计算将是计算需求的推动力。,基于PC的虚拟现实机器的组成结构,让一般公众接受虚拟现实的最佳途径?Grimsdale1992指出,让一般公众接受虚拟现实将通过“发展”,而不是“革命”。发展意味着升级现有的计算基础,产生虚拟现实要求的新功能。利用PC平台的优点是价格低最初的PC平台的虚拟现实机器:在1992年推出了低级的基于486的虚拟现实机器它有头部跟踪器、HMD、3-D声音、图形加速器和手柄,价格少于20000美元。1994年,低级的基于PC的系统价格约3300美元(跟踪球200美元,Cyberscope200美元,软件工具盒900美元,486-PC2000美元)。,图形硬件图形硬件指的是什么?是那些使图形绘制加速的硬件设备。图形硬件涉及到哪些?图形流水线图形卡的AGP和PCI图形加速器Add-ons,图形流水线,图形流水线的作用:包括把三维物体由其自身坐标系变换到用于显示的二维屏幕空间所需要的计算器。这个过程涉及到的步骤第一步是把物体由其自身坐标系变换到描述整个场景的世界坐标系。第二步是剔除在场景中不必显示的物体,减少计算量,这是计算过程优化。第三步是在模型中引入颜色和明暗等性质。第四步,场景再作另一个变换到屏幕空间。最后光栅化为象素,并且显示。在这个过程中,计算是在多个区域内进行。很多计算在CPU进行,但是多数矩阵运算是在图形加速器中进行。,图形卡的AGP和PCI,图形卡的AGP和PCI是总线。数据总线会影响到图形卡的性能。PCI是标准的计算机内部总线。总线把计算机的插入卡(网络卡,图形卡等)连接到CPU。PCI总线的传输速度是有限制的。插入的卡越多,每个卡得到的传输速度越小,图形卡与CPU只能以较小的带宽通讯。AGP是专用总线,它只能连接一个卡(图形卡)。它的通过量全部用于图形卡。他还允许直接把纹理传送到图形卡,不必通过系统存储器。可以想象,这将大大增加系统性能。,图形加速器,图形加速器是图形计算的另一个重要部分。这是图形卡上的处理器,它完成所有繁重的计算。这些繁重计算主要包括:加纹理反走样计算密集的函数例如:NVidia推出芯片,完成光照及其变换。它取代CPU的工作,大大加速显示过程,允许实时的照明和明暗变化。3Dfx制造了图形卡的Voodoo和Banshee芯片。它也利用自己的T-缓冲技术,把实时明暗加在其Voodoo芯片上。ActionMedia图形加速器有SPEA“Fire”图形加速器Stride图形加速器,Add-ons,Add-ons适用于只有2D加速器,但没有3D加速器的计算机。它提供用于显示3D物体的计算,极大地改进性能。3Dfx是add-ons的主要制造商。它的Voodoo就是一种初等的add-ons。它还为其图形卡开发了API(称为Glide)。Glide提供了软件微层次,使开发者免于直接处理硬件寄存器和存储器。这减少了调试时间,加快了开发过程。它基本上是OpenGLAPI的缩减版本,类似于OpenGL。GlideUtilityLibrary提供Glide的更高层次的实现。,关于3D显示卡,3dfxVoodoo3-3500它使用8片HY5.5ns,提供128bit带宽,显存和芯片内核速率在183MHz,多边形处理能力是800万/秒,像素填充率是366万/秒。他拥有3dfx独有的3DAPI:GLIDE,拥有简洁的代码和较高的效率,针对GLIDE优化的游戏效果比一般针对D3D优化的游戏效果更出色,所以他是最好的3D游戏卡。价格1500元。耕宇TNT2Ultra+它使用232的SEC-GC显存。其核心频率和显存频率分别为175MHz和200MHz。多边形处理能力是800万/秒,像素填充率是350万/秒。快是它的最大特点。价格1650元。帝盟StealthIIIS540它使用MT的8ns显存。其核心频率和显存频率分别为125MHz和143MHz。它使用416的32MB显存,所以其显示带宽只有64bit。它的S3TC纹理压缩技术效果出众。它是最慢但最经济的3D显示卡。价格900元。ATIRageFury他是最大的OEM显示卡生产商。但是其产品的速度无法与其他显示卡相比。它使用SEC的5nsSGRAM。其核心频率和显存频率只有100MHz和110MHz。ATIRage128芯片的性能很均衡。画面质量和D3D/OPENGL性能都不错。特别出色的是其DVD解压能力。他是很均衡的显示卡。价格1300元。MatroxG400MAX它使用232的SEC-GC显存。其核心频率和显存频率分别为166MHz和200MHz。多边形处理能力是800万/秒,像素填充率是333万/秒。他拥有双128bit总线,双频头显示技术(同时联结两个显示器),环境映射凹凸贴图等先进技术。它的功能最多,性能很优秀。价格2500元。,3基于工作站的虚拟现实机器,就数量来讲,仅次于PC的最大的计算基础是工作站它们比PC的优点:是有更强的计算能力更大的磁盘空间更快的通讯方式。基于工作站的虚拟现实机器的两种发展途径Sun和SGI采用的一种途径是用虚拟现实工具改进现有的工作站,象基于PC的系统那样。DivisionLtd.采用的另一个途径是设计虚拟现实专用的总承包系统,如Provision100。,1Sun公司的“VirtualHolographic”工作站1992年,Sun推出VirtualHolographicWorkstation。这个系统最初使用SUNSparcstationII,并配置GT图形加速器(10万个多边形/秒)。1994年,它升级到Sun10-51,配置ZX加速器(12.5万个多边形/秒)。在立体方式下,速度下降到约6万个多边形/秒,且左右眼图像交替显示在立体监视器上。它采用StereoGraphicsCo.的CrystalEyesVR和Logitech跟踪器,给用户部分沉浸感。头部和3-D鼠标的跟踪是用Logitech的超声跟踪器,它连到工作站串行口。3-D鼠标的使用象2-D鼠标那样,用于与虚拟对象以3-D交互。集成这些I/O工具和SUN工作站的软件(运行在Solaris2.3操作系统上)是Sense8WorldToolKit的新版本,在1994年春推出。整个系统价格约46000美元,再加上Sense8软件的另外价格约6000美元。,2Division公司的Provision100工作站Provision100的并行结构有多个处理器:称为“Director”(用于碰撞检测和时间同步的处理器)用于立体视频显示的“actors”(视频处理器)3-D声音的“actors”(声音处理器)手跟踪与手姿识别的“actors”(手套处理器)。允许增加附加的I/O处理器。与主计算机的连接允许基于UNIX的Provision100用于仿真中的高级终端。6.使用两个图形板,每个眼一个,直接输出NTSC/PAL信号。每个图形板有一个Inteli860处理器和两个T425transputers。i860利用常用的多边形加速器作几何处理,提供35000个Gouraud明暗的Z-缓冲的多边形/秒。7.Provision100VRX模型有一个附加的纹理模块,在象素处理器和两个视频存储器之间。它可以加纹理,但不损失绘制速度。对256个texel单元(纹理元),24-bit彩色纹理图存在高速静态RAM中。这个RAM可以布局为256256的4个图,128128的16个图,或者它们的组合(如256256的1个图加上128128的4个图和6464的32个图)。,4高度并行的虚拟现实机器,问题:作为为VR系统提供计算的设备的瓶颈?因为计算能力成为VR系统计算设备的瓶颈之一,所以各个工作站厂商都在发展高度并行的虚拟现实机器,以便提高计算能力。1Division公司的“SuperVision”机器2SGI公司的IRIS-1400到RealityEngine23Evans&Sutherland公司的Freedom30004北卡大学的PixelPlanes4,5和PixelFlow5Sun公司的Elite3Dm3和m66更强大的机器RedMountain和BlueMountain7其他设备,1Division公司的“SuperVision”机器,Provision一开始可以绘制3.5万个多边形/秒,1992年,Division宣布了“SuperVision”机器,它用高性能的并行结构增加绘制能力到28万个多边形/秒。这些多边形是纹理的,Gouraud明暗的和Z-缓冲的。SuperVision结构有标准的Provision“前端”和多处理器组。多组结构包括一个画面缓冲器,它与一个立体视频画面获取器一起,允许图形实时覆盖在实况视频图像上。此外,SuperVision有一个多通道图像生成组,一个处理组,一个I/O组,一个声音组,以及可能的附加组。所有的组都连到同样的通讯线路。这个通讯线路的通讯是通过点到点的通信路线。它可以用于任何数据类型,由实况视频,到对象几何修改和象素信息。所有数据包都可以由环上任意的处理器送到另一个处理器。可以选择不同的分布方式,使得对不同问题的性能最优。,2SGI公司的IRIS-1400到RealityEngine2SGI(SiliconGraphicsIncorporated)公司制造的图形系统具有某种更灵活更强的数字媒体能力,它在一个包中组合了先进的三维图形,数字多通道声频,以及录象。SGI系统用作许多VR系统的核心,它完成仿真、可视化、通讯等任务。关键在于系统支持强大的计算多通道视觉输出以及连接到传感器、控制设备和网络的快速输入输出。纹理化多边形、填充能力也,3Evans&Sutherland公司的Freedom3000,Evans&Sutherland(E&S)原来是飞行仿真器公司,它发布了Freedom序列图形加速器,用于SunSparc10工作站。它提供大范围的性能水平:由Freedom1000的每秒50万多边形,到Freedom3000的每秒3百万多边形。它用标准硬件软件接口与Sun环境无缝地连接。Freedom加速器可以用Sun标准接口编程,并与当前的E&S和Sun工作站软件兼容。Freedom3000有12801024,15361280和高分辨率TV显示格式。它支持硬件纹理映射,包括MIP映射,分辨率达20002000。其它特性是线、点、多边形的反走样,a缓冲区,累积缓冲,每个象素128位,和动态象素定位。,Freedom3000包括下列技术:用0.8CMOS的五个专有的VLSIASIC芯片可编程高速微处理机的并行阵列(DSP),很快的专有的图形总线(G-bus)(速度超过每秒3百万多边形)高速象素发送互联用于图像处理的高速存取帧缓冲区(达每秒1亿象素)高象素填充率950万/秒。,4北卡大学的PixelPlanes4,5和PixelFlow,北卡大学是最早开发图形硬件的大学之一。他的工作不同于商界的工作,因为工作中基础研究多于制造机器产品,所以他们的机器总是处于图形硬件的前沿。PixelFlow和其图形性能是将来高性能三维VR的重要部分。它克服了传统硬件绘制结构的变换和帧缓冲存取的瓶颈。它利用图像合成技术,分配绘制任务在同样的绘制器阵列,其中每个绘制器计算部分基元的全屏幕图像。高性能图像合成网络实时组合这些图像,产生全屏图像。,图像合成结构的性能与绘制器数目成线性关系。一个PixelFlow绘制器扫描达每秒140万三角形,几个绘制器系统可以扫描达这个速率几倍。予计128个绘制器的系统可以达到多边形速率每秒1亿三角形。PixelFlow由超级采样实现反走样。它以几个硬件明暗器支持延迟的明暗,它在包含中间象素数据的合成图像上工作。PixelFlow明暗器计算复杂的明暗算法,以及基于图像的纹理,明暗速率与图像复杂性无关。PiexlFlow可以连到并行超级计算机,用作中间模式图形服务器,或者可以为保持方式绘制维持显示表。,5Sun公司的Elite3Dm3和m6,Elite3D是Sun公司的高性能图形系统系列,用于实时交互的3D可视化,绘制和动画。实际上,这只是视频卡,不是整个系统。它是与SunUltra10工作站一起工作的。该系统比SGI的系统便宜,但性能也较低。m6是较高性能的选项,有6个板上的FPU运算器。它有串口连接其他接口设备,如头部跟踪,HMD,3D鼠标。他的用户类似SGI系统,有:CAD/CAE,石油工业,医疗专业,HAZMAT,实时动画。,6RedMountain和BlueMountain,1996年12月16日,Intel公司与USDOE合作发布了世界上第一台每秒1万亿次的计算机(teraflops)。全美国人不停地手算125年,才相当于该机器工作1秒钟。该机器称为RedMountain(红山)。AcceleratedStrategicComputinginitiative(ASCI)正在开发仿真技术,不经过地下核试验就确保美国核武器的安全可靠。在新墨西哥州的SandiaNationalLaboratories(桑迪亚国家实验室)正在安装5500万美元的RedMountain机器,新墨西哥州的LosAlamosNationalLaboratory(洛斯阿拉莫斯国家实验室)和加州的theLawrenceLivermoreNationalLaboratory也使用该机器。该机器仿真核武器的各个方面,由激励问题(如起爆仿真),到静态仿真(如核武器储存的老化效果)。RedMountain也用于医疗和药物研究,天气预报,飞机和汽车设计,工业生产的改进,疾病演化的仿真,治理环境等。,RedMountain的主要指标为:价格$55百万,占地1000平方英尺,系统RAM:584Gbytes,双向交叉带宽51.6Gbytes/sec,PentiumPro处理器9,216,峰值性能1.8TFLOPS。LosAlamosNationalLaboratory不满足借用RedMountain,就开始建造BlueMountain。该机器有比较RedMountain更强的图形能力,增加了16台SGIInfiniteReality机器。BlueMountain组织成48个128处理器的共享存储器多处理机(SMP)。48个SMP可以彼此通讯,速度为每秒650Gigabits。它有76万亿bytes的光纤通道的盘空间。1998年11月12日建成,5年内将超过100TFLOPS。7其他设备TAN是高级的沉浸的投影显示,HP提供Kayak,VisualizeWorkstations,nVisionDatavisorHMD,E&STornado和3DLabsOxygenGMX。,小结,VR用计算机的技术要求是帧频和延迟时间的要求,以及计算能力和场景复杂性。基于PC的虚拟现实机器包括:有ActionMedia图形加速器的486-PC;有SPEAFire图形加速器的486-PC;Stride图形加速器等。基于工作站的虚拟现实机器包括:Sun的VirtualHolographicWorkstation;Division的Provision100工作站。高度并行的虚拟现实机器包括:Division的SuperVision;SGI的RealityEngine2,ONYX2;Evans&Sutherland的Freedom3000;北卡大学的PixelPlanes4,5和PixelFlow,Sun的Elite3Dm3和m6;以及更强大的机器RedMountain和BlueMountain。,2虚拟现实软件系统,虚拟现实对工具软件系统的要求虚拟现实常用的工具软件系统虚拟现实工具软件的功能,1虚拟现实对工具软件系统的要求,虚拟现实程序设计需要有关实时系统、面向对象语言、网络、物理建模、多任务等方面的知识。好的计算机程序员精通这些技巧。但他们不可能熟悉各种虚拟现实应用的专业领域。反之,医生、建筑师、或经济分析家也不可能具有必要的程序设计技巧。虚拟现实厂家认识到需要解决这种知识缺口,并创造出这种产品的市场。这要求稳定的平台和软件,这使现有的软件厂家轻松地虚拟化他们的产品,并促进新一代软件开发者去创造先进的虚拟现实产品。,虚拟现实应用的工具软件系统应该满足下列要求:工具软件是为虚拟现实技术要求设计的面向对象函数的可扩充的库一个仿真对象就是一个“类”的部件,并继承它默认的属性。这大大简化了复杂对象编程的任务。由于库是可扩充的,开发者可能写专用模块,并利用同样的仿真核心。虚拟现实工具盒具有的另一个重要特征是硬件独立性。写的函数用于各种平台,实质上是一般的。实现这一点是因为高层的函数“不知道”它在特定的硬件上运行。低层的“转换器”在运行时识别特定的I/O工具。在把应用由一个平台移到另一平台时,这很有帮助。所有的工具盒都支持某种形式的网络(内部的或任选的)。这允许并行或分布处理,以及重要的多用户交互。这使得在一个应用中可能进行合作,以提高效率。这里讨论的所有的工具盒都接受CAD3-D文件(DXF等)。这说明通过引入现有的3-D对象数据库,极大地减少了开发时间。,2虚拟现实常用的工具软件系统,1常用的工具软件工业界制造了很多用于虚拟现实的先进软件工具,虚拟现实工具盒(toolkits)。这包括WorldToolKit-WTK“VCToolkit-VCT“CyberspaceDeveloperKit-CDK“VirtualRealityToolkit-VRT3“Mercury“VirtualRealityDistributedEnvironmentandConstructionKit(VR-DECK)”,2VRMLVRML是VirtualRealityModelingLanguage的缩写。VRML是描述三维造型与交互环境的简单的文本语言。VRML是在Internet上建立3D多媒体和共享虚拟世界的一个开放标准。从以下几个方面简单介绍这种语言。(1)VRML的特点(2)VRML的概念与实例(3)VRML的语言结构(4)VRML的动画技术(5)VRML的使用与开发条件(6)VRML的站点和教程,(1)VRML的特点(a)是造型语言,可描述3D场景。(b)用户可进入VRML建立的世界,去探索它(c)VRML建立的世界是交互的,受用户控制。(d)把2D,3D物体、动画、多媒体效果混合于一体(e)平台无关,可在PC或SGI上浏览。(f)基于Web,可建立三维可视化服务器。(g)着色不如OpenGL快。(h)没有底层控制。(j)有限的界面。,(2)VRML的概念与实例VR世界中的坐标系:X轴指向屏幕右侧,Y轴指向屏幕上方,Z轴指向观察者。VRML程序是解释执行,实时建模着色的文本程序。它的两个要点是:节点(node):构成虚拟世界的基本要素,路由(route):节点间传送信息的途径。,VRML文件都是扩展名WRL的文本文件,或扩展名WRZ(压缩格式)的二进制文件。它一般包括如下四部分:文件头:位于首行,提供版本信息。如:#VRMLV2.0utf8。注释:以#开始的一段文字。节点:场景信息的单位。可以描述造型,灯光,声音等。如:Cylinder描述一个圆柱体。域值:域用于描述及改变节点的属性,值反映域的大小。如:Cylinderheight2.0radius1.5中,height(高度)和radius(半径)是域,2.0和1.5是值。,(3)VRML的语言结构VRML的基础是什么?是一个利用HTTP协议传输数据的全球网以及一个SGI设计的OpenInventor文件格式。由此,它的特点在于:VRML是标准语言与平台无关易扩展基于低带宽的网络连接用户可在虚拟场景中漫游,还可用超链接(hyperlink)到达新的三维世界。,(a)节点(node)是描述三维场景的图形对象。一个场景由具有层次结构的多个节点组成。共有50多个节点,定义三维场景。一个节点有多个域(field),它具有域名、类型及缺省值等属性。如圆柱体节点。CylinderfieldSFBoolbottomTRUEfieldSFFLoatheight2fieldSFFLoatradius1fieldSFBoolsideTRUEfieldSFBooltopTRUE定义的圆柱体,高度为2,半径为1,具有下底面,有圆柱侧面,有上顶面。,(b)节点有各种类型。形状(shape)节点:定义物体形状。例如:圆柱体基本形状(Primitive)节点:是标准积木块,如球体。外表(Appearance)节点:定义外观,如色彩、纹理。变换(Transformation)节点。各种坐标变换,例如物体坐标世界坐标观看坐标照相机节点。与观察点(视点)有关的描述光学节点。描述光学性质超链接节点:包括WWWInline和WWWAnchor。WWWInline节点:支持集成不同文件或URL的虚拟世界。WWWAnchor节点:指定到新的URL的连接。,(c)传感器(Sensor)节点是一类特殊的节点。包括以下节点:CylinderSensorPlaneSensorTimeSensorTouchSensorVisibilitySensorProximitySensor,ProximitySensorProximitySensorexposedFieldSFVec3fcenter0,0,0exposedFieldSFVee3fsize0,0,0exposedFieldSFBoolenabledTRUEeventoutSFBoolisActiveeventouSFVec3fposition-changedeventoutSFRotationorientation-changedeventoutSFTimeenterTimeeventoutSFTimeexitTime这时接近传感器节点。当用户接近、退出空间,或在空间移动时,会产生事件。Center和Size定义长方体,分别用三个数字定义长方体的中心点三维坐标和三维尺寸。Enabled域的值为TRUE表示允许工作。进入退出长方体空间时发生isActive,enterTime和exitTime事件。这些事件应该为对于接近的响应行为,进入时间和退出时间。也可以利用position-changed和orientation-changed,改变位置和方向。,(d)描述符(Script)节点,内插器(Interpolator)节点Script是Java描述符语言的子集,同时由Java的内置对象所支持的VRML数据类型。Script分析输入,并且由输出改变世界。Interpolator是内置的动作机制,实现数值内插,对数据内插,产生动画。(e)声音(Sound)节点描述声音定位和空间效果声音定位在一点,以球或椭圆形发射。域Intensity调节音量。域Priority是占用声道的优先权。,(4)VRML的动画技术(a)帧频可变:电影中24帧/秒,电视(NTSC)中,30帧/秒。VRML中帧频可变,可最小达5帧/秒。(b)用户可控制动画:改变视点可在动画中漫游。(c)自然的触发机制:TimeSensor传感器感受时间StartTime域发任何的SFTimeeventont事件,就启动动画。由script产生予期动作。,(5)VRML的使用与开发条件VRML的浏览环境:浏览器:IE或NetspaceNavigator(NS)以上版本。VRML插件:VRML最简单的开发环境:浏览器:IE或NetspaceNavigator(NS)以上版本。VRML插件:文本编辑器(记事本或UltraEdit)。安装浏览器方法:,(6)VRML的站点和教程/有关VRML及其它WEB3D技术。http:/sim.di.uminho.pt/vrml-tut/simvrml.zip交互式的VRML教程。/nadeau/Courses/Siggraph98NYC/vrml97.zip是VRML教程。(作者DaveNadeau()),3非商业的虚拟现实工具盒(Toolkits)上面介绍的所有系统都是商业产品,具有PowerGlove手套和SegaLCD眼镜(总价格约100美元)的非专业人士,不可能花几千美元买虚拟现实工具盒软件包。免费的虚拟现实编程工具。两个已知的较好的例子是阿尔波塔大学开发的“MinimalRealityToolkit”(MR)滑铁卢大学开发的REND386(加拿大)。,3虚拟现实工具软件的功能,实时产生VR所要求的软件有很多部分构成。这包括:交互软件与人机接口相关的漫游软件交互接口得到数据,根据漫游原则,转换视点图形流水线软件的多边形流最小化漫游软件过程中,图形处理软件中,尽量减少处理的多边形世界建模软件几何、物理和属性建模超媒体集成软件。各种类型的数据集成在VR系统里每一部分都是庞大的,所有软件合作,可以实时产生VR。各部分软件相互关联的目标是产生详细的交互的无缝的VR。,如何解释详细的?交互的?无缝的?无缝表示你可以驱动车辆穿过一个地带,停在建筑前面,走下车辆,步行进入建筑,上楼梯,进入房间,与桌上的物体交互,整个过程中没有延迟和犹豫。为建立无缝的系统,要求在软件开发上实质的进展。,交互软件,交互软件的作用是什么?交互软件是接受用户操作与控制的接口软件。交互软件提供构造不同控制设备间对话的机制(如跟踪器,触觉接口),并把对话用于系统或应用,使多模式显示相应变化。软件的构成?这个软件的第一部分由控制设备取得输入,并解释它们。可以使用几个程序库,作为商业产品或作为共用件(shareware),它可以读普通接口设备的数据,如DataGlove和各种跟踪器。商业程序库的例子有Sense8的WorldToolkit。程序库包括由接口设备得到输出的驱动器,和包括予测跟踪和手姿识别的程序。构造交互软件的第二部分转变系统状态信息,由控制设备进入对话(这对系统和应用是有意义的),同时滤掉对话中错误的不可靠的部分(这可能由输入设备中的错误数据产生)。然后把这些对话送交虚拟世界系统,执行某些有用的操作。,交互是VR系统关键部分,它涉及硬件和软件。VR中接口硬件提供身体各部分的位置和状态。这些信息一般用于:(1)映射用户行为到环境变化(如手移动物体),(2)发命令给环境(如手姿或按键),(3)提供信息输入(如语音,文本或数值输入)。用户意图应由硬件输出判定。由于硬件的不精确,推理可能会复杂化,2虚拟场景漫游软件概述虚拟场景漫游软件使用户能在三维虚拟世界中移动。这个软件有很多部分,包括哪些内容?控制设备手姿解释(来自运动处理输入子系统的手姿信息)用于对图像流水线的多边形流最小化的层次数据结构虚拟摄象机视点和观看方向的空间控制,在漫游中它们一起实时工作,产生通过虚拟世界的连续帧序列的下一帧。,漫游的作用?是控制VR中视点和观看方向的问题。使用传统的计算机图形技术,漫游可以简化为用于绘制物体的位置和方向变换矩阵的确定。第一层虚拟世界漫游是最特殊的,即用户视点。通过头部跟踪设备,可以控制观看位置和方向,头部跟踪给计算机提供头部位姿和方向。下一层漫游使用虚拟车辆。这允许在VR中移动一段距离,大于头部跟踪允许的距离。虚拟车辆的位置和方向可以使用各种方式控制。,在仿真应用中,车辆控制方式与实际被仿真车辆的控制方式相同。实现的例子是用于飞行和车辆仿真的脚踏磨(跑步机),自行车和手柄。对更抽象的应用,有几种实验方法控制车辆。最普通的方法是指示飞行技术,其中由直接操作接口控制车辆。用户给三维位置方向跟踪器指出要求的飞行方向,命令用户车辆在这个方向飞行。另一种控制车辆方法是基于在VR中不需要通过一定的空间由这里到那里。遥操作是明显的例子,它要求用户规定要求的目标,再把用户放在那里。解决方法包括固定了进入和退出位置的门,由数值或标记输入明确规定目标,以及用环境的小型三维图指出要求的目标。控制车辆的另一个方法是动态改变比例尺,整个环境降低比例就使用户可以达到要求的目标,然后升高用户指定的目标区的比例。所有方法都有缺点,包括难以控制和定向。,VR中存在物体的层次,它们在漫游中有不同的行为。某些物体固定在环境中受到用户和车辆的作用。另一些物体是用户总希望达到的虚拟工具,它们只受到头部变换的作用。还有些物体(如数据显示)总希望在用户视场中,而且不受用户和车辆作用。这些物体分别称为:世界静止,车辆静止,头静止。虽然已知道漫游软件的基础是数学,但还要作实验。,3操作系统为了建立当前多数VR系统,一般使用运行某种UNIX操作系统的商业工作站(这些工作站最初的设计不是满足实时性能要求的)。其它途径是利用更专用的嵌入式计算元件(可能在通用工作站中用作前端机),运行为支持实时分布计算设计的操作系统。后一种途径大量用于有强烈实时要求的领域(如过程控制和遥机器人)。,虚拟环境要求的操作系统能力包括:通过共享存储通讯支持大量的轻型处理,支持自主和透明地分配任务到多计算资源,支持时间关键的计算和绘制,很高分辨率的时间分片以及担保执行时间优先的过程虽然没有专门涉及这些问题,IEEEPosix标准委员会开始把实时能力引进开放系统工作站环境。特别,IEEE标准1003.4(UNIX的实时扩充),标准1003.4a(UNIX的线索扩充),和标准1003.13(对实时应用支持的应用环境外形),对要求某种层次实时控制的VR开发是重要的。这些标准中规定的能力的具体子集,在某些图形工作站上可以得到(如运行IRIX5版本操作系统的SGI工作站)。支持操作系统中这些能力,将大大促进许多VR应用的开发。,4虚拟现实编辑器今天的通用程序设计环境是基于窗口、菜单和图标(icons)。这些用于大量不同的程序,由文本编辑到画图程序或spreadsheet。现在可能扩充同样的途径,产生或编辑虚拟现实环境。用虚拟现实系统自然的3-D接口产生虚拟环境带来极大的优越性。用户可以在环境中运动,移动物体到一个位置,并按需要改变其它属性。这提供交互更强,建模更自然的系统。可以由涂画构造虚拟环境,只要由对象库选择对象(有默认的属性),把对象在虚拟空间定位,然后选择和修改给定的属性。由环境中产生和删除对象的能力,对于我们快速改造给定环境以满足用户要求是很基本的。,虚拟现实编辑器对仿真开发者是很强的工具。通过在现有标准练习中的构造,即使程序设计新手也能开始构造虚拟世界。以高度交互的方式,用户可以立刻看到被仿真对象产生和修改的结果。应用开发者看到编辑结果是通过实时仿真中使用的同样的显示(HMD或CRT)。反之,同样的输入工具(3-D鼠标、手柄、跟踪球等)也用在编辑方式。这允许由各个角度看到编辑过程,甚至在台式工作站上。把虚拟现实编辑器放进虚拟现实系统,就得到一个杰出的虚拟现实开发系统。,5内部常驻建模器虚拟现实编辑器具有内部动态建模设备。这对于新手是很方便的,但限制了可能建模的物理特性的选择。在复杂的仿真中,可能必须建模物理特性(力、重力、变形等),这要写独立的工具盒程序。这提供了最大的灵活性,但要求很好的面向对象程序设计技巧。完整的灵活性的建模工具盒是新的“CyberspaceDeveloperKit-CDK”。它的库有很大的函数集(超过1200),组织在140个C+类中。类组织成层次,有“基本类”(没有父辈)和子类(继承基本类的属性)。例如,约40%的CDK类是由CyBase类继承,它定义事件处理功能(称为方法)。,VRT3工具盒图形接口用于产生新的虚拟对象。想法是给生手提供一种用户友好的直观的接口,把虚拟世界放在单个台式机器上。IBM开发了VR-DECK工具盒,它把图形编程的应用扩充到多用户网络仿真。在多用户分布系统中,开发者的工作很困难。这个工作是把可得到的计算资源分配给各个仿真任务,并确保得到异类系统工作。不同计算和通讯能力的机器,设备定位和结构约束,使过程调度任务复杂化。,6事件调度在每个仿真循环中,需要实时读入用户输入,使得执行时间最少。这些数据用于修改虚拟对象的位置、形状、速度等。来自外部传感器或程序的附加输入,用于改变对象的“智能”属性。得到的场景显示在用户的HMD或计算机屏幕。类似的,听觉、触觉、力觉等反馈也显示。实时排列或调度所有这些事件是重要的编程任务,它是由基本的工具盒函数处理的。,用Sense8“WorldToolKit”(WTK)说明这个过程。WTK是一组C函数(WTK版本1.0有230个函数,1993年的WTK版本2.0有400多个函数)。这些函数有记忆语法“class-method()”,以便帮助面向对象的程序设计。WTK把虚拟世界称为宇宙(可能存在几个宇宙,由入口相联,但在给定时间只显示一个宇宙)。假设在这一点,这个宇宙存在,并有各种对象居住(动态的和静态的)。为了实现这个,需要相继调用universe-new()初始化这个宇宙,再调用universe-load()装入被仿真的具体世界。然后由WTK的universe-go()函数进入仿真循环(无限次重复),由universe-stop退出。宇宙有用户定义“行为函数”,它的调用是在绘制当前的画面以前。行为函数由universe-setaction调用来设置,它允许仿真的应用控制。每个图形虚拟对象对每个画面也可以完成一次任务。任务是由object-settask规定,并建模对象属性。最后,绘制这个宇宙,并通过读取I/O工具(传感器)开始新的循环。,虚拟现实中的软件系统小结,虚拟现实工具软件的要求包括:工具软件(工具盒)是面向对象函数的可扩充的库;硬件独立性;支持某种形式的网络;接受CAD3-D文件。虚拟现实工具盒(toolkits)包括:WorldToolKit-WTK,VCToolkit-VCT,CyberspaceDeveloperKit-CDK,VirtualRealityToolkit-VRT3,Mercury,VirtualRealityDistributedEnvironmentandConstructionKit。VRML的特点包括:它是造型语言,可描述3D场景;用户可进入VRML建立的世界,去探索它;VRML建立的世界是交互的,受用户控制;把2D,3D物体、动画、多媒体效果混合于一体;平台无关,可在PC或SGI上浏览;基于Web,可建立三维可视化服务器;着色不如OpenGL快;没有底层控制;有限的界面。虚拟现实工具软件各模块的功能如下:交互软件是接受用户操作与控制的接口软件;虚拟场景漫游软件使用户能在三维虚拟世界中移动;虚拟环境要求的操作系统有特殊能力;编辑器产生或编辑虚拟现实环境,并具有内部动态建模设备,事件调度软件调度一系列事件。,3虚拟现实的网络和通讯,虚拟现实的网络和通讯硬件虚拟现实的网络和通讯软件分布式虚拟现实的工具软件实时分布式仿真,1虚拟现实的网络和通讯硬件,分布式VR对网络和通讯有什么要求?极大的带宽,支持多用户、录象、录音,三维图形交换和实时模型。此外要求开发新技术,处理在网络上数据的混合。,网络结构网络

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论