虚拟现实及其应用_第1页
虚拟现实及其应用_第2页
虚拟现实及其应用_第3页
虚拟现实及其应用_第4页
虚拟现实及其应用_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

《虚拟现实及其应用》第五讲蔡则苏2008-05-31第五讲虚拟现实的建模和仿真技术主要内容:1.注意环境模型的两种不同表示方法。

2.人工几何建模的两种途径。

3.人工几何建模的主要困难。

4.三维扫描仪的三个特点,六项技术和扫描设备。

5.增强现实技术的主要问题。

6.物理建模应该考虑的三类对象。

7.VR图形绘制的九项技术。

8.各类插值和变形方法。

9.微分方程的数值解法。

10.由传递函数得到状态方程的方法。

本章知识要点:4.1虚拟现实的几何建模技术4.1.1环境模型的表示

建模是VR的核心,它定义物体的形式、属性和外观。多模式VR的一个重要的技术难点是设计开发物体表示、仿真和绘制(RSR)技术。它支持实时与VR的视听触觉交互。RSR处理有两个主要途径。第一种途径使用统一的中央表示,它取得物理仿真和绘制目的所要求的所有几何、表面和物理性质。原则上,有限元建模类方法可以用作表示这些特性、物理仿真和绘制的基础。第一种途径结构最精致,并避免了保持每个模式RSR过程之间空间时间相关的问题。

在另一个途径中,采用保持分离的表示,它只表示在单一模式中(如听觉)仿真和绘制交互有关的物体特性。分别对视觉,听觉和触觉建立各自的表示和模型。允许模式专用的表示、仿真和绘制之间具有更好的配合。

多数有关VR的RSR研究开发是视觉绘制的系统。与两种RSR途径(或不同多模式)有关的理论和实际问题只引起很少关注,但这可能成为VR研究开发的主要议题。例如,几何建模关系到声学环境和视觉环境,开发实际模型对产生和调节视听触觉显示的能力是关键的。利用听觉显示理解科学数据是新奇的应用。

4.1.2人工的几何建模方法

建立详细的三维几何模型的要求主要来自计算机辅助设计(CAD)、计算机图形学和其它领域。尽管有丰富的商业建模工具,人们常常还是把建模看成很繁重的任务。因为建模缓慢,用户接口不便,不灵活,以及模型规定在低层次。因此多数实验室和商业动画公司宁愿使用自制建模工具,或在某些情况用自制建模工具与市场销售建模工具的混合。

为了理解,需要回顾三维几何模型怎样获取。下面回顾几个VR工作所报告的模型获取过程:VR的几何建模一般通过基于PC或基于工作站的CAD工具获取。在北卡大学漫游建筑的项目中,AutoCAD用于产生构成一座教堂几何模型的12000个多边形。由AutoCAD产生的文件取出三维几何并不困难,但问题是并非所有要求的数据都以VR要求的形式提供。

特别是没有提供有关建筑物实际物理的数据、用于实时漫游算法的划分信息、以后由手工或专用程序加入等。VPLRealityBuiltforTwo(RB2)系统使用MacintoshⅡ,作为固体建模的设计站,用IRIS工作站作为绘制/显示站。RB2是用于设计和实现实时VR的软件开发平台。在RB2下开发是快速的交互的,具有可实时编辑的属性约束和交互。在NPSNET项目中,初始的三维插图集由SIMNET数据库得到。许多VE应用要复制真实世界。不是用手建立模型,最好利用视觉或其它感觉自动获取模型。

4.1.3自动的几何建模方法

三维扫描仪(3DimensionalScanner)又称为三维数字化仪(3DimensionalDigitizer)。它是当前使用的对实际物体进行三维建模的重要工具。它能快速方便的将真实世界的立体彩色信息转换为计算机能直接处理的数字信号,为实物数字化提供了有效的手段。

它与传统的平面扫描仪、摄像机、图形采集卡相比有很大不同。首先,其扫描对象不是平面图案,而是立体的实物。其次,通过扫描,可以获得物体表面每个采样点的三维空间坐标,彩色扫描还可以获得每个采样点的色彩。某些扫描设备甚至可以获得物体内部的结构数据。而摄像机只能拍摄物体的某一个侧面,且会丢失大量的深度信息。第三,它输出的不是二维图像,而是包含物体表面每个采样点的三维空间坐标和色彩的数字模型文件。这可以直接用于CAD或三维动画。彩色扫描仪还可以输出物体表面色彩纹理贴图。1.三维信息获取技术:早期用于三维测量的是坐标测量机(CMM)。目前,CMM仍是工厂的标准立体测量装备。它将一个探针装在三自由度(或更多自由度)的伺服装置上,驱动探针沿三个方向移动。当探针接触物体表面时,测量其在三个方向的移动,就可知道物体表面这一点的三维坐标。控制探针在物体表面移动和触碰,可以完成整个表面的三维测量。其优点是测量精度高。其缺点是价格昂贵,物体形状复杂时的控制复杂,速度慢,无色彩信息。

机械测量臂借用了坐标测量机的接触探针原理,把驱动伺服机构改为可精确定位的多关节随动式机械臂,由人牵引装有探针的机械臂在物体表面滑动扫描。利用机械臂关节上的角度传感器的测量值,可以计算探针的三维坐标。因为人的牵引使其速度比坐标测量机快,而且结构简单,成本低,灵活性好。但不如光学扫描仪快。也没有彩色信息。

借助雷达原理,发展了用激光或超声波等媒介代替探针进行深度测量。这是激光或超声波测距器。测距器向被测物体表面发出信号,依据信号的反射时间或相位变化,可以推算物体表面的空间位置,称为“飞点法”或“图像雷达”。不少公司开发了用于大尺度测距的产品(如用于战场和工地)。小尺度测距的困难在于信号和时间的精确测量。Leica和Acuity推出了采用激光或红外线的测距器。Senix公司推出了超声波测距器。它受遮挡的影响较小。但要求测量精度高,扫描速度慢,而且受到物体表面反射特性的影响。

