收藏 分享(赏)

地图综合线目标的综合算法研究-毕业论文.doc

上传人:wo7103235 文档编号:6153429 上传时间:2019-03-30 格式:DOC 页数:42 大小:1.25MB
下载 相关 举报
地图综合线目标的综合算法研究-毕业论文.doc_第1页
第1页 / 共42页
地图综合线目标的综合算法研究-毕业论文.doc_第2页
第2页 / 共42页
地图综合线目标的综合算法研究-毕业论文.doc_第3页
第3页 / 共42页
地图综合线目标的综合算法研究-毕业论文.doc_第4页
第4页 / 共42页
地图综合线目标的综合算法研究-毕业论文.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、中南大学本科生毕业论文I地图综合线目标的综合算法研究目录目录 I图表目录 .III摘要 .1ABSTRACT2第一章 绪论 .31.1 引言 .31.2 研究背景 .41.3 论文的组织 .5第二章 线目标综合的基本理论和评价方法 .62.1 线目标综合的基本原理 .62.2 线目标综合的基本方法 .72.2.1 角度法 .82.2.2 面积法 .92.2.3 垂比弦算法 .92.2.4 弧比弦算法 .102.3 线目标综合基本方法的不足 .112.4 算法评价的基本原理及指标介绍 .122.5 本章小结 .13第三章 弧比弦算法的设计及改进 .143.1 弧比弦算法的基本原理 .143.2

2、弧比弦算法的改进 .183.2.1 增强支撑域的自适应性改进 18中南大学本科生毕业论文II3.2.2 增强算法的迭代性更优化其性能 .223.3 本章小结 .26第四章 在 VISUAL STUDIO 2008 平台上用 ARC ENGINE 9.3 二次开发实现算法 274.1 开发平台介绍 .274.1.1、 Arc Engine 9.3 介绍 274.1.2、 Visual Studio 2008 C#.NET 介绍 274.2 算法的实现 .284.2.1、 MainForm 窗体 .284.2.2、 CArcDivideDistance 类 .314.2.3、 CNewArcDDi

3、stance 类 .324.2.4、 CNewDDis1 类 334.2.5、 CEvalution 类 344.3 本章小结 .35第五章 总结及展望 .36主要参考文献 .37致谢 .38中南大学本科生毕业论文III图表目录图 1 曲线简化算法示例 6图 2 线目标综合算法的分类 8图 3 角度法 8图 4 面积法 9图 5 垂比弦算法 10图 6 弧比弦算法 10图 7 曲线简化法生成自相交 11图 8 连续剔除节点造成曲线大的失真 11图 9 曲线简化算法的性能评价 矢量和面的位移 12图 10 NAKOSMITROPOULOS 算法 14图 11 原始曲线图 15图 12 用弧比弦算

4、法简化线目标 16图 13 用弧比弦算法简化线目标 17图 14 增强支撑域的自适应性改进 18图 15 增强支撑域的自适应性改进结果图 1 .19图 16 增强支撑域的自适应性改进结果图 2 .20图 17 两种算法的每个点的弧比弦值 22图 18 增强算法的迭代性改进算法 2 结果图 1 .23图 19 增强算法的迭代性改进算法 2 结果图 2 .24图 20 程序主界面 28表 1 弧比弦算法保留点不同的评价指标 16表 2 弧比弦算法保留点不同的评价指标 17表 3 增强支撑域的自适应性改进评价结果表 1 .21表 4 增强支撑域的自适应性改进评价结果表 2 .21表 5 增强算法的迭

5、代性改进算法 2 评价结果表 1 .25中南大学本科生毕业论文IV表 6 增强算法的迭代性改进算法 2 评价结果表 2 .25中南大学本科生毕业论文1摘要地图综合是地理信息科学界、地图制图科学界的重要研究课题之一。其中线目标的综合算法研究是一个关键的问题。现有线目标综合算法大多是考虑线目标的节点曲率,通过确定节点的重要性程度来进行节点剔除,以实现线目标的简化。然而,现有算法在算法效率、简化错误率、表达效果等方面都存在不足。为此,本文试图解决这些问题,提出一种迭代的自适应弧比弦算法。首先,本文简要地回顾了国内外地图综合的发展现状,阐述了线目标综合的基本理论和方法;然后,结合弧比弦算法的优缺点,提

