我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>行业知识

分布式虚拟现实仿真中视景数据库构造

文章来源:第三维度 作者: 发布时间:2011年03月09日 点击数: 字号:

    来源:第三维度
    作者:何红梅   赵沁平
    单位:北京航空航天大学计算机科学与工程系

    摘 要: 详细介绍了视景数据库的构造过程, 讨论了构造过程中等距网格和三角形不规则网格两种地形模型的优缺点, 文化特征物与地形的三种整合方法和多种细节层次的表示等关键技术, 然后阐述了视景调度的算法及其与构造的关系, 最后给出在DVENET 中实现的一个例子并就视景数据库现在存在的问题及将来的解决方案进行了讨论。

    1983 年, 美国国防高级研究计划局和美国陆军共同制定的SIMNET ( Simulator Network) 研究计划, 使仿真训练系统从单独的仿真器发展到集团的训练系统。 在SIMNET 的基础上又进一步开展了对DIS( Distributed Interact ive Simulat ion) 技术的研究, 并使之成为包括陆、海、空各种武器平台的综合仿真环境、视景( 在DIS 中又称合成环境) 数据库是仿真环境的主要组成部分, 它提供了一个较真实的3D环境, 广泛应用于军事训练和演习中, 尤其是地面车辆的仿真中。 视景数据库的开发要求综合多种信息源, 包括数字化地图数据、地形数据、航拍照片及地面照片等。

    目前视景数据库开发还需要较多的人工干预。 由于网络仿真的要求, 不同的仿真器对数据库的精度要求不同, 因此需要在同一数据库中表示不同精度的数据。 另外由于计算机自动生成兵力的加入, 需要从数据库获取更多的拓扑信息进行道路规划和障碍物规避等。

    视景数据库的构造有许多尚待研究和解决的问题, 如数字化地图数据的表示、维护, 多种细节层次的表示, 多种数据源的融合技术等等。 本文将介绍视景数据库构造过程中的一些主要技术。

    1  视景数据库的构造过程

    视景数据库的构造过程如图1 所示[ 1] , 其中数据源包括地形数据、航拍照片及数字化地图数据。 通过从拍摄照片中提取文化特征物来增强或修改数据源, 从数字化地形数据可以生成3D 地形表面, 然后与交通网络及其他特征物结合而形成一致的视景数据库。

分布式虚拟现实仿真中视景数据库构造
图1 视景数据库的构造过程

    视景数据库构造的主要步骤如下:

    1) 准备适合当前仿真应用的数据源

    数据源的选择与特定的仿真应用有关, 一般来说, 数字化地图数据及某些地形数据来源于不同比例尺的地图。 据研究, 在DIS 中不同的仿真应用与其数字化产品的关系如表1。

表1 比例尺与仿真应用关系一览表
表1 比例尺与仿真应用关系一览表

    目前的数字化信息主要有以下4 类:

    地形数据: 地形数据格式主要有美国国防部地图局( DMA) 的DTED( Digital Terrain ElevationData) 及美国地质勘察署( USGS) 的DEM( DigitalElevationModel) , 这两种地形数据的表示均采用等距采样网格, 即只存储高度数据。 用此数据可以直接生成3D 地形表面;

    数字化地图数据:从地图上抽取各种要素, 如交通、水文、居民地等, 将其数字化, 生成数字化地图数据。 数据一般采用向量格式存储, 用于视景中文化特征的生成。 主要的格式有DMADFAD ( Digital Feature Analysis Data) , VPF ( VectorProduct Format ) 和USGS DLG( Digital Line Graph) 。其中VPF 较之其他两种而言, 对数字化地图数据的表示更全面、合理;

    纹理数据: 来自地面、高空拍摄的照片, 可用于某些地表特征的纹理如森林、盐碱地、沙滩等;

    三维实体模型: 用于仿真的坦克、飞机等实体及环境中的建筑物等模型。

    2) 对所搜集的各类数据进行一致性处理, 即去掉冗余的或相互冲突的数据。

    3) 特征物3D 模型的生成: 如道路的加宽, 湖泊水平放置等等。

    4) 地形表面的生成: 地形原始数据是用等距网格表示的, 其缺陷在于存在大量的数据冗余, 从而加重了图形系统的负载( 即需要绘制较多的多边形) , 影响实时交互。 目前采用的模型在地势变化的地方用较多的多边形描述, 而在地势平坦的地方用较少的多边形描述。 下面将详细阐述地形模型的表示。

    5) 在地形表面加入特征物, 即特征物与地形的整合。 不同的特征物与地形整合时会有不同的约束条件。 下面将详细阐述。

    6) 整合后, 加入其他的3D 模型, 如建筑物、灯塔、树木等, 生成视景数据库。 此时, 可能还需要一些人工干预以去掉不合理的数据。

    2  视景生成过程中的关键技术

    2.1  地形的建模

    地形模型是对地形表面的表示, 要求可以实现多种细节层次( Level of detail) 的表示, 并且其表示结构要求可以方便查询( 某点的高度值及其法向量) 。 现在常用的表示结构有以下两种:

    1) 等距网格

    通常地形数据的原始模型都是采用等距网格来存储的( 如图2a) 。 它的主要特点是: 数据表示较紧凑( 只有高度值表示) , 而且查询方便。 这一表示的缺陷在于LOD 的实现一般采用子采样( 即加大采样间隔) , 这样无法保证正确地描述地形、地貌。 如, 原始采样间隔为30m, 一条50m 宽的沟在子采样( 如60m) 后可能便不复存在。 同时它对地形的表示也不是很合理。 平坦地形区域的多边形与复杂地形区域的多边形相同, 带来不必要的图形绘制开销。