基于计算机视觉原理提出了多种三维信息获取原理。这包括单目视觉法、立体视觉法、轮廓恢复形状法、运动恢复形状法、结构光法、编码光法等。其中的结构光法,编码光法成为目前多数三维扫描设备的基础。这些方法可以分为被动式和主动式两大类。被动式法的代表是立体视觉法。主动式法的代表是结构光法,编码光法。光学扫描的装置比较复杂,价格偏高,存在不可视区,也受到物体表面反射特性的影响。

几种常用方法的比较:用于获得物体内腔尺寸的方法之一是工业CT。它以高能X射线对零件内部进行分层扫描。它的缺点是精度不高,价格昂贵,且存在放射性危害。美国CGI公司生产的自动断层扫描仪可以克服这些缺点。但要求对被测物体进行破坏。

2.三维扫描系统的关键技术在硬件和控制技术方面,扫描运动的伺服装置要求精度高,运行平稳,可定位性好。用电子扫描代替机械扫描是当前的趋势。各类传感器要求精度高,分辨率高,噪声小。

三维信息获取技术方面,三维信息获取的原理应综合考虑精度,速度,易实现性,易使用性,成本,使用背景等。原理确定后,还要注意实施方案,采用巧妙的技术策略,提升产品的性能。还要研究计算模型和误差模型,了解误差的原因,误差的传递,误差的校正和消除。往往还要包括数据的预处理和后处理技术。

色彩信息获取方面,物体的色彩由三个因素确定:照明类型,物体表面的反射特性,眼睛按三条不同的光谱灵敏度曲线感知光线的能力。彩色是一种心理感觉。它与光源辐射能量的分布及观看者的视觉感受有关。目前的三维扫描仪一般得到的不是物体表面的材质和对入射光的反射特性,而是在某种照明条件下所呈现的色彩。

三维构型,显示及修改技术方面,扫描仪获取的是物体表面离散采样点的坐标和色彩。这些采样点的集合称为"点云"(PointCloud)。必须用点,多边形,曲线,曲面等形式描述立体模型,即将"点云"构成"形"。同样的点集进行不同的连接,可能得到不同的三维模型。定标技术方面,确定有关的装置参数就是定标。它与计算模型和误差模型有关。定标精度和可靠程度直接影响测量精度。定标还可以校正装置的误差。对彩色扫描,还有色彩定标问题。

3.三维扫描设备

FARO公司的机械测量臂包括Gold系列,Silver系列,Sterling系列。其优点为:轻便,易用,量程大,精度高,可靠性好,便于与其他装置配套,价格便宜。

Immersion公司的机械测量臂更多关注动画业的应用。同样轻便和易用,可与PC、Macintosh、SGI连接,三维形状描述支持点、线、多边形、Spline曲线,输出数据格式包括DXF、OBJ、TXT等。

Cyberware公司的三维扫描仪,在80年代就被迪斯尼等动画和特技公司采用,用于"终结者II","侏罗纪公园","蝙蝠侠II","机械战警"等影片。还用于快速雕塑系统。90年代的扫描仪可对人体全身扫描,给出对象的多边形、NURBS曲面、点、Spline曲线方式描述,用于动画、人类学研究、服装设计等方面。

Cyberware的代表产品是3030系列,其适用范围宽,价格适中,性能好。除了3030R外,都可进行彩色扫描。扫描速率可达1.4万点/秒。3030RGB型扫描物体的尺寸在30cm,深度方向测量精度100-400μm,测量单元重23kg,主机为SGI工作站。3DScanner公司的Reversa是非接触式双相机激光扫描头,基于线状结构光测距原理,实现上采用"相机-激光源-相机"的方案。它制作精巧,重量仅600g,尺寸仅198mm×82mm×70mm,激光线最窄40μm,深度方向测量精度10μm。Reversa可以进行四轴或五轴的扫描运动,扫描采样速率为1-1.5万点/秒。其软件提供扫描方式控制,数据格式转化,三维显示,等高线显示,比例缩放,指定点坐标显示,修补界面等功能。输出可转化为一些标准格式,如DXF、STL、ASCII等,用于产品测量、设计开发、模具制造、珠宝设计、快速制造、特技制作、制陶、制鞋及医学。

3DScanner公司的ModelMake是最新激光扫描头,可以安装在多关节机械测量臂上,作多轴扫描。装置体积小,重量轻,可进行彩色扫描,输出支持DXF、STL、ASCII、EYE、OBJ、3DS格式,适用于特技制作、虚拟现实、VRML产品设计、测量、医学等。

CGI公司的自动断层扫描仪CSS-1000,能同时获得物体的外形和内腔结构。用材料逐层磨去与逐层光学平面扫描相结合的方法测量物体内外尺寸。这是破坏性的扫描,但可靠性好,自动化程度高,能与CAD软件直接接口,比工业CT便宜,且精度较高。。

其他产品有Inspeck公司的三维光学扫描装置。Digibot公司的DigbotII采用点状结构光测量深度。Steinbichler公司的三维扫描系统有COMET、Tricolite、AutoScan。华中理工大学的3DLCS95。下图表示,日本住商株式会社的激光扫描三维建模产品,ModelMaker。它的激光测量器安装在美国FAROTechnologies公司的机械臂FAROArm上。测量速度为14000点/秒。测头移动速度0.4-5mm/秒。测量距离120-220mm。测量精度0.2mm。

下图表示,日本住商株式会社的激光扫描三维建模产品ModelMaker使用的美国FAROTechnologies公司的机械臂FAROArm

下图表示,日本MINOLTA公司的激光扫描三维建模产品,VIVID700。测量距离0.6m-2.5m。扫描区域可达1.1m×1.1m。分辨率(x,y,z)为200×200×256点。扫描时间0.6秒

下图表示,日本MINOLTA公司的激光扫描三维建模产品,VIVID700的使用情况用于人体外形建模的大型激光扫描系统4.1.4增强现实的建模问题

增强现实使用看穿的头盔显示,它在真实环境的视场上重叠合成图形。在传统的叠加显示中,合成的图形与背景没有直接关系。但在增强现实中,合成的物体应看起来是真实环境的一部分。这就是说它们应与观察者交互,与真实物体交互,好象也是真的。

