虚拟现实建模技术_第1页
虚拟现实建模技术_第2页
虚拟现实建模技术_第3页
虚拟现实建模技术_第4页
虚拟现实建模技术_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、目录一、 虚拟现实建模技术概述1二、 几何建模技术12.1 形状建模12.2 外观建模32.2.1 纹理映射32.2.2 光照4三、 运动建模技术63.2 对象位置63.3 碰撞检测7四、 物理建模技术84.1 分形技术84.2 粒子系统9五、 模型管理技术95.1 细节水平分割95.2 单元分割10六、 虚拟现实建模技术的最新发展方向10参考文献11虚拟现实的建模技术及其最新研究方向史龙飞(电子信息学院 物理电子学)一、 虚拟现实建模技术概述虚拟现实技术是在虚拟的数字空间中模拟真实世界中的事物,这就需要一个逼真的数字模型,于是虚拟现实建模技术就产生了。虚拟现实与现实到底像不像, 是与建模技术

2、紧密相关的,所以建模技术的研究具有非常重要的意义。按照建模方式的不同, 现有的建模技术主要可以分为:几何造型、扫描、基于图象等几种方法。基于几何造型的建模技术需要专业的设计人员掌握相关三维软件创建出物体的三维模型, 对设计人员要求高, 而且效率不高。三扫描仪以其高精度的优势而得到应用,但由于测量设备本身所占空间比较大,容易受到空间、地点等因素的限制, 从而限制其在某些特定情况下的使用范围,再者还需要进行一些后期的专业处理。基于数码照片的三维建模技术则可以根据物体的不同方位运用不同的视角来拍摄的数码照片, 只要依据确定的数码相机的内外部参数来确定物体的特征点的空间方位。开发一个应用的第一步就是要

3、从数学上定义基本过程,并配备已有的硬件资源。第二步就是开发对象数据库和优化模型,即建立对象的形状、外表、行为、限制模型并将对应的I/0 工具映射到仿真的世界。建立一个虚拟对象模型所要考虑的一些基本问题有以下几个方面:几何建模,运动建模,对象特征,模型分割等。二、 几何建模技术几何建模描述虚拟对象的形状(多边形)三角形和顶点、以及它们的外表(纹理、表面反射系数、颜色) 。2.1 形状建模要表现三维物体,最基本的是绘制出三维物体的轮廓,利用点和线来构建整个三维物体的外边界,即仅使用边界来表示三维物体。三维图形物体中运用边界表示的最普遍方式是使用一组包围物体内部的表面多边形来存储物体的描述,多面体的

4、多边形表示精确的定义了物体的表面特征,但对其它物体,则可以通过把表面嵌入到物体中来生成一个多边形网格逼近,曲面上采用多边形网格逼近可以通过将曲面分成更小的多边形加以改进。由于线框轮廓能快速显示以概要的说明表面结构,因此,这种表示在设计和实体模型应用中普遍采用。通过沿多边形表面进行明暗处理来消除或减少多边形边界,以实现真实性绘制。对于对象的形状建模常常可以利用现有的图形库来创建,常用的图形库有:图形核心系统GKS(Graphical Kerna1 System )、程序员级分层结构交互图形系统PHIGS、开放式图形库OpenGL(Open Graphics Library)等。下图是使用Open

5、GL创建的几个几何形体:static void display(void) const double t = glutGet(GLUT_ELAPSED_TIME) / 1000.0; const double a = t*90.0; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3d(1,0,0); glPushMatrix(); glTranslated(-2.4,1.2,-6); glRotated(60,1,0,0); glRotated(a,0,0,1); glutSolidSphere(1,slices,stac

6、ks); glPopMatrix(); glPushMatrix(); glTranslated(0,1.2,-6); glRotated(60,1,0,0); glRotated(a,0,0,1); glutSolidCone(1,1,slices,stacks); glPopMatrix(); glutSwapBuffers();由上面代码可以看出,要创建出一个三维模型来需要提供详细的坐标信息,并且在创建过程中需要完全依靠想象力来进行布局,这对技术人员的要求比较高。为了避免直接用多边形或三角形拼构某个对象形状时繁琐的过程,可以直接购买商品化几何图形库。目前比较著名的是美国Viewpoint