a 均匀采样间隔表示       b 三角形不规则风格表示
a 均匀采样间隔表示                    b 三角形不规则风格表示
    图2 常用的地形建模表示结构

    2) 三角形不规则网格( TIN TriangulatedIrregular Network)采用三角形不规则网格来表示地形( 如图2b) , 在地形平坦的区域, 多边形较少, 而在地形复杂的区域, 多边形较多。 这样用较少的多边形便可保持基本的地形地貌, 从而大大提高了图形绘制的性能。

    TIN 表示的不足是由于其不规则性, 需要存储较多的拓扑关系。 虽然其多边形大大减少了, 但存储容量并未减少。 同时TIN 的表示还要占用较多的预处理时间, 生成不同的LOD 层次。 当然这一切都是为了保证系统的实时交互性能。

    2.2  特征物与地形的匹配

    特征物与地形的匹配首先要建立特征物的模型, 然后将其与地形进行整合。

    1) 特征物模型的建立。 每种特征物模型的建立以及与地形的整合都有各自的约束条件。 比如交通网络一般表示成一定宽度的段的结合, 但在道路的交叉路口比较复杂, 尤其是不同宽度的道路的交叉和立交桥。 还有诸如河流的堤岸的生成,河流与道路交叉处桥梁的生成等等。

    2) 特征物与地形匹配。 CMU 在这方面做了大量的研究工作[ 1] , 取得了一些成果。 由于匹配涉及到复杂的数据结构与算法, 而且不同特征物的要求不同, 还需要必要的人工干预, 因此目前仍只实现了某些文化特征物的匹配。

    特征物与地形匹配有下面的一些策略:首先生成地形表面, 然后将地面文化特征物贴在地表上, 这一方法是最简单的。 它的缺陷在于生成的视景在同一个z 值上可能有多个面, 从而出现显示时% 争夺z 值&( zfight ing) 的现象。 而且生成的视景有时与实际情况不符, 如在陡峭的山上有路, 如果直接将% 路&贴在地形上, 那么路的坡度与实际的坡度将不符。 这样计算机自动生成兵力在进行爬坡时可能就无法上去。 MutiGen 早期版本在匹配方面即采用这一方法;

    首先生成地形的TIN 网格, 然后逐渐加入特征物, 与地形整合在一起( 即在同一z 值上只有一个面) 。 这种方法的优点是可以不断地加入特征物, 缺点是随着特征物的增加, TIN 会越来越复杂。 CMU 采用了这种策略;

    先生成特征物的3D 模型, 然后再选取地形上的其他点来生成整合的TIN( integrated TIN) 。这一方法在同等条件下生成的多边形较方法II少。 而最终效果与方法II 一样, 只是动态加入特征物要完全重构那些受影响的地形块。 3 种方法比较, 这一方法生成的视景最符合实际情况。 在Mult iGen 的改进版本中, 已开始采用这一方法。

    2.3  多种细节层次的视景表示

    在视景生成中, 为了降低图形系统的负载, 提高仿真的实时性, 提出了多种细节层次LOD 的表示, 亦称为多精度( Multiresolution) 的表示。 即在距离视点较近时, 对物体用较多的多边形来描述; 较远时, 用较少的多边形来描述。 这样可以大大平衡图形负载, 使仿真的实时交互成为可能。

    LOD 的生成有两种, 一是预先生成, 有四叉树方法[ 2] 和层次三角形方法[ 3] ; 另一种是随视点变换实时生成。 一般预先生成的层次按误差值进行划分, 误差越小生成的多边形越多。 在实时绘制时, 根据视点位置, 绘制某些层次的多边形。 实时生成地形LOD 与预先生成LOD 相比较, 其LOD层次的过度较平滑, 但计算量较大, 会影响实时交互。 地形LOD 生成解决的主要问题还有要避免不同LOD 地形块在衔接时边界上% 沟&的出现, 它通常是由于两个LOD 层次在边界上选择的点不一致引起的。

    2.4  视景的调度

    对于大规模的视景数据库, 如几千平方公里,数据量有几十到几百兆, 一次调入内存是不现实的; 而且图形系统为了保证实时性, 每帧绘制的多边形数也不能超过某个上限值。 因此, 对于大规模的视景, 应当将其分块进行调度。 这一要求需要视景构建时的支持。 首先应当根据图形系统的限制估计出每个装载模块的最大多边形数目, 为视景构造提供一个上限值, 在生成特征物及选取地形点时, 一旦生成的多边形数超过这一值, 则不再选点。

    视景数据库生成后提供给不同的仿真应用,由于不同仿真实体视域不同, 而且对数据的精度要求亦不同, 因此不同的仿真实体的调度是不同的。

