您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 工程测量中一类参数曲线的拟合
书书书第27卷第1期2007年2月大地测量与地球动力学JOURNALOFGEODESYANDGEODYNAMICSVol.27No.1 Feb.,2007 文章编号:16715942(2007)01010004工程测量中一类参数曲线的拟合陈基伟(上海市地质调查研究院,上海 200072)摘 要 测量中经常遇到一些特殊参数曲线,已知它的类型,但需要了解它的参数。不同于以往基于最小二乘距离作为拟合函数(不符合度)进行拟合,提出了一种基于欧氏距离的不符合度拟合算法,按照非线性方程解法求取了各项参数,并通过数据进行了验证。结果表明,这种拟合算法容易得到稳定解且具有较好的拟合精度。由于这种拟合函数较易构造,因此对于其它类参数曲线拟合亦便于采用。关键词 工程测量 参数曲线 非线性方程 最小二乘 拟合中图分类号:TB22 文献标识码:AAKINDOFPARAMETRICCURVEFITTINGINENGINEERINGSURVEYChenJiwei(ShanghaiInstituteofGeologicalSurvey,Shanghai 200072)Abstract Someparticularparametriccurvesareusuallyseeninengineeringsurvey,whosetypesareknownbutwhoseparametersareunknown.Differingfromtraditionalleastsquaredistancefitting,thispaperpresentsamodelofparametriccurvefitting,whichisbasedonEucliddistance.Parametricrootsofthesecurvesarederivedbyextractingnonlinearequation.Thedigitalresultsshowthatthismethodcangetstablesolutionwithhighprecisionanditcanbeeasilyadoptedforotherparametriccurvesbecauseofitssimplydeducedformulas.Keywords:engineeringsurvey,parametriccurve,nonlinearequation,leastsquare,fitting1 前言在许多工业部件的设计当中,除了一些我们经常遇到的用代数方程表示的二次曲线和二次曲面类型以外,还有许多曲线方程是用参数方程来表示的。对于某些曲线如螺旋线,当用普通代数方程表示时往往非常繁琐也难以让人理解,而用参数方程来表示往往让人易于理解同时便于进行模拟。由于参数方程利用若干独立参数对直角坐标系的二维或三维坐标进行描述,因此,在拟合它们的参数方程时,首先需要利用最小二乘法构建参数与直角坐标之间的函数关系,才能够利用直角坐标来对这些参数进行求解,从而完成对这些独立参数所表示的参数方程的求解。通常建立平面数据的二次曲线拟合目标函数有两种方法:基于代数距离和基于垂直距离。常用的多项式拟合就是基于代数距离的拟合问题。而基于垂直距离的拟合会产生四次方程或者二次方程组,而四次方程(二次方程组)的求解属于非线性问题,往往使得计算太复杂,在实际中一般不被采用[1]。TaubinG研究了通过增加二次约束条件,最终可将二次曲线拟合问题转变成条件极值问题,并且得到收稿日期:20060629作者简介:陈基伟,男,1969年生,博士,高级工程师,主要从事大地测量与遥感应用研究.E-mail:chenjiw@sina.com 第1期陈基伟:工程测量中一类参数曲线的拟合的是非线性方程[2]。对于一般二次曲线,基于欧氏距离的拟合由于没有限定形式的解,同时考虑计算效率等原因,以往研究对基于欧氏距离的最小二乘拟合法研究较少①②。本文提出一种基于欧氏距离的不符合度进行拟合的算法,按照非线性方程解法求取了各项参数。2 参数曲线方程的拟合2.1 方法简介以心形线的拟合为例。如图1,心形线的标准参数方程表示为x′(t)=acost(1+cost)y′(t)=asint(1+cost{)(1)其中a≠0,t∈[0,2π]。而心形线的代数方程表示为(x′2+y′2-ax′)2=a2(x′2+y′2)(2)在心形线边缘上测定了一定数量的点坐标(xi,yi,zi)T。如果测定的点没有准确位于心形线上,就需要对参数a进行估计。根据最小二乘法,若观测了n个测点,第i个测点到心形线的欧氏距离平方可以表示为:D2(a)=∑Ni=1|(xi,yi)-(acost(1+cost),asint(1+cost))|2=∑Ni=1(xi-acost(1+cost))2+∑Ni=1(yi-asint(1+cost))2(3)则D2(a)对a的偏导数为12D2a=∑i-cost(1+cost)[-acost(1+cost)+xi]+∑i-sint(1+cost)[-asint(1+cost)+yi](4)由一般函数的泰勒展开可以得出,要使第i个测点到心形线的欧氏距离平方D2(a)趋于0,只有上式的偏导数为0。于是有∑i-cost(1+cost)[-acost(1+cost)+xi]+∑i-sint(1+cost)[-asint(1+cost)+yi]=0(5)由式(1)得到t=arctgxiyi(6)将式(5)与式(6)联立,按照单变量函数的标准数值寻根方法(如牛顿法)来迭代解求出,则心形线的方程得到拟合。2.2 各类参数曲线的限制条件方程同心形线的拟合方法相似,可以根据这种测点到参数曲线的欧氏距离平方为最小原则,构造出不同参数曲线的拟合目标函数。1)星形线如图1,星形线的参数方程表示为图1 心形线(a)、星形线(b)、圆渐开线(c)、三尖内摆线(d)和螺旋线(e)的拟合Fig.1 Fittingofheartshapeline(a),starshapeline(b),involuteofthecircle(c),tricuspinnercycloid(d)andhelicalline(e)x′(φ)=3bcosφ+bcos(3φ)=4bcos3φ=acos3φy′(φ)=3bsinφ-bsin(3φ)=4bsin3φ=asin3{φ(7)其中a≠0,φ∈[0,2π]。其代数方程表达为x′2/3+y′2/3=a2/3(8)可以得出星形线的拟合目标函数为∑icos3φ(xi-acos3φ)+∑isin3φ(yi-asin3φ)=0(9)其中φ为φ=arctgyix()i1/3(10)式(9)和式(10)联立,按照单变量函数的标准数值寻根牛顿法迭代解求出a。2)圆渐开线如图1,圆渐开线的参数方程表示为x′(t)=a(cost+tsint)y′(t)=a(sint-tcost{)(11)上式中a≠0。可以得出圆渐开线的拟合目标函数为∑i(cost+tsint)(acost+atsint-xi)+∑i(tcost-sint)(atcost-asint+yi)=0(12)其中t=x2i+y2i-a2a槡2(13)101①②PetkoFaberandBobFisher.ABuyer’sguidetoeuclideanellipticalcylindricalandconicalsurfacefitting[EB/OL].www.bmva.ac.uk/bmvc/2001/papers/21/accepted_21.pdf,2001:521-530.RobertBFisher.Applyingknowledgetoreverseengineeringproblems[EB/OL].homepages.inf.ed.ac.uk/rbf/CVonline/local_copies/fisher/cad03/cvon.html,2001.大地测量与地球动力学27卷式(12)与式(13)联立,利用牛顿法迭代解求出a值。3)三尖内摆线如图1,三尖内摆线的参数方程为x′(φ)=2bcosφ+bcos(2φ)y′(φ)=2bsinφ-bsin(2φ{)(14)上式中φ∈[0,2π],b>0,b∈R。可以得出三尖内摆线的拟合目标函数为∑Ni=1(2cosφ+cos2φ)(2bcosφ+bcos2φ-xi)+∑Ni=1(2sinφ+sin2φ)(2bsinφ+bsin2φ-yi)=0(15)其中φ=13arccosx2+y2-5b24b()2(16)式(15)与式(16)联立,通过牛顿法迭代求解出b值。4)螺旋线如图1,螺旋线的参数方程为x′(t)=acos(ωt+φ)y′(t)=bsin(ωt+φ)z′(t)={t(17)其中a>0,b>0,ω>0,φ∈[0,2π],t∈R。如果椭圆的长、短轴a,b相等,即成为圆。这时,式(17)方程退化为一般的数值方程,则D2(r,ω,φ)对r,ω,φ的偏导数为12D2r=Nr-∑ixicosψi-∑iyisinψi12rD2ω=∑ixizisinψi-yizicosψi12rD2φ=∑ixisinψi-yicosψi(18)其中ψi=ωzi+φ,根据上式中的第一个方程可以解得rr=1N∑ixicosψi+yisinψi(19)通过三角函数和差公式对后二个方程进行化解,再根据二个矢量平行的条件可以得到关于ω的非线性方程;再利用牛顿法迭代解求出ω;求得ω后,再逐项回代可求解出φ和a。2.3 曲线误差的评定根据测点坐标和各类曲线的参数方程,可以容易得到测点到曲线的偏差Δi以及度量误差LS。1)心形线通过计算得到心形线上某点的偏差为Δi=1x2i+y2i(x2i+y2i)2-2a(x2i+y2i)(xi+x2i+y2槡i([)+a2(y2i+2xi(xi+x2i+y2槡i)]))12(20)心形线的度量误差表示为LS=max(Δi)-min(Δi) i=1,2,…,n(21)2)星形线星形线的误差评定公式为Δi=(xi-acos(yixi)1/()32+(yi-asin(yixi)1/()3槡2i=1,2,…,n(22)3)圆渐开线、三尖内摆线根据这两类曲线的参数方程,可以很容易得到它们的误差评定公式。4)螺旋线很容易得到某点到圆螺旋线的偏差为Δi=(xi-acos(ωzi))2+(yi-bsin(ωzi))槡2i=1,2,…,n(23)螺旋线的度量误差如式(21)。3 算例为验证本文介绍的方法,对某个螺旋线测量了一些离散点,其坐标及偏差(由式(23)计算得到)如表1所示。由式(17)计算ω的初值为2.022,a的初值为0.253。利用Mathematica数值分析软件中FindRoot函数对ω,a进行迭代计算,得到稳定迭代结果ω=表1 一组离散点的坐标Tab.1 Coordinatesofasetofdiscretepoints离散点的坐标x3.99173.93003.80513.61953.37703.08112.73902.35201.9275y0.25170.74901.23561.70292.14242.54992.91673.23633.5046z0.03110.09380.15770.21970.28370.34530.40750.47090.5336Δ0.00290.00320.00570.00180.00840.00260.00690.00240.0032x1.47230.99440.5010-0.0002-0.5008-0.9956-1.4715-1.9261-2.3519y3.71913.87363.96933.99963.96913.87503.71913.50593.2360z0.59770.66010.72310.78630.84900.91150.97401.03621.1004Δ0.00620.00310.00380.00710.00680.00310.00150.003
本文标题:工程测量中一类参数曲线的拟合
链接地址:https://www.777doc.com/doc-182312 .html