曲線圖形數(shù)字化和應(yīng)用

摘 要

摘要:應(yīng)用二階Lagrange插值多項(xiàng)式的函數(shù)逼近進(jìn)行曲線圖形數(shù)字化。用AutoCAD中VBA程序繪制逼近曲線,與原曲線比較,驗(yàn)證插值多項(xiàng)式系數(shù)的準(zhǔn)確性。以無套管穿越計(jì)算為例,給出了應(yīng)用

摘要:應(yīng)用二階Lagrange插值多項(xiàng)式的函數(shù)逼近進(jìn)行曲線圖形數(shù)字化。用AutoCAD中VBA程序繪制逼近曲線,與原曲線比較,驗(yàn)證插值多項(xiàng)式系數(shù)的準(zhǔn)確性。以無套管穿越計(jì)算為例,給出了應(yīng)用步驟。通過曲線數(shù)字化,將人工查圖轉(zhuǎn)變?yōu)榫幊逃?jì)算。
關(guān)鍵詞:曲線圖形數(shù)字化;二次曲線逼近;二階插值多項(xiàng)式
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
   在工程設(shè)計(jì)中,經(jīng)常已知x值,根據(jù)曲線查取y值,所遇到的整條曲線大部分是無規(guī)律可循的。我們發(fā)現(xiàn),對(duì)大多數(shù)曲線,雖然整條曲線無規(guī)律可循,但是若把整條曲線分成若干小段,則每一小段曲線可以用二次曲線逼近。
1 曲線的數(shù)字化
1.1 二階Lagrange插值多項(xiàng)式的函數(shù)逼近
   二階多項(xiàng)式的函數(shù)逼近就是用一個(gè)二階多項(xiàng)式代替被逼近函數(shù)[1]。有一連續(xù)函數(shù)y=f(x),x∈[a,b]。用二階Lagrange插值多項(xiàng)式逼近函數(shù)f(x)時(shí),常取節(jié)點(diǎn)x0=a,x1∈(a,b),x2=b,令二階Lagrange插值多項(xiàng)式為:
    L(x)=A(x-x1)(x-x2)+B(x-x0)(x-x2)+C(x-x0)(x-x1) (1)
   由插值多項(xiàng)式的性質(zhì),有:
由L(x0)=y0,可推導(dǎo)出
 
由L(x1)=y1,可推導(dǎo)出
 
由L(x2)=y2,可推導(dǎo)出
 
則:
 
式(1)經(jīng)整理可得:
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
    因?yàn)槎ALagrange插值多項(xiàng)式法中(x0,y0)、(x1,y1)及(x2,y2)是已知的,所以多項(xiàng)式系數(shù)D、E、F可求。
1.2 單段曲線的數(shù)字化
    首先,將所研究的圖形掃描成圖片文件,插入到AutoCAD圖形文件中。將圖片x軸與y軸的交點(diǎn)移到CAD坐標(biāo)(0,0)點(diǎn),使其重合。其次,假設(shè)圖形中所研究的整條曲線是由若干段有規(guī)律可循的曲線構(gòu)成,在每段曲線上尋找有代表性的3點(diǎn),分別為這段曲線的起點(diǎn)、終點(diǎn)和曲線中間有代表性的特殊點(diǎn)。這3個(gè)點(diǎn)的坐標(biāo)(x,y)可以用AutoCAD命令查出,并作記錄。最后,利用函數(shù)逼近法,計(jì)算出y=f(x)的函數(shù)關(guān)系表達(dá)式(計(jì)算出D、E、F)。
1.3 整條曲線的數(shù)字化
    按照單段曲線數(shù)字化方法,依次把整條曲線的其他段曲線數(shù)字化,計(jì)算出每段y=f(x)的函數(shù)關(guān)系表達(dá)式,求出每段Y=Dx2+Ex+F函數(shù)關(guān)系式中D、E、F,并作記錄。
2 二次曲線表達(dá)式系數(shù)的驗(yàn)證
    L(x)是一條二次曲線,稱為逼近曲線,其準(zhǔn)確性有待驗(yàn)證。
    我們?cè)贏utoCAD繪圖軟件中利用VBA編制繪圖程序,若繪出的逼近曲線與掃描圖片中的原曲線重合,則表明二次曲線表達(dá)式系數(shù)是正確的。
2.1 在AutoCAD軟件中應(yīng)用VBA繪圖
    VBA是AutoCAD開發(fā)工具中的一種。VBA出現(xiàn)得較晚,使用時(shí)必須內(nèi)置于應(yīng)用程序中,即不能脫離應(yīng)用程序。VBA很好地繼承了Visual Basic易學(xué)、易用的特點(diǎn),而且具備了最新的開發(fā)技術(shù)和強(qiáng)大的開發(fā)功能。
    在AutoCAD軟件中應(yīng)用VBA繪圖,需編制VBA程序,讀取曲線數(shù)字化VB程序所輸出的繪圖數(shù)據(jù)文本文件,在AutoCAD軟件界面中繪制出曲線[2]