6、出了一种自适应弧比弦算法,降低了曲线简化的错误率,优化了算法结果。在此基础上,使用迭代法对改进算法进行了进一步优化,在不追求算法效率的前提下得到了更优的效果。进而,通过在 Visual Studio 2008 平台中用 C#.NET + Arc Engine 9.3 二次开发实现原弧比弦算法及其改进算法,进一步验证了本文改进算法的可行性、有效性和健壮性。最后,总结了本文的研究成果,并展望了该方向进一步研究的若干问题。关键字: 地图综合;线目标简化;弧比弦;算法改进中南大学本科生毕业论文2ABSTRACTIn the map generalization, generalization of t

7、he line feature was very important. For the generalization of the line feature, point-reduction is one of the most important issues. In the process of the curve simplification, a most basic issue is how to measure the importance of all vertices in the curve. This article briefly retrospect the devel

8、opment status of the map generalization both abroad and at home, elaborates the basic principle and method on the local length ratio algorithm, compares its advantages and disadvantages, makes a suggestion on the improvement of the generalization of the line feature algorithm in theory, proposes an

9、improved algorithm through a series of experiments, and gives its assessment method. And than on the Visual Studio 2008 platform using C#.NET + Arc Engine 9.3 the second-development is carried on to achieve the original local length ratio algorithm and its improved algorithm; evaluations of the two

10、algorithms are also given. Finally, according to the results of the evaluation test of curve simplification, the relative local length ratio algorithm is concluded. The improved algorithm has a better effect on the curve simplification, the selected nodes can retain the shape of the curve better and

11、 noise can be effectively avoided.Key words:map generalization; measure of the importance of vertices in the curve; local length ratio algorithm; improvement of the algorithm中南大学本科生毕业论文3第一章 绪论1.1 引言随着地理信息系统应用领域和需求层次的不断扩展和多样化,地图综合问题成了当前地理信息科学研究的热点问题 1。地图综合中的一个重要内容是单个线目标的综合,其核心问题是曲线的简化。这一问题作为地图综合的重要组成

12、部分被许多学者所研究,并广泛应用于地理信息科学、计算机视觉、计算机图形学、模式识别等诸多领域 2。例如,在地理信息科学领域,曲线简化应用于地图综合、数据压缩等方面;在模式识别与计算机图形学领域,曲线简化则用于目标提取,节点的压缩编码等方面。在曲线简化的过程中,一个最基本的问题是如何确定曲线上节点的重要性程度。Attneave 发现在曲线上,一部分节点比另一部分节点有着更丰富的信息,保留那些有着丰富信息的节点可以在曲线简化后尽可能保持曲线的形状不变和曲线的信息不丢失 3。即在曲线简化中剔除部分含信息较少的节点不会导致曲线大的变形和信息的丢失,从而很好的实现曲线的简化。于是,怎样找出这些含有较多信

13、息的节点就是曲线简化的一个重要问题。而本文的主题就是讨论如何找出曲线上那些含有丰富信息的节点,即曲线简化方法优化的问题。目前,许多学者都在研究如何度量曲线上节点的重要性程度并简化曲线,他们提出的方法大致有以下两个方向:无支撑域的曲线简化方法和有支撑域的曲线简化方法。其中无支撑域的曲线简化方法主要包括角度法 4-6、面积法 7等;有支撑域的曲线简化方法则主要包括弧比弦算法 8、垂比弦算法 9等。现在又有许多综合性算法,比如弧比弦算法与角度法的结合、垂比弦算法与角度法的结合等 1。地图综合中著名的道格拉斯普克算法就是无支撑域的曲线简化方法的一种 10。这些算法都在地图综合中广泛使用,其中角度法、面

14、积法在地图综合中使用较早,但效果没有后几种方法好,所以现在普遍使用后几种算法实现地图综合。本文从弧比弦算法入手,先介绍该算法的工作原理,对其进行分析,总结出它的优点和不足,并对其不足进行自适应的改进。在此基础上,使用迭代法对自适应改进算法进行进一步优化,在不追求算法效率的前提下得到了更优的中南大学本科生毕业论文4效果。继而采用当下流行的 Visual Studio 2008 平台用 C#.NET + Arc Engine 9.3二次开发实现弧比弦算法及其改进算法,并用给出的曲线简化评价指标对其进行评价,最后得出结论。1.2 研究背景地图综合是传统制图学和自然地理学的课题,和所有其他地理学课题一

