纳金网

标题: 大型虚拟场景的分割与浏览优化 [打印本页]

作者: Asen    时间: 2011-9-9 08:39
标题: 大型虚拟场景的分割与浏览优化
浏览VRML 生成的大型虚拟场景时, 通常绘制的开销都很大, 由此制约了场景显示的实时

性, 也就是难以做到顺畅浏览1 实际应用中, 用户不得不在模型的精确度、绘制的真实感和显示的实

时性三方面做出折衷的选择1 以浙江师范大学虚拟校园为例, 重点探讨在尽可能保证绘制的真实感的

前提下, 如何对大型虚拟场景用空间格网实现分割, 以及采用VRML 的传感器、Inline 节点与编程相

结合的场景调度, 以解决浏览的优化问题1

关键词: 虚拟现实; VRML ; 场景分割; 浏览优化

  数字化信息社会最具代表性的三种新技术是多媒体、INTERNET 和虚拟现实,而这三种新技术的交叉点是虚拟现实建模语言VRML (Virtual Re2ality Modeling Language) [1 ] 1VRML 是第二代Web 上的关键技术,是一种三维场景的描述性语言,也是在Internet 网上实现虚拟现实的关键性技术1 其基本原理是用文本信息描述三维场景,通过Inter2net 在网上进行传输,经由本地机上的VRML 浏览器解释生成三维场景,解释生成的标准规范即是VRML 规范1 正是这种思想,使得在Internet 上通过传输很少的数据就可浏览三维虚拟场景成为可能.

      纵观现有的桌面虚拟现实系统,虽然不乏优秀的范例,但均不同程度的存在模型复杂度、绘制的真实感和浏览的实时性问题。传统的计算机图形学的建模和绘制周期较长,建模开销和绘制开销也都很大,建模过程虽然可以离线进行,但是精确的三维几何模型的创建耗时、费力,一直是计算机图形学的应用瓶颈;绘制开销大带来的问题。是制约复杂场景显示的实时性,也就是难以做到顺畅浏览。1

      如何在尽可能保证绘制的真实感的前提下,实现显示的实时性? 本文以浙江师范大学虚拟校园为范本,重点探讨如何对大型虚拟场景用空间格网实现分割,以及采用VRML 的传感器、Inline节点与编程相结合的场景调度,也就是浏览优化问题。
1  空间格网对场景的分割

       对于场景的建模、场景文件的优化、场景的交互以及场景的发布等,限于篇幅,在此不作展开讨论1 开展后续工作已有的前提是:我们借助Auto2CAD、3D MAX、VRMLPad 等开发工具,已经完成了虚拟校园的场景建模,并完成了初步的浏览测试[3 ] 1 具体的初始浏览场景如图1 所示。

图1  虚拟校园初始浏览场景
       虚拟校园通常是由许多景物组成的大范围场景,若用一个VRML 文件来组织,则该文件的数据量将很大1 这会造成下载时间冗长,解释绘制困难,漫游、交互及信息查询都将难以实现,为此,我们将所有的场景文件安排在以浙江师大总体规划平面图为蓝本的区域内。该区域被划分成8 行×10 列的空间格网,每个空间格网的大小为:X 方向,100 个VRML 单位;Z 方向,80 个VRML 单位;Y方向则与后续所述的视方平头锥的高度方向相同。 空间格网完成对场景的分割。 为了标注及表述方便,将空间格网用Gm- n表示,其中,m、n 分别表示格网的行和列1 按照惯例,具体到某个空间格网时,按从上至下,从左至右的序数标注来描述。采用上述分割方法,优点是能保证浏览器每次调入和退出的场景区域大小是相同的。不足之处是:由于每个空间格网所包含的对象数量及复杂度不同,因此无法保证每个空间格网的文件量大小一样。

2  基于空间格网的场景调度分析

      本文采用Cortona 作为浏览工具1Cortona 是爱尔兰与俄国的合资公司ParallelGraphics 发布的VRML 浏览器。 新版本为Cortona (r) VRML Client4. 1 ,支持VRML97 标准,包括Java 和Java 脚本,支持内建NURBS 曲面标准。浏览时操控流畅,绘制效果良好。
2. 1  视方平头锥体浏览器

       浏览器的视域是一个视方平头锥体,当浏览场景时,浏览器仅对落在锥体内的对象绘制并显示。
2. 2  场景调度的几种方法

       下面分成3 种情况加以讨论。

