卡西欧5800计算器坐标正反算程序

合集下载

卡西欧5800计算器坐标正反算程序

卡西欧5800计算器坐标正反算程序

卡西欧5800计算器坐标正反算程序讲你个讲3位粉丝1楼主程序坐标正反算程序名称: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”:Return: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)2009-12-31 20:08回复2楼π*A*R/180+0.5*( Z[6]+ Z[7])→Z[25] ↙ (曲线总长)90* Z[6]/(R*π) →Z[14] ↙ (第一缓和曲线总偏角)讲你个讲3位粉丝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 ↙Goto 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字节!2009-12-31 20:08回复125.77.14.* 3楼此程序本人已亲自验算,无误!!2010-1-1 08:15回复124.31.192.* 4楼子程序反算里程桩名称: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: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↙2010-1-16 19:38回复mmmmmm085楼反算还是不太好啊2010-3-8 08:41回复116.115.217.* 6楼虽然字节占得多了些,不过挺实用的。

卡西欧5800多功能实用坐标正反算小程序(附后方交会程序)

卡西欧5800多功能实用坐标正反算小程序(附后方交会程序)
说明:第一个照准点坐标(XA , YA),平距为D1,第二个照准点坐标(XB , YB),平距为D2 ,第一点,第二点及测站点如果是顺时针方向排列Q = 1,逆时针Q =-1。(XP , YP)为待求点的坐标。
Goto0:
Lbl3:Cls:”X1=”?A:”Y1=”?B:?F: ”X2=”?X:”Y2=”?Y:
(X-A)cos(F)+(Y-B)sin(F)→I:
(Y-B)cos(F)-(X-A)sin(F)→Z:
Cls:“L=”: “Z=”:Locate4,1,I:Locate 4,2,Z◢
Goto0
注:程序中的“=>”是一个双箭号, 按FUNCTION选3下翻两页选3 即可输入。方Biblioteka 角L距离Z
偏距
R
斜交偏距的转角(顺时针为正数,正交输入0)
2程序名:HFJH(距离后方交会)
LBI 1 :〝XA〞?A :〝YA〞?B :〝XB〞?C :〝YB〞?D :〝D1〞?E :〝D2〞?F :?Q : 0→J : POL(C-A , D-B)→G : J+Q Cos-1((GG+EE-FF)÷(2GE))→H :〝XP=〞: A+E Cos(H)→X▲〝YP=〞: B+E Sin(H)→Y▲Goto1
显示及操作说明:
显示
功能
1.XY→LF
2.LF→XY
3.XYF→LZ
1.输入两点坐标计算距离与方位角
2.输入起点坐标及方位角、距离、偏距、偏距的转角
3.输入起点坐标及方位角,输入实测坐标,计算实测点与起点的垂直距离和垂直偏距
显示
输入及显示说明
X1、Y1
第一点(起点)坐标
X2、Y2

卡西欧5800坐标正反算万能程序

卡西欧5800坐标正反算万能程序

CASIO5800计算器程序曲线任意里程中边桩坐标正反算(CASIO fx-4800P计算器)程序一、程序功能本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

另外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲线任意里程中边桩坐标进行正反算。

本程序也可以CASIO fx-5800P计算器计算器上运行。

二、源程序1.主程序(TYQXJS)"1.SZ => XY":"2.XY => SZ":?N:"X0"? U:"Y0"? V:"S0"? O:"F0"? G:"LS"? H:"R0"? P:"RN"? R:?Q←┘1÷P-> C:(P-R)÷(2HPR) -> D:180÷π->EIf N=1:Then Goto1:Else Goto 2:IfEndLbl 1:?S:?Z:Abs(S-O) -> W:Prog "SUB1":"XS":X◢"YS":Y◢Goto 1←┘Lbl 2:?X:?Y:X-> I:Y->J:Prog "SUB2":"S":O+W-> S◢"Z":Z◢Goto 22. 正算子程序(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+K WD))+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-> Y3. 反算子程序(SUB2)G-90-> T:Abs((Y-V)cosT-(X-U)sinT) -> W :0-> Z:Lbl 0:Prog "SUB1":T+QEW(C+WD) ->L:(J-Y)cosL-(I-X)sinL-> Z:If Abs(Z) <0.0000001:Then Goto1:Else W+Z ->W:Goto 0:IfEndLbl 1:0 ->Z:Prog "SUB1":(J-Y)÷sinF-> Z三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=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=″?RLbl 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:待求点里程。

