正在加载图片...
·104 北京科技大学学报 第34卷 准,其基本目标是建立Internet上的交互式三维多 在VRML技术中,碰撞检测主要是通过Coli- 媒体.也就是说,它是用来描述三维物体及其行为 sion节点进行处理,它负责检测空间中用户与造型 的,可以构建虚拟世界.虚拟世界的显示、交互及网 接近和碰撞的时间,及时提示浏览器 络互连都可以用VRML来描述. 检测用户是否与一个造型发生碰撞,对于 3.1.1飞行器仿真模型的建立 VRML浏览器来说将是非常费时的工作.一个简单 高超声速飞行器模型在飞行仿真系统中是最重 的处理方法是,在Collision节点的proxy域中提供一 要的建模主题对象,为较好地实现对飞行器的建模 个代理造型,这能够加速浏览器对碰撞的检测.例 任务,将遵从以下设计原则. 如:如果一个子节点描述飞行场景中的一棵树,那么 (1)直接参照X-38的实体照片进行建模. 一个代理造型就可以用一个简单的长方体来模拟那 (2)尽可能采用虚拟现实技术中的nline节点 棵树的形体和尺寸,VRML浏览器就可以基于此简 及原型机制简化程序代码,减轻浏览器负担,提高场 化形式进行碰撞检测a 景的浏览速度图 3.2仿真系统分布式网络结构设计与基于Java的 (3)由于高超声速飞行器模型比较复杂,可以 数据库管理 将飞行器分成若干个小部分分别建立,然后再把它 在设计的分布式虚拟仿真系统中,主要基于客 们装配起来.经分析,飞行器可分解为机身主体、轮 户机/服务器模式进行网络拓扑结构设计,同时基于 子、机头、机翅、尾翼和座舱一共六个部分 Java的JDBC技术实现分布式环境下的数据库 (4)将各个部分装配起来形成飞行器的整体 管理. 后,再通过修改它的材质、透明度和亮度来改善它的 客户机/服务器(C/S)模式是一个典型的分布 外观属性,使其看上去更逼真 式网络模式,在Wb应用中,C/S模式衍生出了多 3.1.2飞行场景的建立 种不同体系结构,典型的如双层结构和三层结构 三维地形建模的基本问题是如何根据己经给定 双层结构的Wb系统适用于少量用户在局域 的地形数据,有效地建构能逼真表示地形表面的曲 网内对数据进行操作,但是当客户数量超过数百时, 面模型,即数字高程模型(digital elevation model, 由于双层结构系统和大量的客户保持联系,处理速 DEM).由于DEM本身数据量巨大,再加上显示过 度往往难以满足要求.另外,由于双层结构系统对 程中需要计算纹理与光照,所以在利用VRL显示 数据库的依赖性很强,系统的维护和更新常常令人 三维地形之前,需要对DEM数据进行预处理,避免 头疼,当服务器的机器升级或更新时,软件系统的重 浏览器负荷过重,影响实时性能 新安装和调试非常麻烦. 这里采用了细节层次(level of detail,LOD)模型 三层结构弥补了双层结构的不足,在客户界面 技术,即对场景中的物体,使用具有不同细节的描述 和数据库之间加入了完善系统功能的中间层:中间 方法重新规划一组模型,供绘制时根据物体距离视 层支持数据检索、程序的分布式运行和数据库状态 点的远近选择使用回.LOD模型是一种广泛应用于 控制,中间层可以协调和优化各种处理进程.对于 虚拟现实和计算机图形仿真中的细节控制方法,该 大量客户使用的系统,三层结构的主要特点是能提 方法可有效提高系统的运行速度和交互性能. 高用户的使用效率,同时提高程序的可移植性:由于 在本文设计的仿真系统中,由于场景范围比较 三层结构系统比双层结构复杂,程序开发人员需要 大,只有那些距离视点近的或变化曲率大的区域才 掌握和考虑多种技术因素) 需要较高的细节层次,以保证一定的形状精度和真 由于双层结构的C/S端程序难以承载大量客 实感.因此,为了进一步减少数据量,考虑用不同的 户端同时对服务器端请求,而三层结构又难于实现 分辨率来表示地景的不同区域,即采用多分辨率 和部署,所以本文提出了介于双层结构和三层结构 LOD模型. 之间的新型结构(图4). 3.1.3碰撞检测的实现 新型结构以双层结构为基础,在客户端与服务 在飞行仿真系统中,为了让用户有更逼真的现 器端加入简单的中间服务程序.中间服务程序具有 实体验,必须在场景中加入碰撞检测,防止出现用户 平台无关性,避免了三层结构中中间件难于部署和 进入实体的中心,从而影响了整个系统的效果.这 移动的缺点.同时,中间服务程序将为数据传输、数 是一般系统场景中动作事件建模需要着重考虑的问 据安全作出保障,对基于本方案的二次开发提供友 题之一 好的开发接口,利于系统扩展北 京 科 技 大 学 学 报 第 34 卷 准,其基本目标是建立 Internet 上的交互式三维多 媒体. 也就是说,它是用来描述三维物体及其行为 的,可以构建虚拟世界. 虚拟世界的显示、交互及网 络互连都可以用 VRML 来描述. 3. 1. 1 飞行器仿真模型的建立 高超声速飞行器模型在飞行仿真系统中是最重 要的建模主题对象,为较好地实现对飞行器的建模 任务,将遵从以下设计原则. ( 1) 直接参照 X--38 的实体照片进行建模. ( 2) 尽可能采用虚拟现实技术中的 Inline 节点 及原型机制简化程序代码,减轻浏览器负担,提高场 景的浏览速度[8]. ( 3) 由于高超声速飞行器模型比较复杂,可以 将飞行器分成若干个小部分分别建立,然后再把它 们装配起来. 经分析,飞行器可分解为机身主体、轮 子、机头、机翅、尾翼和座舱一共六个部分. ( 4) 将各个部分装配起来形成飞行器的整体 后,再通过修改它的材质、透明度和亮度来改善它的 外观属性,使其看上去更逼真. 3. 1. 2 飞行场景的建立 三维地形建模的基本问题是如何根据己经给定 的地形数据,有效地建构能逼真表示地形表面的曲 面模型,即数字高程模型 ( digital elevation model, DEM) . 由于 DEM 本身数据量巨大,再加上显示过 程中需要计算纹理与光照,所以在利用 VRML 显示 三维地形之前,需要对 DEM 数据进行预处理,避免 浏览器负荷过重,影响实时性能. 这里采用了细节层次( level of detail,LOD) 模型 技术,即对场景中的物体,使用具有不同细节的描述 方法重新规划一组模型,供绘制时根据物体距离视 点的远近选择使用[9]. LOD 模型是一种广泛应用于 虚拟现实和计算机图形仿真中的细节控制方法,该 方法可有效提高系统的运行速度和交互性能. 在本文设计的仿真系统中,由于场景范围比较 大,只有那些距离视点近的或变化曲率大的区域才 需要较高的细节层次,以保证一定的形状精度和真 实感. 因此,为了进一步减少数据量,考虑用不同的 分辨率来表示地景的不同区域,即采用多分辨率 LOD 模型. 3. 1. 3 碰撞检测的实现 在飞行仿真系统中,为了让用户有更逼真的现 实体验,必须在场景中加入碰撞检测,防止出现用户 进入实体的中心,从而影响了整个系统的效果. 这 是一般系统场景中动作事件建模需要着重考虑的问 题之一. 在 VRML 技术中,碰撞检测主要是通过 Colli￾sion 节点进行处理,它负责检测空间中用户与造型 接近和碰撞的时间,及时提示浏览器. 检测用 户 是 否 与 一 个 造 型 发 生 碰 撞,对 于 VRML 浏览器来说将是非常费时的工作. 一个简单 的处理方法是,在 Collision 节点的 proxy 域中提供一 个代理造型,这能够加速浏览器对碰撞的检测. 例 如: 如果一个子节点描述飞行场景中的一棵树,那么 一个代理造型就可以用一个简单的长方体来模拟那 棵树的形体和尺寸,VRML 浏览器就可以基于此简 化形式进行碰撞检测[10]. 3. 2 仿真系统分布式网络结构设计与基于 Java 的 数据库管理 在设计的分布式虚拟仿真系统中,主要基于客 户机/服务器模式进行网络拓扑结构设计,同时基于 Java 的 JDBC 技术实现分布式环境下的数据库 管理. 客户机/服务器( C /S) 模式是一个典型的分布 式网络模式,在 Web 应用中,C /S 模式衍生出了多 种不同体系结构,典型的如双层结构和三层结构. 双层结构的 Web 系统适用于少量用户在局域 网内对数据进行操作,但是当客户数量超过数百时, 由于双层结构系统和大量的客户保持联系,处理速 度往往难以满足要求. 另外,由于双层结构系统对 数据库的依赖性很强,系统的维护和更新常常令人 头疼,当服务器的机器升级或更新时,软件系统的重 新安装和调试非常麻烦. 三层结构弥补了双层结构的不足,在客户界面 和数据库之间加入了完善系统功能的中间层; 中间 层支持数据检索、程序的分布式运行和数据库状态 控制,中间层可以协调和优化各种处理进程. 对于 大量客户使用的系统,三层结构的主要特点是能提 高用户的使用效率,同时提高程序的可移植性; 由于 三层结构系统比双层结构复杂,程序开发人员需要 掌握和考虑多种技术因素[11]. 由于双层结构的 C /S 端程序难以承载大量客 户端同时对服务器端请求,而三层结构又难于实现 和部署,所以本文提出了介于双层结构和三层结构 之间的新型结构( 图 4) . 新型结构以双层结构为基础,在客户端与服务 器端加入简单的中间服务程序. 中间服务程序具有 平台无关性,避免了三层结构中中间件难于部署和 移动的缺点. 同时,中间服务程序将为数据传输、数 据安全作出保障,对基于本方案的二次开发提供友 好的开发接口,利于系统扩展. ·104·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有