15、样,现在它也成为地理信息科学界的重要课题之一。从表现形式上看,地图综合是指地图信息随显示范围的变化而具有不同详细程度。这种变化主要是由于地图的缩放操作而引起的。在实际中,地图的综合包含两层含义:一是显示具有单一比例尺数据的某一地图时,在不同的缩放比率下地图呈现出具有不同详细程度的外观;二是当地图有多级比例尺时,当地图的缩放比率达到一定程度时,可以自动调阅该图上一级或下一级比例尺的地图 11。最理想的综合应是地图自动逐级抽象,这也是自动综合的研究目标,但目前实现起来仍较为困难。在以往地图综合的研究中,4 个人先后出现提出了线目标的综合,他们分别是:Tobler (1966)、Tpfer(1966

16、)、Pillewizer (1966) 和 Perkal (1966)。在 20世纪 70 年代,线目标综合算法得到了飞速发展,到 20 世纪 80 年代,学者们对这些线目标综合算法进行了评价,并展开了面目标的综合算法研究。20 世纪 90 年代以来,地图综合一直是热门的研究课题。国际制图协会(ICA)于 1991 年成立自动制图综合小组。国际摄影测量与遥感( ISPRS)协会于 2000 年专门设立了一个地图综合工作组。目前关于这一主题的特别会议已经举办了多次,并且都取得了巨大的成果。线目标的综合从地图综合的研究出现至今,一直经历着快速的发展。从Attneave 发现线目标上的一些点比另一些

17、点包含更加丰富的信息,学者们就相继发现了曲线简化的一系列方法,例如角度法,面积法,垂比弦算法,弧比弦算法等。后来又提出了一系列曲线简化算法的评价标准,实现了算法效能的评价。现在学者们又开始了算法的融合和该进 12,想进一步优化算法的性能,这就是当前线目标综合的研究方向。40 多年过去了,随着地理信息科学的发展,地图综合和曲线简化经过 40年余年的发展已经相对比较成熟。一门学科经过 40 多年的发展而确立,学科越中南大学本科生毕业论文5来越完善,这标志着它的逐渐成熟。1.3 论文的组织本文共分为五章,分别从论文背景及问题的提出;线目标综合的基本理论、方法和弧比弦算法的分析和评价;弧比弦算法的不足

18、及其改进以及改进算法的评价;在 Visual Studio 2008 平台上用 Arc Engine 9.3 二次开发实现弧比弦算法及其改进算法这五个方面进行阐述,下面对其分别进行介绍:第一章为概论,首先阐述了论文的基本情况,介绍了地图综合的研究背景,以及论文研究问题的提出,说明了章节的安排情况。第二章为线目标综合的基本理论和方法,介绍了线目标综合的基本原理和方法,阐述了线目标综合算法的一些不足及改进方向,并对线目标综合算法的评价给出了基本的原理及指标。第三章为弧比弦算法的设计及改进,首先介绍了弧比弦算法的基本原理,然后指出弧比弦算法的一些不足,并结合曲线综合的改进方向就两个方面对其进行改进,

19、逐步得出最终的改进算法,最后给出算法的评价,得出自己的结论。第四章为在 Visual Studio 2008 平台上用 Arc Engine 9.3 二次开发实现算法,首先介绍了开发的基本平台,然后分别讲述了原弧比弦算法及其改进算法的实现方法。第五章为总结及展望,主要总结了我在论文完成中遇到的一些问题及以后对该课题的后续研究方向。最后为主要参考文献及致谢。中南大学本科生毕业论文6第二章 线目标综合的基本理论和评价方法2.1 线目标综合的基本原理线目标综合算法,顾名思义,是减少曲线上不必要的点的数量,用较少的含有丰富信息的点来表达这条曲线的算法,我们也称这种算法为曲线简化算法。在早期,减少曲线上

20、的点的数量是一个十分重要的课题,因为在当时而言,存储曲线的大量数据是一个很大的开销。于是就有许多学者开始研究如何用较少的含有丰富信息的点来代替原始曲线以达到曲线简化的目的。图 1 说明了曲线简化算法的基本思想。图 1a 是一条曲线,它有许多点组成,但其中只有少数被选择用来代表原来的线目标。图 1b 则显示了许多曲线简化的可能结果之一,它用五个点来代表原始曲线。(a)一条许多点组成的曲线 (b)用五个点代表原曲线图 1 曲线简化算法示例我们利用曲线简化算法进行线目标综合的原理如下:通常情况下,通过删除一些点,线的形状可以简化。所以许多学者用这种算法实现线目标的综合。曲线简化算法的目标是尽量用最少

