摘要:應用二階Lagrange插值多項式的函數逼近進行曲線圖形數字化。用AutoCAD中VBA程序繪制逼近曲線,與原曲線比較,驗證插值多項式系數的準確性。以無套管穿越計算為例,給出了應用步驟。通過曲線數字化,將人工查圖轉變為編程計算。
關鍵詞:曲線圖形數字化;二次曲線逼近;二階插值多項式
Curve Digitization and Application
XING Shaoiun,TANG Weihua
Abstract:The 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 words:curve 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)
贊 賞 分享
您可以選擇一種方式贊助本站
支付寶轉賬贊助
微信轉賬贊助

- 注解:本資料由會員及群友提供僅供閱讀交流學習,不得用于商業用途!