- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈Delaunay 三角网的并行构建和更新
随着测量技术的发展和新型测量设备的出现,空间数据的获取变得更加容易和快捷,与此同时,数据量也呈爆炸性的增长。如何利用这些海量的空间数据实现数字地面模型DTM 的高效构建是当前空间分析及应用领域亟需解决的问题之一。Delaunay 三角网以其唯一性、空圆性、能以不同分辨率表达地形、适合各种分布的数据等诸多优点而被广泛地应用于DTM 建模中。长久以来,国内外学者对Delaunay 三角网的构建提出了多种算法。这些算法按实现过程大致可以分为三类:逐点插入法、分治法和扫描线法。陈楚江等提出了实现三角网局部更新的方法。陈少勤等提出利用多源数据实现不规则三角网的动态更新。但这些算法都是基于串行程序实现,不支持点并行的插入和删除。随着多核计算机的普及,并行为解决大数据量的不规则三角网(TIN)构建和更新提供了新的思路。不少学者也对此做了研究,李坚等提出将分治算法与流数据处理方法相结合,利用多核处理器平台进行并行运算。张真[7]提出一种适用于并行计算的归并构网方法。这些算法满足于Delaunay 三角网的并行构建,但不适用于三角网的并行动态更新。因为在这些算法在开始之前,点集必须是确定的,而三角网更新时,被插入(删除)点是不确定的。文章提出一种单机多核环境下Delaunay 三角网并行构建算法,该算法将数据进行格网划分,每一个数据块作为一个工作单元。同时为解决内存共享带来的问题,可以为各工作单元分配独立的内存空间,工作单元之间相对独立,因此可以很好的实现三角网的并行构建和更新。
并行算法采用数据分块[8]的思想,首先将点数据按给定阈值(实验中发现阈值选择受实验环境影响)进行格网划分,每一个数据块形成一个独立的工作单元。每一个工作单元只负责所属区域内三角网的构建更新。利用计算机单机多核的优势,可以同时将多个工作单元分配给计算机进行处理。最后将相邻的区域进行合并,最终完成三角网的构建。每一个工作单元所负责的工作主要有三方面:初始三角网的构建、点的插入和删除,下面将分别阐述。
1 初始三角网构建
主线程对队列中的所用点进行扫描,如果点位于某一个工作单元负责的区域,则将点移动到该工作单元的私有队列中。工作单元根据负责区域的四个角点坐标形成两个初始三角形,然后从自己的私有队列中取点进行插入构网。主要步骤如下:(1)先找到包含点集中所有点的初始三角形,即将数据块的边界线向外扩大某个值d,然后连接任意一条对角线,形成两个超三角形,并对其进行标号;(2)取点集中的任意一点v,查找v 点所在的三角形,如果v 在三角形内则连接v 和三角形的三个顶点,如果点v 在三角形边上,则连接该边相对的一个或两个顶点,如果该点与三角形顶点重合则放弃该点;(3)调用Lop 优化算法,判断点的影响区域,对局部三角网进行更新;(4)重复(2)到(3)步,直到所有点插入三角网;(5)删除包含超三角形顶点的所有三角形,算法结束。
2 点的插入或删除
对生成的初始三角网进行更新,主要是通过插入和删除点来完成。对于需要插入的点集P,主线程首先对其进行扫描,将点分配到所属区域的私有队列P1、P2、P3…中。然后将工作单元分配到各个处理器上进行执行。单点插入过程主要步骤如下:(1)找到包含插入点v 的三角形t;(2)检索所有与t 关联的三角形,找到外接圆中包含点v 的三角形集D (v);(3)D (v)的外边界相连形成一个多边形P(v);(4)将P(v)内的三角形边删除;(5)连接P(v)的顶点和v 形成新的Delaunay 三角网D (v);(6)用D (v)取代D (v)形成新的Delaunay 三角网,完成一点插入。删除点时只需要找到对应的点,然后将与之关联的点重新构造三角网即可。
3 内存管理
在多线程程序中,多个线程同时对内存进行访问,在创建(删除)三角形或点时,每一个线程都需要调用内核进行内存的分配(释放)。这时会因为存在大量的锁竞争而花费很高比例的时间,这对于追求高效率的并行目的是不符的。为了避免这种情况的发生,可以为每一个线程分配独立的内存空间,线程在其中创建数据块,如果数据被删除,则把它还给自己的内存池。当内存池中空间不足时,线程才会调用内核申请新的内存块。
4 实验和分析
由于点集中数据点的分布状态对一个算法的速度和精度都有很大的影响,所以我们采用三种典型的数据分布对算法进行测试,分别为:线性分布、标准分布和均匀分布。
MCL
实验环境为6 核12 线程Intel Core i7 4930k CUP(3.4GHz)、16G 内存。分别将15M 不同分布状态的点数据在多个线程上运行。用加速比来衡量
您可能关注的文档
最近下载
- BIM建模——Revit建筑设计PPT教学课件(全707页).ppt VIP
- 钢筋翻样自动计算excel表格.xls VIP
- 高中数学竞赛(强基计划)历年真题练习 专题14 初等数论 (学生版+解析版).docx
- 高中数学竞赛(强基计划)历年真题练习 专题13 数学归纳法 (学生版+解析版).docx
- 钢筋笼(螺旋箍筋)工程量自动计算表.xlsx VIP
- G平法识图与钢筋量计算.pptx VIP
- 2024华医网继续教育心血管病预防与康复题库答案.docx VIP
- 雷克萨斯is250维修手册m be 0023.pdf VIP
- 2020年国家公务员考试面试真题(海关+海事局).doc VIP
- 桩钢筋笼自动计算简表(精算版).xls VIP
- 软件下载与安装、电脑疑难问题解决、office软件处理 + 关注
-
实名认证服务提供商
专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!
文档评论(0)