• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 小说 > 正文

    虚拟现实建模技术分析

    时间:2020-12-17 09:44:38 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

    (呼伦贝尔学院计算机系,内蒙古 呼伦贝尔 021008)
    摘 要:
    文章对三维建模和虚拟现实技术在计算机图形学领域中的应用进行了分析。
    关键词:虚拟现实;
    VRML;
    建模技术
    中图分类号:TP391.9  文献标识码:A  文章编号:1007—6921(2008)21—0043—02 

    虚拟现实技术是近年来迅速发展的一门新兴技术,也是多媒体技术发展的更高境界。虚拟现 实(Virtual Reality,简称VR),又称临境技术,是最近几年得到迅速发展的技术。虚拟现实 就是采用以计算机为中心的现代高科技,生成逼真的视、听、触、嗅觉等一体化的虚拟环境 ,以自然的方式与虚拟环境中的客体进行交互作用、相互影响,从而产生身临其境的感觉和 体验。实现一种虚拟幻觉。它是一种高级的仿真技术,既可以做真实世界的物体仿真(如建 筑物模型),又可以做抽象物体的虚拟建模(如原子模型)。因此,虚拟现实技术在人工智能 、CAD、图形仿真、虚拟通信、遥感、娱乐、军事模拟训练的许多学科带来革命的变化,将 对一个国家的国防、军事、政治、经济、文化甚至日常生活产生深远的影响。
    1 虚拟现实建模技术

    虚拟现实涉及的关键技术主要有:大规模数据的场景三维建模技术;动态实时的立体视觉 、听觉等生成技术;三维定位、方向跟踪、触觉反愤等传感技术和设备;符合人类认知心理的 三维自然交互技术;三维交互软件及系统集成技术等。

    虚拟现实建模技术的建模方法是虚拟现实技术中最重要的技术领域,也是虚拟现实技术中的关键技术之一,计算 机图形学是虚拟现实的奠基石,在计算机图形学中,被研究得最多的,也是最重要的研究方 向之一就是建模技术。建模技术的炮容十分广泛,不仅涉及数学、动力学、运动学等基础学 科,同时,还涉及机器人学、机械工程学和生物机械学等应用学科。虚拟 现 实 发展至今 ,己有了许多的建模软件。主要有:WTK(WorldTool Kit)是美国Sense 8公司研制的虚拟现实 系统应用工具箱,是一套用来建造实时三维图形应用系统的工具;DWB (Designer"s WorkBen ch)是一高逼真度的三维建模和模拟系统,它是集三维模型、景观和仪表图形显示为一体的 建模软件;Open GL开放式图形软件是Silicon Graphics开发的一种建立图形库的语言;虚拟 现实建模语言VRML (Virtual Reality Modeling Language),其目的是提供一种用于网上的 虚拟世界的描述方法,它使用VRML浏览器能解释的ASCII文本格式来描述世界和链接,是实 现虚拟现实的较好工具。
    2 利用VRML构造动态的虚拟现实模型

    VRML2.0它能使构造出的三维虚拟世界具有声音,动画,人机交互等功能,从而使计算机生 动逼真地模拟了真实的世界。实现动态的虚拟现实是VRML2.0的生命力所在,VRML2.0提供了 多种构造动态虚拟现实模型的方法,以下将一一介绍。
    2.1 使用插值器改变对象

    插值器节点有很多种,各自完成不同的功能,如改变对象在场景中方向的OrientationInter polator节点,用于改变观察位置或形体位置的PositionInterpolator节点,用于坐标位置 运动的CoordinateInterpolator节点,还有ColorInterpolator可以修改Material节点的颜 色,NormalInterpolator可以改变法向节点中的值等等,另外,ScalarInterpolator是一个 基本的构造模块,由它可以建造其他许多插值。使用插值器改变对象的原理大致是相同的, 这里以OrientationInterpolator节点实现旋转对象为例子:
    下面是OrientationInterpolator节点的定义:
    OrientationInterpolator{
    eventln  SFFloat  set fraction
    exposedField  MFFloat    key [ ]
    exposedField    MFRotation    keyValue [ ]
    eventOut    SFRotationvalue changed
    }

    它通常路由到一个Transform节点的rotation exposedField。其中的keyValue是一个SFRota tion,用来设立对象所期望的方向。在驱动插值器过程中,由TimeSensor节点随时间的流逝 产生0~1之间递增的SFFloat值,每产生一个值,经过路由Orientation Interpolator节点接收这个值,并把它的值与关键码进行匹配,一旦匹配成功,则对应于这个关键码(key)的关 键码值(keyValue)被发送出去,如果这个值处于两个相邻的关键码之间,则产生一个在与两 个关键码相对应的关键码值之间进行插值的事件,得到的关键码值又通过第二条路由,使Tr ansform节点接收到这个值,从而改变立体的位置。简单地讲,使用插值器改变对象形成动 画,用户只需给出一系列运动轨迹的中间态势,由VRML解释器自动平滑对象在这些中间态势 间过渡,从而得到使对象按所给路线变化的动态效果。
    2.2 在对象上包装电影文件

    把电影作为一个移动的纹理施加到对象上,能使虚拟世界呈现一种动态效果。例如在一个虚 拟房间中放置了一台电视机,当漫游者进入房间时,看见电视机屏幕上正在放映电视或电影 ,而并非一副静止死板的图像,显然就大大地增强了虚拟世界的逼真程度。

    由MovieTexture节点完成对对象的包装,利用这个节点,提供MPEG文件的URL和域值来控制 电影的播放时间和速度。该节点语法如下:
    MovieTexture{
    exposedField     MFString      url          [] 
    exposedField     SFFloat      speed         1
        exposedField     SFBool       loop          FALSE
        exposedField     SFTime       startTime     0
        exposedField     SFTime       stopTime      0
        field            SFBool       repeatS       TRUE
        field            SFBool       repeatT       TRUE
        eventOut         SFTime       duration_changed
        eventOut         SFBool       isActive
    }

    MovieTexture节点中的url域包含一个电影格式的文件,而不是一个静态图像文件,每一个M PEG电影都存储了一系列电影画面,电影的播放可以有开始、停止、继续、循环进行播映。


    2.3 使用角色,进行对象切换来构造动画效果

    所谓角色是指一个平坦的始终面向阅读器的图像,它是一种在虚拟世界中的2D对象,可以渲 染地更快,但是它是平面的,如果从侧面看它们,它们就会消失掉,为了得到满意的效果, 角色需要始终面向观众。

    把一个动画分解成很多静态图片,然后连续播放,给人的视觉造成动画效果。这就是动画角 色的原理。

    角色的切换是由MySwitch节点完成的,该节点可以根据变化的whichchoice的值选择相应的 节点显示。由TimeSensor节点给出动画开始时间,把fractiones changed事件的值传递到My Script节点,并被该节点的fraction函数处理,得到whichChoice事件的值,最后把whichCh oice事件的值传递到MySwitch节点,从而随时间的流逝依次选择一个角色显示出来,直至时 间结束完成整个动画过程。
    2.4 视点动画

    由于VRML提供视点Viewpoint节点,这个节点允许为用户设置一个有趣的理想点的位置和方 向,通过不断改变视点的位置和方向可以达到和不断改变对象位置和方向相似的动画效果。

    用户可以从该点来观察场景,在第一个新的观察点,浏览器获得的图像就像是使用一部虚拟 的取景器在屏幕上播放一样。替身在虚拟空间中的移动,就使得取景器不断地调整其位置和 朝向。当Viewpoint节点是Transform节点的子节点时,视点的方位是在Transform节点的坐 标系内,如果坐标系移动,则视点也随着移动。

    如果虚拟世界是静止的,而世界的作者能够控制用户的化身并带领他在世界中漫游(比如展 示一个博物馆的整体构造),在用户眼中就会产生动画效果。过程是把fraction changed事 件(产生的时间)值传递到旋转节点(Orientationlnterpolator)和位置节点(PositionInterp olator)以产生新的视点方向和位置,分别把新产生的视点方向传递到视点(Viewpoint)节点 中以改变原先的值,从而产生动画效果。
    2.5 使用纹理坐标的动画

    如果把一副二维图像包裹在对象上来进行着色,就像在墙上贴墙纸一样,也能得到很好的效 果,这种二维图像叫做纹理,节点ImageTexture负责添加纹理,纹理图像一般是JPEG文件, 有时也可以是PNG或GIF文件。
    假设要虚拟一个瀑布,可以在一个几何体上施加一种水的纹理,但是这种纹理是静止的,要 让它动起来,有一种比较简单的方法:设It对纹理与对象之间的映射所进行的变换,即通过T extureTransform节点移动、缩放或旋转纹理,以产生动画效果。在水的纹理变换上,可以 使纹理在纵向坐标上按时间循环地移动,用户就会看到瀑布落水的动画了。

    VRML2.0提供大约五种构造动态虚拟模型的方法,这几种方法分别适用不同场合,例如在漫 游时使用视点移动来产生动态效果,在绘制波光粼粼的湖面时用纹理坐标的移动来虚拟现实 ,在描述正放着电影的电影院时自然是用电影文件来包裹电影屏幕了。
    [参考文献]
    [1] 任爱华多用户虚拟现实建模技术研究[D]华中科技大学硕士学位论文,2 002.5(3):5~6.
    [2] 张国荣虚拟现实技术及其应用与展望[J]厦门科技,1997,(4):5~6.
    [3] 刘文亮基于VRML的虚拟现实中三维建模技术的研究[D]武汉:武汉理工 大学硕士学位论文,2003,(5).

    相关热词搜索: 虚拟现实 建模 分析 技术

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章