图3 地形换页的调度
图3 地形换页的调度

    图3 是坦克行进中的调度的例子。 就坦克而言, 它可以看到周围10 km × 10 km 范围内的视景,假设当前地形按照2 km ∋ 2 km 进行分块, 内存中只存放周围10 km ∋ 10 km 范围内的地形数据。 当坦克向北行进时, 一旦走过2 km 左右的地形, 则将南边的地形数据换出, 将北边的地形数据换入,换页应当使坦克始终位于地形的中央。

    3  视景数据库构造的例子

    本文实现的DVENET( Distributed Virtual Environment Network)[4] 将分布在全国不同地域的已有武器仿真器联合在一起, 应用虚拟现实技术研制了一些虚拟的武器仿真平台, 可供不同军兵种进行异地协同与对抗演练。 基于DVENET 开发了一个分布式虚拟战场环境。

    这一视景数据库的数据源来自国家基础地理信息中心1250000 的高程数据(USGS DEM) 及数字化地图数据( USGS DLG) 。 首先采用Delauay 算法生成了TIN 表示的地形表面, 然后将文化特征映射在地形表面上。 在DVENET 中主要存在地面、空中两种仿真实体。 为了方便实时调度, 整个地形被划分成2km ∋ 2 km 的块进行建模, 每一块中分为3 个细节层次, 而且每一块中的多边形数目限制在300 以内。 经测试, 这一方案在地面仿真中取得了较好的效果。

    4  结 论

    在视景数据库的研究过程中, 作者认为制约目前视景构造的主要因素是: 缺乏满足相应地面仿真要求精度的地形数据与文化特征数据, 我国在基础地理信息数字化方面刚刚起步, 精度较高的数据很少。 另外视景生成过程的复杂度较高, 还需要较多的人工干预。

    视景的调度、管理与视景的建模有很大的关系。 如在仿真过程中, 各种特征物具有多种状态,如建筑物的被毁, 被破坏等, 为了真实地反映环境现状, 在建模时, 对某些特征物应建立多种状态模型。 同时在DVENET 中, 发现同一种装载模块划分虽然满足了地面仿真的调度需求但无法同时满足空中仿真, 因此在同一数据库中应包括适合各种仿真平台的数据。

    另外为了适应分布仿真中不同仿真应用的互操作, 在同一数据库中, 应包括更多的信息。 不只是用于视景显示的三维数据, 还要包括用于计算机自动生成兵力、平面显示系统的拓扑信息, 即包含同一数据的不同表现形式。

    参 考 文 献

    [1] Polis M F, Gifford S J, Mckeown D M. Automating the construct ionof large scale virtual worlds[ J] . Comput er, 1995(7) : 57~ 65.

    [2] Falby J S, Zyda M J, Pratt D R, et al . NPSNET: hierarchi cal datastructures for realtime threeDimensional visual simulation [ J ] .Computer & Graphics, 1993, 17( 1) : 65~ 59.

    [3] Floriani D, Puppo L E. Hierarchical triangulation for multiresolut ionSurface description[ J ] . ACM Transactions on Graphics, 1995, 14( 4) : 363~ 411.

    [4] 赵沁平, 何 磊, 夏春和, 等. 分布式虚拟环境网络( DVENET)设计与实现[A] . 见: 吴泉源, 钱跃良主编. 智能计算机接口与应用进展第三届中国计算机智能接口与智能应用学术会议论文集[ C] . 北京: 电子工业出版社, 1997. 17~ 21.

  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料