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