在一个极端条件下,产生全增强现实的幻觉要求真实世界和合成物体的完全模型。例如,把合成的物体放在真实桌子上并使得在观察者通过环境移动桌子时该物体也停在桌上一起移动,这要求知道桌子在空间什么地方,观察者怎样运动。为了完全真实,要求有关场景照明和表面性质的信息,以便在真实物体上产生合成的明暗。此外,还要求有关三维场景结构的信息,以便允许真实物体遮挡合成物体或被合成物体遮挡。自然,在不可控的不可予测的观察者运动中,这些都是实时发生的。真实和虚拟的这种混合已在动画图像特技效果中实现。某些效果的产生是通过绘制三维模型并产生得到的图形与真实场景的组合,这正是增强现实要求的。但这个过程很慢很费力,要求每步的人工干预。在场景被拍摄后,摄象机和物体运动模型被人工提取,这利用一帧一帧手工测量,有大量尝试和错误。即使小的几何错误也容易破坏幻觉,使合成物体似乎浮出真实场景以外。自动生成增强现实的效果还是正在研究的问题。两个主要问题是:(1)观察者运动的精确测量;(2)获取和维持场模型。

增强显示技术的一个卓有成效的应用就是虚拟演播室。传统的电视节目制作要使用演播室,搭建、拆卸、储藏、搬运实物道具和布景,浪费时间财力。日益增多的节目制作量和有限的演播室空间,存在突出的矛盾。20世纪80年代,虚拟现实的研究给影视行业提供了虚拟演播室技术,适时提供了先进的影视制作工具。

1978年EugeneL。提出了电子演播室布景的设想。1988年日本NHK把二维计算机图形实时合成系统"SytheVision"用于汉城奥运会的新闻演播室。1993年英国BBC利用虚拟演播室系统"VirtualScenario"制作电视新闻背景,以三维模型形式报道选举。1997年美国Evans&Sutherland公司推出首套基于WindowsNT和实时图形工作站的虚拟演播室系统Mindset。1999年美国Play公司推出性能价格比高的,带虚拟场景的数字编辑系统Trinity。

目前市场上已有十多个虚拟演播室产品。按照摄像机跟踪方式的不同,可以分为两类:机械传感方式(占73%)和图形识别方式(占27%)。按照模型,可以分为两类:二维虚拟场景(占23%)和三维虚拟场景(占77%)。全球已经采用了100多套虚拟演播室系统。如美国电影"泰坦尼可号"虚拟背景的制作。1998年法国世界杯足球赛的电视转播。

1998年以来,中央电视台已经采用了4套不同的虚拟演播室系统。但是,这些系统多以图形工作站为硬件平台,价格在20-40万美元,比较昂贵。只有Play公司的数字编辑系统Trinity性能价格比高,受到欢迎。

价格昂贵的虚拟演播室受到欢迎,反映了其巨大的优势:节省制作成本,保持前景和背景的正确的透视关系,且可依据想象力自由创作。1.虚拟演播室的原理

同步跟踪技术用于虚拟图像和真实图像的对准。色键合成技术用于虚拟图像和真实图像的合成。虚拟演播室的原理如下图所示

有真实摄像机拍摄的前景图像,与在真实摄像机拍摄参数控制下的虚拟摄像机产生的虚拟背景图像,在色度键控制器中实时地进行色键合成,形成一幅完整的彩色图像。他的关键技术包括:色度键控合成(简称色键合成)技术,同步跟踪技术,虚拟背景生成技术等。下面介绍虚拟演播室的三个关键技术:色键合成,同步跟踪和虚拟布景生成:2.色键合成技术

前景图像的背景是蓝色(或绿色)的幕,其色调为与前景中人物区别极大的高饱和度彩色。于是,前景图像的色调与蓝色(或绿色)幕的色调之差值,形成键控(抠像)电压波形。用这个电压波形去抠虚拟背景图像,抠掉的部分对应着前景中人物的图像。然后,在抠掉的部分填上前景中人物的图像。这样就把前景图像中人物部分从蓝(或绿)背景中分离出来,与虚拟背景图像合成为一幅完整的图像。

利用前景图像中人物部分色调与蓝(或绿)背景色调的差别,把前景图像中人物部分从蓝(或绿)背景中分离出来,再把人物部分覆盖在(或代替)虚拟图像中对应的像素。

要求前景图像的动作方向,与虚拟图像的动作方向一致。也就是要求虚拟环境对准真实环境。这样,人们才能感觉两个环境构成一个整体,不会感到真实人物在虚拟环境中移动。在真实摄像机运动时,真实图像会变化。为了使虚拟图像精确跟踪真实图像的变化,需要使用同步跟踪技术。

3.同步跟踪技术

真实图像的获取,是通过真实摄像机的推、拉、摇、移来拍摄的。虚拟摄像机应该与真实摄像机保持同步运动,二者保持相同的焦距、位置和角度。同步跟踪技术应该具有这种功能。对二维虚拟演播室,虚拟摄像机应该跟踪真实摄像机的左右摇摆(A),上下俯仰(B),以及前后推拉(C)。其跟踪函数为:T2=f(A,B,C)。对三维虚拟演播室,还应该跟踪机位横向移动(D),机位纵向移动(E),机座高度升降(F),摄像机旋转(G),以及镜头光圈变动(H)。其跟踪函数为:T3=f(A,B,C,D,E,F,G,H)。跟踪函数是复杂的非线性函数,而且摄像机旋转(G)和镜头光圈变动(H)难以得到。

第一种方法是传感器跟踪技术。它使用安装在镜头上的编码传感器,检测聚焦(Focus)、变焦(Zooming)、及光圈(Iris);采用安装在云台上的基座旋转编码器,检测机头摇移(Panning)和俯仰(Tilt);采用在云台上安装辅助摄像机扫描拍摄固定在天花板上或墙上的同心环标或条码,检测云台的位置。这些编码数据,在视频场的逆程期间送入摄像机定位的分析计算机,计算摄像机的位置、方向和视角。然后,译码成位置参数指令,通过虚拟摄像机控制设备控制虚拟背景图像,跟踪真实图像。传感器的性能,直接影响到跟踪精度、跟踪分辨率、跟踪速度。