7、 Datalabs 公司的View Point Catalog图形库。然而,规则三维立体可以用上述方法进行建模,那么对于某些特殊的几何对象,现有的图形库不能满足要求时,需通过对三维物体表面的测试得到离散的三维数据,然后将这些数据用多边形描述出来从而构造出对象的形状。近年来三维扫描技术得到了迅速发展。三维扫描仪,又称为三维数字化仪,是一种将真实世界的立体彩色图形转换为计算机能直接处理的数字信号的装置。它在V R技术、影视特技制作、高级游戏、文物保护等方面有着广泛的应用。事实上,在V R 系统中,靠人工构造大量的三维彩色模型费时费力,且真实感差。利用三维扫描技术可为V R 系统提供大量的、与现实世

8、界完全一致的三维彩色模型数据。2.2 外观建模对象的外表是一种物体区别于其它物体的质地特征,V R 系统中虚拟对象的外表真实感主要取决于它的表面反射和纹理。一般来讲,只要时间足够宽裕,用增加物体多边形的方法可以绘制出十分逼真的图形表面。但是VR 系统是典型的限时计算与显示系统,对实时性要求很高。因此,省时的纹理映射(Texture Mapping )技术在VR 系统几何建模中得到广泛应用。用纹理映射技术处理对象的外表,一是增加了细节层次以及景物的真实感;二是提供了更好的三维空间线索;三是减少了视景多边形的数目,因而提高了帧刷新率,增强了复杂场景的实时动态显示效果。2.2.1 纹理映射所谓纹理映

9、射,就是把给定的纹理图像映射到物体表面上,并不是特定的几何模型,使用纹理映射可以避免对场景的每个细节都使用多边形性来表示,进而可以大大减少环境模型的多边形数目,提高图形的显示速度。从物体表面的质地特征来看,纹理映射分为颜色纹理映射和凹凸纹理映射。前者是通过颜色色彩或明暗度的变化来表现物体的表面细节;后者则是通过对景物表面各采样点法向量的扰动来表现物体几何形状凹凸不平的粗糙质感。从具体算法来看,纹理映射可分为标准纹理映射和逆向纹理映射。标准纹理映射是对纹理表面均匀扫描,并直接映射到屏幕空间。逆向纹理映射是对屏幕上的每一像素,通过逆映射寻找到物体空间上的对应点,再在纹理空间找到相应的像素点,取得纹

10、理值经滤波后显示该像素。纹理映射的过程如下图所示:代表眼点,代表物体上的点,代表纹理上的像素点。所以,纹理映射实际上是屏幕空间、物体空间和纹理空间之间的一系列的变换过程。虚拟对象的纹理可通过拍摄对应物体的照片、然后将照片扫描进计算机的方法得到,也可用图像绘制软件建立。物体空间与纹理空间之间映射关系的确定是实现纹理映射的关键。这种映射关系可以描述为对于比较简单的二次曲面,其纹理映射函数可解析地表达出来。例如圆柱面,可以用参数方程表示为给定,可以根据上式确定。而给定圆柱上的,也可以根据其逆映射求出:。但对于复杂的高次参数曲面来说,求解析表达式往往是不可能的,这是应采用数值求解方法来离散求的。下图是

11、使用OpenGL做出的纹理贴图示例:2.2.2 光照当光照射到物体表面是,可能被吸收、反射或者折射。被物体吸收的部分抓华为热,而那些被反射、投射的光传到我们的视觉系统,使我们能看见物体。为了模拟这一物理现象,我们使用一些数学公式来近似计算物体表面按照什么样的规律,什么样的比例来反射或者折射光线。这种公式称作明暗效应模型。假设物体不透明,那么物体表面呈现的颜色仅仅由其反射光决定。通常,反射光由三个分量表示,分别是:环境反射光,漫反射光,镜面反射光。1)环境反射光:环境反射光在任何方向上的分布相同。环境反射光用于模拟从环境中周围物体散射到物体表面再反射出来的光。环境反射光可以用下面的公式表示:。其

