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

摘 要

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

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

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