21、的点去拟合原始曲线。必须强调的是,在这些算法中应该尽量避免尺度的变化。这样就可以实现线目标的综合了。曲线简化算法的最初思想,是由 Attneave 在 1954 年发现的,他发现线目标上的一些点比其他一些点有着更丰富的信息,这些有着丰富信息的较少的点足以表达线目标的形状。换言之,大量的信息较少的点,可以被除去而不会造成线目标大的变形。在这种思想中,那些有着丰富信息的点,在计算机图形学和模式识别学我们称之为支配点;而在空间信息科学中则被我们称作关键点。关键点在许多学科中都是一个重要的概念,如计算机视觉、图像处理、模中南大学本科生毕业论文7式识别、计算机图形学和地理空间科学等。例如,在地理空间科学

22、中,关键点的概念可应用于数据压缩,线的夸张表达,以及线的综合等;在计算机视觉和模式识别中,则可应用于特征提取,形状识别,基于点的运动的评价和编码的算法等。而我们知道,在经典的几何学中,曲线的关键点通常是:1、 极大值点2、 极小值点3、 曲率极小值点4、 曲率极大值点而 Freeman1978 年在上述列表中增加了以下新的内容 1:1、 曲率不连续点2、 终点3、 交点4、 切点由于这些点都拥有明确的定义,他们的特征不会受到曲线缩放(扩大或减少) ,旋转或平移的影响,所以它们十分适合被当作曲线的关键点。而怎样找出这些关键点并用它来表示原始曲线,就成为线目标综合算法研究的主要问题。2.2 线目标

23、综合的基本方法线目标综合主要有两种基本方法:无支撑域的综合方法和有支撑域的综合方法。无支撑域的综合方法主要包括角度法、面积法等;而有支撑域的综合方法主要包括弧比弦算法和垂比弦算法等。而现在又产生了许多综合性算法,比如弧比弦算法与角度法的结合、垂比弦算法与角度法的结合等。图 2 显示了这样的分类。通过分析可以发现,用作无支撑域的曲线综合算法的标准通常主要是原始的几何参数(如距离,角度,面积等) ,而用作有支撑域的曲线综合的标准则主要是几何参数的运算结果(如垂比弦值和弧比弦值等) 。下面将分别介绍这几种算法,见图 2。中南大学本科生毕业论文8线 目 标 综 合 的 方 法 无 支 撑 域 有 支