12、中,是环境反射常数,与物体表面的性质有关;是入社的环境光光强,与环境的明暗有关。2) 漫反射光:漫反射光的空间分布也是均匀的,但是反射光的光强与入射光的入射角的余弦成正比。通常可以用下面的公式表示:。其中是漫反射常数,与物体表面的性质有关。是入射光的光强,是入射角。法向量N反射方向R光源L视点E 入射方向、反射方向以及实现方向示意图3) 镜面反射光:镜面反射光为朝一定方向的反射光,他遵循光的反射定律。反射光和入射光对称的位于表面法向量的两侧。对于纯镜面,入射到表面面元的光严格地遵守光的反射定律单向反射出去。然而真正的纯镜面是不存在的,一般光滑表面,实际上是由许多朝向不同的微小平面组成的,其镜面

13、反射光存在于镜面反射方向的周围。实际常常使用余弦函数的某次幂来模拟一般光滑表面反射光的空间分布。如下式:光照处理算法在计算机图形学中,光滑的曲面常用多边形进行逼近表示,因为处理平面比处理曲面容易得多。但是,这样就会是去缘由曲面的光滑度,呈现多边形。这种现象是因为不同平面的法向量不同,形成不同平面之间的不连续的光强跳跃。Gouraud明暗处理技术可以简单的进行平面的明暗处理。Gouraud明暗处理的思想是对离散光亮度进行采样做双线性插值以获得一连续的光亮度函数。其基本算法是:如下图所示,先计算多边形定点出(A,B,C.D)的光亮度值,吧他们作为曲面光亮度的才样点,然后再对多边形定点的光亮度值机型

14、插值计算出多边形内任一点的光亮度。若采用显性扫描线绘制,可沿当前扫描线进行双线性插值,这是一种简单的插值算法。即先用多边形定线的亮度值计算出扫描线与多边形边框焦点处的亮度值,在对扫描线内的每一个像素点计算光亮度值。Gouraud算法多边形明暗度的线性插值这种算法有点是算法简单,计算量小。但是这种算法在某下环境下存在缺陷。当他处于动态观察物体的时候,物体表面的敏感度将以不规则的方式变化。下图是光照示例,图中白色小球是一个点光源,光线在BOX和SPHERE两个对象上发生反射,产生明暗效果,环境的AMBIENT设置为0.2。光照示意图三、 运动建模技术几何建模只是反映了虚拟对象的静态特性,而VR中还

15、要表现虚拟对象在虚拟世界中的动态特性,而有关对象位置变化、旋转、碰撞、伸缩、手抓握、表面变形等方面的属性就属于运动建模问题。对象位置通常涉及对象的移动、伸缩和旋转。因此往往需要用各种坐标系统来反映三维场景中对象之间的相互位置关系。例如,假如我们开着一辆汽车围绕树驾驶,从汽车内看该树,该树的视景就与汽车的运动模型非常相关,生成该树视景的计算机就应不断对该树移动、旋转和缩放。碰撞检测经常用来检测对象甲是否与对象乙相互作用。例如,两辆汽车碰撞之前的外形模型与发生碰撞后的模型是很不一样的。碰撞检测需要计算对象间的相对位置。在虚拟现实应用中,碰撞检测计算非常费时,研究者从省时和精确的角度发明了许多碰撞检

16、测算法。3.2 对象位置在3D空间中移动对象公邮3个平移参数和沿他们做旋转的3个旋转参数。这些参数的测量结果组成一个6维的数据集,一般用的其次变换矩阵来描述:这里描述坐标系B的方向相对于坐标系A的旋转子矩阵,是描述坐标系B的原点对于坐标系A的变化矢量。齐次变换矩阵节省了一定的计算量,由于旋转和平移是按照同一规则进行的,故求其反置可用下面的式子:在虚拟现实中,一般给每个对象捆绑一个坐标系,该坐标系成为对象坐标系,捆绑的坐标系和对象一起移动,因此,在对象坐标系中对象顶点的位置和方向保持不变. 下图显示了捆绑坐标系(X1、Y1、Z1) 和(X2、Y2、Z2) 的两个对象。虚拟对象坐标系对象的绝对为止