同步跟踪系统现有的产品有,8个传感器的托马系统,虚拟现实编码头(RadamecVirtualRealityEncoderHead)。

同步跟踪技术的优点是:计算延迟时间3帧左右,跟踪速度快,跟踪精度高。其缺点是:摄像机机位固定,更换位置要求重新调整;摄像机锁定和镜头校准困难,限制了拍摄自由度;对摄像机机型和云台有要求,限制了选择范围;增加传感器会加大经费。

第二种方法是图形识别跟踪技术。在真实环境中蓝幕上画上两种蓝色深浅不同、线条粗细不等、线间空格不均匀的网格图像。1994年,欧洲BBC与Radamec的系统进行了试验。可以根据真实图像的分析,计算摄像机的机头和镜头参数,但还不能计算摄像机位置参数。1996年,以色列Gamir公司以每组4个相邻网格的组合为识别的最小单位,而且各组互不相同。通过网格图案特征的分析,可以得到摄像机的机头和镜头参数,以及摄像机位置参数。

图形识别技术的计算量较大,导致虚拟图像比前景图像滞后6-7帧,而传感器方式的延迟只有3帧。为了保证前景运动和背景运动的时间同步性,前景图像要求经过硬件的延时器。

图形识别方式的优点是:对摄像机机型无限制,无需附加设备,不必改造演播室。图形识别方式的缺点是:跟踪精度低,摄像机散焦或网格在3格以下时跟踪失常。为了保持网格的高清晰度,限制了摄像机景深;为保证网格的数量,限制了演员的活动范围;为保证网格的识别,要求色键的高质量。4.虚拟布景生成技术

虚拟布景生成的过程如下:把计算机制作的三维数学模型以及贴在模型表面的纹理映射存储在图形工作站的数据库中;然后在真实摄像机运动参数的控制下,虚拟摄像机对存储的三维模型进行三维重建,即把三维模型提供给虚拟场景制作软件,选定适当的投影关系,生成虚拟布景。

虚拟摄像机硬件采用图形图像处理功能强大的ONYX图形工作站。要求虚拟背景图像连续平稳的变化,图形工作站应该有每秒25帧的处理能力。

虚拟背景的生成包括建模和重建两步。第一步利用建模工具建立三维模型和纹理贴图。第二步由图形计算机控制物体在虚拟环境中的位置,建立整个虚拟环境。

5.虚拟演播室系统

虚拟演播室系统有:Cyberset、Larus、3DK、MingSet等。

Cyberset系统采用图形识别跟踪技术。系统包括:ONYX-2主机(有图形加速功能),图形识别信号插入器(用于识别摄像机识别码),数字视频处理器(用于提取摄像机机头和镜头参数),O2工作站,以及色度键控制器,Cyberset

的特点是:(1)计算机可以提取摄像机运动参数和位置参数,摄像机移动不受限制;(2)摄像机机型不受限制,且安装简单;(3)多个摄像机可以共同使用一套虚拟演播室;(4)跟踪系统不必校正和预热,调整简单,工作稳定且准确;(5)安装和操作简单。

Larus采用传感器跟踪(ThomaSystem),测量左右摇摆、上下俯仰、聚焦和变焦。Larus有三个信道,分别采用:SGIONYX-2主机、SGIO2工作站1、SGIO2工作站2。另外有一台PC,运行二维贴图软件;有一台SGIIndigo-2建立与修改虚拟场景;有一台SGIO2作用户界面。系统有如下特点:(1)采用通用的图形工作站和图形工具库OpenGL,开放性好,便于升级和扩展;(2)延迟时间短,仅1帧;(3)用阴影摄像机拍摄主持人影子,并显示,增加真实感;(4)界面为多级弹出式菜单,易学易用;(5)用空间球控制虚拟场景的推、拉、摇、移、俯、仰,很方便;(6)实用程序多,便于系统管理及数据转换;(7)用KevinEffect功能,使虚拟摄像机在虚拟场景中采用飞行镜头技术,使效果更逼真;(8)操作员用魔幻效果,准确控制动画开始时间和位置;(9)采用导演专用的小切换盒,不影响技术人员的操作;(10)图形功能较全。4.2虚拟现实的物理建模技术

为了使VR可靠,并把用户定位在其中,虚拟物体(包括用户的图像)必须象真的一样。至少固体不应彼此穿过,物体在被推拉抓取时应按予期方式运动。

VR的物理属性往往用微分方程来描述,它构成动力学系统。这种动力学系统由系统分析和系统仿真来研究。系统仿真实际上就是动力学系统的物理仿真。

经典力学的仿真广泛用于帮助工程设计和分析。虽然这些传统仿真提供属性的数值规律,但还没有满足VR要求。在工程实践中,仿真是长的推理活动。工程师一般花很多时间手工开发系统的数学模型。模型再转换成仿真软件和参数选择。这样仿真才能运行。在进行设计时,初始方程必须修改,并重新运行仿真。

与此对比,VR的力学仿真必须可靠地、无缝地、自动地、实时地运行。在世界建模的范围内,任何可能发生的情况必须正确处理。近年来,计算机图形的研究开始涉及这类仿真提出的问题,这称为基于物理的建模。下面综述现有的技术。

基于物理模型的动画技术,尽管比传统动画技术的计算复杂性高,但能逼真地模拟自然物理现象。基于物理模型的动画,大致可分为三类,刚体运动模拟、塑性物体变形运动模拟、流体运动模拟4.2.1固体的建模刚体运动模拟方面,重点在于采用牛顿动力学方程来模拟。Witkin利用Lagrangian动力学方程及时空约束和能量约束方程来进行运动仿真。Hahn采用解析方法来计算刚体碰撞时产生的冲量。他假设两个刚体在接触时只有一点接触。这是理想化的。为了防止非完全弹性碰撞时刚体间的相互贯穿,把碰撞接触模拟为一个屡次发生碰撞的序列。Hahn采用层次包围盒技术来加速多面体场景的碰撞检测。Moore提出了两个有效的碰撞检测算法,其一处理三角剖分的物体表面,另一个处理多面体环境的碰撞检测。他利用一个刚体上各顶点的运动轨迹与另一刚体上各面片进行求交测试。固体不能彼此穿过,在放一个杯子在桌上时,杯子稳定地放在桌上,不会浮起也不会穿进去。在到达和抓取时,我们依靠固体的手与物体接触(机械手利用力控制和柔顺运动)。在站立和行走时也依靠与地面的接触。

