王建國
(中煤國際工程集團南京設(shè)計研究院,江蘇南京 210031)
迭代計算方法在測繪領(lǐng)域中的具體應(yīng)用
王建國?
(中煤國際工程集團南京設(shè)計研究院,江蘇南京 210031)
應(yīng)用迭代計算方法總結(jié)出計算點位到特殊曲線徑向距離的算法,并根據(jù)算法原理編制相應(yīng)程序,實踐應(yīng)用證明程序的正確性、可靠性和實用性。
迭代;算法;徑向距離
迭代法是一種不斷用變量的舊值遞推新值直到誤差小于事先設(shè)定的容許誤差完成迭代計算的過程。迭代法作為一種很常用也很重要的計算方法在測繪諸多領(lǐng)域中均有應(yīng)用,如:監(jiān)測網(wǎng)優(yōu)化設(shè)計規(guī)劃求解、卡爾曼濾波五組核心遞推公式、BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練、空間直角坐標(biāo)反算大地坐標(biāo)、赫爾默特方差分量估計、道路點位坐標(biāo)反算施工坐標(biāo)、拱壩溢流壩計算點位徑向距離等。
本文主要對點位到特殊曲線的徑向距離展開討論,并以工程實例進行驗證。
現(xiàn)在要計算點P(X0,Y0)到曲線的徑向距離、徑向方向線和曲線交點的高程以及該交點距原點的弧長。解決這個問題的關(guān)鍵在于如何找到計算點P對應(yīng)于曲線上的某一點Q。為了尋找這樣的點,思路有三:
(1)以計算點P為圓心的圓與特殊曲線剛好相切所對應(yīng)的切點即為Q點。
(2)過曲線上點Q的切線的斜率K1與Q點和P點的連線的斜率K2有這樣的數(shù)學(xué)關(guān)系,即:K1×K2=0,該方程為僅含有未知數(shù)X的一元方程。解算最終可得Q點坐標(biāo)X、Y值。
(3)使得過曲線上Q點的法線恰好通過計算點P。
本文即是基于第三種思路運用迭代的算法來尋找滿足要求的Q點。
目前點到緩和曲線的最短距離討論的文獻資料也較多。文獻[1]用點P到通過迭代點的法線之垂距作為里程迭代增量,直到垂距小于設(shè)定的精度要求,迭代收斂。文獻[2]用點P與迭代點的距離、迭代點處的切線、點P到切線的垂線構(gòu)造直角三角形,用切線長作為里程迭代增量,直到迭代點的切線與點P的切線重合,迭代收斂。本文結(jié)合上述兩文獻的迭代思想來解決點到曲線的最短距離問題。
首先建立如圖1所示的坐標(biāo)系。我們假定曲線上任一點P1(X1,Y1),則過點P1的法線為P1A,計算點P到法線P1A的距離DPA,可得知P點相對于法線的位置(P點在法線P1A左側(cè)時PA為負,在右側(cè)時PA為正,相對于圖上而言),通過該相對位置使法線向點P移動,移動所需的X坐標(biāo)的改變量△X≈DPA×cos(α)。通過這樣修正該點的X坐標(biāo)使法線向點P移動,當(dāng)移動滿足點P到法線的距離小于所設(shè)定的精度時迭代結(jié)束,曲線上該點便是點P對應(yīng)于曲線上某一點的近似點(如圖1中的B點),上述過程可簡述為如下步驟:
①計算過假定點P1(X1,Y1)的法線的坐標(biāo)方位角F;
②計算點P(X0,Y0)到法線P1A的垂直距離DPA;
③對假定點P1的坐標(biāo)X1進行修正:
④DPA值大于所設(shè)定的精度則重復(fù)上述步驟,否則迭代結(jié)束;
某曲線設(shè)其方程為:
圖1 工程坐標(biāo)系中點與曲線關(guān)系原理圖
對式(1)求導(dǎo)數(shù)得:
上述式(2)一階導(dǎo)數(shù)可理解為過曲線上某點的切線的斜率K即:
因此,切線坐標(biāo)方位角:
則通過直線P1A的坐標(biāo)方位角為:
而直線P1P的坐標(biāo)方位角αP1P可以通過這兩點坐標(biāo)反算求得,則點P到直線P1A的距離:
上式中L為交點B的橫坐標(biāo)。
某工程縱剖面圖如圖2,其設(shè)計線形曲線方程為:Y=X2/400+0.023X。本文應(yīng)用上面介紹的原理編制相應(yīng)的程序,計算結(jié)果如表1所示。
圖2 隧道龍落尾縱剖面圖
圖2 中三點坐標(biāo):A(36.3215,532.7096)、B (45.5541,514.8421)、C(57.1535,519.0177)分別位于曲線的典型位置,計算結(jié)果如表1所示。
迭代解法與直接解法計算結(jié)果比較表(單位/m) 表1
迭代程序部分主要代碼如下:
迭代解法計算過程表(單位/m) 表2
從以上實例可以看出:
(1)計算的結(jié)果正確,迭代次數(shù)在工作中可以接受;實際工作中可通過調(diào)整迭代精度控制計算速度。
(2)計算精度可控,由于計算出了移動所需的大致X坐標(biāo)差來進行修正,計算出交點的X坐標(biāo)值的誤差約為限定的計算精度和該點切線角的余弦之積。
思路一效率較低,實際工作中不建議采用,思路二、三在實際工作中可以采用,結(jié)合一種計算機語言如Matlab或VB編程能夠批量自動計算,從而使工作效率得以提高。
本文探討了點位到一類曲線的徑向距離的一種迭代算法,簡要分析了算法的速度和計算的精度。實例驗證該算法原理正確,通用性強,程序易于實現(xiàn),能夠滿足實際工作的需要。
[1] 李全信.確定地面點與線路中線相對關(guān)系的統(tǒng)一數(shù)學(xué)模型[J].測繪通報,2002(8)
[2] 馮曉,李敏.任意組合曲線坐標(biāo)正反算通用算法及應(yīng)用試驗[J].礦山測量,2008(2)
[3] 任玉杰.數(shù)值分析及其MATLAB實現(xiàn)[M].北京:高等教育出版社,2007
[4] 佟士懋,邢芳芳,夏齊霄.AutoCAD ActiveX/VBA二次開發(fā)技術(shù)基礎(chǔ)及應(yīng)用實例[M].北京:國防工業(yè)出版社,2006
The Specific Application of Iteration in Surveying and Mapping
Wang JianGuo
(Sino Coal International Engineering Group Nanjing Design Institute,Nanjing 210031,China)
In this paper,the algorithm of calculating radial distance between points and curve by using iteration is introduced.Based on the algorithm,writer design relevant programme.The result shows that it is accurate,reliable and practical.
iteration;algorithm;radial distance
1672-8262(2011)02-153-03
P209
B
2010—08—10
王建國(1980—),男,工程師,主要從事工程測量及數(shù)據(jù)處理研究。