[精] fx 5800 直线圆曲线坐标正反算程序
fx-5800己优化全线灌通正反算程序

曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序一、程序功能本程序由一个主程序(T-K-X-Y)和几个子程序——正算子程序(SUB1)、反算子程序(SUB2)、数据库(SUB3)构成,可以根据直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
二、源程序增加变量22→DimZ1.主程序(T-K-X-Y)“1.SZ → XY,2.XY → SZ ”:“N”?N:If N=1:Then Goto 1:Else Goto 2: Lbl 1:“S=KO”?S: Prog “SUB3”: Abs(S-O)→W:“Z=L0”? Z:Prog “SUB1”:“XS=”:X→X◢“YS=”:Y→Y◢“FS=”:(F-90) →F:F►DMS◢Prog “SUB4”:Goto 1:Lbl 2:“S=K0”?S:Prog “SUB3”:Abs(S-O) →W:“ X”?X: X→U:“ Y”?Y: Y→V:Prog “SUB2”:“K0=”:(O+W) →S◢“Z=L0”:Z→Z◢Prog “SUB4”:Goto 22. 正算子程序(SUB1)0.1739274226 →G: 0.3260725774→B: 0.0694318442→K:0.3300094782→L: 1-L →F: 1-K→M:I+W(Gcos(A+QEKW(C+KWD))+Bcos(A+QELW(C+LWD))+Bcos(A+QEFW(C+FWD))+Gcos(A+QEMW(C+MWD))) →X:J+W(Gsin(A+QEKW(C+KWD))+Bsin(A+QELW(C+LWD))+Bsin(A+QEFW(C+FWD))+Gsin(A+QEMW(C+MWD))) →Y: A+QEW(C+WD)+90→F: X+ZcosF→X: Y+ZsinF→Y3. 反算子程序(SUB2)A-90 →T: Abs((Y-J)cos(T)-(X-I)sin(T →W: 0→Z:Lbl 0:Prog “SUB1”:T+QEW(C+WD) →L: (V-Y)cos(L)-(U-X)sin(L→Z:If Abs(Z)<10^(-6:Then Goto1:Else W+Z→W:Goto 0: IfEndLbl 1: 0→Z:Prog “SUB1”: (V-Y)÷sinF→Z4. 数据库(SUB3)If S<226100:Then Cls:Stop: IfEndIf S<226255.833:Then 226100→O: 99037.9736→I: 4282.3590→J:201.3266304→A: 1045→P: 1045→R: 253.543→H: 0→Q: Goto 1:IfEnd …………If S>236005.651:Then Cls:Stop: IfEndLbl 1: 1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:5.数据库(SUB4)If S<0: Then Cls:Step: IfEndIf S<65: Then 0→O:0→R:36.2→A:0.025→I:0.02→Q: Goto 1:IfEnd…………If S<3363.225: Then Cls:Stop: IfEndLbl 1:S-O→W: If R=0: Then “H=”:A+WI→H◢Else“H=”:A+WI+W2/2/R→H◢IfEnd:“H1”:H-√(Z2)*Q◢三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
卡西欧5800计算器程序全线正反算

FX5800计算器交点法正反算程序1、主程序程序名:1XY-KMLbI 0:7→DimZ:Norm 2:1→A:"A:X,Y=1,KM,D=2"?A:A=1=>Goto 1:A=2=>Goto 2:LbI 1:LbI A:Prog"QX":90→B:"PJ"?B:B→Z[1]:LbI B:"KM"?Z:Z= -1=>Goto 0:Z=-2=>Goto A: Prog"X1":?D: Prog "Z":I+D×COS(Z[2]+Z[1]→X: J+D×Sin(Z[2]+Z[1]→Y: Fix 3:"X=":Locate 6,4,X:"Y=":Loca te 6,4,Y:◢Goto B:LbI 2:Prog"QX":"KM"?Z:LbI C: Prog"X1": "XO"?X:X=-1=>Goto 0:X=-2=>Goto 2: "Y0"?Y:Prog "ZX": Fix 3:"KM=":Locate 6,4,Z:"D=":Loca te 6,4,D◢Goto C2. 交点法正算子程序(Z)程序名:ZH2÷R÷24-H∧(4)÷2688÷R∧(3)→A:H÷2-H∧(3)÷240÷R2→B:((H2-N2)÷24÷R÷S in(Abs(P))-((H∧(4)-N∧(4))÷2688÷R∧(3))÷Sin(Abs(P→E:(R+A)tan(Abs(P)÷2)+B -E→T:P÷Abs(P→W:0→M:H→C: (R+N2÷R÷24-N∧(4)÷2688÷R∧(3))tan(Abs(P)÷2)+ N÷2-N∧(3)÷240÷R2+E→Z[6]: O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Z[7]:If Z≤O-T:T hen Z-O→S:G→Z[2]:Goto 1: IfEnd: If Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z [2]:A-T→A:G→E:Goto 2:IfEnd:If Z≤Z[7]: Then 180(Z-O+T-0.5H)÷R÷Π→S : A+R (1-Cos(S))→B:H÷2-H∧(3) ÷240÷R2+Rsin(S)→A:R→M:G+WS→Z[2]: A-T→A:G→E :G oto 2: IfEnd:If Z≤Z[7]+N:Then Z[7]+N-Z→S:Z[6]→T :N→H:Prog “HX”:G+P→E:E-WK→Z[2]:T-A→A:C→H:Goto 2:IfEnd:Z-Z[7]-N+Z[6]→S:G+P→Z[2]: LbI 1:U+Scos(Z[2])→I:V+Ssin(Z[2]→J: Return:LbI 2:U+Acos(E)-WBsin(E→I:V+ASin(E)+WBcos(E→J3. 交点法缓和段子程序(HX)程序名:HXS-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4) ÷H∧(4→A:S∧(3) ÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5) ÷H∧(5→B:90S2÷Π÷R÷H→K:RH÷S →M4. 交点法反算子程序(ZX)程序名:ZX0→D:Do:Z+D→Z:Prog“Z”:Pol(X-I,Y-J+.000000001:J-Z[2]→J:Isin(J→S:Icos(J→D: If M≠0:Then Pol(M-WS,D:JMΠ÷180→D:IfEnd: LpWhile Abs(D)>0.001:Z+D→Z:S→D 5.线路选择子程序(线路选择输0时。
5800直线、圆曲线缓和曲线、坐标计算程序

5800直线、圆曲线缓和曲线、坐标计算CASIO fx—5800计算器工程测量与公路测量程序1、坐标正算"X0=″?X:"Y0=″?Y:"I=″?I:"J=″?JX+ICos(J)→U:Y+ISin(J)→V"X=″:U (待求点的X坐标)"Y=″:V (待求点的Y坐标)说明:X0 Y0:已知点坐标I:两点的距离J:方位角2、坐标反算Lbl 0"X1=″?X:"Y1=″?Y:"X2=″?U:"Y2=″?VPol(U-X,V-Y):J<0 J+360→J"I=″:I"J=″:J DMSGOTO 0说明:X1Y1:第一点的坐标,X2Y2第二点的坐标,I:两点的距离,J:方位角3、圆曲线"X0=″?X: "Y0=″?Y:"FWJ=″?D:"QDHAO=″?G: "ZDHAO=″?C: "R=″?R Lbl 1"DQHAO=″?LL<G Or L>C GOTO 2"PY=″?K180(L-G)÷(πR) →E2RSin(0.5E) →FReC(Abs(F),D+0.5E):Cls"X=″:X+I+KCos(D+E+90) →A"Y=″:Y+J+KSin(D+E+90) →BD+E→o:o<0 360+o→0o"FWJ=″:o DMSGoto 1Lbl 2"END″说明:X0Y0:起始点的坐标,FWJ:起始点的方位角,QDHAO:起点里程,ZDHAO 终点里程,R:半径,DQHAO:待求点里程,PY:偏移量4、竖曲线"QZHAO =″?J: "H+B″=?B:"I1=″?C:"I2=″?D:"R=″?R:"T=″?T:((D-C)÷100) ÷Abs((D-C) ÷100)→A:Abs(0.5R(D-C) ÷100)→S"T″:SJ-T→XJ+T→YLbl 0"DQ=″?LIf L<X:Then Goto 1:Else If L>Y:Then Goto 1:If End:If End"GC=″:B+C(L-J) ÷100+A(L-J+T) ÷(2R) →HGoto 0Lbl 1"END″说明:QZHAO:曲中点里程,H+B:曲中点高程,I1:第一坡度,I2:第二坡度,R:半径,T:切线长,DQ:待求点里程。
FX5800缓和加圆曲线坐标正反算(原创)

缓和曲线与圆曲线正反算程序一、正算程序:ZD-ZS※※→X※※→Y※※→N※※→E※※→C※※→D※※→T※※→I※※→R※※→S(本线到中线的距离,向左为负,向右为正)Lbl 1arcCos((N-X)÷√((N-X) 2 +(E-Y) 2 ) )→Aif E>Y:Then A: ELSE 360-A→A:IFENDarcCos((C-N)÷√((C-N) 2 +(D-E) 2 ) )→Uif D>E:Then U: ELSE 360-U→U:IFEND1→KIF A>U:Then K:ELSE K-2→K:IFEND0→MIf K=1 :Then M :ELSE M+1→M:IFENDN+T×(X-N)÷√((N-X)2+(E-Y)2)→CE+T×(Y-E)÷√((N-X)2+(E-Y)2)→DLbl 2“L”?→OO-※※(曲线起点里程)→LL>I=>Goto 5C+√((L~(3)÷6÷R÷I)2+(L-L~(5)÷40÷R2÷I2)2)×COS(A+K×ARCTAN(6RI ÷L2-3×L2÷20÷R÷I)+180×M-90)+S×cos(A-K×L2×180÷2÷R÷I÷3.1415926+90)→V◢D+√((L~(3)÷6÷R÷I)2+(L-L~(5)÷40÷R2÷I2)2)×Sin(A+K×ArcTan(6RI÷L2-3×L2÷20÷R÷I)+180×M-90)+S×sin(A-K×L2×180÷2÷R÷I÷3.1415926+90)→Q◢※※(起算点轨面高程)+(O-※※(起算点里程))×※※(坡比)-※※(轨面高程与坑底高程差)→J◢Lbl 3“XZWY”? →GG=1=>Goto 2G=2=>Goto 4Lbl 4“S”? →Z“H”? →HV+Z×cos(A-K×L2×180÷2÷R÷I÷3.1415926+90)◢Q+Z×sin(A-K×L2×180÷2÷R÷I÷3.1415926+90)◢H+J◢Goto 3Lbl 5R×Sin(90×(2L-I)÷3.1415926÷R)+I÷2-I~(3)÷240÷R2→YK(R×(1-COS(90×(2L-I)÷3.1415926÷R))+I2÷24÷R-I~(4)÷2688÷R~(3)) →X√(X2+Y2)→FA+ArcTan(Y÷X)+M×180-90→UC+F×Cos(U)+S×COS(A-K×180×(2×L-I)÷2÷3.1415926÷R+90)→V◢D+F×Sin(U)+S×Sin(A-K×180×(2×L-I)÷2÷3.1415926÷R+90)→Q◢※※(起算点轨面高程)+(O-※※(起算点里程))×※※(坡比)-※※(轨面高程与坑底高程差)→J◢Lbl 6“XZWY”? →GG=1=>Goto 2G=2=>Goto 7Lbl 7“S”? →Z“H”? →HV+ Z×COS(A-K×180×(2×L-I)÷2÷301415926÷R+90)◢Q+ Z×Sin(A-K×180×(2×L-I)÷2÷301415926÷R+90)◢H+J◢Goto 6二、反算程序:ZD-FS ※※→X※※→Y※※→N※※→E※※→C※※→D※※→T※※→I※※→R※※→S(本线到中线的距离,向左为负,向右为正)※※→W(曲线起点里程)※※→V(圆心N)※※→Q(圆心E)※※→B(HY---N)※※→J(HY---E)arcCos((N-X)÷√((N-X) 2 +(E-Y) 2 ) )→Aif E>Y:Then A: ELSE 360-A→A:IFENDarcCos((C-N)÷√((C-N) 2 +(D-E) 2 ) )→Uif D>E:Then U: ELSE 360-U→U:IFEND1→KIF A>U:Then K:ELSE K-2→K:IFEND0→MIf K=1 :Then M :ELSE M+1→M:IFENDN+T×(X-N)÷√((N-X)2+(E-Y)2)→CE+T×(Y-E)÷√((N-X)2+(E-Y)2)→DLbl 1“N”? →X“E”? →Y“H”? →H1→G:IF D>J:Then G :Else -1→G:IfEndK×G×X→OK×G×((V-B)×Y÷(Q-J)+V-(V-B)×Q÷(Q-J))→FIF O>F:Then O :GOTO 2:IfEndW→O√((X-C)2+(Y-D)2)→G:While G>0.001 :G+O→O:O-※※(曲线起点里程)→LC+√((L~(3)÷6÷R÷I)2+(L-L~(5)÷40÷R2÷I2)2)×COS(A+K×ARCTAN(6RI÷L2-3×L2÷20÷R÷I)+180×M-90)→ND+√((L~(3)÷6÷R÷I)2+(L-L~(5)÷40÷R2÷I2)2)×Sin(A+K×ArcTan(6RI ÷L2-3×L2÷20÷R÷I)+180×M-90)→EA-K×L2×180÷2÷R÷I÷3.1415926+90 ×(N-X)÷√(N-X)2→UarcCos((N-X)÷√((N-X) 2 +(E-Y) 2 ) )→Fif E>Y:Then F: ELSE 360-F→F:IFEND√((X-N)2+(Y-E)2)sin(√(F-U)2)→G:WhileEnd:O+G→O◢O-※※(曲线起点里程)→LC+√((L~(3)÷6÷R÷I)2+(L-L~(5)÷40÷R2÷I2)2)×COS(A+K×ARCTAN(6RI÷L2-3×L2÷20÷R÷I)+180×M-90)+S×cos(A-K×L2×180÷2÷R÷I÷3.1415926+90)→TD+√((L~(3)÷6÷R÷I)2+(L-L~(5)÷40÷R2÷I2)2)×Sin(A+K×ArcTan(6RI÷L2-3×L2÷20÷R÷I)+180×M-90)+S×cos(A-K×L2×180÷2÷R÷I÷3.1415926+90)→Z(X-N)÷√(N-X)2×√((T-X)2+(Z-Y)2)→P◢H-(※※(起算点轨面高程)+(O-※※(起算点里程))×※※(坡比)-※※(轨面高程与坑底高程差))→G◢Lbl 2G- 2.785→G6.93→ZG>=0 => “zy=” :√P2-√(Z2+G2)◢“SX=”:G-√(Z2-P2)◢GOTO 1G<=0: G>=-0.97 =>”ZY=”:√P2-Z◢GOTO 1G<=-0.97:G>=-3.05 =>”ZY=”:√P2-(Z-0.36×(-G-0.97)÷2.08)◢GOTO 1G<=-3.05G>=-3.886 =>”ZY=”:√P2-√(2.912-(1.2+G)2)◢GOTO 1G<-3.886:√P2<=4.83 =>”SX=”: G+(√(15.272-P2)-3.67-Z)◢GOTO 1G<-3.886:√P2>4.83 =>”ZY=”: P-√(15.272-(3.67+Z-G)2)◢GOTO 1Lbl 3arcCos((X-V)÷√((X-V) 2 +(Y-Q) 2 ) )→Uif Y>Q:Then U: ELSE 360-U→U:IFEND3.1415926×R×(A+K×90-U)÷180÷K+I÷2→LL+ W→O◢R×Sin(90×(2L-I)÷3.1415926÷R)+I÷2-I~(3)÷240÷R2→EK(R×(1-COS(90×(2L-I)÷3.1415926÷R))+I2÷24÷R-I~(4)÷2688÷R~(3)) →N √(X2+Y2)→FA+ArcTan(Y÷X)+M×180-90→UC+F×Cos(U)+S×COS(A-K×180×(2×L-I)÷2÷3.1415926÷R+90)→TD+F×Sin(U)+S×Sin(A-K×180×(2×L-I)÷2÷3.1415926÷R+90)→Z(X-N)÷√(N-X)2×√((T-X)2+(Z-Y)2)→P◢H-(※※(起算点轨面高程)+(O-※※(起算点里程))×※※(坡比)-※※(轨面高程与坑底高程差))→G◢LbI 4G- 2.785→G6.93→ZG>=0 => “zy=” :√P2-√(Z2+G2)◢“SX=”:G-√(Z2-P2)◢GOTO 1G<=0: G>=-0.97 =>”ZY=”:√P2-Z◢GOTO 1G<=-0.97:G>=-3.05 =>”ZY=”:√P2-(Z-0.36×(-G-0.97)÷2.08)◢GOTO 1G<=-3.05G>=-3.886 =>”ZY=”:√P2-√(2.912-(1.2+G)2)◢GOTO 1G<-3.886:√P2<=4.83 =>”SX=”: G+(√(15.272-P2)-3.67-Z)◢GOTO 1G<-3.886:√P2>4.83 =>”ZY=”: P-√(15.272-(3.67+Z-G)2)◢GOTO 1。
卡西欧fx-5800 坐标正算程序

卡西欧fx-5800 坐标正算程序“SO”算方位Lbl 0“D”:Pol(X-A,Y-B) →D◢If J≥0:Then J◢Else “J”:J+360◢IfEnd“ZZ”正算直线坐标A+Rec(Abs(P-K),Q) →XB+J→Y“X”:X+Rec(D,Q+N×90) →X◢“Y”:Y+J→Y◢P?所求桩号 A,B:起点x,y K:起点桩号 Q:方位角D:边桩距离 N?左偏“-1”右偏:“+1”X= Y= 所求点坐标“YY”正算圆曲线坐标Q+C×(P-K)÷S×180÷∏→Z“X”:A+C×S×(Sin(Z)-Sin(Q))+Rec(D,Z+N×90) →X◢“Y”:B-C×S×(Cos(Z)-Cos(Q))+J→Y◢P:所求点桩号 A,B:起点x,y K:起点桩号Q:方位角 S:曲线半径 D?边桩距离N?左偏“-1”,右偏“+1”X= y= 所算点坐标 C:线路左转“-1”右转“+1”“H1”正算缓和曲线坐标Abs(P-K) →LT2÷L→HL2×180÷∏÷2÷T2→VQ+C×V→ZL-L∧(3)÷40÷H2+L∧(5)÷3456÷H∧(4)-L∧(7)÷H∧(6)÷599040→EL2÷6÷H- L∧(4)÷336÷H∧(3)+ L∧(6)÷42240÷H∧(5)- L∧(8)÷H∧(7)÷(6×1612800)→FIf C<0:Then-F→F:IfEndA+E×Cos(Q)-F×Sin(Q) →X“X”:X+Rec(D,Z+M×N×90) →X◢B+E×Sin(Q)+F×Cos(Q) →Y“Y”:Y+J◢P?所求点桩号 A,B:起点x,y K:起算点里程桩号Q:前切线方位角 T(是圆曲线要素的A1)=√(根号)缓曲总长×半径C=切线线路方向左转“-1”,右转“+1“M=第一缓曲“+1”,第二缓曲”-1“N:算边桩左偏“-1”,右偏“+1”D:边桩距离坐标正算数据库例子“肇兴隧道右线数据库”Lbl 0“P”?P:“N”?N:“D”?DIf P≥16836.5 And P≤17009.624:Then 66881.803→A:14635.782→B:16836.5→K:280032030.50→Q:902.044→T:1→C: 1→M:Prog“H1”:IfEnd (第一缓曲线)If P≥17009.624 And P≤17529.681:Then 66914.52→A:14465.781→B:17009.624→K:281035049.370→Q:4700→S:Prog“YY”:IfEnd (圆曲线)If P≥17539.681 And 17702.805≥P:Then 67102.343→A:13799.117→B:17702.805→K:108059031.50→Q:902.044→T:-1→C: -1→M:Prog“H1”:IfEnd (第二缓曲线)If P≥17702.805 And P≤19550:Then 67102.343→A:13799.17→B:17702.805→K:288059031.50→Q: Prog“ZZ”:IfEnd (直线)。
FX5800线元积分正反算计算程序(可用)

FX5800线元积分正反算计算程序(桔梗花验证)(非本人原创)H 主程序“C ZX”? →W:“C ZY”? →T↙“NEW=0,Z1 =1” ?Z↙If Z=0: Then “X0=”?A: “Y0=”?B: “C0=”?C: “1/R0=”?D: “1/RI=” ?E: “QDK=”?F: “ZDK=” ?G:Ifend:↙"1.ZS,2.FS" ?→Q↙Q=2=>Goto 2↙Lbl 1 :“DK?=,<0 Stop”?H:H<0=>Stop:“PJ=”?O:“PI=”?L↙Lbl Z:Z=1=>Prog“H1”Z:Z =2=>Prog“H2”↙H- F→X:0.5(E-D)÷(G-F)→N↙C+(XD+NX2)*180÷π→P:P<0=>P+360→P:P>360=>P-360→P↙A+∫(cos(C+(XD+NX2)*180÷π),0,X)+Lcos(P+O)→U↙B+∫(sin(C+(XD+NX2)*180÷π),0,X)+Lsin(P+O)→V↙Q=2=>Goto 4:Cls:Fix 3↙“FWJ=”:P▶DMS◢显示方位角,"XP=":Locate 4,3,U:"YP=": Locate 4,4,V:Pol(U-W,V-T):J<0 => J+360→J:"J=":J▶DMS◢"I=":I◢Norm 2:Cls:Goto 1↙Lbl 2:“XD=,<0,STOP”?R:R<0=>Stop:“YD=”?S↙“DK=”?H :90→O:0→L:Goto Z ↙(H线路范围内的大约里程)Lbl 4:Pol(R-U,S-V):J<0 => J+360→J↙While abs(Icos(J-P))≤0.001:P-J>180=> J+360→J:P-J<-180=> P+360→P:IF P-J>0:then -I→L:else I→L Ifend↙Goto 3: Whileend:H+Icos(J-P)→H:Goto Z↙Lbl 3:Cls:Fix 3↙“KM=”: Locate 4,1,H:“PY=”: Locate 4,2,L◢Norm 2:Cls:Goto 2↙H1(第一条线路数据库子程序)If H<=第一曲线终点桩号:then 第一曲线起点X→A:第一曲线起点Y→B:第一曲线起点方位角→C:起点曲率→D:终点曲率→E:起点桩号→F:终点桩号→G:return:ifendH2(第二条线路数据库子程序)If H<=第一曲线终点桩号:then 第一曲线起点X→A:第一曲线起点Y→B:第一曲线起点方位角→C:起点曲率→D:终点曲率→E:起点桩号→F:终点桩号→G:return:ifend。
卡西欧5800计算器坐标正反算程序
卡西欧5800计算器坐标正反算程序主程序坐标正反算程序名称:ZBZFSLb1 A↙30→Dim Z :"0=ZS,1=FS"?Z ↙If Z=0:Then Goto B:IfEnd↙ (Z=0进入里程点坐标正算)If Z=1:Then Prog"FSLCZ "↙ (Z=1进入反算里程边桩)Lb1 B ↙Prog”ZBZS” ↙子程序反算里程桩名称:FSLCZLb1 1↙"XK="?X:"YK="?Y↙(输入任意测点的X、Y坐标)“K=”?K ↙(试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)Lb1 2↙Prog"SJK ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos(W)-(X-Z[18])*Sin(W))→S↙If S<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3↙K+S→K: Prog"SJK":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z[18])*Sin (W)→Q↙If Q<0.0001 :Then Q→S: Goto 4:Else if Q<S: Then K+Q→K:Goto 2 :Else if Q>S :Then K-Q→K:Goto 2:Ifend:Ifend:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"DP(-Z+Y)=":I◢(偏距)"K=":K+S→K◢(里程)Goto 1↙子程序坐标正算名称:ZBZSLb1 0 ↙“XHS="?G(后视点X):"YHS="?L(后视点Y):"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y):Pol(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":JDMS◢(后视方位角)Lb1 1↙“K=”?K :(输入所需计算里程)Prog"SJK "↙XI : Z[18]↙YI: Z[19] ↙Pol(Z[18]-M,Z[19]-N): J<0=>J+360→J↙“PJ=”?P↙ (输入桩与线路夹角)“PD=”?D↙ (输入桩距中线的距离)Z[18]+D*Cos(T+P) →Z[20] ↙Z[19]+D*Sin(T+P) →Z[21] ↙“X=”: Z[20] ◢ (放样坐标X)“Y=”: Z[21] ◢ (放样坐标Y)Pol(Z[20]-M,Z[21]-N):"D=":I◢(放样距)J<0=>J+360→J:"F=":JDMS◢(放样方位角)Goto 1↙子程序数据库名称:SJKif K<本段曲线终点里程And K≥上段曲线终点里程:Then 本段曲线终点里程→Z[1] : 上段曲线终点里程(第一段曲线输起点的里程)→Z[2] :1→O (注:左偏曲线输入-1→O,右偏曲线输入1→O): 半径→R :曲线偏角→A:第一缓和曲线→Z[6] : 第二缓和曲线→Z[7] : 交点X→B :交点Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : Pr og”JSPB”:Return: Ifend↙if…………Prog”JSPB”:Retur n:Ifend(曲线段分段输入)↙补充直线段输入如下 (只需输线路的最后一段直线数据)if K<本段直线终点里程And K≥本段直线起点里程:Then 本段直线终点里程→Z[3]:终点X→Z[16]:终点Y→Z[17]:方位角→E: Z[16]+ (K- Z [3])*Cos(E)→Z[18]:Z[17]+ (K- Z[3])*Sin(E)→Z[19] : Return:Ifend ↙子程序计算判别名称:JSPBLb1 2 ↙(曲线要素计算)Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙ (M1)Z[7]/2- Z[7]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙ (M2)Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙ (P1)Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →Z[11] ↙ (P2)π*A*R/180+0.5*( Z[6]+ Z[7])→Z[25] ↙ (曲线总长)90* Z[6]/(R*π) →Z[14] ↙ (第一缓和曲线总偏角)90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略)Z[8]+(R+Z[10])Tan(A/2)-(Z[10]-Z[11] )/Sin( A)→Z[12]↙ (切线T1)Z[9]+(R+Z[11])Tan(A/2)+(Z[10]-Z[11] )/Sin (A)→Z[13]↙ (切线T2)B+ Z[12]*Cos (E+180)→ Z[16] ↙ (ZH点X)C+ Z[12]*Sin(E+180)→ Z[17] ↙ (ZH点Y)Z[1]- Z[25]→Z[3] ↙ (ZH点里程)Z[3]+ Z[6]→Z[4] ↙ (HY点里程)Z[1]- Z[7]→Z[5] ↙ (YH点里程)Goto 3 ↙LB1 3 ↙(判断里程点与曲线关系)if K≤Z[3] And K> Z[2] : Then Goto 4 : Ifend ↙if K≤Z[4] And K> Z[3] : Then Goto 5 : Ifend ↙if K≤Z[5] And K> Z[4] : Then Goto 6 : Ifend ↙if K≤Z[1] And K> Z[5] : Then Goto 7 : Ifend ↙Lb1 4 ↙(里程小于直缓点直线独立坐标)K- Z[3] →Z[23] : 0→Z[24] : E→T : Goto 8↙Lb1 5 ↙(第一缓和曲线独立坐标)K- Z[3] →H ↙H-H^5/(40*R^2* Z[6]^2)+H^9/(3456*R^4* Z[6]^4) →Z[23] ↙H^3/(6*R* Z[6])-H^7/(336*R^3* Z[6]^3) →Z[24] ↙90*H^2/( R*π* Z[6]) →T ↙if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙Got o 8 ↙Lb1 6 ↙(圆曲线独立坐标)K- Z[4] →H ↙H*180/( R*π)+ Z[14]→T ↙R*Sin(T)+ Z[8]→Z[23] ↙R*(1-Cos(T))+ Z[10]→Z[24] ↙if O>0 :Then T +E→T : Eles E-T →T : T<0=>360+T→T : Ifend ↙Goto 8 ↙Lb1 7 ↙(第二缓和曲线独立坐标)Z[1] -K →H ↙H-H^5/(40*R^2* Z[7]^2)+H^9/(3456*R^4* Z[7]^4) →U↙H^3/(6*R* Z[7])-H^7/(336*R^3* Z[7]^3) →V ↙90*H^2/( R*π* Z[7]) →T ↙Z[13]Cos(A)+ Z[12]-U*Cos(A)-V*Sin(A)→Z[23] ↙Z[13]*Sin(A)-U*Sin(A)+V*Cos(A)→Z[24] ↙if O>0 :Then F-T→T : T<0=>360+T→T : Else F+T →T : Ifend ↙Goto 8 ↙Lb1 8if O<0 : Then - Z[24]→Z[24] : Ifend ↙Z[16]+Z[23]*Cos(E) -Z[24]*Sin(E)→Z[18] ↙Z[17]+Z[23]*Sin(E)+Z[24]*Cos(E)→Z[19] ↙Return↙此程序大约占计算器2900字节!此程序本人已亲自验算,无误!!子程序反算里程桩名称:FSLCZLb1 1↙"XK="?X:"YK="?Y↙(输入任意测点的X、Y坐标)“K=”?K ↙(试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)Lb1 2↙Prog"SJK ":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos(W)-(X-Z[18])* Sin(W))→S↙If S<0.0001:Then Goto 4:Else Goto 3:Ifend↙Lb1 3↙K+S→K: Prog"SJK":T-90 →W:W<0=>360+W→W:Abs((Y-Z[19])*Cos W-(X-Z [18])*Si n (W)→Q↙If Q<0.0001 :Then Q→S: Goto 4:Else if Q<S: Then K+Q →K: Goto 2 :Else if Q>S :Then K-Q→K:Goto 2:Ifend:Ifen d:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"DP(-Z+Y)=":I◢(偏距)"K=":K+S→K◢(里程)Goto 1↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:------------差个撒样"DP(-Z+Y)=":I◢(偏距)"K=":K+S→K◢(里程)Goto 1↙。
高斯五线元法casio fx5800计算器任意线路坐标正反算
高斯五线元法CASIO FX5800计算器任意线路中边桩正反算程序中国中铁十局集团第二工程有限公司作者:刘岩qq:5343564MAIN主程序、桩号、横距输入程序 1ZS 坐标正算程序 2FS坐标反算程序 3INPUT 实测坐标输入程序 4KEYLOCK锁键程序防止按错键用于指定专用键继续运行的程序 5PRINT 可独立测试能正常运行 6DA T-01曲线要素数据库文件(请改为自己路线的要素)7如正确输入以上程序,运行MAIN,按“1”进行坐标反算,按“2”进行坐标正算。
程序名:MAIN//:里程、横距输入程序://Cls:Norm 17→DimZ"ZH"?G//输入桩号"BZ"?B//输入边桩距离,左负右正"XJYJ"?C//输入斜交右角,如计算垂直线路的边桩则默认输入为90Cπ÷180→WProg"ZS"Prog"PRINT"程序名:ZS 坐标正算计算程序Prog"DAT-01"RadG-M→Q0.5(R-A)÷L→KAQ→IKQ2→J0.0469100770→P:H+IP+JP2→O0.2307653449→P:H+IP+JP2→T0.5→P:H+IP+JP2→D0.7692346551→P:H+IP+JP2→F0.9530899230→P:H+IP+JP2→P0.1184634425→I0.2393143352→J0.2844444444→YN+Q(ICos(O)+JCos(T)+YCos(D)+JCos(F)+ICos(P))→XE+Q(ISin(O)+JSin(T)+YSin(D)+JSin(F)+ISin(P))→YH+AQ+KQ2→FX+BCos(F+W)→XY+BSin(F+W)→Y文件名:FS(坐标反算)Prog"INPUT"0→B:M+L÷2→G:Prog"ZS"LbL S:RadU-X→I:V-Y→JIf I=0 And J=0 :Then Goto A:IfEndPol(I,J)LbL A:Rec(I,J-F)G+I→G:IF Abs(I)>0.0001 :Then Prog"ZS":Goto S:IfEnd:J→B//文件名:INPUT 实测坐标输入程序LbLSNorm 1:ClsX→UY→V"POT-N"?//U输入待求点N坐标"POT-E"? //V输入待求点E坐标Return文件名:KEYLOCK//本程序用于锁定键盘大部分按键,设定时间内无按键则反回默认健。
卡西欧fx-5800P直线圆曲线坐标正反算程序
[精] fx 5800 直线圆曲线坐标正反算程序(2010-07-01 21:50:11)标签:杂谈直线计算程序0→I:0→J:”X 0”?D:”Y0”?E:”X1”?B:”Y1”?C:Pol(B-D,C-E):J→A:If A<0: Then A+360→A:Else A→A:IfEnd:Lbl 0:?O:?S:If O≠0:Then Goto 1:IfEnd: D+Scos(A) →X:”X=”:X◢E+Ssin(A) →Y:”Y=”:Y◢Goto 0:Lbl 1:D+Scos(A)+Ocos(A+90) →X:”X=”:X◢E+Ssin(A)+Osin(A+90) →Y:”Y=”:Y◢Goto 0输入程序时注意区别字母O与数字0程序运行时符号说明X0? Y0?分别输入直线起点的XY坐标值X1? Y1?分别输入直线终点的XY坐标值O? 输入边桩与中桩的距离(左边桩为负值,右边桩为正值),如计算中桩坐标输入0S? 输入所求点到直线起点的距离圆曲线计算程序0→I:0→J: ”X0”?C:”Y0”?D:”X1”?E:”Y1”?F:?R:”L:-1 R:1”?N:”ZY”?W:Lbl 0:”LN”?T:T-W→O:Pol(E-C,F-D):I→S:J→A: If A<0:Then A+360→A:Else A→A:IfEnd: sin-1(S÷(2R)) →K:2∏RK÷180→L:180O÷(2∏R) →G:(2R)sin(G)→H:C+Hcos(A-KN+GN) →X:”X=”:X◢D+Hsin(A-KN+GN) →Y:”Y=”:Y◢R-0.5√(4R2-H2) →Q:”Q=”:Q◢“S=”?V:If V=0:Then Goto 0:IfEnd:”L:-90 R:90”?U:X+Vcos(A-KN+2GN+U) →X:”X=”:X◢Y+Vsin(A-KN+2GN+U) →Y:”Y=”:Y◢Goto 0输入程序时注意区别字母O与数字0程序运行时符号说明X0? Y0?分别输入直线起点的XY坐标值X1? Y1?分别输入直线终点的XY坐标值R? 输入圆曲线半径L:-1 R:1?圆曲线向左转弯时输入-1,向右转弯时输入1ZY? 输入起点桩号LN? 输入所求点桩号(按下exe键后显示中桩坐标)S? 输入所要求的边桩与中桩的距离L:-90 R:90要求左边边桩输入-90,右边边桩输入90(按下exe键后显示边桩坐标)。
FX5800P计算器坐标正反算程序
(以下程序是专业人士编写,本店铺不对程序负责,仅供您参考使用。
)卡西欧fx5800p计算器坐标正反算程序一、程序功能本程序由 6 个主程序、 5 个次子程序及 5 个参数子程序组成。
主要用于公路测量中坐标正反算,设计任意点高程及横坡计算 , 桥涵放样,路基开挖口及填方坡脚线放样。
程序坐标计算适应于任何线型 .二、源程序1. 主程序 1 :一般放样反算程序(① 正算坐标、放样点至置仪点方位角及距离;② 反算桩号及距中距离 )程序名 :1ZD-XYLb1 0:Norm 2F=1 : ( 正反算判别, F=1 正算, F=2 反算 , 也可以改 F 前加?,改 F 为变量 )Z[1]=90 (与路线右边夹角)Prog " THB ": F=1=>Goto 1:F=2=>Goto 2Lb1 1: F ix 3: "X = ": Locate 6,4, X◢"Y=": Locate 6,4, Y◢P rog "3JS”:Goto 0:Lb1 2:Fix 3: "KM=": Locate 6,4, Z◢"D=": Locate 6,4, D◢G oto 02.主程序2:高程序横坡程序 ( 设计任意点高程及横坡 )程序名: 2GCLbI 0:Norm 2“KM”?Z:?D:Prog”H”:Fix 3:” H=”:Locate 6,4,H◢“ I=”: Locate 6,4,I◢Goto 03. 主程序 3 :极坐放样计算程序 ( 计算放样点至置仪点方位角及距离 )程序名: 3JSX : Y :1268 .123→K( 置仪点 X 坐标 )2243 .545→L (置仪点 Y 坐标,都是手工输入 , 也可以建导线点数据库子程序 , 个人认为太麻烦)Y-L→E : X-K→F : Pol(F,E):IF J<0:ThenJ+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:( 不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢ 来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢( 不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢ 来直接显示 )Fix 3:” S=”:Locate 6,4,I◢4 .主程序 4 :涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序 3 中输入置仪点坐标后计算放样点至置仪点方位角及距离 )程序名: 4JH-XYLbI 0:Norm 290→Z[1]( 涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量 )1→F:Prog”THB”:?L:Z[2]-Z[1] →E:X+Lcos(E) →X:Y+Lsin(E) →Y:Fix 3: "X = ": Locate 6,4, X◢"Y=": Locate 6,4, Y◢P rog "3JS”:Goto 0:5 .主程序 5: 路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名: 5FBXLbI 0:Norm 2: 18→DimZ:2→F:90→Z[1]:Prog“THB”:Z:D:”M0”?M:M→Z[4]:D→Z[3]:Prog”6GD”:L→Z[6]:If D<0:Then 0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEndLbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If Z[5]<0:Then –z[5]→G:Goto W:Else Z[5] →G:Goto T:LbI W:Prog “W0”:Z[10]+Z[11] →A: If G>A:Then Goto 1:Else IfG>Z[10]:Then Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:Goto Z: LbI 2:L+Z[12]+Z[13]+(G-Z[10])×Z[8]+Z[10]×Z[7]:G oto Z:LbI 3:L+Z[12]+G×Z[7]:Goto z:LbI T:L+0.5→N:If G>Z[17]:Then(N+Z[18]+(G-Z[17])×Z[16]+Z[17]×Z[15])→S:Goto Z:Else(N+G×Z[15])→S:Goto z:LbI Z:Z[3]→D:Fix 2:Abs(D)-S→T:” L0=”:L Locate 6,4,T◢"KM=": Locate 6,4, Z◢"D=": Locate 6,4, D◢“ TW=”: Locate 6,4,Z[5]◢Goto 06 .主程序 6 :路基标准半幅宽度计算程序 ( 对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至 L)程序名: 6GDProg “G0”Z-C→E:(B-A)×E/S+A→L:L:7 .坐标计算次程序(THB)程序名: THB18→DimZ :"KM" ?Z : Prog "X0"1÷P→ C: (P-R)÷(2HPR) → S:180÷π→ E:F =1=>Goto 1 :F=2=>Goto 2←┘Lbl 1 : ? D: Abs( Z-O) →W : Prog " A " : X :Y:G oto 3 LbI 2: X:Y:X→I :Y→J : Prog "B":O+W→Z :D→ D:G oto 3LbI 3:IF F=1 Then X:Y: Else Z:D8. 正算子程序 ( A )程序名: A0.25→A :0.52→B :0.44→N 0.0→K :0.49→L :0.5→M :U+W(Acos(G+QEKW(C+KW S ))+Bcos(G+QELW(C+LW S ))+Ncos(G+QEMW(C+MWS ))+Bcos(G+QE(1-L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS))) →X :V+W(Asin(G+QEKW(C+KW S ))+Bsin(G+QELW(C+LWS ))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W (C+(1-K)W S))) →Y :G+QEW(C+W S )+ Z[1]→ Z[2]: X+ D cos (Z[2])→ X: Y+ D sin (Z[2])→ Y9. 反算子程序 ( B )程序名: BG-90→ T: Abs((Y-V)cos(T)-(X-U)sin(T)) → W:0→ D: Lbl 0 : Prog " A " : T+QEW(C+W S) → L: (J-Y)cos(L)-(I-X)sin(L)→ D: IF Abs( D )<0.01:Then Goto1 : Else W+ D→W:Goto 0←┘Lbl 1:0→D : Prog " A " : (J-Y)÷sin( Z[2]) →D:10 .高程计算子程序( H )程序名: HProg “S0”:R:T:C:G:I:C-T→F:Z-F→L:C+T→E:G-TI→Q:If T=O:ThenQ+LI→H:Goto 0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:ThenQ+LI+L2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto I:LbI I:H:I: 11. 高程超高计算程序( I )程序名: IProg”I0”:W=1=> Goto 0:W=2=>Goto 1:LbI 0:If L=0:Then Abs(D)×M→V:Goto 2:ElseAbs(D)×((N-M)×(Z-C)÷L+M)→V:Goto 2:IfEnd:LbI 1:If L=0:Then Abs(D)×M→V:Goto 2:ElseAbs(D)×(((3((Z-C)÷L)2-2((Z-C)÷L)∧(3))×(N-M))+M)→V:Goto 2:IfEnd: LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V:12 .数据子程序 ( 附后示例 )① 程序名: X0 (坐标计算要素程序)If Z≥25900 And Z≤26615.555:Then25900→O:11587.421→U:1847.983→V:101 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[精] fx 5800 直线圆曲线坐标正反算程序
直线计算程序
0→I:0→J:”X 0”?D:”Y0”?E:”X1”?B:”Y1”?C:Pol(B-D,C-E):J→A:If A<0: Then A+360→A:Else A→A:IfEnd:Lbl 0:?O:?S:If O≠0:Then Goto 1:IfEnd: D+Scos(A) →X:”X=”:X◢
E+Ssin(A) →Y:”Y=”:Y◢
Goto 0:Lbl 1:D+Scos(A)+Ocos(A+90) →X:”X=”:X◢
E+Ssin(A)+Osin(A+90) →Y:”Y=”:Y◢
Goto 0
输入程序时注意区别字母O与数字0
程序运行时符号说明
X0? Y0?分别输入直线起点的XY坐标值
X1? Y1?分别输入直线终点的XY坐标值
O? 输入边桩与中桩的距离(左边桩为负值,右边桩为正值),如计算中桩坐标输入0
S? 输入所求点到直线起点的距离
圆曲线计算程序
0→I:0→J: ”X0”?C:”Y0”?D:”X1”?E:”Y1”?F:?R:”L:-1 R:1”?N:”ZY”?W:Lbl 0:”LN”?T:
T-W→O:Pol(E-C,F-D):I→S:J→A: If A<0:Then A+360→A:Else A→A:IfEnd: sin-1(S÷(2R)) →K:2∏RK÷180→L:180O÷(2∏R) →G:(2R)sin(G)
→H:C+Hcos(A-KN+GN) →X:”X=”:X◢
D+Hsin(A-KN+GN) →Y:”Y=”:Y◢
R-0.5√(4R2-H2) →Q:”Q=”:Q◢
“S=”?V:If V=0:Then Goto0:IfEnd:”L:-90 R:90”?U:X+Vcos(A-KN+2GN+U) →X:”X=”:X◢
Y+Vsin(A-KN+2GN+U) →Y:”Y=”:Y◢
Goto 0
输入程序时注意区别字母O与数字0
程序运行时符号说明
X0? Y0?分别输入直线起点的XY坐标值
X1? Y1?分别输入直线终点的XY坐标值
R? 输入圆曲线半径
L:-1 R:1?圆曲线向左转弯时输入-1,向右转弯时输入1
ZY? 输入起点桩号
LN? 输入所求点桩号(按下exe键后显示中桩坐标)
S? 输入所要求的边桩与中桩的距离
L:-90 R:90要求左边边桩输入-90,右边边桩输入90(按下exe键后显示边桩坐标)。