防止穿透问题有三个主要部分。首先,必须检测碰撞。其次,为响应碰撞应调节物体速度。最后,如果碰撞,响应不引起物体立刻分开,必须计算和施加接触力,直到分开。

碰撞检测的处理通常是通过检测每次修改位置时的物体重叠。如果发现重叠,就发出碰撞信号,系统状态就返回碰撞的时刻,碰撞响应就计算并施加。确定任意一对物体是否重叠的几何问题有大量研究。这个问题在机器人学,机械CAD,计算机图形学方面都引起关注。

4.2.2约束和联接的物体的建模

除了简单物体(如刚体)外,还应该能处理有运动部件的物体(开关的门,转动的把手和开关等)。原则上,仿真简单物体(如刚体)的能力,加上防止穿透的能力,足够建模多数复合物体。例如,运动的桌子抽屉的构造通过建模在导槽中滑动的块,构造门是通过详细建模铰链的刚性部件。实际上,用直接几何约束综合这种详细交互的效果还不很有效。例如,滑动块和导槽设想为一对重合的直线,每个物体上一条线。铰链表示为理想的转动关节。铰链的物体(刚体的关节装配)的仿真和分析被广泛应用,特别是在机械手中。除了传统技术(如拉格朗日动态法),还开发了流线递归方程,可能在线性时间内仿真运动链的动态,而拉格朗日动态要求N3时间。这些方法只适于较长的链(N>9),而且其初始形式不容易处理在部件连接图中的闭环。

仿真约束系统的另一个途径建立在经典的拉格朗日乘法之上,每个时间步解一个线性方程,得到一组约束力。这个途径有几个优点。首先,它是一般方法,允许任意完全的约束施加于任意物体。其次,它提供在进行中的构造和修改,这对VR是重要的。最后,形成线性系统的约束矩阵是稀疏的,这反映了通常每个物体不是直接连到另一物体。使用这种稀疏的数值方法可以得到与递归方法可比的性能。

4.2.3非刚体的建模

真实物理世界中,许多物体在运动中会产生变形,这就是柔性物体。Terzopoulos采用连续弹性理论来模拟物体的变形和运动。考虑物体的分布式物理属性(如质量和弹性等),模拟了柔性物体对外力的动力学响应。但是当物体的刚性增加时,模型会出现数值不稳定(病态)现象。以后完善了的变形模型能够模拟各种变形效果,包括:完全弹性变形、非完全弹性变形、塑性变形、断裂等。大量工作是用有限元法仿真连续动态。多数研究可能仅仅关系到构造普通VR,这些环境不要求细粒度的非刚性建模,可能的例外是虚拟手术。但是对科学和工程的交互式连续分析可能成为VR的重要的专门应用,只要计算能力可以支持。

Baraff等人提出柔软物体动态的简化模型。模型的一般概念是只用少量全局参数表示物体形状,并根据这些变量形成动态方程。这些简化模型只注意物体粗略的变形,但最终提供了很高的性能。这可能是要求简单非刚性的VR的最合适的选择。

特殊形式的非刚性建模,是交互地雕刻自由形式表面。一般思想是用仿真的柔软材料作为雕刻媒体。Celniker使用软的薄纸,Szeliski用一团定向粒子形成平滑表面。 流体运动模拟,从流体力学中选取适当的流体运动方程,进行适当的简化,通过数值求解得到各时刻流体的形状和位置。现在已有模拟水流、波浪、瀑布、喷泉、溅水、船迹、气体等流体效果的模型。4.2.4自主智能体(Agent)的建模

许多VR应用领域要求仿真自主智能体,如训练、教育和娱乐等领域。这些智能体起的作用是对手,训练者,同伴,或只是增加信任感的多余者。让被仿真的人完全可信,还只是科学幻想小说的素材,但简单的智能体对VR往往是足够的。构造仿真的自主智能体引用很多技术,包括机器人学、计算机动画、人工智能和最优化,也涉及社会学和心理学等领域。

Agent的建模不同于一般的数学建模,它是行为建模。行为建模的一个应用是计算机生成兵力(ComputerGeneratedForces,CGF)建模。CGF是用计算机模型实现参与仿真的作战人员和武器系统等仿真对象,目的在于减少真实作战人员和武器系统参与仿真。 密歇根大学开发了基于符号表示和规则推理的Agent建模环境Soar,可以建立行为模型的规则库和推理引擎。由美国陆军STRICOM资助,LoralSystem公司和Saic公司分别开发了半自主兵力生成系统ModSAF和CCTTSAF。前者行为模型采用有限状态机,后者采用基于规则的知识。

基于Agent的建模框架包括三个部分。(1)感知部分,用来接受外界信息。(2)认知处理部分,包括形势评估、决策制订、规划、学习等,还与工作存储器(存放当前信息)和长期存储器(存放知识和任务)。(3)行为输出部分,输出行为并影响外界环境。

1.形势评估的技术

形势评估是对当前形势的估计和对未来形势的预测。主要技术包括:

黑板系统在黑板系统中,当前状态被分解为不同部分,并加到黑板上适当位置。分析这些信息,并预测未来发展,结果也加在黑板上。

专家系统即产生式规则系统,包括规则库、事实库、推理引擎。遵循“匹配-选择-应用”的循环。这是常用的技术。

基于范例的推理系统的知识用一组范例库表示,一个范例用一组特征来表示。所有范例有同样的数据结构。当出现新的形势(目标范例)时,它与库中的范例比较,找出最接近的范例,实现评估。

贝叶斯信任网这是基于贝叶斯定理。当已知状态S的先验概率,且观察到状态S的相关事件E,则可以计算状态S的后验概率。

2.决策制订的技术

决策制订可以使用上述的形势评估的技术,也可使用下述的基于效用理论的决策。状态的效用值由效用函数计算,是状态的非线性函数。