17、是相对一个固定的坐标系而言,这个坐标系成为世界坐标系(Xw,Yx,Zw),在对象1坐标系与世界坐标系的变换公式如下:这里的是描述世界坐标系中分量的向量;P是从到的位置向量。如果对象1在移动,那么变换便成为时间的函数。在系统中定线改变之后的位置可以按照方法计算。3.3 碰撞检测碰撞检测目前有很多方法, 一种最基本的的方法是通过计算两个对象之间的的相对位置来实现。对于对象1和对象2, 要检测它们是否发生碰撞, 可由上述变换公式计算对象1上的顶点V1相对于对象2的位置,即如果P(2)落在对象2之内, 碰撞便会发生. 如果P(2)(t) 没有落在对象2之内, 还需要计算对象1的其他顶点, 直到所有顶点

18、完成上述计算并且得知对象1的所有顶点均未落在对象2之内, 才能得出对象1与对象2没有发生碰撞的结论。如果对对象1与对象2上的每一个顶点均执行上述计算, 则效率太低。一种简化的计算方法是应用矩形边界箱。那么碰撞检测发生在对象1与对象2的边界箱之间。事实上, 现在很多VRML开发工具都采用此种方法来实现。但其不足的是位置上的精确度有些降低。边界箱示意图常用的边界箱不仅仅是矩形,还可以是圆球,圆柱等。边界箱的选择跟需要碰撞检测的虚拟对象有关,尽量做到算法简单,检测精度较高。如上图所示的边界向选择并不是很好,边界箱和虚拟对象之间的空间非常大,甚至超过了对象本身的体积,这样检测的碰撞将会非常不准确。四、

19、 物理建模技术在几何建模和运动建模之后,虚拟世界建模的下一步是综合体现对象的物理特性,包括重力、惯性、表面硬度、柔软度和变形模式等,这些特征与几何建模和行为法则相融合,形成更具有真实感的虚拟环境。例如,用户用虚拟手握住一个球,如果建立了该球的物理模型,用户就能够真实地感觉到该球的重量、硬软程度等。物理建模是虚拟现实中比较高层次的建模,它需要物理学和计算机图形学的配合,设计到力学反馈问题,树妖是重量建模、表面变形和软硬度的个物理属性的体现。分行技术和例子系统就是典型的物理建模方法。4.1 分形技术分型技术可以描述具有自相似特征的数据集。自相似特征的典型例子是树。若不考虑树叶的区别,当我们靠近树梢

20、时,数的细稍看起来也像一棵大树。有相关的一组树梢构成的一根树枝,从一定距离观察时也像一棵大树。这种结构上的自相似成为统计意义上的自相似。自相似结构可用于复杂的不规则外形物体的建模。该技术首先用于水流和山体的地理特征建模。例如,我们可以利用三角形来生成一个随机搞成的地理模型,去三角形三边的中点并按吮吸连接起来,将三角形分割成4个三角形,同时,我们给每个中随机地赋值一个高程值,然后递归上述过程,我们就可以产生相当真实的山体。分型技术的优点是简单的操作就可以完成复杂的不规则物体的建模,缺点是计算量太大,不利于时候死刑。因此,在虚拟现实宏一般仅仅用于静态远景的建模。4.2 粒子系统粒子系统是一种典型的