卡西欧5800正反算程序

卡西欧5800正反算程序

1.主程序(1-ZB ZFS)Deg:Fix 6Lbl 9:”I”:”2.YOU JIN”:”MI MA =”?C: Goto 1↙”Lbl 4:"3.ZH =>BG":”1.ZH =>XY”2.XY =>ZH ":”3.ZH =>BG 4.TF =>JS ”:"N="?N↙If N =3;Then Prog “BG JS 20M”: IfEnd↙If N =4: Then Prog “4-TFJS”; IfEnd↙If N ≥5: Then Cls:Stop; IfEnd↙Lbl 9:”ZH=”?S:Prog “1.1-ZFS”:If N=1:Then Goto3:IfEnd↙If N=2:Then Goto2:IfEnd↙Lbl3:”Z=”?Z:”J=”?J:Abs(S-O)→W:Prog”1.2-ZFS”:X+Zcos(F +J)→X:Y+Zsin(F+J) →Y↙If Z=0(带下划线的0为数字0):Then “X=”:X◢"Y=":Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙If Z=1: Then”(Y)X=”: X◢“(Y)Y=”:Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙If Z=-1: Then”(Z)X=”: X◢“(Z)Y=”:Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙If Z>1: Then”(Y)X=”: X◢“(Y)Y=”:Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙If Z<1: Then”(Z)X=”: X◢“(Z)Y=”:Y◢F-90→F:“F WJ=”:F▼DMS◢(5800里面的度分秒的)Prog “123”:“BG =>Z”:D◢Goto4: IfEnd↙Lbl 2:“(Q)X =”?X:“(Q)Y=” ?Y:X →I:Y →J: Prog"1.3-ZFS":O+W→S:“(SQ)ZH=”:S◢“(SQ)Z=”:Z◢Goto 4↙Lbl 1:If C=1989:Then Goto 4:0→C:Else Stop:IfEnd↙(密码符号段把原来的密码调到后面去了 )2. 正算子程序(1.2-ZFS )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→F3. 反算子程序(1.3-ZFS)G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T)) →W:0→Z:Lbl 0:Prog "1.2-ZFS":T+QEW(C+WD)→L:(J-Y)cos(L)-(I-X)sin(L)→Z:If Abs(Z)< -6:Then Goto1: Else W+Z→W:Goto 0↙Lb1 1:0→Z:Prog"1.2-ZFS":(J-Y)÷sin (F)→Z↙4. 数据库子程序(1.1-ZFS)If S<***:Then Cls:Stop:IfEnd(全线路的起点里程桩号如:If S<1497534.054:Then Cls:Stop:IfEnd小于1497534.054的全部失败)If S〉*****:Then Cls:Stop:IfEnd↙(同上)If S≦***(线元终点里程):Then***→U(线元起点X):***→V(线元起点Y): ***→O(线元起点里程):***→G(线元起点方位角): ***→H(线元起点至终点长度):***→P(线元起点曲率半径,在这里声明下,如果是直线段的话输1.×10+45就是输1. +45):***→R(线元终点曲率半径同上): 0或1、-1→Q:Goto 1 :IfEnd ↙If S≦……………………………………………:Goto 1 :IfEnd ↙………………[注意:输入方法:ZH-HY(ZH点注意P输入1.×10+45就是输1.+45,HY R按照曲线要素半径),HY-YH(P和R都按照曲线要素输入半径),YH-HZ(YH P按照曲线要素半径,R输1.×10+45),HZ-ZH(P和R 都输1.×10+45) Q为转角值看曲线上是左转角-1还是右转角1HZ-ZH Q为0]最后结尾记得一定要输入Lbl 1:1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:Return↙5.BG JS 20M (子程序)Deg; Fix3↙Lbl1:”ZH=”?:Prog“BG SJK”:”Z=”?Z↙If Z=0:Then A→D:”(0)BG =>Z”:D◢Goto1: IfEnd↙If Z=1:Then A→D:”(Y)BG =>Z”:D◢Goto1: IfEnd↙If Z=-1:Then A→D:”(Z)BG =>Z”:D◢Goto1: IfEnd↙If Z>1:Then A+(Z-1)(C/100)→D:”(Y)BG =>Z”:D◢Goto1: IfEnd↙If Z<-1:Then A+(-Z-1)(-B/100)→D:”(Z)BG =>Z”:D◢Goto1: IfEnd↙6.BG SJK(标高数据库)If S =K: Then H→A:i(Z)→B: i(Y)→C: IfEnd↙注:K 为桩号里程,H为中桩高程,i(Z)为左横坡,i(Y)为右横坡。