2.2 逼近曲線的繪制
    逼近曲線的繪制應(yīng)用了VB、VBA編程知識(shí)。首先,使用VB軟件編制曲線數(shù)字化通用程序,輸入曲線的條數(shù)、每條曲線的段數(shù)及每段曲線上3個(gè)代表點(diǎn)的坐標(biāo)(x,y)等基礎(chǔ)數(shù)據(jù)后,運(yùn)行該程序,將輸出結(jié)果寫入繪圖數(shù)據(jù)文本文件內(nèi),內(nèi)容包含曲線的條數(shù)、每條曲線的段數(shù)、整條曲線所有首尾相接的直線的起點(diǎn)和終點(diǎn)坐標(biāo)等(將整條曲線看成由許多段微小直線組成)。其次,運(yùn)行AutoCAD軟件中VBA繪圖程序,讀取繪圖數(shù)據(jù)文本文件,在AutoCAD軟件中繪出各條曲線。最后,觀察繪制的逼近曲線與掃描圖片的原曲線是否重合。若重合,說明所選的點(diǎn)能夠反映該曲線的特性,驗(yàn)證通過;若不重合,按照上述步驟將整條曲線重新分段,重新選點(diǎn)計(jì)算,直到逼近曲線與原曲線重合為止。
3 曲線圖形數(shù)字化應(yīng)用實(shí)例
    以GB 50423—2007《油氣輸送管道穿越工程設(shè)計(jì)規(guī)范》中圖7.2.4-3(見圖1)為例,把圖形中整條曲線數(shù)字化。應(yīng)用每段曲線函數(shù)關(guān)系,編制圖形轉(zhuǎn)化查值軟件。
 

    將原圖掃描成圖片,插入到AutoCAD軟件界面中。將圖片x軸與y軸的交點(diǎn)移到AutoCAD圖中(0,0)點(diǎn),使其重合。經(jīng)過分析,整條曲線劃分成3段,見圖1。在每段曲線上尋找3點(diǎn),如第1段曲線上3點(diǎn)坐標(biāo)分別為:1點(diǎn)(0,2.27);2點(diǎn)(15.63,10.53);3點(diǎn)(25.25,15.96)。依據(jù)二階Lagrange插值多項(xiàng)式法可求出第1段函數(shù)關(guān)系式的多項(xiàng)式系數(shù)D、E、F值,即D1=0.001424878,E1=0.506200043,F(xiàn)1=2.27。按照第1段曲線數(shù)字化的方法,依次把第2段、第3段曲線數(shù)字化,求出其多項(xiàng)式系數(shù)D、E、F值。在AutoCAD軟件中應(yīng)用VBA繪制整條曲線,經(jīng)驗(yàn)證,繪制的逼近曲線與掃描圖片的原曲線重合,即整條曲線中每段曲線的函數(shù)關(guān)系式中的多項(xiàng)式系數(shù)都是正確的。將整條曲線中每段曲線的函數(shù)關(guān)系式中的多項(xiàng)式系數(shù)寫入Excel文件中保存。
   應(yīng)用上述曲線函數(shù)關(guān)系,通過VB軟件可編制出圖形查值軟件,仍以本應(yīng)用實(shí)例進(jìn)行說明。已知鉆孔直徑與管道直徑比Bd/D值(例如Bd/D=1.228),通過圖形對(duì)應(yīng)比例關(guān)系,軟件程序計(jì)算出與Bd/D值相對(duì)應(yīng)的x值。根據(jù)x值,軟件程序自動(dòng)判定此x值所在曲線段數(shù),依據(jù)該段曲線函數(shù)關(guān)系式,求出相應(yīng)的y值。根據(jù)y值,依據(jù)圖形對(duì)應(yīng)比例關(guān)系,軟件程序計(jì)算出與其相對(duì)應(yīng)的螺旋鉆孔土壓力環(huán)向應(yīng)力挖掘系數(shù)Ee值(Ee=1.24)。
4 結(jié)語
   通過曲線數(shù)字化,將圖形查值轉(zhuǎn)化為輸入基礎(chǔ)數(shù)據(jù),通過計(jì)算機(jī)計(jì)算直接輸出結(jié)果。它改變了人工查圖和手工計(jì)算相結(jié)合的模式,提高了計(jì)算精確度和工作效率。
參考文獻(xiàn):
[1] 張世祿,何洪英.計(jì)算方法[M].北京:電子工業(yè)出版社,2010:109-112.
[2] 王鈺.用VBA開發(fā)AutoCAD2000應(yīng)用程序[M].北京:人民郵電出版社,1999:145-253.
 
(本文作者:邢少郡 唐維華 吉林市大地技術(shù)咨詢有限公司 吉林吉林 132011)