网站大量收购闲置独家精品文档,联系QQ:2885784924

三维地图引擎中地形跟踪算法实现.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三维地图引擎中地形跟踪算法实现

三维地图引擎中地形跟踪算法实现   摘要:作为三维地图引擎中的重要一部分,地形跟踪算法起到了模拟各种不同地形与运动设备的作用。好的地形跟踪算法不仅可以实现水面、沙地、森林等在各种地形上行进的感受,还能模拟出船舶、车辆等各种不同载体的运动感受。在一款三维导航产品中,做好地形跟踪算法,对于用户体验的改善是相当大的。   关键词:三维地图引擎;地形跟踪算法;三维坐标变换   中图分类号:TP391文献标识码:A文章编号:1007-9599 (2012) 03-0000-02   3D Map Engine Terrain Following Algorithm   Xu Xinming   (Global Satellite Navigation Technology Co.,Ltd.(Shanghai),Shanghai200049,China)   Abstract:As an important part in the three-dimensional map engine,terrain following algorithm has played a role of simulation of a variety of different terrain and sports equipment.Good terrain tracking algorithm can not only achieve the feel of the water,sand,forest road in a variety of terrain,can simulate the movement of the various vessels,vehicles and other carrier feelings.In a three-dimensional navigation products,good terrain following algorithm to improve the user experience is considerable.   Keywords:Three-dimensional map of the engine;Terrain following algorithm;Three-dimensional coordinate transformation   一、引言   当前在许多导航类产品中地图引擎的使用已经很多见了,特别是随着近些年硬件技术的发展,加上许多三维的图形绘图软硬件库的支持,使得三维地图引擎的使用也变得比较常见了。对于一款好的产品,三维地图引擎中的地形跟踪算法是一个不可或缺的环节。   本文的目的是想介绍一种三维地形跟踪算法,以及在程序中的具体实现过程。使得人们对地形跟踪算法有深入了解,从而能够更好的掌握三维地图引擎开发的原理和本质。   二、地形跟踪算法分析与设计   (一)三维地形跟踪简介   在现实世界中我们每当观察一个物体时都会有视线的概念存在。我们所处不同的位置,向着不同的方向,看出去的物体景色都是不一样的。比如同是一座山,你在山脚下和坐在飞机上看出去的内容是不同的。所以地点的选择决定了眼中看到的事物。   所谓的地点,在三维的数字化世界中我们可以虚拟成一个坐标,一系列连续坐标的组合便形成了一条跟踪的轨迹,而这个过程也称为是三维地形跟踪的过程。   三维地形跟踪的方式有很多,我们通常用跟踪算法模拟出需要的地形跟踪方式。比如飞机、船只、汽车等等。不同的物理模型实现的地形跟踪算法也是不同的。比如同样是车,卡车和自行车所模拟出的感觉是不一样的;同样是船,快艇和油轮的行驶感觉也有区别。一套完善的物理模型在三维地形跟踪算法中很重要。   (二)三维地形跟踪算法的设计思路   在本文中我们想模拟出的是最基本的地形跟踪方式:贴着地形进行运动。只要不出现视线穿越物体的情况并且尽量贴近地形即可。我们采用山地地形,地形有一定的起伏,但幅度并不是很大。   我们使用相机来表示玩家的视点,相机前面是预先渲染好的地形。玩家驾驶的汽车必须在地表前进,不能穿越地面,因此需要计算相机所在的地形高度,并将视点相应的往上移。如下图:            图1 通用地形跟踪示意图   通常的做法是取当前位置所在单元格内的四个点的高度平均值作为相机的高度,也就有如下的公式:   高度=k*(V0+V1+V2+V3)/4   其中V0到V3代表单元格四个顶点的高度,k代表缩放系数。   乍一看这种方式还是比较理想的。但是细一想就会出现问题:我们所在的单元格其实是由两个三角形组成的,而由于地形的关系这两个三角形可能不是在一个平面上,四个点的高度值也可能相差较大。使用四点

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档