卡西欧FX5800线路曲线坐标计算程序
- 格式:doc
- 大小:92.00 KB
- 文档页数:3
PQX(5800平曲线程序) 算左、中、右任意角度及结构物坐标1、Lb1 0:Deg:Prog“A”2、E-D→J3、Arg (cos(J)+ i sin(J))→J4、Abs (J)÷J→H5、S 2÷(24R)-S4÷(2268R3)程序中有两个括弧+ i(S÷2-S3÷(240R2 ))→P6、JH÷2→M7、90÷(Rπ) →N8、(R+ReP (P))tan(M)+ImP (P)→T9、M÷N+S →L10、C-T →U11、A-T(cos(D)+ i sin(D))→B12、If K<U:Then C-K→I:0→F:A-I(cos(D)+i sin(D))→X:Goto1:Else IfK<U+S:Then K-U→W:Goto2:Else If K<U+L-S:Then GotoA:Else If K<U+L:Then U+L-K →W:Goto2:Else GotoB :IfEnd: IfEnd: IfEnd: IfEnd13、Lbl 2:NW 2÷S→F:W-W5÷(40R2S2)+W9÷(3456R6S6)程序中有两个括弧+ i(W3÷(6RS)-W 7÷(336R4S4)程序中有两个括弧→I: If K<U+S:Then Goto3:Else GOto4: IfEnd14、Lbl 3:B+Abs(I)(cos(D+H Arg(I))+ i sin(D+H Arg(I))→X:Goto115、Lbl A:K-U-S→W:2NW+NS→F:R sin(F)+Imp (P)+i(R-R cos(F)+Rep (P)) →I:Goto316、Lbl B:K-U-L→W: 0→F:A+(W+T)(cos(E)+ i sin(E))→X:E→D:Goto117、Lbl4:E-HArg(I)→V:E→D:-H→H:A+T(cos(E)+i sin(E))-Abs(I)(cos(V)+i sin(V))→X:Goto118、Lbl 1:D+HF+Z→Q:“X+Y i=”:X+G(cos(Q)+i sin(Q))+O(cos(Q-Y)+i sin(Q-Y))→X ▲19、Goto 0A(数据库)PQX子程序1、“DK”?K: “L-R”?G: “XJ”?Z:? O:?Y2、If K<141216.781(第二曲线起点):Then 1300(半径) →R: 165 (缓和曲线长) →S:73688.363+61082.739i(交点坐标X+Y i) →A: 140083.413(交点桩号)→C: 297 51 48.67(与前一交点方位角)→D: 236 24 44.84(与后一交点方位角) →E: Return:If End例题:1、”DK”?K:”L-R”?G:”XJ”?Z:O:?Y2、If K<424.235:Then 1000→R:120→S:43812.504+48756.851i→A:-33.942→C:103°3°30°→D:91°8°38°→E:Return:IfEnd3、If K<1663.769:Then 1000→R:120→S:43797.960+49485.331i→A:693.821→C:91°8°38°→D:114°48°17°→E:Return:IfEnd4、If K<3972.554:Then 2000→R: 0→S:43277.777+50610.861i→A:1927.535→C:114°48°17°→D:99°46°44°→E:Return:IfEnd5、If K<6129.653:Then 3000→R:0→S:42846.791+53111.511i→A:4462.027→C:99°46°44°→D:118°18°43°→E:Return:IfEnd6、If K<7223.231:Then 1000→R:120→S:41916.431+54838.510i→A:6415.133→C:118°18°43°→D:80°12°52°→E:Return:IfEndSQX(5800竖曲线程序)1、Lbl 0:Prog“B”2、(B-C)R÷200→T3、If K<J-T:Then H-0.01B(J-K) →X:Else If K<J+T:Then K-J+T→D:H-0.01B(T-D)-D2÷(2R) →X:ElseH+0.01C(K-J) →X:IfEnd:IfEnd:4、X-0→X:Prog“Z”:“Z+Xi=”:X+Z+Xi→Z▲“Y=”:X+Y→Y▲4、Goto 0B(数据库)1、“DK”?K:If K≦140815(下一个竖曲线起点):Then -1000(半径凸 +,凹 -)→R:-2.2(前一纵坡坡度) →B:2.9(后一纵坡坡度)→C: 140200(边坡点桩号)→J:219.755(边坡点高程)→H: Return:IfEnd例子:“DK”?K:If K≦2241.25:Then 8000→R: -0.4 →B: -2→C: 1920→J:31→H: Return:IfEnd If K≦2857:Then-5000→R: -2→B:0.35→C: 2300→J:23.4→H: Return:IfEndIf K≦2939.44:Then18000→R: 0.35→B:-0.35→C: 2650→J:24.625→H: Return:IfEnd If K≦3296.165:Then-10000→R: -0.35→B:0.861→C: 3000→J:23.4→H: Return:IfEnd If K≦3560:Then5000→R:0.861→B:-1.692→C: 3360→J:26.5→H: Return:IfEndIf K≦4117.9:Then-5000→R: -1.692→B:0.714→C: 3620→J:22.1→H: Return:IfEndIf K≦4955.317:Then12000→R:0.714→B:-0.321→C:4180→J:26.1→H: Return:IfEndIf K≦5255.341:Then-7000→R: -0.321→B:1.527→C: 5020→J:23.4→H: Return:IfEnd If K≦5594.478:Then4500→R: 1.527→B:-1.347→C:5320→J:27.98→H: Return:IfEnd If K≦5876.658:Then-7000→R: -1.347→B:0.525→C: 5660→J:23.4→H: Return:IfEnd If K≦6000:Then15000→R:0.525→B:-0.32→C: 5940→J:24.87→H: Return:IfEndZ (5800超高程序)1、Prog“C”:“B”?V2、0.04S÷(0.02+C) →D:A-T→E:E+D→F:E+S→G:G+L→I:I+S→M:M-D→J3、If K<E:Then -0.02V→Z:Z→Y::Goto1:Else If K<F:Then Goto2:Else If K<G:Then H((0.02+C)V(K-E)÷S-0.02V→Z:-Z→Y:Goto1:Else If K<I:Then HVC→Z:-Z→Y:Goto1:Else If K<J:Then H((0.02+C)V(M-K)÷S-0.02V→Z:-Z→Y:Goto1:Else If K<M:Then Goto3:Else -0.02V→Z:Z→Y:Goto1:IfEnd: IfEnd: IfEnd: IfEnd: IfEnd: IfEnd4、Lbl 2:IfH<0(零):Then0.02VH→Z:(0.02+C)V(K-E)/S-0.02V→Y:Else(0.02+C)V(K-E)/S-0.02V→Z:-0.02VH→Y: IfEnd: Goto15、Lbl 3:IfH<0:Then0.02VH→Z:(0.02+C)V(M-K)/S-0.02V→Y:Else(0.02+C)V(M-K)/S-0.02V→Z:-0.02VH→Y: IfEnd: Goto1: Lbl 1C程序If K≦141216.781:Then 140083.413→A:0.03→C:-1→H:130→S:1229.28→L:855.675→T: Return:IfEndIf K≦142472.319:Then 141700.107→A:0.03→C:1→H:130→S:608.144→L:483.326→T: Return:IfEndIf K≦143839.524:Then 142976.487→A:0.02→C:-1→H:105→S:634.484→L:504.168→T: Return:IfEndIf K≦145570.280:Then 144509.787→A:0.02→C: 1→H:105→S:928.816→L:670.263→T: Return:IfEndIf K≦148062.26:Then 146191.812→A:0.02→C:-1→H:105→S:822.148→L:621.531→T: Return:IfEndPQXZFS平曲线正反算( 主程序)Lbl 4:“1.SZ=>XY”: “2.SZ=>XY”:?N:?S:Prog “SUB0”1/P→C:(P-R)/(2HPR) →D:180/兀→E:N=1=>Goto1:Goto2:Lbl 1:?Z:Abs(S-O) →W: Prog “SUB1”: “XS=”:X▲“YS=”:Y▲F-90→F: “FS=”:F▲DMS▲Goto4Lbl 2:?X:?Y:X→I:Y→J: Prog “SUB2”:O+W→S: “S=”:S▲“Z=”:Z▲Goto4正算子程序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+FWD))+Asin(G+QEMW(C +MWD))) →Y:G+QEW(C+WD)+90→F:X+Zcos(F) →X:Y+Zsin(F) →Y反算子程序SUB2G-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:IfAbs(Z)<1**10-6:Then0 →Z: Prog “SUB1”:(J-Y)/sinF →Z:ElseW+Z→W:Goto0:IfEnd数据库子程序SUB0Goto1Lbl 1:If S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径):***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEndLbl 1:If S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径):***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd ………………使用说明:1、一道路中线的前进方向(即里程增大的方向)区分左右,当线元往左偏时,Q=-1;当线元往右偏时Q=1;当线元为直线时Q=02、当所求点位于中线时,Z=0;当所求点位于中线左侧时Z取负值;位于右侧时Z取正直3、当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替4、当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧半径5、当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;当与圆曲线相接时,曲率半径等于圆曲线的半径。
数据库格式说明:
If P≥第n竖曲线与第n-1竖曲线间直线任一点桩号 And P≤第n竖曲线与第n+1竖曲线间直线任一点桩号:Then [[第n竖曲线桩号,第n竖曲线高程,第n竖曲线曲率半径,第n-1竖曲线变坡点桩号,第n-1竖曲线变坡点高程,第n+1竖曲线变坡点桩号,第n+1竖曲线变坡点高程]]:Goto 1:IfEnd↙
特别提醒:第13行中的字体较大的“2”表示平方。
竖曲线计算程序(SQX-2)说明:
1、本程序以毕节市碧海路K2+000~K4+900段为例编制,但没考虑人行道标高。
2、因与全线中边桩坐标正反算程序(ROAD-2)配套使用,为避免自定义变量干扰默认值,自定义变量尽可能采用额外变量或与ROAD-2统一。
如单独使用,可重新选择自变量,以减少程序输入的工作量。
在路基范围内测得某一点坐标和高程,通过运用ROAD-2反算功能,计算出测点桩号和偏距,然后退出ROAD-2然后执行SQX-2,竖曲线计算程序运行时默认该测点的桩号和偏距,可快速计算该点的填挖值,在施工测量中非常方便。
3、计算曲线上高程时,竖距×(转坡脚÷转坡角的绝对值),有效避免了凹型曲线与凸型曲线的设计值需用切线标高分别加、减竖距的两种可能。
4、采用数据库子程序并采用矩阵赋值,减少了不同设计路段使用程序时修改程序的工作量。
数据库中不需要输入纵坡,而程序自行根据变坡点进行计算,减少参数同时提高了计算精度。
5、数据库中第一行,可根据超高缓和段桩号,修改程序语言,确定全线各段的横坡。
初学卡西欧,各位高手不吝赐教!。
一.使用说明:1.规定:(1)以道路中线的前进方向区分线路的左右偏转方向,线路左偏Q=-1,线路右偏Q=1,直线Q=0。
(2)当所求点位于线路中线时,Z=0;当位于左侧时,Z取负值;当位于右侧时,Z取正值。
(3)当线元为直线时,其起终点的曲率半径为无穷大,取10的45次方代替。
(4)当线元为圆曲线时,起终点曲率半径为圆曲线半径。
(5)当线元为缓和曲线时,起终点曲率半径与直线相接取10的45次方代替,与圆曲线相接取圆曲线半径。
2.输入与显示说明:(1)输入部分:N?:选择计算方式,输入1表示由里程边距计算坐标,输入2表示由坐标计算里程边距。
X0?线元起点X坐标。
Y0?线元起点Y坐标。
S0?线元起点里程。
F0?线元起点切线方位角。
LS?线元长度。
R0?线元起点曲率半径。
RN?线元终点曲率半径。
Q?线元左右偏标志(左偏=-1,右偏=1,直线=0)S?正算时所求点里程。
Z?正算时所求点距中线边距。
位于线路左侧输入负值,在右侧输入正值。
AR?斜交角度。
(为线路右角,在0-180度之间)X?反算时所求点X坐标。
Y?反算时所求点Y坐标。
(2)显示部分:XS=计算结果,所求点X坐标。
YS=计算结果,所求点Y坐标。
FS=计算结果,所求点切线方位角。
S=计算结果,反算时所求点里程Z=计算结果,反算时所求点边距。
二.程序清单1(用于任意曲线元的坐标计算)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÷π→E:If N=1: THEN Goto 1:Else Goto 2:IfEnd:Lbl 1:?S:”D(Z-,Y+)=”?Z:90→T:”O=”?T:Abs(S-O) →W:Prog ″SUB1″:″XS″:X◢″YS″:Y◢″FS″:F◢Goto 1:Lbl 2:?X:?Y:I→X:J→Y: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+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) →Y:G+QEW(C+WD) →F:X+Zcos(F+T) →X:Y+Zsin(F+T) →Y3.反算子程序(SUB2)G-90→T:Abs((Y-V)cos(T)-(X-U)sin(T)) →W:0→Z:Lbl 0:Prog ″SUB1″:T+QEW(C+WD) →L:(J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs(Z)<1E-6 :Then Goto 1:Else W+Z→W:Goto 0 : IfEnd:Lbl 1:0→Z:Prog ″SUB1″:(J-Y)÷sin(F)→Z 三.用于提前将曲线元要素输入子程序,计算时只输入里程桩号与边距。
卡西欧fx-5800P程序1坐标反算(ST)Lb1 1:"X1="?A:"Y1="?BLb2 2:"X2="?C:"Y2="?D"S(1-2)=":POL(C-A,D-B)→S▲IF J﹥0:Then J→T:Else J+360→T:If End"T=":T→DMS▲"K="?KIf K=1:Then Goto1:If EndIf K=2:Then Goto2:If EndIf K=3:Then C→A:D→B:Goto 2:If End 0说明:1、首先输入架站点坐标X0、Y0(O点)。
2、再输入后视点坐标XP、YP(P点)。
3、计算出O―P的边长S和方位角J。
4、当K=1时,重新输入O、P点的坐标。
5、当K=2时,以原O点坐标不变,重新输入新P点坐,计算出边长S和方位角J。
6、当K=3时,以原P点坐标为架站点坐标O(X0、Y0),重新输入新的P点坐标,计算出边长S和方位角J。
2 坐标正算(XY)LbI 0:"X0="?A:"Y0="?B:"P(1→Z,2→F)="?PIf P=1:Then Goto2:Else Goto5:If EndLbI 2:"XA="?C:"YA="?D"S(0-A)=":POL(C-A,D-B)→S▲IF J﹥0:Then J→F:Else J+360→F:If End"T(0-A )=":F→DMS▲Goto6Lb1 5:"T(0-A )="?FLb16:"S(0-P )="?S:"E(∠AOP=)"?EE+F→T:"XP=":A+Rec(S,T) →X▲"YP=":B+J→Y▲If T≥360:Then T-360→T:If End"T(0-P)=":T→DMS▲"K="?KIf K=1:Then Goto0:If EndIf K=2:Then Goto6:If EndIf K=3:Then X→A:Y→B:T+180→F:Goto6:If End说明:1、首先输入架站点O(X0、Y0)坐标2、输入判断值P: 当P=1时输入后视点的坐标,计算出到后视点距离"S(0-A)="S和方位角T(0-A )=F; 当P=2时直接输入后视点的方位角T(0-A )=F。
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:待求点里程。
C A SI O f x-5800P综合曲线坐标计算程序说明:该程序适用于计算器C ASI O f x-5800P,可计算线路中心的缓和曲线、圆曲线、直线段,中、边桩坐标及切线方位角。
1、α? 输入转角:左转为负,右转为正2、R?输入圆曲线半径3、LS? 输入缓和曲线长度4、J D(DK)?输入交点里程桩号5、X(JD)?输入本交点X 坐标6、Y(JD)?输入本交点Y 坐标7、F W J?输入待求点切线方位角9、J? 输入0 程序计算中桩,输入 1 程序计算边桩10、JSDK? 输入里程桩号主程序名:ZHQ X1. Deg:Fix 4↙2. Lb1 A↙3. "α"?A:?R:"LS"?C:"JD(DK)"?D:"X(JD)"?N:"Y(JD)"?E:"FWJ"?F↙4. Lb1 B↙5. ?J ↙6. C∧2÷24÷R-C∧(4)÷2688÷R∧(3)→P↙7. C÷2-C∧(3)÷240÷R∧2→Q↙8. 90×C÷兀÷R→B↙9. "T=":(R+P)tan(Abs(A)÷2)+Q→T◢10. "E=":(R+P)÷c o s(A÷2)-R→W◢11. "L=":(Abs(A)-2×B)兀R÷180+2×C→L◢12. "ZH=":D-T→G◢13. "HY=":G+C→H◢14. "QZ=":G+L÷2→I◢15. "YH=":G+L-C→K◢16. "HZ=":G+L→M◢17. If A<0:Th en-1→S:E l se1→S:If End↙(本行中0 为数字)18. F+A÷2+90×S→U↙19. W+R→V↙20. N+V×cos(U)→B↙21. E+V×sin(U)→O↙(本行中O 为字母)22. Lbl 1 ↙23. "JS DK"?Z↙24. If Z≤G:Th en T+G-Z→L ↙25. F+180→V ↙26. "FW J=":F→U◢27. Goto 2 ↙28. IfEnd ↙29. If Z≤H:Th en Z-G→L ↙30. L-L∧(5)÷(90×R∧2×C∧2)→V↙31. 30×L∧2×S÷(兀RC)→L ↙32. F+180→P ↙33. F+L→Q↙34. "FW J=":F+3×L→U◢35. Goto 4 ↙36. IfEnd ↙37. If Z≤K:Th en F+A÷2+90×S+180+180(Z-I)×S÷R÷兀→L↙38. "FW J=":L+90×S→U:If U≥360:The n U-360→U◢39. Else U→U◢40. IfEnd:G o to5:If End↙41. If Z≤M:Th en M-Z→L↙42. L-L∧(5)÷(90×R∧2×C∧2)→V↙43. 30×S×L∧2÷(兀RC)→L ↙44. F+A→P ↙45. F+A+180-L→Q↙46. "FW J=":F-3×L+A→U:If U≥360:Th en U-360→U◢47. Else U→U◢48. IfEnd:G o to4:If End↙49. If Z>M:Then Z-M+T→L↙50. F+A→U ↙51. U→V ↙52.G o to2 ↙53. Lbl 2 ↙54. "X=":N+L×cos(V)→X◢55. "Y=":E+L×sin(V)→Y◢56. G o to6 ↙57. If End↙58. Lbl 3 ↙59. ?W60. "XL=":X+W×cos(U-90)→P◢61. "YL=":Y+W×sin(U-90)→Q◢62. "XR=":X+W×cos(U+90)→P◢63. "XL=":Y+W×sin(U+90)→Q◢64. G o to1 ↙65. Lbl 4 ↙66. "X=":N+T×cos(P)+V×cos(Q)→X◢67. "Y=":E+T×sin(P)+V×cos(Q)→Y◢68. G o to6 ↙69.Lbl 5 ↙70. "X=":B+R×cos(L)→X◢71. "Y=":O+R×sin(L)→Y◢(本行中O 为字母)72. G o to6 ↙73. Lbl 6 ↙74. J=1 G o to3 ↙75. G o to1 ↙。
缓和曲线段坐标计算HHQXZBJS第一缓和曲线段任意里程位各点的坐标计算。
程序如下:曲线起点里程→Q:曲线起点X坐标→E:曲线起点Y坐标→F:曲线起点前进切线方位角→T:圆曲线半径→R:缓和曲线长度→U:曲线转向方向(左转取-1,右转取+1)→P:Lbl 0:5→DimZ:“KM=”?L: 待求点里程“L-1,R+1”?K: 待求点位于前进方向左侧为-1,右侧为+1“PJ=”?S: 待求点到线路设计中心的平距Abs(L-Q)→Z[1]:Pol(Z[1]-Z[1]^(5)÷(40R²U²)+Z[1]^(9)÷(3456(RU)^(4)), Z[1]^(3)÷(6RU)-Z[1]^(7)÷(336(RU)^(3))+Z[1]^(11)÷(42240(RU)^(5))):J→Z[2]:Rec(I,T+Z[2]P):E+I→Z[3]:F+J→Z[4]:T+Z[2]P+60PZ[1]²÷(RUπ)+90→Z[5]:If K=1:Then Rec(S,Z[5]):Else Rec(S,Z[5]+180):IfEnd:Z[3]+I→X:Z[4]+J→Y:Cls:Fix 3:“Xp=”: 计算的X坐标“Yp=”: 计算的Y坐标Locate 7,1,X: X坐标显示在第一行Locate 7,2,Y◢Y坐标显示在第二行Goto 0注解:如果本程序不需要反复计算其它里程位的坐标值,可以将Lbl 0和Goto 0删除掉。
这里是按第一缓和曲线编制的,在应用于第二缓和曲线时,起算点和转向方向都要改变,同时原路线方向上的左侧变成了右侧,原路线方向上的右侧变成了左侧,等等,这点要注意。
卡西欧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 坐标正算程序“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 (直线)。
主程序坐标正反算程序名称: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↙直线短链要将该直线分成二条直线来对待编制数据库文件即可,曲线长链要单独建判定语句子程序并然后编制二个数据库(按来向里程和去向里程分别推出曲线起终点里程,以此编制曲线段的数据库)。
卡西欧FX5800---辛普森公式(万能公式)
复化辛普森公式
1.Lbl 0:“XA=”?A:“YA=”?B: “CA=”?C:“1/RA=”?D:“1/RB=”?E:“DKA=”?F:“DKB=”?G
2.Lbl 1:“DKI=”?H:“DL=”?O:“DR=”?R:IF H>G:THEN Goto0 IFEND
3.(E-D)/Abs(G-F)→P:Abs(H-F) →Q: P×Q→I:D+I→T
4.C+(I+2D)×Q×90/π→J
5. C+(I/4+2D)Q×45/(2π) →M: C+(3I/4+2D)Q×135/(2π) →N
6. C+(I/2+2D)Q×45/π→K
7. A+Q(cosC+4(cosM+cosN)+2cosK+cosJ)/12 →X
8.B+Q(sinC+4(sinM+sinN)+2sinK+sinJ)/12 →Y
9.”FW=”:J▲DMS ▲
10. “X=”:X▲
11. “Y=”:Y▲
12.“XL=”: X+Ocos(J-90) →U ▲
13.“YL=”: Y+Osin(J-90) →V▲
14.“XR=”:X+Rcos(J+90)→ W▲
15.“YR=”:Y+Rsin(J+90)→ Z▲
16.Goto 1
程序结束
程序说明:
A- 曲线元起点A的坐标;
B- 曲线元起点B的坐标;
C- 曲线元起点A的切线坐标方位角;
F- 曲线元起点A的里程;
G- 曲线元起点B的里程;
H- 曲线上待求点i的里程;
D- 曲线元起点A的曲率;
E- 曲线元终点B的曲率;
XL-左边线点位X坐标;
YL-左边线点位Y坐标;
XR-右边线点位X坐标;
YR-右边线点位Y坐标;
X- 中线点位纵坐标;
Y- 中线点位横坐标;
DL-左边线距中线平距;
DR-右边线距中线平距;
该程序需要输入的数据为:
(1).曲线元起点A的坐标及切线坐标方位角,计算器上用“XA”,“YA”,“CA”显示;
(2).曲线元起点A和B的曲率,计算器上用I÷RA,I÷RB显示(曲线左偏时取“-”);
(3).曲线元起点A和终点B的里程,计算器上用“DKA”,“DKB”显示;(4).输入待求点里程和该点距左右的水平距离,计算器上用“DKI”,“DL”,“DR”显示;
每算完一个待求点的中线及边线坐标,程序又让输入下一点的“DKI”,“DL”,“DR”
当输入的“DKI”大于“DKB”时,此时输入下一个曲线元起点的曲率和里程,即可计算下一个曲线中线及边线点位坐标。
使用该程序应注意事项;
该程序以前进方向为有意识,不可倒退计算;缓和段和圆曲线段应分开计算在计算圆曲线时应记下缓和
曲线尾的坐标方位角即“J”的角度;在计算第一段缓和曲线时曲率“1÷RA”输入0;在计算第二段缓和曲
线时“1÷RB” 输入0 。
(5)第一个0为零。