卡西欧5800测量计算方法(正反算)

卡西欧5800测量计算方法(正反算)

5800全线路坐标正反算主程序ZBJSLbl 6:"1.SZ→XY":"2.XY→SZ":?S:?N:Prog“SUB0”1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:N=1 =>Goto 1: Goto 2Lbl 1:?Z: Abs(S-O)→W: Prog"SUB1":"XS=":X◢"YS=":Y◢Goto 6Lbl 2?X:?Y:X→I:Y→J:Prog"SUB2":O+W→S:Cls:"S=":S◢"Z=":Z◢Goto 6正算子程序SUB10.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+F WD))+Asin(G+QEMW(C+MWD))) →Y:G+QEW(C+WD)+90→F:X+Zcos(F)→X:Y+Zsin(F)→Y反算子程序SUB2G-90→T(Y-V)cosT-(X-U)sin(T) →WAbs(W)→W:0→ZLbl6:Prog "SUB1"T+QEW(C+WD) →L:(J-Y)cos(L)-(I-X)sin(L)→ZIF Abs(Z)<0.001:Then0→Z:Prog "SUB1":(J-Y)÷sin(F)→Z:Else W+Z→W:Goto6:IfEnd数据库子程序SUB0Goto 1(线元可输入多条,分离式可在前多加一位,匝道一样。

卡西欧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计算器坐标正反算程序M = (1.0/Re-1.0/Rs)/Ls;x=∫{cos(Ta + L/Rs + 0.5*M *L*L),0,L};y=∫{sin(Ta +L/Rs + 0.5*M *L*L),0,L};a(i)= Ta +L/Rs + 0.5*M *L*LRs:缓和曲线起点半径Re:缓和曲线止点半径Rs,Re (NE坐标系下,右偏为正,左偏为负)Ta:缓和曲线起点的真北方位角Ls:不完整缓和曲线长度。

此公式为缓和曲线在坐标系下任意位置的通用积分公式,能完全适应缓和曲线左偏、右偏、Rs >Re 、Rs <="">Fx-5800计算机程序QXJS-000 主程序Lbl 4:“1.SZ=>NE”:“2.NE=>SZ”:?Q:?S:Prog“QXJS-SUB0”↙Lbl 0:Q=1 => Goto1:Q=2 => Goto2:↙Lbl 1:?Z:?G:Prog“QXJS-SUB1”:“N=”:N◢“E=”:E◢“F=”:F◢Goto4↙Lbl 2: “N=”:?B: “E=”:?C:B→N: C→E:Prog“QXJS-SUB2”: “S=”:S◢: “Z=”:Z◢: Goto4↙QXJS-SUB0 数据库子程序Goto1↙同时保存多个曲线时的指针Lbl 1IF S<***(线元终点里程):Then***→A(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→L(线元起点至终点长度): Return:IfEnd↙IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R:***→L: Return:IfEnd↙………………………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。

卡西欧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 (直线)。

CASIO fx-5800计算器测量坐标程序

主程序坐标正反算程序名称:001XYLB1 A↙Cls : Fix 4 : 30→Dim Z :"v=1,v=0"?Z ↙If Z=1:Then Goto B:IfEnd↙(Z=1进入里程点坐标正算)If Z=0:Then Prog"FSLCBZ ": Goto A:IfEnd↙(Z=0进入反算里程边桩)Lb1 B ↙“K=”?K :(计算里程)Prog"SJK1 ":Prog”ZBFY” :Goto A↙子程序数据库 SJK1IF 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 : Prog”XLZBJSCX”:Return: IFEND↙IF…………Prog”XLZBJSCX”:Return: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] :E →T:Return:IFEND子程序坐标正算,名称:XLZBJSCXLB1 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 : ELSE E-T →T : T<0=>360+T→T : IFEND ↙GOTO 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 : ELSE 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*S IN 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 ↙LLb1 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↙子程序反算里程边桩,名称:FSLCBZLb1 1↙"POINT=X"?X:" POINT=Y"?Y↙(输入任意测点的XY坐标):“K=”?K (试算里程,任意输入标段内里程点即可,也可以输入大致的估算里程加快速度)↙Lb1 2↙Prog"SJK1 ":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"SJK1":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]:"W(-Z,Y+)=":I◢(偏距)(由于该程序不能准确判断边桩左右方向,暂作修改,取消左右边判定)"K=":K+S→K◢(里程)Return↙子程序坐标放样:ZBFYLB1 0 ↙"P(N)="?M:"P(E)="?N ↙“a=”?P◢(输入边桩与线路夹角,左-右+)“W=”?D◢(输入边桩距)Z[18]+D*COS(T+P) →Z[20] ↙Z[19]+D*SIN(T+P) →Z[21] ↙“XP=”: Z[20] ◢(边桩X)“YP=”: Z[21] ◢(边桩Y)Pol(Z[20]-M,Z[21]-N):"HD=":I◢(边桩放样距)J<0=>J+360→J:"HAR=":J→DMS◢(边桩放样方位角)Return↙直线短链要将该直线分成二条直线来对待编制数据库文件即可,曲线长链要单独建判定语句子程序并然后编制二个数据库(按来向里程和去向里程分别推出曲线起终点里程,以此编制曲线段的数据库)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