基本的效用理论设在当前的状态下,采用的决策方案为Ai,产生的可能状态为Sj,每个状态的效用值为U(Sj),概率是Pj,则该决策的期望效用值为E(Ai)=∑PjU(Sj)。期望效用值最大的方案是最佳方案。

多属性效用理论当影响效用值的因素不只一个时,需要用适当的方法计算效用值,在各属性满足互斥条件,即各自的效用值互相独立时,可以用加法计算效用值。

随机效用理论用随机变量计算效用值,有更好的灵活性和可变形。3.规划的技术

规划就是制订部队作战方案。主要技术包括:

产生式规则或决策表这是常用的技术。但是对规则库或决策表中不存在的情况不能处理。

组合式搜索或遗传算法计算代价高,一般用作辅助手段。能产生完整的规划,并在新情况下规划新的方案。

采用规划模板或基于范例的推理规划模板与作战条例一致,用来把作战任务规划成行动计划。两种方法都采用经验知识,符合人的行为,但灵活性和适应性较差。

基于仿真的规划它对可供选择的规划进行仿真,实现快速评估、修改、细化和优化。

4.学习的技术

学习过程最难实现,多数仿真系统没有学习功能。常用技术包括:

基于规则的模型当出现新情况或冲突时,问题求解过程进行求解,构成新的规则。在有噪声时,灵活性较差。

基于范例的模型它再现了人的学习过程。通过存储过去求解问题的经验(即范例),当出现新问题时,利用与已知范例的相似性进行求解、更新及存储。

神经网络技术首先根据问题需要确定网络结构和神经元的响应函数,然后用样本的输入和输出调整网络的连接权值。 其他模型如模拟退火方法,遗传算法等。

5.多Agent的技术

当不同的Agent之间实现协同工作时,需要多Agent技术。核心问题是,多Agent之间的协调工作,以及共同适应(Coadapted)问题(也可称之为多智能体间合作与竞争问题)。它研究将多个Agent组织成一个群体,并使各个Agent有效地协调合作,产生共同适应行为,达到总体上解决问题。主要方法包括:

基于符号推理系统的协调方法;

基于行为主义的协调方法;

基于进化机制的协调方法;

基于博弈论的协调方法

4.3虚拟现实仿真的绘制技术

4.3.1透视投影

"虚拟观察者"(VirtualObserver,VO)观看"虚拟环境"(VirtualEnvironment,VE),就是透视投影,这是把三维场景投影到二维平面上产生图形。

VE坐标系是描述虚拟环境的坐标系,一般是一个固定坐标系。VO坐标系是固定在虚拟观察者身上的坐标系,坐标原点VO在虚拟观察者一只眼上,Z轴为光轴,X轴向左,Y轴向上。

一般来说,透视投影首先把VE坐标系中的点的坐标,转换成在VO坐标系中的坐标。然后是在VO坐标系中引入平行于Xvo,Yvo平面的投影平面。以后将把VO坐标系中的Xvo,Yvo平面平行移动到投影平面,得到新的VO坐标系,如下图所示。VE中每个点与VO连线,这个连线与投影平面的交点就是该点的投影。这个过程就是透视投影。把VE中物体上的每条线透视投影后,就得到物体的线框图(wireframeview)。图中的(a)表示点(x,y,z)的平面投影图,(b)表示侧面投影图。投影在Xvo,Yvo投影平面的坐标(xp,yp)由下式计算。4.3.2视觉的深度感

1.人类视觉的深度感

人类视觉的深度感是人类识别环境深度和物体远近的感觉。它包括由单目视觉得到的深度感,以及由双目视觉得到的深度感。

单目深度感有下列几种。

运动视差:这是当观察者相对环境运动时,产生的深度感。如果头部运动,就可能发现物体之间的遮挡关系。此外,单目运动到不同位置时观看同一环境,类似于双目同时观看一个环境。也可以利用双目视差的原理获取深度信息。

透视深度感:对已知物体,图像尺寸的变化是透视深度感。人的直觉是,物体越远,看起来越小。

双目深度感有下列几种。

双目会聚角是在注视一个点时,双目光轴都指向这个点,双目光轴之交角是双目会聚角。可以从会聚角的大小,获取深度信息。但会聚角只能取值在有限的范围。注视太近的点时,不可能会聚。立体视觉是在双目光轴平行时,由于几何位置的差别,两目看同一环境,却得到不同的图像。这种图像的差别称为双目视差,这是主要深度感。 下图表示双目视差的原理。三个图的观看情况相同。(a)中,光轴Zvo通过两眼的中点。Zvo与物体表面的交点是正方形的中心点。(b)中,光轴Zvo通过左眼中心。Zvo与物体表面的交点是在正方形中心点左边。这个交点的投影是左眼视场的中心,是左眼的注视点。(c)中,光轴Zvo通过右眼中心。

Zvo与物体表面的交点是在正方形中心点右边。这个交点的投影是右眼视场的中心,是右眼的注视点。因此,左右两眼视场的中心不是物体上同一个点。这就是双目视差。VR视觉的立体显示,仅仅实现双目视差。这是双目平视远方,双目光轴平行时,双目视图之间的差别。VR视觉的立体显示,还没有实现人类其他的深度感。

2.立体显示

为了实现立体显示,应该为双目提供不同的图像,有双目视差的图像。为此,对同一虚拟环境,由两个虚拟观察点分别透视投影,得到有双目视差的两个图像。立体显示就是给双目提供有双目视差的两个图像。内瞳距Se是两眼光轴的距离。考虑两眼的光轴平行。VO坐标系(观察坐标系)的原点改在两眼的中点,在这个VO坐标系中的一点(x,y),在左眼观察坐标系中的坐标为(x-Se/2,y),在右眼观察坐标系中的坐标为(x+Se/2,y)。于是,可以得到两眼的透视投影为:

下图表示一个计算实例。其中:Se=65,d=20:

4.3.33D剪切

物体应针对可视空间剪切。虚拟环境在可视空间以外的部分被剪掉,这可以减少计算工作量。

