資源描述:
《4800p互通立交橋坐標計算程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、4800P計算器互通式立交橋坐標計算程序本人在云南省國道昆明東連接線工程項H從事支線工程的監(jiān)理工作中,支線二標有一座虹橋村立交橋,此橋為一座互通式立交橋,分為支線橋、東三環(huán)橋、匝道橋3大部分,其中匝道橋共7座,匝道路基共2條,坐標計算復(fù)雜、工作量大。由于施工圖設(shè)計中給出的曲線要素表與一般公路工程中給出的曲線要素表內(nèi)容不一樣,以前已奮的CASIOfx-4800P計算器坐標計算程序不適用于木互通式立交橋的計算,因此木人針對互通式立交橋重新編制了CASIOfx-4800P計算器的坐標計算程序,通過在工作中實際使
2、用,效果很好?!?、程序編制思路1、本文用例的施工圖設(shè)計中給出的曲線耍素為每條整個路線內(nèi)每個線元的起點樁號、終點樁號、起點樁號的X、Y坐標、起點方位角、起點半徑、回旋線參數(shù)、本線元長度、偏轉(zhuǎn)方向及線型說明備注,根據(jù)施工設(shè)計圖給出的曲線要素表內(nèi)容,本程序也針對每個線元分別進行計算。2、為了最大程度方便快捷的計算坐標,決定把數(shù)據(jù)嵌入到程序中,每一條路線為一個原始數(shù)據(jù)文件(擴展名為.D),在每一個原始數(shù)據(jù)文件中對讀取相應(yīng)線元數(shù)據(jù)的操作進行控制。本程序只要輸入計算哪條路線的參數(shù)H和所要計算的樁號D就可以直接計算出來
3、D點的坐標,方便、快捷、準確。在計算不同工程的坐標時,只需要對原始數(shù)據(jù)文件進行修改、對主程序做局部修改即可通用,很方便。3、為了實現(xiàn)自動計算任意點的坐標,在計算木條路線后面線元的點的華標時是從本條整個路線的起點開始累計計算。4、對于闥曲線和緩和曲線上的點先計算相對坐標再計算絕對坐標。5、加入邊樁的坐標計算功能。6、即可以從數(shù)據(jù)文件中讀取數(shù)據(jù)進行計算,又可以手工輸入線元要素進行計算。7、充分利用子程序的優(yōu)點,各子程序功能清楚,重復(fù)利用率高。8、對所輸入的樁號D值進行是否在本條路線范圍內(nèi)的有效性檢查,以確保數(shù)
4、據(jù)計算正確。二、程序編制特別說明1、對于緩和曲線的坐標計算公式,一般教材屮給出的公式是對級數(shù)展幵式的前3項進行相加,在互通式立交橋的匝道設(shè)計中經(jīng)常存在緩和曲線長度(Ls)與緩和曲線半徑(R)的比值較大的情況,如果仍然用一般教材中給出的公式來計算坐標會產(chǎn)生很大的誤差,導(dǎo)致計算結(jié)果完全錯誤,因此本程序中HH1.S子程序計算緩和曲線的坐標是用級數(shù)展開式的通式來進行迭代計算。依據(jù)Ls/R的比值動態(tài)決定需要迭代的次數(shù),根據(jù)試算一般當?shù)螖?shù)=Int(Ls/R)+4時就能保證小數(shù)點后前5位小數(shù)的數(shù)值精度不變,完全滿足
5、使用要求。2、同樣在HH1.S子程序中,級數(shù)展開式有些項的計算結(jié)果數(shù)值很大,超出了計算器的數(shù)值范圍產(chǎn)生溢出錯誤,因此在程序中把一個大數(shù)值項拆開成兒個小數(shù)值項,并且乘除相間,有效的避免了計算器溢出錯誤。3、對于這樣一個比較大的計算器程序,26個字母根本不夠用,因此在程序編制的過程中先確定一些全局變量,再仔細研究程序內(nèi)容,在不影響程序正確性的前提下,當一些局部變量的功能完成后,后面的變量再重復(fù)利用此字母。這樣不用擴展計算器的變量范圍,節(jié)約了計算器的存儲空間,相對來說程序也易讀一些。4、由于原始數(shù)據(jù)文件占用了計
6、算器的大部分存儲空間(本工程實際工作中有13個數(shù)據(jù)文件),因此對數(shù)據(jù)文件的內(nèi)容做丫優(yōu)化,以使數(shù)據(jù)文件盡量??;另外對所有的主程序和子程序也進行了最大的優(yōu)化以節(jié)省計算器存儲空間。三、源程序1、主程序(ZBJS-A)N=180+n:HD:T=l:H〈0=〉A(chǔ)V:Prog“FW.S”:W^O=>BCJRLFZ:Prog“ZB.S”^^F=O:H=1二〉Prog“SJO1.D”JH=2=〉Prog“SJ02.D”ZlH=3=>Prog“SJ03.D”」“一END--”說明:①N為常數(shù);H為要計算哪條路線的參數(shù),需
7、要輸入;D為所要計算坐標的點的樁號,需要輸入:W為本條整個路線的終點樁號;通過調(diào)用子程序FW.S來判斷計算樁號D是否在本條路線內(nèi),如果計算樁號D不在本條路線內(nèi),則W=-9,根據(jù)W是<0還是>0來進行程序內(nèi)部的子程序調(diào)用控制;另外在子程序“ZB.S2”屮¥=-9時是起到控制計算是否結(jié)束的作用。②當輸入的H<0時,需要手工輸入所有的曲線要素,曲線要素AWBCJKLFZ的含義見原始數(shù)裾文件格式說明;手工輸入計算時,每次只能計算一個線元范圍內(nèi)樁號的坐標,因此確切的說A、W應(yīng)該為本線元的起、終點樁號,而非本條路線
8、的起、終點樁號,并且W=A+L;在本例中當H值等于1、2、3時分別調(diào)川對應(yīng)的原始數(shù)據(jù)文件,由于只有3個數(shù)據(jù)文件,因此本例中當H值不等于1、2、3并且H值>0吋程序直接結(jié)束。①假如有5個路線,則在本程序中需要加入H=4=〉Prog“SJ04.D”ZH=5=〉Prog“SJ05.D”Z語句,以此類推。數(shù)據(jù)文件名可以自己定義。2、子程序:原始數(shù)據(jù)文件01(SJ01.D)A=619.944:W=990.57:B=1698.0153:C