M = (1.0/Re-1.0/Rs)/Ls;
x=∫{cos(Ta + L/Rs + 0.5*M *L*L),0,L};
y=∫{sin(Ta +L/Rs + 0.5*M *L*L),0,L};
a(i)= Ta +L/Rs + 0.5*M *L*L
Rs:缓和曲线起点半径
Re:缓和曲线止点半径
Rs,Re (NE坐标系下,右偏为正,左偏为负)
Ta:缓和曲线起点的真北方位角
Ls:不完整缓和曲线长度。

此公式为缓和曲线在坐标系下任意位置的通用积分公式,能完全适应缓和曲线左偏、右偏、Rs >Re 、Rs <Re 等各种情况,不必先凑成完整缓和曲线,降低算法的复杂程度。

虽然此公式是由缓和曲线推导出来,也可和于直线与圆曲线,可降低计算机编程的复杂程度。

Fx-5800计算机程序
QXJS-000 主程序
Lbl 4:“1.SZ=>NE”:“2.NE=>SZ”:?Q:?S:Prog“QXJS-SUB0”↙
Lbl 0:Q=1 => Goto1:Q=2 => Goto2:↙
Lbl 1:?Z:?G:Prog“QXJS-SUB1”:“N=”:N◢“E=”:E◢“F=”:F◢Goto4↙
Lbl 2: “N=”:?B: “E=”:?C:B→N: C→E:Prog“QXJS-SUB2”: “S=”:S◢: “Z=”:Z◢: Goto4↙
QXJS-SUB0 数据库子程序
Goto1↙同时保存多个曲线时的指针
Lbl 1
IF S<***(线元终点里程):Then***→A(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→L(线元起点至终点长度): Return:IfEnd↙
IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R: ***→L: Return:IfEnd↙………………………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。

QXJS-SUB1 正算子程序
0.5(1÷R-1÷P)÷L→D:S-O→X↙
U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙
V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙
A+(X÷P+DX2)×180÷π→F↙
N+Zcos(F+G) →N:E+Zsin(F+G) →E
QXJS-SUB2 反算子程序
Lbl 1:0→Z:1→Q:Prog“QXJS-SUB0”: Prog“QXJS-SUB1”↙
Pol(N-B+10^(-46), E-C+10^(-46)):Isin(F-G-J) →W:S+W→S↙
Abs(W)>0.0001 => Goto1↙
Lbl 2: 0→Z:Prog“QXJS-SUB1”:(C-E) ÷sin(F+G) →Z
三、使用说明
1、规定
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当曲线半径在左时,P、R取负值,当曲线半径在右时,P、R取正值,当曲线半径为无穷大(即直线)时,P、R以10的45次代替。

(2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右
侧时,Z取正值。

(3) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。

止点与直线相接时,曲率半径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

2、输入与显示说明
输入部分:
1. SZ => XY
2. XY = > SZ
Q ? 选择计算方式,输入1表示进行由里程、边距计算坐标;输入2表示由坐标反算里程和边距。

相关文档
最新文档