视场是在视角以内的部分。如果显示平面是在投影平面内的一个矩形,则视场是矩形四边分别与视点VO组成的四个面围成的部分。这个空间(无限高的四棱锥)内每个点的投影,都在投影平面内的这个矩形中。

近平面和远平面分别垂直于光轴。在虚拟环境中,离视点之距离小于近平面的部分,不显示;离视点之距离大于远平面的部分,不显示。近平面和远平面之间的视场(一个四棱台)组成可视空间。

在可视空间中的虚拟物体,是可见的。实际虚拟物体的可见性和剪切处理有如下情况:

如物体边界盒子各顶点都可见,则物体可见。

如物体边界盒子各顶点都不可见,则物体不可见。

如物体边界盒子各顶点有的可见,有的不可见,则要求剪切。

剪切是去掉物体不可见部分,保留可见部分。这里用物体边界盒子判定可见性,是为减少计算复杂性采用的近似处理。Cohen-Sutherland剪切算法:使用6-bit码表示一个线段是否可见。有三种情况:全部可见,全部不可见,部分可见。若部分可见,则线段再划分成子段,分段检查可见性。直到各个子段都不是部分可见(全部可见或全部不可见)。

Cyrus-Beck剪切算法:他利用线段的参数定义。由参数确定,线是否与可视空间6个边界平面相交。

背面消除法:用于减少需要剪切的多边形的数目。多边形有正法线(有正面),视点到多边形有视线。由正法线和视线的交角确定,多边形是否可见。

剪切的目的是,对不可见的物体和部分可见的物体上的不可见部分,在投影时不予考虑,从而减少计算量。首先要剪切不可见的物体,其次是剪切部分可见的物体上的不可见部分。4.3.4光照

光照是光源照射表面时,表面上的光强,即入射光强度。这里只考虑点光源,入射光强度为:

Ii=Ip·cosθ入射光强度,

其中:Ip为点光源强度,θ为入射线与表面法线的交角。

令(Px,Py,Pz)为表面点P坐标,(Lx,Ly,Lz)为点光源坐标,这里计算的入射光强度,实质上是表面得到的有效的光强度。

4.3.5阴影

阴影计算复杂,现有算法难以实时计算,往往限于地面和墙面(水平,垂直方向)上的阴影。有时可用假阴影。例如:在地面的阴影。4.3.6反射

反射是表面反射出去的光强度。

4.3.7明暗

绘制(render)是由3D模型、光照模型,经过透视投影,得到平面图形。绘制时间可能达几秒或几十分。绘制时间长的原因在于数据库复杂和图形的真实性。大型数据库有几千个物体,每个物体有几千个三角形,所以绘制时间长。

绘制中的一个问题是,用户的交互可能修改图形,可能破坏几何形体。如一个物体被推入另一物体,它就不必显示了。如光源与物体顶点重合,就会破坏光计算,因为失去了光线向量。因此软件应保证用户不至引起不协调。

绘制中的另一个问题是画面存贮。一般采用双缓冲存贮,其中一个缓冲区保存绘制的图形,另一个缓冲区保存显示的图形。1.平面明暗模型

平面明暗模型中,以多边形中点光照作为多边形内部各点的光照。

由上述的光照模型计算多边形中点光照,于是就得到了多边形内部各点的光照。这减少了计算复杂性,但显示的场景看起来不自然。2.Gouraud明暗模型

Gouraud平面明暗模型中,由多边形顶点光照内插内部点的光照。顶点的法线向量是各有关平面的法线向量的算术平均。

下图表示,Gouraud平面明暗模型计算实例的三角形场景,若三角形三项点的光强为Ia,Ib

,Ic

则三角形边上两个点和内部一个点的光照分别为

左图表示,Gouraud平面明暗模型计算三角形场景的原理图。右图表示,Gouraud平面明暗模型计算中,由相关的三个平面的法线的算术平均,得到顶点的法线

下图表示,Phong明暗模型中内插表面法线的工作原理。下图表示,Phong明暗模型中内插表面法线的效果

4.3.8消除隐藏面

3D形体投影后,3D形体上所有的线全部投影得到线框图。其中,隐藏的(被遮挡的)线和面,以及可见的线和面同时显示。消除隐藏面算法(消隐算法)从显示图形中去掉隐藏的(被遮挡的)线和面。

1.画家算法

它把视场中的表面按深度排序。然后由远到近依次显示各表面。近的取代远的。它不能显示互相穿透的表面,也不能实现反走样。对两个有重叠的物体,A的一部分在B前,B的另一部分在A前,就不能用此算法。

2.扫描线算法

它从图像顶部到底部依次显示各扫描线。对每条扫描线,用深度数据检查相交的各物体。它可实现透明效果,显示互相穿透的物体,以及反走样。可由各处理机并行处理。

3.z-缓冲器算法(z-buffer)

对一个象素,z-缓冲器中总是保存最近的表面。如果新的表面深度比缓冲器保存的表面的深度更接近视点,则新的代替保存的,否则不代替。它可以用任何次序显示各表面。但不支持透明效果,反走样也受限制。有些工作站已把z-缓冲器算法硬件化。

消隐算法是把线框图变成实体图必要的算法。4.3.9加强真实性的措施

为了提高显示的逼真度,经常采用下列方法。

1.纹理映射

它在图形中的部分表面上贴上图像,加强真实性。贴上图像实际上是个映射过程。映射过程应按表面深度,调节图像大小,得到正确透视。纹理可映射到图形上,而不是3D表面上。

2.反走样

绘制中的一个问题是走样,它会造成显示图形的失真。

反走样算法试图防止这些假象。一个简单方法是以两倍分辨率绘制图形,再由象素值的平均,计算正常分辨率的图形。另一个方法是计算每个邻接元素对一个象素点的影响,再把它们加权求和得到最终象素值。这可防止图形中的"突变",而保持"柔和"。

走样是由图像的像素性质造成的失真现象。反走样方法的实质是提高像素的密度。3.不同细节程度的模型(LOD模型)

在近处观看一座建筑物时,可以看到细节。而在远处观看一座建筑物时,只能看到模糊的形象,不能看到细节。这种简单的规律,可以用于在保持真实性的条件下减少计算量。