21、物理建模系统,例子系统是用简单的元素来完成复杂的运动的建模。粒子系统有大量的成为例子的简单元素构成,每个例子具有位置、速度。颜色和生命期等属性,这些属性可以根据动力学计算和随机过程得到。在虚拟显示中,例子系统常用与描述火焰、水流、雨雪、旋风、喷泉等现象。在虚拟显示中例子系统用于动态的、运动的物体建模。五、 模型管理技术对一个复杂的虚拟世界,其包含许多的对象,每个对象又包含各种模型,这样由此带来的巨大计算负载使VR引擎(VR实现的软件和硬件环境)几乎不可能做到信息的实时处理和吞吐。这就需要模型管理技术来帮助VR引擎以交互速度绘制复杂虚拟现实,同时对仿真质量不会产生重大影响。常用的模型管理技术有:

22、细节等级(LOD)管理技术和单元分割技术。5.1 细节水平分割细节水平(Level of Detail)分割是在各种细节水平存数对象,当远距离观察时,物体表面显示非常简单,随着距离的拉近,不断增加物体的复杂性。这样可以大大减少多边形的数量,渲染速度也有很大的提高。他可以利用LOD图形数据库来实现。人的视觉通常有如下限制:(1)视觉精度。虚拟显示显示设备的分辨率通常都元元小于人眼的分辨率。所以,显示设备的分辨率将最终决定处于虚拟显示系统中的用户的视觉精度;(2)边缘视觉效果。人眼对于细节的敏感度是在整个视域中不均匀分布的,事实上人的视觉在视域中央的越6度的范围内最敏感,并向外沿只想边缘的方向逐渐

23、下降;(3)运动敏感度。对于运动的物体,人的视觉系统能分辨出的细节要少于物体处于静止状态下能分辨出的细节。基于以上的分析,产生可3中对应的LOD切换选择标准:1) 尺寸/距离标准。当复杂的对象离视点较远时,它在图像平面上的同应非常小,对象的许多细节常常投影到一个像素点上,此时这些冗余多边形可以从景物表面中删去而不会影响景物的显示精度。当景物距离视点较近时,这些多边形则需要一一绘制才能保证绘制精度。所以,可以定义一个距离门限值,如果视点距离尸体对象的距离超过这个门限值就选择低级的LOD模型。2) 偏心距离标准。人的视觉系统只在一个很小的范围内保持很高的分辨率。虚拟显示的一个重要显示设备就是头盔,

24、而头盔的时域一般是在30到120度。因此,尸体很可能会超过视觉精度较高的范围,进去边缘区域。在这种情况下,如果使用精度高的模型就会造成浪费,因为人眼不能区分这一区域内的所有细节。因此可以根据实体偏离视域中心的程度来选择使用那一级别的LOD模型。3) 运动标准。基于人眼对运动物体不敏感这一特性,产生了运动标准,即根据对象相对于视点的移动速度来选择相应的LOD模型。运动速度快就援用低级的LOD模型,速度慢就选择高级的LOD模型。LOD的目的就是尽量按照细节程度减少多边形的个数。至少有四种方法来减少多边形的数量:(1)删除隐藏的面;(2)多使用2D模型而少用3D模型,随着距离的增加,很难区分深度,因

25、此使用2D模型即可。(3)使用简单的轮廓来代替复杂的形状;(4)使用纹理代替细节描述,首先创建模型的复杂版本,然后生成图形文件。它一般遵循60%规则,即对于每个LOD将多边形数目减少到原来的60%。5.2 单元分割单元分割是将虚拟环境分割成较小的单元,只有在当前模型中的物体才会被渲染。因此极大的减少了处理模型的复杂度。这种分割法对于大型的建筑物是非常实用的,因为人在视野中缩减的物体只是整个虚拟环境中的很小的一部分,值处理当前所见的物体大大提高了系统的处理速度。六、 虚拟现实建模技术的最新发展方向虚拟现实技术是许多相关学科领域交叉、集成的产物。它的研究内容涉及到人工智能、计算机科学、电子学、传感器、计算机图形学、智能控制、心理学等。虽然这个领域的技术潜力是巨大的,应用前景也是很广阔的,但仍存在着许多尚未解决的理论问题和尚未克服的技术障碍。客观而论,目前

温馨提示

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

评论

0/150

提交评论