一种基于多分辨率体元的动态地形建模方法技术

技术编号:3849695 阅读:242 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于多分辨率体元的动态地形建模方法,属于计算机图形学、虚拟现实技术领域。本发明专利技术在基于体元的动态地形建模方法的基础上,将活动地形块根据发生变化的剧烈程度细分为分辨率不一致的规则网格,并将体元变形量分配到相邻的且位于碰撞区域边界的体元上,最后采用腐蚀计算进行图像的平滑处理。与已有技术相比较,本发明专利技术方法能够在进行大规模动态地形建模时既突出地形边缘变化细节,又有效的简化了模型,满足了模型正确性和真实感的要求,达到了减轻系统负担的目的,具有地形模型动态、实时、高效生成,仿真系统可实时交互的效果。

【技术实现步骤摘要】

本专利技术涉及一种大规模动态地形实时建模与仿真的方法,特别是一种基于 多分辨率体元的动态地形建模方法,属于计算机图形学、虚拟现实

技术介绍
在仿真系统应用中, 一个复杂的动态地形实时可视化系统首要解决的问题 就是地形的建模问题。模型的正确性、复杂程度等因素直接决定着动态地形实 时可视化系统的仿真效果和运行效率。根据地形数据的来源,地形建模方法可分为两种随机生成的方法和基于 真实地形物理属性的方法。随机地形的生成方法大体上可分为基于曲面拟合、基于分形几何计算两大 类。基于曲面拟合方法是利用参数曲面,通过插值、曲面拟合来生成所需要的 三维地形。对于复杂场景来说该方法计算量较大,而且要采用较复杂的曲面拼 接技术,因此只适合中小规模的地形处理。分形几何计算方法使用过程来对物 体建模,用递归算法使复杂的景物可用简单的规则来生成,可以产生任意水平 的细节。但分形几何计算方法没有与实际所需的真实地形、地貌联系,因此应 用受到一定的限制。基于真实地形物理属性的方法多是基于粒子系统思想且与物理属性结合进 行建模的方法。由于在真实世界中动态地形的形成的确是粒子的堆积过程,因 此用粒子系统来实现动态地形的效果很真实。但是在大规模地形场景中,随着 场景规模的增大,场景内部的粒子数量会成平方倍增加,以至于系统负载增加,不能达到实时交互的目的。2007年,蔡兴泉在其博士论文《动态地形实时可视化关键技术研究》中提出一种基于体元的动态地形建模方法。该方法通过碰撞 检测确定出活动地形块,然后将活动地形块细分成一定分辨率的规则网格,构 建成虛拟的微小体元,再通过碰撞检测来计算体元变形量,并将体元变形量分 配到相邻的且位于碰撞区域边界的体元上,采用腐蚀计算将位于碰撞区域边界 的体元所保存的体元变形量进一步分配给相邻的体元以实现地形平滑隆起的效果。该论文中使用的碰撞检测技术,采用了 2003年0noue K.和Nishita T.在《Virtual sandbox》(. In: Proceedings of Pacific Conference on Computer Graphics and Applications (PG2003) . 2003. 252-259.)中提 出的一种碰撞检测算法,该方法可以求得物体与地面发生碰撞的地点和物体进 入地面的深度,步骤如下1、 进行一个发生在物体包围盒及地面包围盒之间的交叉试验;2、 如果这两个包围盒不相交,则认为物体没有与地面接触;3、 如果这两个包围盒相交,那么物体的高程图将被更新;4、 将物体包围盒投影到地面上,以确定碰撞的区域;5、 将碰撞区域中每个体元的高程与高程图中物体底部的高程进行比较,从 而得到物体进入地面的深度。该方法求得的物体与地面发生碰撞的地点和物体进入地面的深度是近似 值,而非精确值。"高程"是测绘和动态地形建模中的通用术语,指地表某个点 沿铅垂线方向到某假定水准基面的距离。在大规模场景中,地形被当作一个高 程场,用高程图(Height Span Map)来表示,地形上的每一个点都对应着高程图 上的一个高程值。蔡兴泉提出基于体元的动态地形建模方法,由于仅是对活动地形块进行细 分和计算,因此与基于粒子系统思想的物理建模方法相比较计算量小,绘制效率高。但是,由于该方法中活动地形块内的所有体元分辨率均相等,因此当动 态变化的地形面积较大时,变化效果并不剧烈的中心部分地形模型过于复杂, 增加了仿真系统的计算量,影响了效率,而变化效果相对剧烈的边缘部分地形 模型却过于简单,细节并没有被很好的突出表现出来。
技术实现思路
本专利技术的目的是为了克服上述已有技术的缺陷,解决大规模动态地形建模 效率较低、模型不逼真等问题,提出一种基于多分辨率体元的动态地形建模方 法。本专利技术在蔡兴泉提出的基于体元的动态地形建模方法的基础上,将活动地 形块根据发生变化的剧烈程度细分为分辨率不一致的规则网格,并将体元变形 量分配到相邻的且位于碰撞区域边界的体元上,最后采 腐蚀计算进行图像的 平滑处理。本专利技术方法是通过下述技术方案实现的首先,根据碰撞检测的描述,给出本专利中使用到的相关概念-1. 完全碰撞将物体模型的包围盒垂直投影到由全部体元组成的地形模型 上,对每种分辨率的每个体元进行检查,若物体模型的投影完全覆盖体元上底 面,则认为该体元发生完全碰撞;2. 部分碰撞若投影部分覆盖体元上底面,则认为该体元发生部分碰撞;3. 没有发生碰撞若投影没有覆盖体元上底面,则认为该体元没有发生碰撞;4. 边缘体元本身并未发生碰撞的体元,若其周围存在发生部分碰撞的体 元,则认为这个本身并未发生碰撞的体元处于碰撞区域的边缘,因此称这类本 身并未发生碰撞的体元为边缘体元。5. 高程值变化量将物体模型的包围盒水平投影到由全部体元组成的地形 模型上,如图1所示。其中用灰色标记的体元与物体发生碰撞,碰撞体元的上 底面中心点的高程值与物体模型最低点的高程值的差值就是该碰撞体元的高程 变化量^ (图中用斜线阴影标记)。本专利技术的整体框架设计流程如 图2所示,其具体步骤如下步骤一、对原始地形数据进行初始化首先,对收集到的原始地形数据进行初始化。具体步骤如下 第(1)步设虚拟三维空间中高程值为O的水平面为基准面。 第(2)步读入整个原始地形的高程值数据,然后将原始地形垂直投影到 基准面上,将基准面上被地形的投影覆盖的部分按照一定分辨率(这里指定为^, ^的取值由具体的需求决定,^越大则地形模型越粗糙,r'越小则地形模型越精 细)划分成规则网格,即每个网格都是边长等于r'的正方形。第(3)步为每一个网格构造体元,即将基准面上的每个规则网格反投影 到原始地形上,用」表示规则网格,以^的中心点0,对应的原始地形上的点A为 中心构造网格S, B与j平行且5的边长等于^(的边长,并且5垂直投影到基准 面后恰好覆盖^。以基准面上的每个网格^与每个对应的中心点在原始地形上的 网格5为两个底面,构造若干个垂直于基准面的长方体71,这些底面为正方形的 长方体T称为体元。体元底面的边长等于基准面的指定分辨率r,,体元的高等于 上底面S的中心点O,对应的原始地形上那一点的高程值,如图3所示。按上述方法即可完成原始地形数据的初始化,得到一个由若干个分辨率为 T'的体元组成的、可近似表示原始地形的初始地形模型。 步骤二、细分体元在步骤一对原始地形数据进行初始化的基础上,进行碰撞检测,并根据碰 撞检测后体元的不同状态,细分体元。具体操作步骤为第(1)步采用0noue K.和Nishita T.提出的碰撞检测算法,对初始地 形模型进行关于运动物体的碰撞检测,并根据碰撞程度,将所有分辨率为^的体元分为三类完全碰撞、部分碰撞、未碰撞,并对前两类体元进行相应的类别标记。第(2)步扫描所有分辨率为r,的体元,将每个被标记为"完全碰撞"的 体元所表示的地形按照步骤一中所述方法进一步细分为分辨率为r2的若干个体 元,且满足^<^,然后用这些分辨率为^的体元代替原来的分辨率为r,的体元;将每个被标记为"部分碰撞"的体元所表示的地形按照步骤一中所述方法进一步细分为分辨率为^的若干个体元,且满足73<72<巧,然后用这些分辨率为^的 体元代替原来的分辨率为r本文档来自技高网
...

【技术保护点】
一种基于多分辨率体元的动态地形建模方法,其特征在于:在基于体元的动态地形建模方法的基础上,将活动地形块根据发生变化的剧烈程度细分为分辨率不一致的规则网格,并将体元变形量分配到相邻的且位于碰撞区域边界的体元上,最后采用腐蚀计算进行图像的平滑处理;具体实现步骤如下: 步骤一、对原始地形数据进行初始化 首先,对收集到的原始地形数据进行初始化; 步骤二、细分体元 在步骤一对原始地形数据进行初始化的基础上,进行碰撞检测,并根据碰撞检测后体元的不同状态,细分体元;  步骤三、计算各体元的高程值变化量 在步骤二细分体元的基础上,重新进行碰撞检测,并计算各体元的高程值变化量; 步骤四、分配高程值变化量 在步骤三的基础上,分配高程值变化量给相应体元; 步骤五、进行腐蚀计算   在步骤四的基础上,进行腐蚀计算。

【技术特征摘要】

【专利技术属性】
技术研发人员:李凤霞张艳李立杰黄天羽许仁杰王欣欣
申请(专利权)人:北京理工大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1