24、撑 域 综 合 性 算 法 角 度 法 面 积 法 弧 比 弦 算 法 垂 比 弦 算 法 弧 比 弦 算 法 与 角 度 法 + 垂 比 弦 算 法 与 角 度 法 图 2 线目标综合算法的分类2.2.1 角度法一条曲线如果删除其中某个点,将会引起一个角度的变化。因此,可以根据这一角度变化的大小来度量这个点的重要性,当然端点应该除外。我们不妨设曲线上的点依次为P 0,P 1,P 2, ,P n(P0和P n为曲线的两个端点 ) ,那么删除任一点P i所引起的角度变化可以表达为:(1)1)-i( i 1i-i 图3的曲线有5个节点,分别记为P 0、P 1、P 2、P 3和P 4。根据式(1)可

25、依次计算得到P 1、P 2和P 3的角度度量值。我们可以知道,角度变化越大,点的重要性程度越高,其值也就越大。图 3 角度法中南大学本科生毕业论文92.2.2 面积法一条曲线如果删除其中某个点将会产生一个局部变形。因此,可以利用新曲线与原始曲线围成的变形的面积来度量这个点的重要性(图 4)。这一方法称为面积法。删除每个点(端点除外)所引起的面积变化可以表达为:(2)1)-ni(S iA P1i-i 图 4 的曲线有 5 个节点,分别记为 P0、P 1、P 2、P 3 和 P4。根据式(2) ,可以得到图中每个节点的面积变形值。面积变形值越大,节点重要性程度越高。相反,面积变形值越小,节点重要性

26、程度则越低。图 4 面积法2.2.3 垂比弦算法曲线上的节点 Pi ,其重要性可以根据该点到其邻近点 Pi-k、P i+k 连接弦长的垂直距离 Di,k,与弦长 Ci,k 的比值来度量,该种度量方法称之为垂比弦算法,其表达式可以表达为:(3)1)-ni(/CD i ki i ,式中 k 的取值从 1 开始,直到满足如下条件结束:(4)1kik i ,如图 5 ,对于点 P4,k 取值为 2。不难发现,该方法是一种自适应度量方法,它没有固定的支撑域。而这里支撑域可以理解为一种约束,即式(4)。中南大学本科生毕业论文10图 5 垂比弦算法2.2.4 弧比弦算法弧比弦算法是曲线简化算法中较为成熟高效

27、的一种算法,见图 6,Teh 和Chin 用两点之间的弧长和相应的弦长的比值来度量节点的重要性,不同于用垂直距离 Di,k,与相应弦长 Ci,k 的比值来度量节点的重要性的垂比弦算法,弧比弦算法的表达式可以表达为:(5)1)-ni(/L i i i一种特殊的情况是支撑域的圆与曲线只有一个交点,这种情况下,我们把圆心到这一交点的直线距离作为弦长 Ci,k,即弦长 Ci,k 等于半径 R。图 6 弧比弦算法2.3 线目标综合基本方法的不足大多数曲线简化算法可能有以下几个不足:中南大学本科生毕业论文111、算法得到的解可能不是最优的。这一问题正是我算法改进所参考的主要因素,提高算法的效率及性能,达到

28、算法的优化是所有算法改进工作的最终目标,我此次改进也是从这方面入手的。2、不能保证生成曲线之间的自相交。自相交的问题见图 7,产生曲线的自相交将严重破坏曲线的拓扑关系,极端的时候可能会产生致命的缺陷,所以优秀的综合算法必须尽可能的避免产生曲线的自相交问题。(a)原始曲线 (b)简化后曲线图 7 曲线简化法生成自相交3、可能连续剔除节点而造成新生成曲线大的失真。算法可能造成节点的连续剔除而导致曲线产生较大的变形,如图,曲线简化时由于节点的连续剔除而出现曲线的严重变形。(a)原始曲线 (b)简化后曲线图 8 连续剔除节点造成曲线大的失真4、保留的节点并不一定对曲线的表达是必须的。这一问题是现在综合

29、算法的前沿研究方向,怎样确定曲线上点的重要性程度成为许多学者研究的方向,即曲线上节点的信息量的度量方法,我在今后的中南大学本科生毕业论文12研究中将进一步的研究这个方向。以上所说的这些问题往往会造成算法的效果不尽如人意,所以许多学者提出了许多针对以上问题的算法改进方法,在下一章中我也将针对这些问题对弧比弦算法进行一些改进,并提出一种新的改进弧比弦算法。2.4 算法评价的基本原理及指标介绍White(1985)和 McMaster(1986)提出了一些指标来评价曲线简化算法的性能:即矢量位移和面位移 13。这两个参数是见图 9,图 9a 是由原始曲线和保留点组成的新曲线所形成的矢量位移,图 9b

30、 则是由原始曲线和保留点组成的新曲线所形成的面位移。显然,矢量位移和面位移越小,算法的性能就越好。在矢量位移上,最大误差、中位数、平均误差均可作为其指标。(a)矢量位移 (b)面位移图 9 曲线简化算法的性能评价矢量和面的位移而我在后文中将采用偏移平均值,偏移中值和面积变形值作为评价指标,这三种指标主要是通过对删除曲线上一些重要性程度较低的节点进行评价,在很大程度上可以视为对破坏原始曲线的稳定性的评价。对于向量偏移,我计算其中值和平均值,即偏移平均值和偏移中值;对于面积变形,我通过简化后的曲线与原始曲线进行叠加,然后计算产生的一系列区域单元的面积总和即可。2.5 本章小结本章开始阐述了线目标综

31、合的基本方法,重点介绍了角度法、面积法、垂中南大学本科生毕业论文13比弦算法以及弧比弦算法,并且指出了这些算法的一些共同不足,例如算法得到的解可能不是最优的;可能不能保证生成曲线之间的自相交问题;可能连续剔除节点而造成新生成曲线大的失真;曲线保留的节点可能并不一定对曲线的表达是必须的。最后指出了评价这些算法的一个标准,即矢量位移和面位移,给出了本文评价这些算法的标准,即采用偏移平均值,偏移中值和面积变形值作为评价指标。中南大学本科生毕业论文14第三章 弧比弦算法的设计及改进3.1 弧比弦算法的基本原理弧比弦算法是曲线简化算法中性能较好算法,它用两点之间的弧长和相应的弦长的比值为标准来度量曲线上

32、节点的重要性。弧比弦算法的这个比值可以表示为:(6)1)-ni(/CL i i i对每一个节点,都有它自身的一个支撑域,节点的支撑域可以理解为一种范围,即在不同的范围内节点有不同的重要性。例如在中国全图上,长沙很重要,但在全球地图上,长沙的重要性也许就有所下降了,这个范围即可以理解为支撑域。根据文献8,支撑域半径 R 的取值由曲线的总长度(L 0) 和曲线的节点数 V (其中端点除外)计算得到,其表达式为:(7)1)(V /L 0由式(6), 称为曲线上节点的弧比弦值(也译为局部长度比) ,图iLC10 以第 6 点为例来说明,其弧的长度是两部分的和,即 A6 和第 6 点的距离加上 B6 和

33、第 6 点的距离。这里 A6 是的圆 6(即点 6 的支撑域)和点 5、点 6 连线段的交叉点。B 6 是的圆 6 和点 6、点 7 连线段的交叉点。这种算法最初被Nakos 和 Mitropoulos 发现,所以也称为 NakosMitropoulos 算法 8。图 10 NakosMitropoulos 算法中南大学本科生毕业论文15NakoMitropoulos 算法流程如下:1、确定了支撑域的半径值 。1) (V/L R02、计算每个点的 。iC3、构建函数 ,并找到函数的极大值,以此最大)-ni(/ L i值为关键点。4、循环以上步骤 2、3,直到选中的关键点个数满足给定的阈值。本文

34、采用 Visual Studio 2008 C#.NET + Arc Engine 9.3 二次开发来实现该算法的程序(具体见后面章节) 。为了更好地对比算法,我采用两条曲线作为实验曲线,其一为 91 个点的一条点分布密度较大的曲线,其二为一条 40 个点分布密度较小的曲线,它们的坐标系均为 WGS-84 坐标系,如下图:(a)原始曲线 1(点分布密度较大)(b)原始曲线 2(点分布密度较小)图 11 原始曲线图中南大学本科生毕业论文16对实验曲线 1,用弧比弦算法进行曲线简化,分别保留 60、50、40、30 个点,所得简化结果见下图:(a)保留 70 个点 (b)保留 60 个点(c)保留

35、 50 个点 (d)保留 40 个点图 12 用弧比弦算法简化线目标所得评价指标见下表:表 1 弧比弦算法保留点不同的评价指标评价指标 留 70 个点 留 60 个点 留 50 个点 留 40 个点偏移平均值(mm) 1.26 1.33 1.79 3.06偏移中值(mm) 0.35 0.80 1.37 2.17面积变形值(mm2) 272.56 405.23 760.44 1591.03对实验曲线 2,用弧比弦算法进行曲线简化,分别保留 35、30、25、20 个点,所得简化结果见下图:中南大学本科生毕业论文17(a)保留 35 个点 (b)保留 30 个点(c)保留 25 个点 (d)保留

36、20 个点图 13 用弧比弦算法简化线目标所得评价指标如下表:表 2 弧比弦算法保留点不同的评价指标评价指标 留 35 个点 留 30 个点 留 25 个点 留 20 个点偏移平均值(mm) 0.93 2.98 7.87 28.11偏移中值(mm) 0.35 2.82 8.30 15.31面积变形值(mm2) 99.3 814.91 3521.86 13767.92由上述两个实验,我们可以看出弧比弦算法随着保留点的逐渐减少而变形逐渐变大。在曲线节点密集的情况下效果较好,而在曲线节点稀疏的情况下效果有所下降,并产生了明显的自相交,如图 13(d) 。由此,结合上文中曲线综合算法的可能不足,发现弧

37、比弦算法有以下三个不足:1、算法精度有待提高;中南大学本科生毕业论文182、可能产生连续的减点而使曲线有较大的变形;3、生成的曲线可能产生自相交;不难看出弧比弦算法有自己的一些独特的缺点。结合这些不足,下文中我将分两步提出一种弧比弦算法的改进算法,对弧比弦算法进行一些改进,改善上述不足。3.2 弧比弦算法的改进3.2.1 增强支撑域的自适应性改进 原弧比弦算法的支撑域 R 是整条曲线为相同的一个数值,这样如果曲线的密度不均匀或者曲线太稀疏,很可能产生连续的节点剔除而使曲线产生大的形变,因此曲线简化效果不是很好。我们可以总结为算法的自适应性不强,所以下文中我将提出一种增加自适应性的改进。如图 1

38、4:图 14 增强支撑域的自适应性改进计算 P3 点的弧比弦度量值,用 P3 到 P2 的距离 L3 加上 P3 到 P4 的距离 L4 之和(即弧的长度之和)与 P2 与 P4 的距离 L24(即弦的长度)之比,这样就相当于其支撑域为过 P2、P 4 并且包含 P3 的一个圆,这样就使得算法更具有自适应性,提高了其效能。具体算法如下:1、从第二点到倒数第二点,计算每个点的改进弧比弦值,即一点的弧比弦值等于这点到相邻两点的弧长之和比上相邻两点间的弦长(端点除外) 。2、找出其中的最大值点3、直到找到的点的数量满足阈值为止这样就实现了算法的自适应性改进,对节点密度不均匀或节点较为稀疏的曲线有很好

39、的效果,实验依然采用上一章中的实验曲线 1 和 2,实验结果图如中南大学本科生毕业论文19下,对于实验曲线 1:弧比弦算法 自适应改进(a)保留 70 个点弧比弦算法 自适应改进(b)保留 60 个点弧比弦算法 自适应改进(c)保留 50 个点弧比弦算法 自适应改进(d)保留 40 个点图 15 增强支撑域的自适应性改进结果图 1对于实验曲线 2:中南大学本科生毕业论文20弧比弦算法 自适应改进(a)保留 35 个点弧比弦算法 自适应改进(b)保留 30 个点弧比弦算法 自适应改进(c)保留 25 个点弧比弦算法 自适应改进(d)保留 20 个点图 16 增强支撑域的自适应性改进结果图 2对于

40、实验曲线 1,其评价指标见下表:中南大学本科生毕业论文21表 3 增强支撑域的自适应性改进评价结果表 1评价指标 偏移平均值 偏移量中值 面积变形值原弧比弦算法 1.26 0.35 272.56保留70 点 自适应改进 0.26 0.23 38.58原弧比弦算法 1.33 0.80 405.23保留60 点 自适应改进 0.53 0.34 163.62原弧比弦算法 1.79 1.37 760.44保留50 点 自适应改进 1.23 0.60 504.25原弧比弦算法 3.06 2.17 1591.03保留40 点 自适应改进 2.35 1.63 1266.29对于实验曲线 2,其评价指标见下表

41、:表 4 增强支撑域的自适应性改进评价结果表 2评价指标 偏移平均值 偏移量中值 面积变形值原弧比弦算法 0.93 0.35 99.30保留35 点 自适应改进 0.21 0.19 21.51原弧比弦算法 2.98 2.82 814.91保留30 点 自适应改进 3.01 1.38 870.08原弧比弦算法 7.87 8.30 3521.86保留25 点 自适应改进 5.32 2.79 2186.67原弧比弦算法 8.34 9.07 4044.51保留20 点 自适应改进 28.11 15.31 13767.92由上述实验结果可得到结论,改进算法相比原弧比弦算法,无论从直观的曲线简化视觉效果,

42、还是从算法的评价指标对比,效果都有明显的提高。尤其是在曲线节点稀疏的情况下,效果较原始算法更好,并且可以有效避免产生曲中南大学本科生毕业论文22线的自相交。下面以第二条实验曲线为例,对比两种算法中每个节点的弧比弦值,如图:(a)弧比弦算法 (b)自适应改进图 17 两种算法的每个点的弧比弦值对比发现,改进后的算法对一些较小的值进行了放大,例如 3 点、25 点、35 点等,所以优化了算法的效果,提升了算法的性能。3.2.2 增强算法的迭代性更优化其性能线要素化简的基本要求是:保持弯曲形状或轮廓图形的基本特征,即总的图形的相似性;保持弯曲的特征转折点的精确性;保持不同地段弯曲程度的对比。对4.2

43、.1中弧比弦算法的改进,虽然优化了其性能,但在计算机硬件快速发展的今天,这算法的运算量和速度已不是主要问题。现在所关心的关键是化简前后线要素的形状逼近程度以及是否存在错误(如自相交问题等)。所以我们可以采用迭代算法进一步提高算法的效率,因此我在这一节中我将提出最终的弧比弦改进算法如下:1、从第二点到倒数第二点,计算每个点的改进弧比弦值(计算方法同 4.2.1中的改进算法 1) ,即:一点的弧比弦值等于这点到相邻两点的弧长之和比上相邻两点间的弦长(端点除外) 。2、找出其中值最小的点,将其从曲线中剔除并生成新曲线3、对新的曲线再进行此算法。4、直到曲线还有规定数量阈值的点为止。这样就实现了算法的

44、迭代性,它可以有效的避免连续的节点剔除,使得曲线简化的效果更好。实验效果见下图,对于曲线 1:中南大学本科生毕业论文23自适应改进 迭代自适应改进(a)保留 70 个点自适应改进 迭代自适应改进(b)保留 60 个点自适应改进 迭代自适应改进(c)保留 50 个点自适应改进 迭代自适应改进(d)保留 40 个点图 18 增强算法的迭代性改进算法 2 结果图 1中南大学本科生毕业论文24对于曲线 2:图 19 增强算法的迭代性改进算法 2 结果图 2自适应改进 迭代自适应改进(a)保留 35 个点自适应改进 迭代自适应改进(b)保留 30 个点自适应改进 迭代自适应改进(c)保留 25 个点自适

45、应改进 迭代自适应改进(d)保留 20 个点中南大学本科生毕业论文25实验的评价指标见下表,对于曲线 1:表 5 增强算法的迭代性改进算法 2 评价结果表 1评价指标 偏移平均值 偏移量中值 面积变形值原弧比弦算法 1.26 0.35 272.56自适应改进 0.26 0.23 38.58保留70 点迭代自适应改进 0.24 0.23 38.58原弧比弦算法 1.33 0.80 405.23自适应改进 0.53 0.34 163.62保留60 点迭代自适应改进 0.44 0.34 120.18原弧比弦算法 1.79 1.37 760.44自适应改进 1.23 0.60 504.25保留50 点

46、迭代自适应改进 0.87 0.67 375.15原弧比弦算法 3.06 2.17 1591.03自适应改进 2.35 1.63 1266.29保留40 点迭代自适应改进 1.11 0.80 502.52对于曲线 2:表 6 增强算法的迭代性改进算法 2 评价结果表 2评价指标 偏移平均值 偏移量中值 面积变形值原弧比弦算法 0.93 0.35 99.30自适应改进 0.21 0.19 21.51保留35 点迭代自适应改进 0.21 0.19 21.51原弧比弦算法 2.98 2.82 814.91自适应改进 3.01 1.38 870.08保留30 点迭代自适应改进 1.30 1.15 310

47、.8原弧比弦算法 7.87 8.30 3521.86自适应改进 5.32 2.79 2186.67保留25 点迭代自适应改进 3.36 2.73 1249.84中南大学本科生毕业论文26原弧比弦算法 28.11 15.31 13767.92自适应改进 8.34 9.07 4044.51保留20 点迭代自适应改进 5.82 3.01 3118.64由以上实验图示及评价指标表可见,改进算法经过迭代后效果明显改善,得到的曲线更加吻合原始曲线,并且有效的改善了可能连续剔除节点带来的曲线大的变形,尤其在剔除节点较多的情况下,这种改善更为明显。3.3 本章小结本章首先介绍了弧比弦算法的基本原理,然后指出它的一些不足,并针对这些不足对弧比弦算法进行了两次改进,得到了一种新的具有自适应性的迭代弧比弦算法。得到的改进算法可以有效的提高算法的性能,并且很好的解决了弧比弦算法的三个不足:即改善了算法的性能;有效的减少了生成曲线的自相交可能性;并且最大程度的抑制了可能的连续节点剔除,使得生成的曲线更加吻合原始曲线,算法的效果得到了明显改善。但是算法改进的不足之处是尚未能解决弧比弦算法的最后一个缺点,即保留的节点并不一定对曲线的表达是必须的。这个问题涉及到曲线上节点的信息量的问题,我会在以后的研究中继续就这个问题进一步优化我的算法,达到更好的曲线简化效果。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报