2. 2. 1  平移

       平移的方式分为2 种情形1 一种是:当视点垂直于屏幕向内(负Z 方向) 移动时,意味着视方平头锥向负Z 方向运动,G3 - 7 逐步进入视锥,同时G5 - 7逐步退出视锥1 当移动至如图4 所示虚线位置时,G4 - 7完全进入视域,G5 - 7 因完全退出视域而被剔除,与此同时调入G2 - 7 作为预备;另一种是:当向左(负X方向) 浏览时,倒梯形框随之整个向左平移, 当移动到格网G5 - 7 、G4 - 7 、G3 - 7 到格网G5 - 6 、G4 - 6 、G3 - 6的边界时,则浏览器根据将要显示的区域依次调入格网中的场景;反之,当向右(X方向) 浏览时,即返回到格网G5 - 7 、G4 - 7 、G3 - 7 区域,则按照退出的秩序依次剔除场景。



图4  浏览的场景调度
2. 2. 2  旋转

        当视线方向绕Y轴旋转时,则按进入视锥的先后秩序依次调入场景1 到图4 中所示位置时,格网G5 - 6 、G4 - 6 、G3 - 6 中的场景应被载入,同时剔除G3 - 7格网中的场景。
2. 2. 3  平移加旋转

        既平移又旋转的情况可以看作是上述情况的组合,调入格网中场景的方法可以分解成单独的平移、旋转,由此决定应载入和剔除的格网。

3  基于格网的场景调度实现

3. 1  浏览器视方平头锥的设定

       VRML 提供的Viewpoint 和NavigationInfo 允许用户设置视方锥的大小。在Viewpoint 中可设置视点位置、视线方向、视域夹角1 视域夹角的确定取决于显示屏幕的宽高比,当显示屏幕的宽度大于等于高度时,视域夹角控制锥体的水平跨度;反之,则控制锥体的垂直跨度1 视方锥的近端距离和远端距离由NavigationInfo 节点来设置,近端距离用替身(avatarSize 域) 的宽度来表示,远端距离由可见性限定距离(visibilityLimity 域) 来设置1 这样,浏览器只需绘制并显示一定范围内的场景。
3. 2  实现方法

         首先,通过Inline 节点调入初始显示的格网中的场景文件(如图1 所示) ,然后通过预先设置的感知器ProximitySensor 和VisibilitySensor 来感知视点的位置和场景对象的可见性.当感知器发出的信号送到Script 的eventIn 输入端口,经JavaS2cript 进行处理后经由eventOut 输出端口送出新的格网场景文件到Inline 节点,绘制并显示新的场景. 实现方法如图5 所示.

图5  VRML 实现的格网场景文件调度


  ProximitySensor 节点可在场景中设置一个长方体的感知区域,当视点进入该区域时,节点通过事件输出端口(eventOut) isActive 感知视点的进入或退出,enterTime 和exitTime 感知进入和退出的具体时间,position-changed orietation-changed 感知视点在长方体内的位置和朝向. 初始装入的是G5 - 7 、G4 - 7 、G3 - 7格网场景,初始视点设在正对校门口G4 - 7的适当位置上,如图6 所示.

图6  前进和后退浏览时ProximitySensor 的位置
3. 3  视点前进和后退的场景调度

       首先,在格网内设置前后两个亲近度传感器ProximitySensor ,具体位置如图6 所示. 当视点向负Z 方向移动时,G5 - 7从视方平头锥的近端退出,经过Δt 时间后,视点进入Fsensor 的感知区.Δt 的大小取决于用户的鼠标动作,适当安排感知器的位置,能正确载入所需场景. 感知长方体的大小为:X方向格网的2 倍;Y方向比视点高;Z 方向与格网的Z 值相同.实现前进、后退浏览的JavaS2cript 伪代码如图7 所示.

3. 4  视点左右平移的场景调度
        感知器设置如图8 所示1 视点左右平移的场景调度通过VRML 的可见性感知器VisibilitySensor

图7  前进和后退浏览的JavaScript 伪代码

图8  左右平移浏览时Visibility Sensor 的位置
       节点来实现,初始调入的格网场景为G5 - 7 、G4 - 7 、G3 - 71 当该长方体区域的任何部分进入远端距离的视方平头锥时,该节点的isActive 为TRUE ,同时输出进入时间enterTime ;当该长方体完全从视方平头锥退出时,该节点的isActive 为FALSE ,同时输出退出时间exitTime.在其左右设置6 个Visi2bilitySensor ,分别命名为L - visSensor、R - visSen2sor ,大小设置为:X 方向为Δx ,设Δx 可保证边线被看见之前完成格网内场景的调入; Y值为该格网内最高场景对象的高度; Z方向与格网Z 值相同.L - visSensor、R - visSen2sor 的控制过程与视点前进和后退的场景调度相似, 控制过程的JavaScript 伪代码不再赘述.
