曲线图形数字化和应用

摘 要

摘要:应用二阶Lagrange插值多项式的函数逼近进行曲线图形数字化。用AutoCAD中VBA程序绘制逼近曲线,与原曲线比较,验证插值多项式系数的准确性。以无套管穿越计算为例,给出了应用

摘要:应用二阶Lagrange插值多项式的函数逼近进行曲线图形数字化。用AutoCAD中VBA程序绘制逼近曲线,与原曲线比较,验证插值多项式系数的准确性。以无套管穿越计算为例,给出了应用步骤。通过曲线数字化,将人工查图转变为编程计算。
关键词:曲线图形数字化;二次曲线逼近;二阶插值多项式
Curve Digitization and Application
XING Shaoiun,TANG Weihua
AbstractThe curve digitization is performed using functions approximated by the second-order Lagrange interpolation polynomial.The approximation curve is drawn by AutoCad VBA program.The aecuracy of the interpolation polynomial coefficient is verified compared with the original curve.The application procedures are given taking calculation of an uneased crossing project for example.The manual look-up is changed into programming calculation through the curve digitization.
Key wordscurve digitization;secondary curve approximation;second-order interpolation polynomial
   在工程设计中,经常已知x值,根据曲线查取y值,所遇到的整条曲线大部分是无规律可循的。我们发现,对大多数曲线,虽然整条曲线无规律可循,但是若把整条曲线分成若干小段,则每一小段曲线可以用二次曲线逼近。
1 曲线的数字化
1.1 二阶Lagrange插值多项式的函数逼近
   二阶多项式的函数逼近就是用一个二阶多项式代替被逼近函数[1]。有一连续函数y=f(x),x∈[a,b]。用二阶Lagrange插值多项式逼近函数f(x)时,常取节点x0=a,x1∈(a,b),x2=b,令二阶Lagrange插值多项式为:
    L(x)=A(x-x1)(x-x2)+B(x-x0)(x-x2)+C(x-x0)(x-x1) (1)
   由插值多项式的性质,有:
由L(x0)=y0,可推导出
 
由L(x1)=y1,可推导出
 
由L(x2)=y2,可推导出
 
则:
 
式(1)经整理可得:
L(x)=(A+B+C)x2-[A(x1+x2)+B(x0+x2)+C(x0+x1)]x+(Ax1x2+Bx0x2+Cx0x1)
   令L(x)=Dx2+Ex+F,可得:
    D=A+B+C
    E=-A(x1+x2)-B(x0+x2)-C(x0+x1)
    F=Ax1x2+Bx0x2+Cx0x1
    因为二阶Lagrange插值多项式法中(x0,y0)、(x1,y1)及(x2,y2)是已知的,所以多项式系数D、E、F可求。
1.2 单段曲线的数字化
    首先,将所研究的图形扫描成图片文件,插入到AutoCAD图形文件中。将图片x轴与y轴的交点移到CAD坐标(0,0)点,使其重合。其次,假设图形中所研究的整条曲线是由若干段有规律可循的曲线构成,在每段曲线上寻找有代表性的3点,分别为这段曲线的起点、终点和曲线中间有代表性的特殊点。这3个点的坐标(x,y)可以用AutoCAD命令查出,并作记录。最后,利用函数逼近法,计算出y=f(x)的函数关系表达式(计算出D、E、F)。
1.3 整条曲线的数字化
    按照单段曲线数字化方法,依次把整条曲线的其他段曲线数字化,计算出每段y=f(x)的函数关系表达式,求出每段Y=Dx2+Ex+F函数关系式中D、E、F,并作记录。
2 二次曲线表达式系数的验证
    L(x)是一条二次曲线,称为逼近曲线,其准确性有待验证。
    我们在AutoCAD绘图软件中利用VBA编制绘图程序,若绘出的逼近曲线与扫描图片中的原曲线重合,则表明二次曲线表达式系数是正确的。
2.1 在AutoCAD软件中应用VBA绘图
    VBA是AutoCAD开发工具中的一种。VBA出现得较晚,使用时必须内置于应用程序中,即不能脱离应用程序。VBA很好地继承了Visual Basic易学、易用的特点,而且具备了最新的开发技术和强大的开发功能。
    在AutoCAD软件中应用VBA绘图,需编制VBA程序,读取曲线数字化VB程序所输出的绘图数据文本文件,在AutoCAD软件界面中绘制出曲线[2]
2.2 逼近曲线的绘制
    逼近曲线的绘制应用了VB、VBA编程知识。首先,使用VB软件编制曲线数字化通用程序,输入曲线的条数、每条曲线的段数及每段曲线上3个代表点的坐标(x,y)等基础数据后,运行该程序,将输出结果写入绘图数据文本文件内,内容包含曲线的条数、每条曲线的段数、整条曲线所有首尾相接的直线的起点和终点坐标等(将整条曲线看成由许多段微小直线组成)。其次,运行AutoCAD软件中VBA绘图程序,读取绘图数据文本文件,在AutoCAD软件中绘出各条曲线。最后,观察绘制的逼近曲线与扫描图片的原曲线是否重合。若重合,说明所选的点能够反映该曲线的特性,验证通过;若不重合,按照上述步骤将整条曲线重新分段,重新选点计算,直到逼近曲线与原曲线重合为止。
3 曲线图形数字化应用实例
    以GB 50423—2007《油气输送管道穿越工程设计规范》中图7.2.4-3(见图1)为例,把图形中整条曲线数字化。应用每段曲线函数关系,编制图形转化查值软件。
 

    将原图扫描成图片,插入到AutoCAD软件界面中。将图片x轴与y轴的交点移到AutoCAD图中(0,0)点,使其重合。经过分析,整条曲线划分成3段,见图1。在每段曲线上寻找3点,如第1段曲线上3点坐标分别为:1点(0,2.27);2点(15.63,10.53);3点(25.25,15.96)。依据二阶Lagrange插值多项式法可求出第1段函数关系式的多项式系数D、E、F值,即D1=0.001424878,E1=0.506200043,F1=2.27。按照第1段曲线数字化的方法,依次把第2段、第3段曲线数字化,求出其多项式系数D、E、F值。在AutoCAD软件中应用VBA绘制整条曲线,经验证,绘制的逼近曲线与扫描图片的原曲线重合,即整条曲线中每段曲线的函数关系式中的多项式系数都是正确的。将整条曲线中每段曲线的函数关系式中的多项式系数写入Excel文件中保存。
   应用上述曲线函数关系,通过VB软件可编制出图形查值软件,仍以本应用实例进行说明。已知钻孔直径与管道直径比Bd/D值(例如Bd/D=1.228),通过图形对应比例关系,软件程序计算出与Bd/D值相对应的x值。根据x值,软件程序自动判定此x值所在曲线段数,依据该段曲线函数关系式,求出相应的y值。根据y值,依据图形对应比例关系,软件程序计算出与其相对应的螺旋钻孔土压力环向应力挖掘系数Ee值(Ee=1.24)。
4 结语
   通过曲线数字化,将图形查值转化为输入基础数据,通过计算机计算直接输出结果。它改变了人工查图和手工计算相结合的模式,提高了计算精确度和工作效率。
参考文献:
[1] 张世禄,何洪英.计算方法[M].北京:电子工业出版社,2010:109-112.
[2] 王钰.用VBA开发AutoCAD2000应用程序[M].北京:人民邮电出版社,1999:145-253.
 
(本文作者:邢少郡 唐维华 吉林市大地技术咨询有限公司 吉林吉林 132011)