Delaunay三角网数字地形模型构建.PDFVIP

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多
Delaunay三角网数字地形模型构建.PDF

Delaunay 三角网数字地形模型构建 小组成员:范文山、刘晓明、文雅玫 一、 问题背景 数字地形模型(Digital Terrain Model, DTM ),特别是不规则三角网 (TIN )的建立和优化是地理信息系统和虚拟现实中的一个基础研究问题。 TIN模型具有数据冗余小,存储效率高,且能较好地顾及地形特征和适合多 层次表达等突出优点。如何快速、高效地构建Delaunay三角网,一直是众多 学者研究和关注的焦点。迄今为止出现了不少成熟的算法,基本算法为分 割_合并算法、逐点插入法及三角网生长法等,其中三角网生长算法由于算 法效率较低,目前较少采用;逐点插入法虽然实现较简单,占用内存较小, 但它的时间复杂度差,效率较低;分割_合并算法最为高效,但相对复杂, 由于其深度递归,对内存要求较高。近年来也有一些新的算法,结合以上 分割_合并算法和逐点插入法算法,以兼顾了空间和时间性能。我们采用分 治法来求Delaunay三角剖分,在分割点集时,我们采用自适应划分方法双 向交替均匀剖分。 二、 算法 1) 点集的分割 我们采用类似 kd—tree 的自适应划分方法对点集进行分割,直至每个 点集只包含2 或3 个点。首先对所有点分别对按照x 方向、 y 方向进行索 引排序,将排序的结果分别放入两个数组,数组中存储的是这些点的索引 号。每一次分割先对x 方向的索引数组进行二分,生成 x 方向上的左右两 个子数组,然后根据在x 方向上的划分情况生成对应的y 方向上的左右两 个子数组,即依次判断y 方向的索引数组中的每一个点,若该点在x 方向 划分属于左子数组,则它在y 方向的划分也应该属于左子数组,否则它在y 方向的划分属于右子数组。循环这个过程,直到每个子数组中只有2 或者3 个点时结束,整个分割的流程如图2.1 所示。 图2.1 点集分割流程示意图 算法1:点集分割 输入:n 个二维点、 分割方向。 输出:一个二叉树,每个叶子结点只包含2 或者3 个点。 1. 如果点数不大于3,算法结束。 2 . 对于所有点,根据它们的 x 值进行索引排序,将结果放入索引数 组Cx ; 3 . 对于所有点,根据它们的y 值进行索引排序,将结果放入索引数 组Cy ; 4 . If (水平分割) 5 . { 6 . 按x 方向进行二分,得到左右两个子数组; 7 . For (Cy 中的每一个点) 8. If (该点被分割到x 的左子数组中) 9 . 将该点分到y 的下子数组; 10. Else 11. 将该点分配到y 的上子数组; 12. 递归调用本算法,对左右两个子数组进行垂直分割。 13. } 14. else 15. { 16. 按y 方向进行二分,得到上下两个子数组; 17. For (Cx 中的每一个点) 18. If (该点被分割到y 的下子数组) 19. 将该点分到x 的上子数组; 20 . Else 21 . 将该点分配到x 的下子数组; 22 . 递归调用本算法,对上下两个子数组进行水平分割。 23 . } 2) 构造初始凸包 分割后,每个点集里只包含2 或者 3 个点,连接这些点,如果点集中 有两个点,则构成一条线段;如果点集包含三个点,则可能构成一个三角 形(三点不共线)或者两条线段(三点共线)。因为线段也属于凸包,因此 我们将这三种情况统一考虑,即对每个点集中

文档评论(0)

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

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

1亿VIP精品文档

相关文档