4  结束语

       采用上述方法对大型虚拟场景进行数据模型分割、浏览优化, 能够较好的兼顾场景的复杂度与渲染的实时性, 在浏览操控的精确性、实时性和流畅性方面均有较大的改善. 这种方法也可用于三维数字城市、景观规划及虚拟数字博物馆中, 使构建的虚拟现实系统更为逼真, 浏览更加顺畅.
参考文献:

[1 ] VRML 国际标准与应用指南[ Z] . 黄铁军, 柳 健,

译. 北京: 电子工业出版社, 1999.

[2 ] Sandy Ressler. Using VRML to Access Manufacturiag data

[ EBPOL ] . http : PPovrt. nist. govPprojectsPmfgPSIMAP

vrml97Pvimhtml. frn. html.

[3 ] 李 欣. 基于VRML 技术的虚拟数字校园场景建模研

究[M]. 浙江师范大学学报: 自然科学版, 2005 , (4) :

47 - 51.

Division and Browse Optimization of Large - scale Virtual Scenes

LI Xin

(Education College , Zhejiang Normal University , Jinhua Zhejiang 321004 , China)

Abstract : To browse large - scale scenes from VRML usually costs a lot on render , it results in certain limitations

on render timely , that means favoring browse is not easy to reach. Users have to take an eclectic option among mod2

el’s precision , render reality and render timely. With the example of virtual campus scene of Zhejiang Normal

University , to keep sense of drauoing as real ass possible , this paper mainly discusses how to divide large - scale

virtual scenes with space grid , how to introduce scenes formulation in combination of programs and sensor , Inline

Node of VRML in order to achieve optimization on browse scenes.

Key words : virtual reality ; VRML ; scene division ; browse optimization

参考文献:

[1 ] [美] 莱斯利P , 斯特弗. 教育中的建构主义[M] .

高文, 译. 上海: 华东师范大学出版社, 2002.

[2 ] [美] Grigore C Burdea , [法] Philipe Coiffet. 虚拟现实

技术[M] . 魏迎梅, 译. 第2 版. 北京: 电子工业

出版社, 2005.

[3 ] [美] Chris Marrin , ***ce Campbell. 21 天学通VRML2

[M] . 王海燕, 译. 北京: 人民邮电出版社, 2002.

Developing Children’s E - Learning Software of

Virtual Natural Observation through Web3D Technology

LIU Zhen

(College of Information Science and Engineering , Ningbo University , Ningbo Zhejiang 315211 , China)

Abstract : A method of developing Web3D based children’s education software is presented , on the basis of con2

s***ctivism for learning , children like to learn knowledge in the entertainment manner , and 3D virtual environment

is suitable for children’s exploration. The method is illustrated with three examples. These examples show that

Web3D technology has powerful functions in developing children’s e - learning software.

Key words : children ; education ; wed3D ; learning software



作者: tc    时间: 2012-2-2 23:32
我就看看,我不说话

作者: 菜刀吻电线    时间: 2012-2-20 23:24
俺是新人,这厢有礼了!

作者: 晃晃    时间: 2012-2-21 23:25
不会吧,太恐怖了

作者: 晃晃    时间: 2012-4-5 23:33
灌水。。。

作者: C.R.CAN    时间: 2012-4-18 23:24
沙发不解释

作者: 晃晃    时间: 2012-4-29 23:19
读铁系缘分,顶铁系友情

作者: tc    时间: 2012-5-7 23:24
真是不错啊

作者: 菜刀吻电线    时间: 2012-7-13 23:22
呵呵,很好,方便罗。

作者: 奇    时间: 2012-7-15 23:21
我是老实人,我来也!

作者: 晃晃    时间: 2012-7-22 23:27
再看一看,再顶楼主

作者: 菜刀吻电线    时间: 2012-10-2 23:21
好`我顶``顶顶

作者: 晃晃    时间: 2013-2-22 23:21
很经典,很实用,学习了!

作者: tc    时间: 2013-3-21 23:58
我是老实人,我来也!

作者: fgdf#dfg    时间: 2013-4-15 08:29
感谢分享感谢分享感谢分享





欢迎光临 纳金网 (http://course.narkii.com/club/) Powered by Discuz! X2.5