- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4.2地形匹配功能
北京航空航天大学学位论文
丛然用DC描述性语言构造的实体模型实体之间的关系表达比较清晰,但是却不直
观,阅读这些数据之后,只能了解其中实体之间的组成关系,而对实体的外观、位置等
具体的几何信息却无法想象,因为一个大的实体往往由上百个点、面组成。因此,在造
型完成后,它只作为视景数据的输出结果文件,但如果要对视景数据进行某些特殊处理
时,如地形匹配功能、爆炸功能等,就必须对DC文件进行修改。
5.4.2地形匹配功能
在虚拟环境中,有各种各样的虚拟物体如虚拟地形、地貌、建筑物和各类活动目标
如飞机、坦克、导弹、车辆等,运动物体在虚拟环境中的运动难免会和其它虚拟物体或
运动物体发生碰撞,如运动的汽车可能会撞到虚拟的建筑物或其它运动物体、飞机可能
会撞到地面。为了逼真、自然地反映这些物理现象,必须在虚拟现实中进行运动物体与
其它虚拟物体的碰撞检测。这也是任何虚拟现实的仿真系统所必须提供的一项功能。
在虚拟环境中,当两个物体试图相互穿过时,我们称之为碰撞,判断物体是否发生
相互碰撞的过程,称为碰撞检测。碰撞检测的核心问题是解决静止环境中的物体间的空
间相交问题,即给定任意两个物体,判断它们是否相交,其重点在于复杂形状物体间的
准确相交计算。
碰撞检测算法有很多,算法效率和精度也有很大的差异,各有其适用范围。对碰撞
精度要求不高时,可以采用最小包围盒或特征点判断法。所谓最小包围盒判断法就是用
简单的长方块 (能将整个要判断形体包容进去的最小长方块)取代复杂的形体去进行相
交判断。而特征点判断法则是在运动物体上选取有限个的特征点,用这些点与其它景物
的相交关系来代替整个运动体与这些景物的相交关系。碰撞精度要求较高情况下,可采
用将物体分割为多个较为规则的子块的八叉树方法,递归判断这些子块与其它景物的相
交情况1281当然还有很多其它的碰撞检测算法,此处就不一一介绍了。
本课题中只对运动物体离地面的高度感兴趣,使用该技术来实现逼真的虚拟车辆
上、下坡模拟,即所谓的地形匹配检测HAT(HeightAboveTerrain),可以将其视为碰撞
检测的一种特例。本系统中使用特征点检测法,在要检测的运动物体上选几个特征点,
然后计算这些特征点与地形的垂直距离。
北京航空航天大学学位论文
对于要检测的地形数据文件,要对其DC一文件进行修改,对其中的标记为BLOCK
的物体改为SBLOCK,表示要使用圆形的、半径可设置的包围盒。其次对于要检测的物
体 (汽车、飞机等)的DC!文件也要进行相关设置,如Car是已经制作好要进行检验的
物体,在其DC文件中,要加入如下表述:
object
bitcaseOb100011011000000100000000
objcar
vmat
x1ylx2y2
end
其中,Bitcase为关键字,定义如下:
0000 0 0 00 00000000
23 20 19 18 1716 158 70
妙pe iro exp cmd case
以下介绍几种与HAT有关的常用定义字段:
ytpe字段定义物体类型,第23位为标志位,设为。表示要对此物体进行地形匹配。
case字段定义被检测物体的整数名,在这个例子中如果由多个物体需
要做地形匹配,在其DC:文件中的bitcase定义中,此字段中就逐个加一。如还
有另一辆车要进行地形匹配,则其case字段一个系统中最多可
以有巧个进行地形匹配的物体。
objcar中声明被检测物体的名称,vmat表明此物体是运动体,x1ylx2y2这个数字
序列依次是要检验的两个特征点的X,Y坐标。
数据文件设定好后,还要在EagleIG图像发生器中进行设置。在图像发生器的系统
参数设置中,有专门的地形匹配设置功能,包括要进行地形匹配的物体整数名和物体匹
74
北京航空航天大学学位论文
配结果返回值所在的内存地址指针。
Fagle’只图像发生
文档评论(0)