第三章_曲线拟合算法的研究汇总(3)

2019-04-16 22:08

'两次所得δ’max?max的很接近,已经逼近最大值?max。

如果?1max、?2max超过允许误差,则在P点处将原曲线Γ进行分割,对超差段重新进行双圆弧逼近,直至满足要求。

3.2.7 圆锥曲线拟合算法处理流程

根据实际开发的要求,分别对三种曲线应用上述的原理进行了双圆弧拟合处理,其实现方案图14所示。

开始抛物线拟合N椭圆拟合N双曲线拟合YYY曲线参数输入曲线标准化输入数据有效Y建立型值点列表N报错拟合完成N双圆弧拟合Y返回插入新型值点误差判断N满足精度要求Y数据输出处理 图14 圆锥曲线拟合算法流程图

3.2.8 应用实例

例如对于椭圆曲线的加工,由用户输入: G91 G02.2 X30 Y20 I0 J20 A0;

11

该G代码表示的含义是顺时针加工椭圆,以椭圆的起点坐标作为椭圆加工的相对坐标系的原心,椭圆中心相对于起点的矢量坐标为(0,20),椭圆加工的终点相对于起点的坐标为(30,20),椭圆加工的长轴与横轴的角度为0。通过椭圆的双圆弧拟合,拟合后的曲线如图15所示。

20 Y

拟合后的数据为: %ellipse.G

30 X

图15 椭圆的双圆弧拟合后曲线

N105 G02 X-1.107 Y3.096 I13.447 J6.554 N110 G02 X-0.361 Y3.084 I12.982 J3.084 N115 G02 X0.611 Y3.995 I13.362 J-0.000 N120 G02 X1.897 Y4.010 I15.366 J-4.814 N125 G02 X0.647 Y0.923 I14.955 J-9.797 N130 G02 X0.732 Y0.918 I15.533 J-11.638 N135 G02 X0.989 Y1.085 I15.523 J-13.169 N140 G02 X1.122 Y1.068 I16.175 J-15.863 N145 G02 X1.498 Y1.227 I15.984 J-17.978 N150 G02 X1.694 Y1.180 I16.474 J-21.842 N155 G02 X1.777 Y1.054 I15.714 J-24.476 N160 G02 X1.952 Y0.982 I15.598 J-28.573 N165 G02 X0.498 Y0.225 I14.094 J-30.526 N170 G02 X0.508 Y0.220 I13.937 J-31.523 N175 G02 X2.589 Y0.979 I13.919 J-32.900 N180 G02 X2.793 Y0.821 I12.531 J-37.469 N185 G02 X0.706 Y0.173 I9.988 J-39.273 N190 G02 X0.716 Y0.162 I9.456 J-40.190 N195 G02 X4.546 Y0.730 I9.019 J-41.637 N200 G02 X4.725 Y0.249 I4.725 J-44.748 N205 G02 X6.204 Y-0.430 I0.000 J-44.990 N210 G02 X5.803 Y-1.242 I-5.649 J-40.575

12

N0 M54 M50 M20 N5 G91 F100.000 N10 S50 M3

N15 G02 X-6.204 Y0.430 I0.000 J44.990 N20 G02 X-5.803 Y1.242 I5.649 J40.575 N25 G02 X-1.407 Y0.439 I10.812 J37.135 N30 G02 X-1.354 Y0.481 I11.607 J34.857 N35 G02 X-1.664 Y0.676 I12.553 J33.294 N40 G02 X-1.565 Y0.731 I13.144 J30.155 N45 G02 X-1.897 Y1.031 I14.011 J28.028 N50 G02 X-1.715 Y1.097 I14.150 J24.014 N55 G02 X-1.627 Y1.223 I14.895 J21.516 N60 G02 X-1.427 Y1.264 I14.494 J17.803 N65 G02 X-0.340 Y0.334 I15.274 J15.866 N70 G02 X-0.327 Y0.336 I15.099 J15.020 N75 G02 X-1.228 Y1.414 I14.783 J14.072 N80 G02 X-1.020 Y1.428 I14.061 J11.116 N85 G02 X-0.233 Y0.373 I14.520 J9.327 N90 G02 X-0.220 Y0.373 I14.320 J8.693 N95 G02 X-0.261 Y0.474 I14.305 J8.185 N100 G02 X-0.241 Y0.474 I14.071 J7.449