对于虚拟环境中的一个物体,同时建立几个具有不同细节水平的几何模型。简单的模型具有较少的细节,包含较少的多边形(或三角形)。

不同情况下选用不同详细程度的模型,体现了显示质量和计算量的折衷。这也体现了具体问题具体处理的合理性。4.4虚拟现实仿真的动画技术

VR中物体的动态,也就是数值的动态。可以由两种方法实现这种数值的动态。

一是基于数值插值的动画方法,它可以得到物体的动态。例如虚拟人体的步行,可以由插值实现动画。二是基于物理的运动方程,由方程数值解可得到物体的动态。例如球的自由下落。4.4.1插值方法

1.线性插值

线性插值是把各中间点,按照与自变量的线性关系,均匀分布。如果把自变量理解为时间量,这相当于沿着直线以匀速运动,通过各中间点。

2.非线性插值:

实际物体运动有时不是匀速的,从零初速度加速,再减速,并停止在终点。非线性插值相当于,前半段由零初速度加速,后半段减速到零末速度。头尾段速度小,插值点较密集。中间段速度大,插值点较稀疏。

3.参数插值

非线性插值无法控制加减速。参数插值可以控制加减速。

(1)平方插值

(2)立方插值

(3)Hermite插值

平方插值使用一个控制点,Vc。立方插值使用两个控制点,Vc和Vd。Hermite插值使用的两个控制点R1,R2分别为在开始和结束点v1,v2的微分(速率)。4.形状内插

如果要求曲线A经过动画变成曲线B。就是要内插各中间时间的曲线。直线A和直线B,作线性内插得到中间直线。

方法是A,B线上各取若干对应点,对每对对应点(数值),使用上述方法插值,找到它们的内插点。在把同一时刻的各个内插点联接成曲线,就是这一时刻的内插曲线。 形状内插不仅可以适用于两条曲线,也可以适用于两个屈面,或两个物体。形状内插的第一步是,在一对曲线上确定若干对对应点。第二步是,对于每一对对应点,利用点的内插方法,找到多个内插点。第三步是,把同一时刻的各个内插点连成内插曲线。

5.自由变形FFD

自由变形(Free-FormDeformation,FFD)用于物体形状的内插,得到变形进程。它使用控制点的3D点阵。通过改变控制点,来改变物体形状。

(1)1D坐标变形

(2)2D形状变形

(3)3D形状变形

自由变形是由控制点的位置,控制对象的形状。如果控制点内插,得到控制点移动的过程,就可以得到对象形状变化的过程6.关键帧动画

关键帧动画概念来自传统的卡通片制作。在迪斯尼制作室中,动画师设计卡通片中的关键画面,即关键帧。然后,由助理动画师设计中间帧。在三维计算机动画中,计算机利用插值方法设计中间帧。另一种动画设计方法是样条驱动动画,用户给定物体运动的轨迹样条。关键帧动画有下列技术问题:(1)弧长参数化

关键帧插值中,给定物体运动的轨迹,求出物体在每一帧画面中的位置。物体运动轨迹一般由参数样条表示。如果对参数空间进行等间隔采样,可能造成运动的不均匀性。为了使物体沿着样条匀速运动,必须建立弧长与样条参数的一一对应关系。

(2)插值过程的运动学控制

关键帧插值与纯数学插值不同。关键帧插值应该产生逼真的运动效果,并给用户提供方便的控制手段。用户必须能够通过调整插值函数来改变运动的速度和加速度。

(3)物体姿态的插值

物体的姿态一般由欧拉角表示。因此,姿态的插值问题就是三个欧拉角的插值。但是欧拉角表示有局限性。它的旋转矩阵是不可交换的,基于欧拉角的旋转要按特定的次序进行。此外,等量的欧拉角变化不一定引起等量的旋转,从而导致旋转的不均匀。欧拉角还可能造成自由度的丧失。Shoemake把四元数引入到动画中,并提出用单位四元数空间上的Bezier样条来插值四元数。7.渐变和变形物体动画

动画的一个特点是物体的形状变形。例如电影“终结者II”中,机械杀手T-1000由液体变成金属人,由金属人变成其他角色。(1)变形

变形技术包括:与物体表示有关的变形、与物体表示无关的变形、基于约束的变形、轴变形。

与物体表示有关的变形,可以作用于由多边形表示的物体。可以通过移动多边形顶点来实现。但是不适当的移动可能导致三维走样,例如原来共面的多边形变成不共面的。

与物体表示无关的变形,可以作用于由多边形表示的物体,也可以作用于由参数曲面表示的物体。一种方法是Sederberg提出的最实用的自由变形方法FFD。它不是直接对物体变形,而是对物体嵌入的空间进行变形。FFD方法中的lattice块的形状为平行六面体,这限制了它的应用。先对物体嵌入的lattice块的控制顶点设置动画,再把变形传播到物体本身。自由变形也可以用于脸部表情动画,科学计算可视化等领域。

基于约束的变形,是为了解决FFD的不足。在FFD中,lattice变形和物体变形之间的对应关系并不直观。Borrel和Rappoport提出了简单约束变形法。用户定义一系列约束点、所需的偏移量和影响区域半径,在每个约束点处定义一个以该点为中心的局部B样条基函数,该函数在影响区域外取值为0。该方法计算量小,在工作站上可实时交互。

轴变形,也是为了解决FFD的不足。在FFD中,控制点较多时交互性就较差。Lazarus提出了基于轴的变形。它用物体轴线的变形来控制物体的变形。对轴线设置动画是很容易的。用该方法仿真鱼的游动,取得了很好的效果。

(2)渐变(morphing)(如fishmorph例子)

上述的变形,是一个物体的形状变化。不给定物体最终形状。下述的渐变,是物体由一种形状逐渐变化为另一种形状。给定物体最终形状。

两个二维多边形之间的渐变,一般采用顶点间的线性插值。但生成的多边形可能产生自交和不应有的收缩。Sederberg提出了基于物理的二维形状渐变。把形状看成为由电线框组成,求解所需能量最小的形变解。

两个二维图像之间的渐变,有Wolberg的网格变形技术。他用B样条网覆盖在数字图像上

温馨提示

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

评论

0/150

提交评论