曲线的圆弧拟合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
曲线的圆弧拟合
—数学应用于实践之一
一、问题的提出
在实践中常出现需要将曲线拟合成圆弧的场合,例如数控机床通常只能作直线、圆弧或圆柱螺旋线的运动,因此必须把不同曲线轨迹转化成机床运动能够接受的形式。
我们可以把直线看着为半径值非常大的圆弧,而圆柱螺旋线在圆柱底面的投影就是一段圆弧,因此下面着重由简到繁地介绍曲线拟合成圆弧的几种方法。
二、椭圆曲线的拟合
椭圆曲线是一种简单常见的曲线。
现以椭圆曲线长轴为对称轴,取曲线的一半。
这部分曲线可以用3圆弧法或5圆弧法拟合。
这部分曲线拟合后,另部分曲线以长轴为对称,其拟合结果也容易得到了。
⑴ 3圆弧法
如图1示,3圆弧法用3段相切圆弧拟合椭圆曲线段。
设椭圆长半轴为a ,短半轴为b 。
,则各圆弧半径计算公式如下:
R 1=a
b a b a b a 2)(2
222+--+
R 2=
b b
b a b a b a ++-+-2)(2
222 R 3=R 1
各圆心坐标为:)0,();,0();0,(132211a R O R b O R a O ---
用3圆弧法拟合椭圆曲线,计算方法简单,拟合圆弧段少,但对于长、短轴长度相差较大的椭圆曲线,拟合精度降低,如采用5圆弧法拟合,可以取得比较好的效果。
⑵ 5圆弧法
如图2示,5圆弧法用5段相切圆弧拟合椭圆曲线段。
同样设椭圆的长半轴为a ,短半轴为b 。
各圆弧半径计算公式如下: R 1=a b /2; R 2=ab
R 3=b a /2; R 4= R 2 R 5= R 1
各圆心坐标为:
)
0,();,();,0();,();0,(152243322211a R O y x O R b O y x O R a O ----
从图2知:23213123321221)()(;;R b R a O O R R O O R R O O -+-=-=-=
∴υ=arc cos(32312
2
12322312O O O O O O O O O O ⋅-+)
ω=arc tan(
b
R R a --31
) )sin()(232υω--=R R x b R R R y +---=3232)cos()(υω
与3圆弧法相比,5圆弧拟合比3圆弧更接近理论曲线,因此5圆弧法有较高的拟合精度。
三、复杂曲线的拟合
在这里复杂曲线是指非圆函数曲线和列表曲线。
非圆函数曲线通过计算可转化成列表曲线。
列表曲线由一系列有序点列P 1(x 1,y 1),P 2(x 2,y 2),…,P i (x i ,y i ),…,P n (x n ,y n )组成,可列成表格形式。
列表曲线的数据也可以通过检测工具对实物逐点测量后获得。
下面介绍两种较常见的列表曲线拟合方法:
⑴双圆弧法
双圆弧处理方法依次取列表曲线的4个点,如图3所示。
要确定P2P3之间的圆弧段P2T和TP3,必须给出P1,P2,P3和P4共4个点。
P1~
P4点的分布有多种情况,但经过适当处理后可归纳成图4所示的两种情况。
情况①是P1,P4点在P2,P3点连线的同侧,所拟合的圆弧也在连线的同侧,称为同侧圆弧拟合(见图5)。
情况②的P1,P4点在P2,P3点连线的异侧,所拟合的两条圆弧彼此外切,称为异侧圆弧拟合。
同侧圆弧拟合的计算公式推导如下:
如图5示,过P 2点作∠P 1P 2P 3的角平分线P 2A 2的垂线P 2M ,过P 3点作∠P 2P 3P 4的角平分线P 3A 3的垂线P 3M ,过P 2点再作∠P 3P 2M 的角平分线P 2N ,过P 3点作∠P 2P 3M 的角平分线P 3N ,过P 2N 与P 3N 的交点N 作P 2P 3的垂线NP ,NP 与P 2A 2和P 3A 3分别交于O 2、O 3点,分别以O 2、O 3为圆心,O 2P 2、O 3P 3为半径作圆弧C 2、C 3,2圆弧相切于N 点,且P 2M 和P 3M 也分别在P 2点和P 3点与C 2、C 3相切,则弧P 2N 和弧NP 3构成了P 2、P 3给定点之间的逼近线。
设C 2、C 3圆弧的半径分别为r 2、r 3,则可推导出:
h v u v d v u v d r /)]sin (cos sin )cos (sin cos [2--+= h v q v d v q v d r /)]sin (cos sin )cos (sin cos [3--+=
式中,)sin )(cos cos (sin )cos )(sin sin (cos v u v q v u v q h -+-+-=;d 是P 2点和P 3点之间的距离;q 、u 和v 分别是矢量22A P 、33A P 及32P P 与x 轴正向之间的夹角。
因此,由给出的P 1~P 4点座标值,可以确定d 、q 、u 、v 的值,这样就可以确定r 2、r 3。
根据已知数据再确定圆心O 2、O 3及N 点的座标值。
异侧圆弧计算公式的推导类似同侧圆弧,在此不再赘述。
双圆弧拟合法可保证圆弧逼近线过给出点,并在各点一阶导数连续。
它的计算方法简单,适应性强,有较好的拟合精度。
缺点是拟合后的圆弧段数较多,拟合精度不能调控。
⑵最小二乘法
与双圆弧拟合法不同,它拟合成的近似圆弧不一定要通过各给出点。
如图6示,近似圆弧R 与每个给出点之间绝对误差的平方和为最小。
圆弧与点准确值的误差可以人为地用“容差”ta 来限定,如果所有被拟合的点均在R ±ta 的“容差”带范围内,则认为R 圆弧拟合成功。
“容差”是根据实际需要而人为设定的,一般选用很小的数值,如0.01mm 。
如果“容差”越小,则逼近精度就越高,每条圆弧段能满足精度的点减少,因此总的圆弧段数就会增加。
反之,则逼近精度降低,每段圆弧能满足精度的点增加,
因此总的圆弧段数就会减少。
最小二乘法的计算方法如下:
如图6示,近似圆弧的圆心坐标为),(b a ,半径为R ,),(i i y x 为曲线上任一点的坐标,则可求得:
a a a /∆=;
b b b /∆=
R=∑∑==-+-n i n
i i i y b x a n 11
22
])()([1
(推导过程略,请参阅最小二乘法有关资料)
通过一组列表曲线的拟合可得到若干条拟合圆弧。
前面曾提到近似圆弧不一定通过给出点,因此就存在若干条圆弧中相邻圆弧之间的衔接问题。
比较简便的解决方案如图7示。
设P 1~P 8点拟合成圆弧1,圆心为O 1,半径为R 1。
P 8~P 15点拟合成圆弧2,圆心为O 2,半径为R 2。
现以R 1为半径,分别以P 1与P 8为圆心作圆交于'1O ,'1O 与O 1必须在圆弧1的同侧。
再以'1O 为圆心,R 1为半径作圆弧过P 1、P 8点,产生新圆
弧P 1P 8,新圆弧的起点是P 1,终点是P 8。
同理产生圆心为'
2O ,半径为R 2的新圆
弧P 8P 15,新圆弧的起点是P 8,终点是P 15。
两条新圆弧的衔接点是P 8。
用这样方法就可以将若干条圆弧串连起耒,而产生的误差也在允许范围之内。
最小二乘法拟合最大优点是拟合精度可以调控,可以根据实际使用情况选择不同的拟合精度。
在满足同样的使用要求下,最小二乘法拟合的圆弧段数比双圆弧法少,但计算比较繁琐。
四,空间曲线的拟合
以上讨论的是平面曲线,本节讨论空间曲线的拟合。
空间曲线一般以列表曲线表示,如(x 1,y 1,z 1),(x 2,y 2,z 2),…(x i ,y i ,z i ),…(x n ,y n ,z n )等。
空间列表曲线可拟合成数控设备能够接受的圆柱螺旋线。
如图8示,圆柱螺线由空间有序点(x 1,y 1,z 1),(x 2,y 2,z 2),…(x i ,y i ,z i ),…(x n ,y n ,z n )拟合而成。
该圆柱螺线符合两方面的拟合要求,一方面是空间有序点在xy 平面上的投影点(x 1,y 1),(x 2,y 2),…(x i ,y i ),…(x n ,y n ),由最小二乘法拟合成半径为r ,圆心角为ω的平面圆弧,所有的投影点都在r ±ta 的“容差”带范围之内。
另一方面还要根据圆柱螺线的参数方程式对z 1,z 2,z 3…z n 进行逐点检查。
圆柱螺旋线的参数方程表达式为:
⎪⎩
⎪
⎨⎧===ωωωkr z r y r x sin cos 现知底面拟合圆弧半径为r ;圆弧起始角为1ω,终止角为n ω;起点z 值为z 1,终点为z n ,则螺旋斜率)
(11
ωω--=
n n r z z k。
知道螺旋斜率k ,就可以按照公式
)(11ωω-+=i i kr z z 对起、终点之间任一点进行检查,图8给出点的z 值与螺线
对应的z 值相比,均在±tb 的“容差”带范围之内。
两方面的“容差”ta 与tb 的设定值可以不同,但必须同时符合两方面的拟合要求,这一段圆柱螺线才算拟合成功。
五,小结
本文由简到繁地介绍几种圆弧拟合曲线的方法,在实践中可解决绝大多数曲线拟合成圆弧的问题。
以上述几种方法为数学模型编制计算机应用软件,在实践中应用可取得非常好的效果。