N215G02 X1.407 Y-0.439 I-10.812 J-37.135 N220G02 X1.354 Y-0.481 I-11.607 J-34.857 N225G02 X1.664 Y-0.676 I-12.553 J-33.294 N230G02 X1.565 Y-0.731 I-13.144 J-30.155 N235G02 X1.897 Y-1.031 I-14.011 J-28.028 N240G02 X1.715 Y-1.097 I-14.150 J-24.014 N245G02 X1.627 Y-1.223 I-14.895 J-21.516 N250G02 X1.427 Y-1.264 I-14.494 J-17.803 N255G02 X0.340 Y-0.334 I-15.274 J-15.866 N260G02 X0.327 Y-0.336 I-15.099 J-15.020 N265G02 X1.228 Y-1.414 I-14.783 J-14.072 N270G02 X1.020 Y-1.428 I-14.061 J-11.116 N275 G02 X0.233 Y-0.373 I-14.520 J-9.327 N280 G02 X0.220 Y-0.373 I-14.320 J-8.693 N285 G02 X0.261 Y-0.474 I-14.305 J-8.185 N290 G02 X0.241 Y-0.474 I-14.071 J-7.449 N295 G02 X1.107 Y-3.096 I-13.447 J-6.554 N300 G02 X0.361 Y-3.084 I-12.982 J-3.084 N305 S0 M3 N310 M51 M21 N315 M30

13

3.3 列表点曲线拟合算法的研究

除了圆锥曲线以外,列表点曲线也是形状数学描述的标准形式。其中,最常用的列表点描述方法有:

1. 贝齐尔(Bezier)曲线; 2. B样条曲线;

通过对这两种方法的比较,找出适合列表曲线拟合的方法。

3.3.1 贝齐尔曲线[11]

给定一组有序的数据点P,i(i?0,1,n),这些点可以是从某个形状上测量得

到,也可以是设计员给出。要求构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。这些数据点若原来位于某曲线上,则称该曲线为被插曲线。在某种情况下,测量所得或者设计员给出的数据点本身就很粗糙,要求构造一条曲线严格通过给定的一组数据点就没有什么意义。更合理的提法应是,构造一条曲线使之在某种意义下最为接近给定的数据点,称之为对这些数据点进行逼近,所构造的曲线称为逼近曲线。插值和逼近统称为拟合。

贝齐尔(Bezier)曲线以数据点bj表示,其伯恩斯坦(Bernstein)基表示式为:

p(t)??bjBj,n(t), 0?t?1

j?1n

(3.15)

tj其中,基函数 Bj,n(t)?Cnt(1?t)n?j,j?0,1,?,n,称为伯恩斯坦基函数。

用控制顶点bj定义的伯恩斯坦(Bernstein)基表示的贝齐尔曲线是一种独特的参数样条曲线,它不仅具有优良的控制性质,而且几何直观,又惊人的简单,使它特别适合于交互地设计形状,但它不具有局部修改性质且不能解决在描述复杂形状时带来的连接问题。

14

3.3.2 B样条曲线[11]

B样条理论早在1946年由舍恩伯格(Schoenberg)提出,但论文直到1967年才发表。1972年,德布尔(de Boor)与考克斯(Cox)分别独立地给出B样条计算的标准算法。但作为CAGD中的一个形状数学描述的基本方法,是由戈登(Gordon)与里森费尔德(Rriesenfeld,1974)在研究贝齐尔方法的基础上引入的。

B样条方法是在保留贝齐尔方法的优点,同时克服其由于整体表示带来的不具有局部性质的缺点,及解决在描述复杂形状时带来的连接问题下提出来的,具有表示与设计自由型曲线曲面的强大功能,是最广泛流行的形状数学描述的主流方法之一。并且,B样条方法目前已成为关于工业产品几何定义国际标准的有理B样条方法的基础。

B样条曲线方程可定为:

p(u)??diNi,k(u),0?u?1

i?0n

(3.16)

其中,di(i?0,1,?,n)为控制顶点。顺序连成折线称为B样条控制多边形。

Ni,k(u)(i?0,1,?,n)称为k次B样条基函数,其形式如下:

??1,若ui?u?ui?1?Ni,0(u)???0,其它??u?ui?Ni,k(u)?Ni,k(u)??ui?k?ui? ui?k?1?u?Ni?1,k?1(u)? u?ui?k?1i?1??0规定?0?0?

(3.17)

其中,Ni,k(u)中,k表示次数,i表示序号,第i个k次B样条Ni,k(u)具有支承区间?ui,ui?k?1?。

利用德布尔递推算法拟合B样条曲线:

15


第三章_曲线拟合算法的研究汇总(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:保持党员纯洁性教育思想总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: