基于Freeman链码自由曲线直线逼近算法.docVIP

  • 5
  • 0
  • 约6.15千字
  • 约 12页
  • 2017-11-27 发布于福建
  • 举报

基于Freeman链码自由曲线直线逼近算法.doc

基于Freeman链码自由曲线直线逼近算法

基于Freeman链码自由曲线直线逼近算法   摘 要: 提出一种简单而有效的直线逼近自由曲线算法。自由曲线轮廓采用Freeman链码描述,提出快速分割链码算法,得出逼近节点,从而准确地实现对曲线的逼近。此外,该方法不仅适用于直线、圆弧和非圆曲线,而且还适用于形状复杂,不能用初等解析函数直接表示的自由曲线。实验结果表明,该算法简单、快速、准确,并对自由曲线具有较好的逼近效果。 关键词: Freeman链码; 逼近节点; 自由曲线; 边界描述; 直线逼近 中图分类号:TP391.72 文献标志码:A 文章编号:1006-8228(2013)12-57-03 Linear approximation algorithm of free curves based on Freeman chain code Yang Bin (Dept. of Information center, Wuxi AIC, Wuxi, Jiangshu 214023, China) Abstract: A simple and efficient algorithm of the linear approximation of free curves is proposed. In the paper, the contour of a free curve is described by Freeman chain code. A rapid segmentation algorithm of chain code is proposed so as to get the approximation nodes. Thus, a more accurate approximation of the curve can be achieved. In addition, this method can not only be applied to straight lines, arcs and non-circular curves, but also curves which have complex shape and can not be described by an explicit function. The experiment results show that the algorithm is simple, rapid, accurate, and free curves have good approximation. Key words: Freeman chain code; approximation node; free curve; contour description; line approximation 0 引言 在数控系统中,非圆曲线是指除直线与圆弧之外,可以用数学方程式表达的平面轮廓曲线。而数控系统一般只能做直线插补和圆弧插补,对于轮廓为非圆曲线的零件,数学处理的方法是用直线段或圆弧段去逼近曲线轮廓[1]。直线段逼近轮廓曲线的关键在于计算出节点。节点是在用直线段或圆弧段去近似曲线时,相邻直线段或圆弧段之间的交点。其中,直线逼近非圆曲线常用的计算节点方法有:等间距法、等弦长法、等误差法等。等间距法就是将曲线沿着某一坐标轴分割,分割点在坐标轴上的投影等间距,根据曲线方程得到分割点的坐标,即根据已知曲线方程y=f(x),可由xi求得yi,xi+1=xi+Δx,yi+1=f(xi+Δx)(其中Δx为间距)。这种方法是通过调整分割点个数来调整逼近误差。但节点越多,程序运行耗时越多。等弦长法是用各段长度相同的弦来逼近曲线,误差是通过以最小曲率半径处的加精度确定弦长。这种方法在曲线曲率半径变化较大时,节点将增多,所以此种方法适用于曲线曲率变化不大的情况。等误差法是以最大允许误差为半径,以曲线一端点为圆心作圆。然后作圆与曲线的公切线,再以曲线端点为点作一条与公切线平行的直线与曲线相交,交点即为节点,依次类推。该方法特别适合于曲率变化较大的复杂曲线。不足之处是直线插补段的连接处不光滑[2]。 以上方法对于已知方程的曲线各有较好的逼近效果,但是,对于未知表达式的曲线都不适用。所以本文在此基础上,提出直线逼近自由曲线的算法,改善原有计算节点方法中的缺陷,针对非圆曲线和未知表达式曲线,采用Freeman链码来描述曲线,快速分割链码,找出逼近节点,从而实现对自由曲线的快速逼近。另外,减少了大量的数学计算,大大提高了程序的运行速度。 1 边界链码表示 链码是图像处理及模式识别中很常见一种的表达线条、平面曲线及区域边界的编码技术。链码技术被广泛应用是因为它能用较少的数

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档