fx-5800P 坐标正反算程序
- 格式:docx
- 大小:11.57 KB
- 文档页数:1


(以下程序是专业人士编写,本店铺不对程序负责,仅供您参考使用。
)卡西欧FX-5800p计算器正反算、隧道超欠挖计算程序正算主程序 (ZS) :Lb1 0 : FIX 4 : ? S : ?Z :Prog “ PM-SJ ” : Abs(S-O) → W : Prog "SUB1" : "XS= " :X ◢ "YS= " :Y ◢ F-90 → F ( 需要时可以让他显示,不要时不必输入 ) :Pro g“SQX-SJ”: Prog “ SQX ” :“ H= ” :H ◢- Goto 0反算主程序 (FS)Lb1 0 : FIX4: ? S : ? X :? Y :Prog “PM-SJ” :X→ I :Y→ J :Prog "SUB2" : "S= " :O+W→S ◢ "Z= " :Z ◢Prog “SQX-SJ” :Prog “ SQX ” :“ H= ” :H ◢ Goto 0隧道 3 心圆放样主程序( SD-3XY )Lb1 0 :Prog “ FS ” : 1.5 → A : 1.65 → B :0.89→ G: 2.27 → C : 3.3 → D : 2.41 → E :0.51 → J :“H1” : F :ifF≤ H+ A :then E-AbsZ → W : IfEn d : ifF >H+A And F ≤ H+A+ B :then√ ( D²- ( F-H-A ) ² ) -G-AbsZ → W : IfEn d : ifF > H+A+ B :then√ ( C²- ( F-H-A-J ) ² ) -AbsZ → W : IfEn d :“W=” :W◢ (水平方向的超欠挖:正为欠 , 负为超) Goto0正算子程序 (SUB1)1÷P → C : (P-R)÷(2HPR) → D :180÷π → E :0.1739274226 → A :0.3260725774 → B :0.0694318442 → K :0.3300094782 → L : 1-L → F :1-K → M :U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos( G+QEMW(C+MWD))) → X :V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin( G+QEMW(C+MWD))) → Y :G+QEW(C+WD)+90 → F :X+ZcosF → X : Y+ZsinF → Y 反算子程序 (SUB2)G-90 → T : Abs((Y-V)cosT-(X-U)sin ( T )) → W :0 → Z : Lbl 0 :Prog "SUB1" :T+QEW(C+WD) → L : (J-Y)cosL-(I-X)sinL → Z : ifAbsZ<1E- 6 : thenGoto1 :ElssW+Z → W : Goto 0 : IfEndLbl 1 :0 → Z : Prog "SUB1" : (J-Y)÷sinF → Z 子程序(平面线形数据库) PM-SJifS ≥ 500 (线元起点里程) AndS < 769.256 (线元止点里程):Then19942.837 → U (线元起点 X 坐标): 28343.561 → V (线元起点 Y 坐标):500 → O (线元起点里程):125 ° 16 ° 31 ° → G (线元起点方位角):269.265 → H (线元长度): 10^ ( 45 )→ P (线元起点曲率半径): 10^ ( 45 )→ R (线元终点曲率半径):0 → Q (线元左右偏标志:左负右正): IfEndifS ≥ 769.256 (线元起点里程) AndS < 806.748 (线元止点里程):Then19787.34 → U (线元起点 X 坐标): 28563.378 → V (线元起点 Y 坐标):769.256 → O (线元起点里程):125 ° 16 ° 31 ° → G (线元起点方位角):37.492 → H (线元长度): 10^ ( 45 )→ P (线元起点曲率半径):221.75 → R (线元终点曲率半径): -1 → Q (线元左右偏标志:左负右正): IfEndifS ≥ 806.748 (线元起点里程) AndS < 919.527 (线元止点里程):Then19766.566 → U (线元起点 X 坐标):28594.574 → V (线元起点 Y 坐标):806.748 → O (线元起点里程):120 ° 25 ° 54.07 ° → G (线元起点方位角):112.779 → H (线元长度):221.75 → P (线元起点曲率半径):221.75 → R (线元终点曲率半径): -1 → Q (线元左右偏标志:左负右正): IfEndifS ≥ 919.527 (线元起点里程) AndS < 999.812 (线元止点里程):Then19736.072 → U (线元起点 X 坐标):28701.893 → V (线元起点 Y 坐标):919.527 → O (线元起点里程):91 ° 17 ° 30.63 ° → G (线元起点方位角):80.285 → H (线元长度):221.75 → P (线元起点曲率半径):9579.228 → R (线元终点曲率半径): -1 → Q (线元左右偏标志:左负右正): IfEndifS ≥ 999.812 (线元起点里程):Then19744.038 → U (线元起点 X 坐标):28781.659 → V (线元起点 Y 坐标):999.812 → O (线元起点里程):80 ° 40 ° 50 ° → G (线元起点方位角):100 → H (线元长度): 10^ ( 45 )→ P (线元起点曲率半径): 10^ ( 45 )→ R (线元终点曲率半径):0 → Q (线元左右偏标志:左负右正): IfEnd子程序(竖曲线数据库) SQX-SJifS ≤ 999.812 (竖曲线终点里程): then0.0357 (前坡度:上坡正下坡负)→ E : 0.0227 (后坡度:上坡正下坡负)→ F :600 → R (竖曲线半径):780 → G (变坡点里程):110 → C (变坡点高程): IfEnd子程序(竖曲线计算公式) SQXE-F → J : ifJ > 0 : then-R → R :ElssR→ R : Abs (R*J÷2 )→ T : IfEndifS ≤ G- T : thenG-S → L : C-LE → H : IfEndifS > G- T And S ≤G : thenG-S → L :( S+T-G )²÷2÷R →N :C-LE+N → H : IfEndifS >G And S ≤ G+ T : then S-G → L :( G +T- S )²÷2÷R →N :C+LF+N → H : IfEndifS > G+ T : thenS-G → L :C+LF → H : IfEnd使用说明(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1 ;当线元往右偏时, Q=1 ;当线元为直线时, Q=0 。
[原创] CASIO fx-5800P ZXZFS 直线正反算坐标计算程序原理:采用正余弦定理求待求点垂距进行确定里程和偏距。
公式:tan-1((yb-ya)/(xb-xa)) 、√(xB-xA)2+(yB-yA)2、sinα×D、Q÷tan(α)说明:该程序适用于计算器 CASIO fx-5800P,针对直线正反算设计,正算可算直线中边桩坐标及其斜交、反算可推算直线距线路中心的里程偏距。
1、DK(QD)? 输入起点里程2、X(QD)? 输入起点坐标X3、Y(QD)? 输入起点坐标Y4、FWJ? 输入计算方位角5、J? 输入1为正算、输入2为反算6、JSDK? 输入计算里程主程序名:ZXZFSDeg:Fix 4↙"DK(QD)"?A:"X(QD)"?B:"Y(QD)"?C:"FWJ"?F↙"1=>XY.2=>DK":"J"?W↙If W=1:Then Goto 1:Else If W=2:Then Goto 2:IfEnd↙Lb1 1↙"JSDK"?E:"PJ"?G:"PA"?H↙"X=":B+(E-A) ×cos(F)+G×cos(F+H)→X◢"Y=":C+(E-A) ×sin(F)+G×sin(F+H)→Y◢"ZJD(X)"?S:"ZJD(Y)"?T↙"PJ=":Pol(X-S,Y-T):I→M◢"FWJ=":If J<0:Then J+360→N:Else J→N:N▲DMS◢Goto 1↙Lb1 2↙"X="?K:"Y="?L↙Pol(K-B,L-C):I→D:If J<0:Then J+360→P:Else J→P:IfEnd↙If F<P:Then P-F→O:Else F-P→O:IfEnd↙Sin(O)×D→Q↙"DK=":A+Q÷tan(O)→R◢"PJ=":sin(O)×D→Q:If F<P:Then 1×Q→Q:Else -1×Q→Q◢Goto 2注:1、◢为显示指令。
曲线任意坐标正反算5800pTYQXJS(主程序名)LbI 0:4→Dimz:Cls"1.SZ→XY""2.XY→SZ"?→N:Cls"XO"?U: "YO"?V: "SO"?O:"FO"?G: "LS"?H: "RO"?P:"RN"?R:?Q 1÷P→C:(P-R)÷(2HPR) →D:180÷π→EN=2=>Goto 2LbI 1:Cls:?S:S=0=>Goto 0?Z:Abs(S-O)→WProg"SUB1":Cls"XS=":X◢"YS=":Y◢"FS=":F-90 ►DMS◢Goto 1LbI 2:Cls:?XX=0=>Goto 0?Y:X→I:Y→JProg"SUB2":O+W→S:Cls"S=":S◢"Z=":Z◢Goto 2注:紅色部可以不要,亦可以要,它的作用是將S或X輸入0時,程序會重新由頭開始運行,(即是可以計算下段線元)SUB1(子程序名)0.1739274226→A:0.3260725774→B0.0694318442→K:0.330009482→L1-L→F:1-K→MG+QEKW(C+KWD)→Z[1]G+QELW(C+LWD)→Z[2]G+QEFW(C+FWD)→Z[3]G+QEMW(C+MWD)→Z[4]A×cos(Z[1])→XX+Bcos(Z[2])→XX+Bcos(Z[3])→XX+Acos(Z[4])→XU+WX→XAsin(Z[1])→YY+Bsin(Z[2])→YY+Bsin(Z[3])→YY+Asin(Z[4])→YV+WY→YG+QEW(C+WD)+90→FX+Zcos(F)→XY+Zsin(F)→YSUB2(子程序名)G-90→T(Y-V)cos(T)-(X-U)sin(T)→WAbs(W)→W:0→ZLbI 4:Prog"SUB1"T+QEW(C+WD)→L(J-Y)cos(L)-(I-X)sin(L)→ZIf Abs(Z)<1E-6:Then 0→Z :Prog"SUB1":(J-Y)÷sin(F)→ZElse W+Z→W:Goto 4:IfEnd数据库If S≤终点桩号:Then1→N:。
F x-5800p 常用程序1、坐标反算(FS )?X :?Y ?Y↙↙∟b ∣0:?:?A A :?:?B B ↙Pol(A-X,B-Y):J Pol(A-X,B-Y):J<<0=>J+360J+360→→J ↙“S=S=””:I :I◢◢“T=T=””:J :J►►DMS DMS◢◢Goto 0↙说明说明::X,Y X,Y——基点坐标A,B A,B——测点坐标2、坐标正算(ZS )∟b ∣0:0:??S :?:?T T :?:?A A :?:?B B ↙Rec(S,T)+A Rec(S,T)+A→→X ↙B+J B+J→→Y ↙“X=X=””:X ◢“Y=Y=””:Y :Y◢◢Goto 0↙说明说明::S —距离T —方位角A,B A,B——基点坐标X,Y X,Y——计算坐标3、坐标转换(ZH —H )?N :?:?E E :?:?Q Q ↙∟b ∣0:0:““1.S =>D ”:“2.D =>S ”:?F ↙I f F=1:Then Goto 1:Eles Goto 2:If End End↙↙∟b ∣1:1:??X :?:?Y Y ↙N+X cos cos((Q )—Y sin sin((Q )→U ↙E+X sin sin((Q )+Y cos cos((Q )→V ↙“X1=X1=””:U ◢:“Y1=Y1=””:V ◢Goto 0↙∟b ∣2:?:?X X :?:?Y Y ↙(X —N )cos cos((Q )+(Y —E )sin sin((Q )→U ↙(N —X )sin sin((Q )+(Y —E )cos cos((Q )→V ↙“X2=X2=””:U ◢“Y2=Y2=””:V ◢Goto 0↙说明:N ,E —施工坐标原点大地坐标Q —施工坐标X 轴在轴在大地坐标系大地坐标系大地坐标系中的中的中的方位角方位角X ,Y —需转换坐标F —判断符F=1F=1,施工,施工,施工→→大地,其他,大地大地,其他,大地→→施工4、竖曲线(SQX )?A :?B :?D :?T :?R :?Z ↙If Z ≥1:Then Goto 1:Eles Goto 2:If End End↙↙∟b ∣1:?:?C C :A+A+Abs(Abs(Abs(((B —A ))÷T (C —D )—(C —D )2÷(2R 2R))→H ↙“H=H=””:H ◢Goto 1↙∟b ∣2:?:?C C :A+A+Abs(Abs(Abs(((B —A ))÷T (C —D )+(C —D )2÷(2R 2R))→H ↙“H=H=””:H ◢Goto 2↙说明:说明:AA —起点(终点)高程B —切线交点高程C —需计算点的需计算点的桩号桩号D —起点(终点)桩号T —切线长R —半径H —C 桩号的高程Z —Z ≥1时为凸曲线,其他为凹曲线5、曲线任意里程坐标正反算1.主程序(TYQXJS)"1.SZ =>XY":"2.XY =>SZ"SZ"::?N :1÷P →C :(P-R)(P-R)÷÷(2HPR)→D:180180÷π÷π→E :If N =1:Then Goto 1:Else Goto 2↙Lbl 1:?:?S S :?:?Z Z :Abs(S-O)→W :Prog "SUB1""SUB1"::"XS=""XS="::X ◢"YS=""YS="::Y ◢Goto 1↙Lbl 2:?X :?:?Y Y :X →I :Y →J :Prog "SUB2""SUB2"::O+W →S:"S=""S="::S ◢"Z=""Z="::Z ◢Goto 2↙2.正算子程序(SUB1)0.1739274226→A :0.3260725774→B :0.0694318442→K :0.3300094782→L :1-L →F :1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+ Acos(G+QEMW(C+MWD)))→X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+A sin(G+QEMW(C+MWD)))→Y:G+QEW(C+WD)+90→F:X+ZcosF→X:Y+ZsinF→Y:Return↙3.反算子程序(SUB2)G-90→T:Abs((Y-V)cosT-(X-U)sinT)→W:0→Z:Lbl0:Prog"SUB1":T+QEW(C+WD)→L:(J-Y)cosL-(I-X)sinL→Z:If AbsAbs((Z)<1E-6: Then Goto1:Else W+Z→W:Goto0↙(J-Y)÷÷sinF→Z:Return↙Lbl1:Z=0:Prog"SUB1":(J-Y)三、使用说明1、规定(1)以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。