5800坐标程序
5800坐标计算程序交点法
CASIO FX—5800P交点法计算中边桩坐标1、主程序Lbl0 :90→C: "ZH”? Q:Prog“JDSJ”:“JL”? W:“J IAJIAO”? K:Goto1Lbl1: R= 0 => Goto3: Abs(B)πR÷180-(L+M)÷2→G:M→S: 1→Z Lbl2:S^2÷24÷R-S^(4)÷2688÷R^(3)→P:S÷2-S^(3)÷240÷R^2→O:IfZ=1:Then L→S:P→U:O→V:(R+U-(R+P)cos(Abs(B)))÷sin(Abs( B))+O→T:(R+P-(R+U)cos(Abs(B)))÷sin(Abs(B))+V→S:F-T→D:Q≤D=>Goto3If Q ≤ D+L: Then Q - D →J : L →U: Goto 4: IfEndIf Q ≤ D+L+G: Then Q-D-L→J: Goto 5: IfEndIf Q ≤ D+M+L+G: Then Q - D- L- M- G →J: M →U: Goto 4: IfEnd Q > D+M+L+G => Goto0Lbl3: N+(Q - F)cos(A) →X: E+(Q - F)sin(A) →Y:A+C→S: Goto9:Lbl4:J-J^(5)÷40÷(RU)^2+J^(9)÷3456÷(RU) ^(4)→H:J^(3)÷6÷(RU) -J^(7)÷336÷(RU) ^(3)+J^(11)÷42240÷(RU)^(5) →I: J = Q-D => Goto 6Goto7:Lbl5: 90(2Q - 2D- L)÷π÷R →U: Rsin(U)+o→H: R( 1 - cos(U)) + P →ILbl6: If B< 0: Then - I→I: IfEndN -Tcos(A)+Hcos(A) - Isin(A) →X: E-Tsin(A) + Hsin(A) +Icos(A) →Y:Goto8Lbl 7: If B> 0: Then –I →I: IfEndN+Scos(A+B)+Hcos(A+B)-Isin(A+B)→X:E+Ssin(A+B)+Hsin(A+B)+Icos(A+B) →YLbl 8:R →U: If B< 0: Then –R →U: IfEndIf J=Q-D: Then C+A+90J^2÷π÷U÷L→S: Goto9:IfEndIf J= Q-D -L- M- G: Then C+A+B - 90J^2÷π÷U÷M →S: Goto9: IfEndIfQ≤D+ L+ G: ThenQ-D-L →J : C+A+90L÷π÷U+180J÷π÷U→S: Goto9: IfEndLbl 9: X+Wcos(S-90+K) →X: Y+Wsin(S-90+K) →Y:“X=”: X◢“Y=”: Y◢“U=”:(S-90+K) ◢Goto02、子程序0.1739274226 →A:0.3260725774 →B:0.3300094782→L:0.0694318442 →K:1-L →F:1-K →M:1÷P→C:(P-R) ÷(2HPR) →D:180÷π→E:G+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]) →X:X+B cos(Z[2]) →X:X+B cos(Z [3]) →X: X+A cos(Z [4])→X:U+WX→X:A sin(Z [1]) →Y:Y+B sin(Z [2]) →Y:Y+B sin(Z [3]) →Y:Y+Asin(Z [4]) →Y:V+WY→Y:G+QEW(C+WD)+90→F:“F=”:F-90+J◢X+Z cos(F-90+J) →X:Y+Z sin (F-90+J) →Y3、曲线要素If Q≤桩号:Then 交点桩号→F:交点X坐标→N:交点Y坐标→E:起点方位角→A:夹角→B:第一缓和曲线长度→L:第二缓和曲线长度→M:GotoA:If End………………Lbl A:Return程序中各变量含义:JD ── 交点桩号 FJDX ── 交点X坐标NJDY ── 交点Y坐标 EFWJ ── 起始方位角 APJ ──偏角(左-- 右+) BR ── 圆曲线半径 RLS1 ── 第一缓和曲线长 LLS2 ── 第二缓和曲线长 M。
卡西欧5800测量坐标计算程序
一.使用说明: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 三.用于提前将曲线元要素输入子程序,计算时只输入里程桩号与边距。
5800坐标计算程序PQX
1、 Lb1 0:Deg :Prog “A ”2、 E -D →J3、 Arg (cosCJ)+ i sin(J))→J4、 Abs (J)÷J →H5、 S 2 ÷(24R)-S 4÷(2268R 3)+ i (S ÷2-S 3 ÷(240R 2)) →P 6、 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))→B 12、 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-W 5÷(40R 2S 2)+W 9÷(3456R 6S 6)+ i (W 3÷(6RS)-W 7÷(336R 4 S 4) →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(数据库)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 End1、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:IfEnd4、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: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: IfEnd:。
卡西欧5800公路坐标正反算程序
目录一、坐标正算基本公式 (02)二、坐标反算原理 (04)三、高程数据库录入变换 (05)四、计算器程序 (07)01、ZBZS(坐标正算) (07)02、ZBFS(坐标反算) (08)03、GCJF(高程积分) (09)04、PJFY(坡脚放样) (10)05、JFCX(积分程序) (11)06、ZBFY(坐标放样) (11)07、DT(递推) (12)08、HP(横坡) (13)09、LK(路宽) (14)10、SJK1(平面数据库) (14)11、SJK2(纵面数据库) (14)12、SJK3(左路宽度数据库) (15)13、SJK4(右路宽度数据库) (15)14、SJK5(横坡数据库) (16)15、SJK6(下边坡数据库) (16)16、SJK7(左上边坡数据库) (17)17、SJK8(右上边坡数据库) (18)五、后记 (19)CASIO 5800计算器公路工程测量程序一、正算所涉及的计算公式 X R i d XαβBd Y d l d βI图表 1在图1中,A 点为回旋曲线起点,B 点为回旋曲线止点,I 点为所求坐标点。
设:A 点的X 坐标为X A ,Y 坐标为Y A ,A 点的切线方位角为α,A 点的曲率为ρA ,A 点的里程为L A ,B 点的曲率为ρB ,B 点的里程为L B ,I 点的曲率为ρI ,I 点的里程为L I 。
I 点的切线角为β。
由于回旋线上各点曲率半径R i 和该点至曲线起点的距离L 成反比。
故此任意点的曲率为;CL R i i ==1ρ (c 为常数) (1) 由式(1)可知,回旋曲线任意点的曲率按线性变化,由此回旋曲线上里程为L i 点的曲率为;AB A i A B A i L L L L --⨯-+=)(ρρρρ (2) 当曲线右偏时ρB 、ρA 取正值,反之取负值。
设:A B AB L L M --=ρρ ------ 曲率变化率 (3)A i L L L -= ------ I 点至起点A 的距离 (4)则有:ML A i +=ρρ (5)在I 点处取一微段,则有:l i il d R d d ρβ== (单位为弧度) (6) 对上式进行积分并代入式(3)(4),则有;⎰⎰⎰⎰+=+=+==l l l lA l l A l A l i i ML L Ld M d d ML d 000022)(ρρρρβ (7) 因已知回旋曲线起点A 的切线方位角α,则里程为L i 点的切线方位角为:i i βαα+= (8)将式(7)代入式(8)得:22ML L A i ++=ραα(单位为弧度) (9) 对于式(9),当ρA =0,M=0时,则αi =α,式(9)变成计算直线段上任意点切线方位角的计算公式;当ρA =c (c 为常数),M=0时,则αi =α+ρA L ,式(9)变成计算圆曲线上任意点切线方位角的计算公式。
5800道路坐标(正反算)程序
5800道路坐标(正反算)程序(终极版)5800道路坐标(正反算)程序1. ZBJSCX (主程序)Lbl 4:"ZHENG SUAN=1 ":"FAN SUAN=2":?N:“ZH”?S:Prog“SJK0”↙1÷P→C: (P-R)÷(2HPR) →D:180÷∏→E:N=1 => Goto1: Goto2:↙Lbl 1:“BD”? Z: Abs(S-O) →W:Prog "ZS": "X=":X◢"Y=":Y◢F-90→F:“FWJ=”:F▲DMS◢Goto4↙Lbl 2:?X:?Y:X→I:Y→J:Prog“FS”:O+W→S:“ZH=”:S◢“BD=”:Z◢Goto4↙2. ZS (正算子程序)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+Zcos(F)→X: Y+Zsin(F)→Y3. FS (反算子程序)G-90→T: Abs((Y-V)cosT-(X-U)sinT) →W:0→Z:Lbl 0:Prog "ZS":T+QEW(C+WD) →L: (J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs(Z)<0.000001:ThenGoto1:ElseW+Z→W:IfEnd:Goto0↙Lbl1:0→Z:Prog "ZS": (J-Y)÷sin(F)→Z4,SJK0( 数据库子程序)Goto1↙ (同时保存多个曲线时的指针)Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd↙Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1(直线0、左偏-1、右偏1)→Q:Return:IfEnd……………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。
5800简单全线坐标计算程序
5800全线任意坐标计算程序1. 正算主程序(ZHCX) (不运行)8→DimZ1÷P→Z[4 ]:(P-R)÷(2HPR)→D: 180÷π→E“Z=”?Z:”YJJ=”?A:Abs(S-O)→W0.26→Z[1 ]: 0.74→B: 0.02→K: 0.82→Z[3 ]: 1-Z[3 ]→F:1-K→Z[2 ]U+W(Z[1 ]cos(G+QEKW(Z[4 ]+KWD))+Bcos(G+Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+Bcos(G+QEFW (Z[4 ]+FWD))+ Z[1 ]cos(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→X:V+W(Z[1 ] sin (G+QEKW(Z[4 ]+KWD))+B sin(G+ Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+B sin(G+QEFW (Z[4 ]+FWD))+ Z[1 ] sin(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→Y:G+QEW(Z[4 ]+WD)→F:X+Zcos(F+A)→X:Y+Zsin(F+A)→Y:If F≧360:Then F-360→F:IfEnd”X=”:X→X◢”Y=”:Y→Y◢If F﹤0:Then F+360→F:IfEnd”QX FWJ=”:F▼DMS◢“C=1=>XX: C=2=>XZ”: ”C=”?C: ”QHJU=”?L: If C=1:Then Goto 1:Else Goto 2: IfEnd 可以计算斜交斜做或斜交正做的桥涵坐标Lbi 1X+L cos(F)→X:Y+Lsin(F)→Y: Goto 3Lbi 2X+L cos(F+A-90)→X:Y+Lsin(F+A-90)→Y: Goto 3Lbi 3“QH-X=”: X →X◢“QH-Y=”: Y →Y◢Prog “FY”2 . 参数子程序(直接运行)M(主线) 一条线路一个名称“S=”?SIf S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEnd……If S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEndLbi 1Prog “ZBJS”3. 放样程序(FY)(不运行)“X0=”?M:“Y0=”?NPol((X-M, Y-N)If J﹤0:Then J+360→J:IfEnd“FWJ=”:J▲DMS◢“JU-LI=”:I◢说明:一、程序功能及原理1.功能说明:本程序由一个主程序和两个子程——正算主程序(ZH)、参数子程序(M)、放样程序(FY),可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径、左偏或右偏)及里程边距或坐标,对该线元段范围内任意里程中边桩坐标进行正算。
5800计算器全线坐标计算放样正反算程序
5800计算器全线坐标计算放样正反算程序(定稿)彭赐明主程序坐标正反算程序名称:ZBZFSLB1 A↙Cls : Fix 4 : 30→Dim Z :"0=ZS,1=FS"?Z ↙If Z=0:Then Goto B:IfEnd↙(Z=0进入里程点坐标正算)If Z=1:Then Prog"FSLCBZ ": Goto A:IfEnd↙(Z=1进入反算里程边桩)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] : 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↙"XK="?X:"YK="?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"S JK1":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:G oto 2:Ifend:Ifend:Ifend↙Lb1 4↙Pol (X-Z[18],Y-Z[19]:"DP(-Z+Y)=":I◢(偏距)(由于该程序不能准确判断边桩左右方向,暂作修改,取消左右边判定)"K=":K+S→K◢(里程)Return↙子程序坐标放样:ZBFYLB1 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=":J→DMS◢(后视方位角) “QXJ=” :T◢(计算里程点切线方位角,可以不显示)“XI=” : Z[18] ◢(中线X)“YI=” : Z[19] ◢(中线Y)Pol(Z[18]-M,Z[19]-N):"DI=":I(中桩放样距)◢J<0=>J+360→J:"FI=":J→DMS◢(中桩放样方位角)“PJ=”?P◢(输入边桩与线路夹角,左-右+)“PD=”?D◢(输入边桩距)Z[18]+D*COS(T+P) →Z[20] ↙Z[19]+D*SI N(T+P) →Z[21] ↙“XP=”: Z[20] ◢(边桩X)“YP=”: Z[21] ◢(边桩Y)Pol(Z[20]-M,Z[21]-N):"DP=":I◢(边桩放样距)J<0=>J+360→J:"FP=":J→DMS◢(边桩放样方位角)Return↙。
卡西欧5800计算器程序坐标正反算(含高程)
卡西欧5800计算器程序坐标正反算(含高程)功能:坐标正反算(含高程),把要素内置化(无需改程序文件,即可更换路线,同时存两条线要素)另含两个边仰(一个横向坡,一个纵向坡)坡放样模块.帮助文件未完成程序浏览:FileName:RESET 初始化程序Norm 1:50→C:12345→J"RESET PW"I:I=J=>500→DimZ 为数据库增加额外变量500个,在SET、SETPFDYS程序根据实际再增减变量50→Z[C+22]"PASSWORDS"I:I→Z[C+39] 重设要素保护密码Cls:StopFileName:DATLOCK 要素保护密码确定认程序Cls:Norm 1:50→C"PASSWORDS"I:Cls:I≠Z[C+39]=>StopFileName:SHELL(外壳程序)50→C ;在扩充变量预留前50个给别的程序用。
如不够就适量加大。
RESET,SHELL,SET,SETPFDYS,这几个程序中C值必需一致Z[C+35]→I:"STATION-N"I:I→Z[C+35] 设置测站N坐标Z[C+36]→I:"STATION-E"I:I→Z[C+36] 设置测站E坐标Z[C+44]→I:"STATION-Z"I:I→Z[C+44] 设置测站Z坐标Z[C+45]→I:"STATION-HI"I:I→Z[C+45] 设置仪高Z[C+41]→I:"GC-DH"I:I→Z[C+41] 放样点高差常数Norm 1Z[C+23]→N 当前分段要素N坐标Z[C+24]→E 当前分段要素E坐标Z[C+25]→M 当前分段要素起点桩号Z[C+26]→H 当前分段要素起点方位角(正北)单位:弧度Z[C+27]→A 当前分段要素起点曲率有左偏负右偏正(注意不半径)Z[C+28]→R 当前分段要素终点曲率有左偏负右偏正(注意不半径)Z[C+29]→L 当前分段要素长度Z[C+3]→WZ[C+32]→I:"DAT1 2 3"I:I→Z[C+32] 平曲线要素数库类型选择1为内置式,2文件式,3实时输入(查看当前要素值)0→IZ[C+4]→I:"1 2 3"I:I→Z[C+4] 选择本程序模式默认为坐标正算,1坐标反算,2横向边仰坡放样,3,纵向边仰坡放样(隧道进出口用到) Lbi 1Z[C+4]→II=1=>Prog"TURNZH"I=2=>Prog"HXBYP"I=3=>Prog"ZXBYP"Lbi ADeg:Norm 1:ClsZ[C+1]→G:"ZH"G:G→Z[C+1] ;G桩求桩号Z[C+2]→B:"JL"B:B→Z[C+2] ;B横向距离,左正右负Lbi BProg "ZBJS" ;坐标正算Prog "GCJS" ;高程计算Fix 3:Cls ;设置三位小数"ZH=":Locate 4,1,G ;第一行显示桩号"X=":Locate 3,2,X ;第二行显示X(N)坐标"Y=":Locate 3,3,Y ;第三行显示Y(E)坐标Prog "GCJS" ;高程计算"Z":Locate 2,4,Z+Z[C+41] ;第四行显示Z坐标Locate 10,4,Z[C+2] ;第四行显示横向距离Do:I+1→I:I=1000=>Goto 1:LpWhile Not(Getkey=57 Or Getkey=27) ;锁定键盘,并在几十秒后自动返回Getkey=57=> Goto 1Z+Z[C+41]+Z[C+49]-Z[C+44]-Z[C+45]→Z[C+48]Pol(Z[C+35]-X,Z[C+36]-Y)Cls:"DL":Locate 3,1,I:Locate 12,1,Z[C+45]"DH":Locate 3,2,Z[C+48]:Locate 12,2,Z[C+49]"FWJ"J<0=J+360→J:J◤DMS◢J→Z[C+46]I→Z[C+47]Goto 1FileName:ZBJS 坐标计算程序Prog"READDAT"RadG-M→QIF AR=0 :Then If A=R :Then 1→J:Else 3→J :IfEnd:Else If A=R :Then 2→J:Else 3→J:IfEnd:IfEndIf J=1 :Then H→F:N+QCos(H)→X:E+QSin(H)→Y:IfEnd 直线段直接计算If J=2 :Then H+QR→F:Rec(Abs(2Sin(Abs)÷R),H+QR÷2):N+I→X:E+J→Y:IfEnd 圆弧段直接计算If J=3 :Then Goto 5 :IfEndX+BCos(F+W)→XY+BSin(F+W)→YDeg:ReturnLbi 5 用五点通用坐标计算计算缓和段(R-A)÷L→KKQ2→J→P:H+IP+JP2→U→P:H+IP+JP2→V→P :H+IP+JP2→D→P:H+IP+JP2→F→P:H+IP+JP2→T→I→J→ON+Q(ICos(U)+JCos(V)+OCos(D)+JCos(F)+ICos(T))→XE+Q(ISin(U)+JSin(V)+OSin(D)+JSin(F)+ISi n(T))→YH+AQ+KQ2→FX+BCos(F+W)→XY+BSin(F+W)→YDeg:ReturnFileName:TURNZH(坐标反算)Norm 1Z[C+37]→I:"DQD-N"I:I→Z[C+37] 输入待求点N坐标I=-1=>Prog"INFWJDLDH"Z[C+38]→I:"DQD-E"I:I→Z[C+38] 输入待求点E坐标0→B:M+L÷2→G:Prog"ZBJS"Lbi S:RadZ[C+37]-X→I:Z[C+38]-Y→JIf I=0 And J=0 :Then Goto A:IfEndPol(I,J)Lbi A:Rec(I,J-F):J→Z[C+2]G+I→G:IF Abs(I)> :Then Prog"ZBJS":Goto S↙G→Z[C+1]FileName:INFWJDLDH 实测坐标(用方位角,距离,高差)输入程序Deg:Norm 1:ClsZ[C+46]→J:"DQD-FWJ"J:J→Z[C+46]Z[C+47]→I:"DQD-DL"I:I→Z[C+47]Z[C+48]→K:"DQD-DZ"K:K→Z[C+48]Z[C+49]→P:"RHT"P:P→Z[C+49]Rec(I,J)Z[C+35]+I→Z[C+37]Z[C+36]+J→Z[C+38]Z[C+44]+Z[C+45]+K-P→Z[C+43]FileName:HXBYP 横向边仰坡放样程序Cls:Norm 1Z[C+40]→I:"QPD-DL"I:I→Z[C+40] 输入起坡点与中桩距离常数Z[C+41]→I:"QPD-DZ"I:I→Z[C+41] 输入起坡点与中桩高差常数Z[C+42]→I:"i"I:I→Z[C+42] 输入边仰坡坡度,左仰坡(路堑)为正,右仰坡(路堑)为负,左边坡为负,右边坡为正Cls:Z[C+43]→I:"DQD-Z"I:I→Z[C+43] 输入实测高程Prog"TURNZH"Prog "GCJS"(Z[C+43]-Z-Z[C+41])Z[C+42]+Z[C+40]→BFix 3:B-Z[C+2]◢显示与上一次测点的偏差B→Z[C+2]FileName:ZXBYP 纵向仰坡放样程序(隧道进口使用)Cls:Norm 1:Z[C+33]→I:"QPD-ZH"I:I→Z[C+33] 输入起坡点桩号Z[C+34]→I:"QPD-Z"I:I→Z[C+34] 输入起坡点高程Z[C+42]→I:"i"I:I→Z[C+42] 仰坡时(隧道进出口仰坡),进口为正,出口为负)Cls:Z[C+43]→I:"DQD-Z"I:I→Z[C+43] 输入实测高程Prog"TURNZH"Z[C+42](Z[C+43]-Z[C+34])+Z[C+33]→GFix 3:G-Z[C+1]◢显示与上一次测点的偏差G→Z[C+1]FileName:SET 设置程序Lbi SNorm 150→C50→Z[C+22]0→KZ[C+5]→I:"1 Or 2"I:I→Z[C+5] ;选择1线或者2线180Z[C+3]÷π→J:"XZJJ"J:Jπ÷180→Z[C+3] ;斜桩夹角If I=1:Then Z[C+8]→Z[C+6]:Z[C+9]→Z[C+7]Z[C+12]→Z[C+16]:Z[C+13]→Z[C+17]:Z[C+18]→Z[C+20]Else Z[C+10]→Z[C+6]:Z[C+11]→Z[C+7]Z[C+14]→Z[C+16]:Z[C+15]→Z[C+17]::Z[C+19]→Z[C+20]Z[C+7]+3→Z[C+31]0→I:"1PQX,2SQX,3YSDS"I ;1输入平曲线要素,2输入竖曲线要素,3输入1、2线夹平竖曲线交点(变坡点)数量以让程序规划内存建立要素数据为,其它值退出本程序I=1 => Goto 1:I=2 => Goto 2:I=3 => Goto 3I≠0=>Prog"DATLOCK"Prog"SETPFDYS"StopLbi 1 ;平曲线要素输入部分Z[C+6]→D-1→Z[D+3]For 1→J T o Z[C+16]Cls:"PQX":Locate 9,1,JZ[D+1]→I:"N"I:I→Z[D+1] ;请输入N坐标Z[D+2]→I:"E"I:I→Z[D+2] ;请输入E坐标Z[D+3]→I:"R"I:I→Z[D+3] ;请输入半径RZ[D+4]→I:"LS1"I:I→Z[D+4] ;请输入缓和曲线1长度Z[D+5]→I:"LS2"I:I→Z[D+5] ;请输入缓和曲线2长度Next1→Z[D-2]Goto SLbi 2 ;竖曲线要素输入部分Z[C+7]→D-1→Z[D+3]For 1→J T o Z[C+17]Cls:"SQX":Locate 9,1,JZ[D+1]→I:"BPDZH"I:I→Z[C+1] ;请输入变坡点桩号Z[D+2]→I:"BPDGC"I:I→Z[C+2] ;请输入变坡点高程Z[D+3]→I:"R"I:I→Z[C+3] ;请输入半径RD+3→DNext1→Z[D]Goto SLbi 3 ;要素点数输入部分Z[C+12]→I:"1PQXDS"I:I→Z[C+12] ;输入1线平曲线点数,最小值为3Z[C+13]→I:"1SQXDS"I:I→Z[C+13] ;输入1线竖曲线点数,最小值为3Z[C+18]→I:"1JDZH"I:I→Z[C+18] ;输入1线平曲线第一个交点的交点桩号Z[C+14]→I:"2PQXDS"I:I→Z[C+14] ;输入2线平曲线点数,最小值为3Z[C+15]→I:"2SQXDS"I:I→Z[C+15] ;输入2线竖曲线点数,最小值为3Z[C+19]→I:"2JDZH"I:I→Z[C+19] ;输入2线平曲线第一个交点的交点桩号C+Z[C+22]→Z[C+8] 1线路平曲线要素指针偏移基数Z[C+8]+5Z[C+12]→Z[C+9] 1线路竖曲线要素指针偏移基数Z[C+9]+3Z[C+13]→Z[C+10] 2线路平曲线要素指针偏移基数Z[C+10]+5Z[C+14]→Z[C+11] 2线路竖曲线要素指针偏移基数Z[C+11]+3Z[C+15]→Z[C+21] 要素数据库结束指针Z[C+21]+1→Z[C+30]Z[C+21]→DimZ 增加额外变量-1→KGoto SFileName:SETPFDYS 交点要素=>分段要素Norm 150→CRadZ[C+6]+5→DZ[C+21]+1→FF+6→DimZ-1→Z[F] ; 设置分段要素开始标志Z[C+20]→V ; 从数据库读入当前线第一个平曲线交点桩号0→GPol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第一条直线的距离I,计算方位角JJ→HZ[D-4]→Z[F+1] 直线段Z[D-3]→Z[F+2]V-I→Z[F+3]For 1→G T o Z[C+16]-2Pol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第本交点与下一交点的距离I,计算方位角JI→W:J→HPol(Z[D+6]-Z[D+1],Z[D+7]-Z[D+2])J-H→K ;计算转角K,负值是左转角,正值是右转角IF Abs(K)>π:Then If K>0:Then K-2π→K:Else K+2π→K:IfEnd:IfEndZ[D+3]→R ;从数据库读入半径RZ[D+4]→L ;从数据库读入缓和曲线1长度Z[D+5]→M ;从数据库读入缓和曲线2长度L÷2÷R→B ;计算缓和曲线1的B0角M÷2÷R→O ;计算缓和曲线2的B0角(Abs(K)-B-O)R→P ;计算圆曲线长度L2÷24÷R-L^(4) ÷2384÷R^(3) →Q ;内移值计算方法2L÷2-L^(3) ÷240÷R2→S ;切线增长值计算方法2M2÷24÷R-M^(4) ÷2384÷R^(3) →J ;内移值计算方法2M÷2-M^(3) ÷240÷R2→I ;切线增长值计算方法2Abs(π÷2- Abs(K)) →ARtan(Abs(K÷2))+S+J÷Cos(A)-QTan(A)→T ;计算切线1Rtan(Abs(K÷2))+I+Q÷Cos(A)-JTan(A)→U ;计算切线2H<0=>H+2π→HK<0 =>-1→AH→Z[F+4]0→Z[F+5]0→Z[F+6]F+6→FF+6→DimZRec(T,H) 缓和段1 Z[D+1]-I→NZ[D+2]-J→EN→Z[F+1]E→Z[F+2]V-T→Z[F+3]L=0=>Goto AH→Z[F+4]0→Z[F+5]A÷R→Z[F+6]F+6→DimZLbi A 圆弧段0→I:0→JL=0=>Goto BPol(L-L^(3)÷40÷R2,L2÷6÷R-L^(4)÷336÷R^(4)) Lbi B Rec(I,H+AJ)N+I→NE+J→EN→Z[F+1]E→Z[F+2]V-T+L→Z[F+3]H+AB→Z[F+4]A÷R→Z[F+5]A÷R→Z[F+6]F+6→FF+6→DimZM=0=>Goto C 缓和段2 Rec(2RSin÷R),H+AB+AP÷R÷2) N+I→NE+J→EN→Z[F+1]E→Z[F+2]V-T+L+P→Z[F+3]H+AB+AP÷R→Z[F+4]A÷R→Z[F+5]0→Z[F+6]Lbi CF+6→FF+6→DimZRec(U,H+K)Z[D+1]+J→Z[F+1]Z[D+2]+I→Z[F+2]V-T+L+P+M→Z[F+3]V-T+L+P+M-U+I→VD+5→DNextH+K→Z[F+4]0→Z[F+5]0→Z[F+6]F+9→DimZ1→Z[F+7]V→Z[F+9] 要素终点桩号DegFileName:READDATZ[C+32]→II=3=>Prog"READDAT3"If GM+L :Then ;验证要素是否可用,否则重设要素I=1=>Prog"READDAT1"I=2=>Prog"READDAT2"Prog"REALDAT3"IfEndFileName:READDAT1 平曲线分段要素读取程序1Z[C+30]→F0→JLbi 1 搜索要素If G<z[f+3]:then< p="">-1=Z[F]=>Goto E:F-6→F:-1→J:Goto 1Else 1=Z[F+1]=>Goto E:-1=J=>Goto 2:1→J:F+6→F:Goto 1 IfEndLbi 2F→Z[C+30]Z[F+1]→Z[C+23] 当前分段要素N坐标Z[F+2]→Z[C+24] 当前分段要素E坐标Z[F+3]→Z[C+25] 当前分段要素起点桩号Z[F+4]→[C+26] 当前分段要素起点方位角(正北)Z[F+5]→Z[C+27] 当前分段要素起点曲率有左偏负右偏正(注意不半径)Z[F+6]→Z[C+28] 当前分段要素终点曲率有左偏负右偏正(注意不半径)</z[f+3]:then<>。
5800 坐标正算程序、坐标反算程序
CASIO FX-5800 P坐标正算反算
坐标正算
Lbl 0: “X0=”?S:“Y0=”?K
“FWJ=”?F:“JL=”?D
“JSZB X=”:S+Dcos(F)→X◢
“JSZB Y=”:K+Dsin(F)→Y◢
Goto 0
坐标反算
Lbl 0:“X1=”?Z:“Y1=”?W
“X2=”?X:“Y2=”?Y
X-Z→A:Y-W→B
“JULI D”:√(A²+B²)→D◢“FWJ”:cos-1(A÷D) →J
IF B≥0:Then J→J:J►DMS◢
Else 360-J→J:J► DMS◢
IfEnd
Goto 0
坐标正算说明:
1.已知一个点的坐标X、Y,方位角和距离,计算未知点坐标
2.计算中桩是用靠近待求点的小里程的X、Y坐标,方位角,以及待求点到已知点的距离,
计算出待求点X、Y坐标
3.计算边桩坐标时,先求出待求点的坐标,然后输入待求点(要计算的里程)的X、Y坐
标,计算时距离输入永远为正值,左侧用计算里程方位角-90°,如果出现负值,则再加上360°(即方位角-90°+360°);右侧则直接用方位角+90°
坐标反算说明:
1.已知两个点的X、Y坐标,计算出两点间的距离和方位角
2.输入时先输入小里程的X、Y坐标再输入大里程方向的X、Y坐标,与先输入大里程后
输入小里程的坐标,计算结果为相反方向!。
5800坐标计算程序+方位角计算方法
1.主程序TYQXJSDefm10:Lbl 0: “1.LC=>XY”: “2.XY=>LC”: {V}:V=1=>GOTO 1: ≠> GOTO 2 △Lbl 1: {DZG}:D:Z”JL=”:G”J=”:Z=0=>G=0:△Prog “QXYS”: Prog “ZSZB” : ”X=”:X ◢”Y=”:Y◢J>360=>J=J-360:△J<0=>J=J+360:△"FWJ=":J→DMS◢{HU}:H“XC”:U“YC”:I=0:J=0:Pol(X-H,Y-U):J<0=>J=J+360:△“FW=”:J→DMS◢“S=”:I◢Prog “SQX”←┘GOTO 0←┘Lbl 2: D=***:Z=0:G=0:{MI}:M”XO”:I”YO”: Prog “FSZB”:”D=”:D ◢”JL=”:Z◢Prog “SQX”←┘GOTO 0←┘D=有效里程即线路起点里程2. 正算坐标ZSZBN=5:P=(1\E-1\R)÷Abs(K-F):Q=Abs(D-F)÷N:S=90Q÷π:J=C+(NPQ+2\R)NS:L=1←┘X=A+Q÷6×(Cos C+Cos J +4∑(Cos (C+((L+0.5)PQ+2\R)×(L+.5)S),L,0,(N-1))+2∑(Cos (C+((LPQ+2\R)LS,L,1,(N-1)))+ZCos(J+G):←┘Y=B+Q÷6×(Sin C+Sin J +4∑(Sin (C+((L+0.5)PQ+2\R)×(L+.5)S),L,0,(N-1))+2∑(Sin (C+((LPQ+2\R)LS,L,1,(N-1)))+Z Sin(J+G):←┘3. 反算坐标:FSZBLbl 0:Prog “QXYS” :Prog “ZSZB”:O=J-90:←┘P= (I-Y)cosO-(M-X) sinO :D=D+P:←┘AbsP≥0.001=> GOTO 0 :≠> GOTO 1 △←┘Lbl 1: Z= (I-Y)cosJ-(M-X) sinJ: ←┘4. 《SQX》高程计算子程序Prog“SB”:W=Z[1]-Z[2]:W>0=>Z[6]=-1:≠>Z[6]=1△Z[3]:T“T”=Abs(Z[3]W/2) :E“E”=T^2÷2Z[3]:C=D-Z[4]:D≦Z[4]=>Z[7]=Z[1]:≠>Z[7]=Z[2]△Z[5]:AbsC≦T=> “H0”: Z[8]=Z[5]+CZ[7]+Z[6](T- Abs C)^2÷2Z[3] ◢≠> “H0”: Z[8]=Z[5]+CZ[7]5、曲线元要素数据库:QXYS◢D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△┘……………………………D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘(注:如有多个曲线元要素继续添加入数据库QXYS中)6、《SB》竖曲线数据库D≥竖曲线起点里程=>Z[1]=?:Z[2]=?:Z[3]=?:Z[4]=?:Z[5]=?△D≥?=>Z[1]=?:Z[2]=?:Z[3]=?:…………△TYQXJS(主程序名)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:?Q1÷P→C:(P-R)÷(2HPR) →D:180÷π→EN=2=>Goto 2LbI 1:Cls:?SS=0=>Goto 0 (注:當S輸入0時,程序會由LbI 0開始重新運行)Z:Abs(S-O)→WProg"SUB1":Cls"XS=":X◢"YS=":Y◢"FS=":F-90 ?DMS◢Goto 1LbI 2:Cls:?XX=0=>Goto 0 (注:當X輸入0時,程序由會LbI 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])→X (剩號可省略)X+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计算器主程序:ZHU-CHENG-XULbi0:“1,ZS=FS,2ZS,3FS,4XY=>SG,5。
卡西欧5800坐标计算程序(通俗易懂版)
卡西欧5800道路坐标测量程序(通俗易懂版)主程序(自己给取个名吧)2→Dimz“1.SZ=﹥XY2.XY=﹥SZ”◢“N=”?NIf N=1:Then Goto 1:Else Goto 2:IfEndLbl 1“S=”?S“Z=”?Z“J=”?TIf S﹤0:Then Prog “SYL”:Else Prog “SYR”:IfEnd(可拿掉)1÷P→C:(P-R) ÷(2HPR)→D:180÷∏→E:Abs(Abs(S)-O)→W:Prog “SUB1”“QJ=”:Z[1]◣DMS◢“X=”:X◢“Y=”:Y◢Goto 1Lbl 2“S=”?SIf S<0:Then Prog “SYL”:Else Prog “SYR”:IfEnd(可拿掉) 90→T1÷P→C:(P-R) ÷(2HPR)→D:180÷∏→E“X=”?X“Y=”?YX→I:Y→JProg “SUB2”O+W→S(红色加粗加下画线为字母,常规为零)“S=”:S◢Z→Z“Z=”:Z◢Goto 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)))→XV+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+F WD))+Asin(G+QEMW(C+MWD))) →YG+QEW(C+WD)→Z[1]Z[1]+T→FX+Zcos(F)→XY+Zsin(F)→YReturn子程序(SUB2)G-90→Z[2]:Abs((Y-V)cos(Z[2])-(X-U)sin(L)→W:0→ZLbl 0Prog “SUB1”Z[2]+QEW(C+WD)→L(J-Y)cos(L)-(I-X)sin(L)→ZIf Abs(Z)<10(-6):Then Goto 1:EIse W+Z→W:Goto 0:IfEndLb1 10→Z:Prog “SUB1”(J-Y)÷sin(F)→ZReturn数据库(SYR)If S>29599.031(本段线元计算范围起点里程) And S≤29759.031(本段线元计算范围终点里程):Then 3311072.206(本段线元起点X坐标)→U:502909.1014(本段线元起点Y坐标)→V: 29599.031(本段线元起点里程)→O:256-25-59.11(本段线元起点方位角)→G:160(本段线元长度)→H:1400(本段线元起点半径)→P:10(45)(本段线元终点半径)(直线段为10的45次方)→R:-1(线元转向标识)(左偏为-1,右偏为1,直线为0)→Q:IfEnd输入说明正算 1 输入 N:输入1进入计算坐标模式S:里程桩号Z:偏距J:与线路角度2 显示 QJ:切线方位角X:X坐标Y:Y坐标反算 1 输入 N:输入2进入坐标反算里程偏距模式S:输入相近里程X:输入X坐标Y:输入Y坐标2 显示 S:反算出的里程桩号Z:反算出的偏距。
5800 只计算坐标方位角程序
5800 只计算坐标方位角程序一、坐标计算源程序1.主程序(TYQXjs)"1.SZ=> XY":"2.XY => SZ":N:U"X0":V"Y0":O"S0":G"F0":H"LS":P"R0":R"RN":Q:C=1÷P:D=(P-R)÷(2HPR):E=180÷π:N=1=>Goto 1:≠>Go to 2Δ←┘Lbl 1:{SZ}:SZ:W=Abs(S-O):Prog "SUB1":X"XS"=X◢Y"YS"=Y◢G oto 1←┘Lbl 2:{XY}:XY:I=X:J=Y:Prog "SUB2":S"S"=O+W◢Z"Z"=Z◢Goto 22. 正算子程序(SUB1)A=0.1739274226:B=0.3260725774:K=0.0694318442:L=0.3300094782:F=1-L:M=1-K:X= U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+Q EMW(C+MWD))):Y=V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C +FWD))+Asin(G+QEMW(C+MWD))):F=G+QEW(C+WD)+90:X=X+ZcosF:Y=Y+ZsinF3. 反算子程序(SUB2)T=G-90:W=Abs((Y-V)cosT-(X-U)sinT):Z=0:Lbl 0:Prog "SUB1":L=T+QEW(C+WD):Z=(J-Y)cosL-(I-X)sinL:AbsZ<1E-6=>Goto1:≠>W=W+Z:Got o 0Δ←┘Lbl 1:Z=0:Prog "SUB1":Z=(J-Y)÷sinF二、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
5800交点法全线坐标计算程序
我自用的5800交点法全线坐标计算程序,适用于主线(等长完整缓和曲线)全线任意中边桩坐标计算。
特点是输入参数少,方便,一般设计图纸上都有。
一、主程序 ZB1、Lbl 02、”ZHANGHAO”?Z3、Prog ”SJ”(交点参数子程序)4、”BZ”?M5、I-D→Q: J-F→P6、tan-1(P÷Q)→A7、If Q<0:Then A+180→A:IfEnd8、If A<0:Then A+360→A:IfEnd9、H-I→Q:V-J→P10、tan-1(P÷Q)→B11、If Q<0:Then B+180→B:IfEnd12、If B<0:Then B+360→B:IfEnd13、A-B+180→E:1→U14、If E>360:Then E-360→E:IfEnd15、If E<0:Then 360+E→E:IfEnd16、If E<180:Then 180-E→○:IfEnd17、If E>180:Then E-180→○:-1→U:IfEnd18、L÷2-L3÷240÷R2→Q19、L2÷24÷R-L3÷2688÷R3→P20、(R+P)tan(○÷2)+Q→T21、R○∏÷180+L→G22、C-T→N23、Z-N→S24、If S>G:Then Z-N-G+T→S:I+ScosB→X: J+SsinB→Y: B→W:Else If S>G-L:Then G-S→S: S-S5÷40÷R2÷L2→E: S3÷6÷R÷L→K: I+TcosB+Ecos(B+1 80)+UKcos(90+B)→X: J+TsinB+Esin(180+B)+UKsin(90+B)→Y: B-180U S2÷2÷R÷L÷∏→W: Else If S>L:Then Rsin(180(2S-L)÷2÷R÷∏)+Q →E: R(1-cos(180(2S-L)÷2÷R÷∏))+P→K:I-TcosA+EcosA-UKsinA→X: J-TsinA+EsinA+UKcosA→Y: A+180U(S-L)÷R÷∏+180UL÷2÷∏÷R→W: Els e If S>0:Then S-S5÷40÷R2÷L2→E:S3÷6÷R÷L→K:I-TcosA+EcosA-UKsinA →X: J-TsinA+EsinA+UKcosA→Y:A+180US2÷2÷R÷L÷∏→W: Else If S<0:T hen I-(T-S)cosA→X: J-(T-S)sinA→Y: A→W: IfEnd: IfEnd: IfEnd: If End: IfEnd29、X+Mcos(90+W)→X:Y+Msin(90+W)→Y”X”:X◢”Y”:Y◢30、Goto 0二、数据库子程序:SJIf Z<本曲线HZ(或YZ)桩号:Then 本曲线前一交点X坐标→D:本曲线前一交点Y坐标→F:本曲线交点X坐标→I: 本曲线交点Y坐标→J:本曲线后一交点X 坐标→H:本曲线后一交点Y坐标→V:本曲线交点桩号→C:本曲线曲线半径→R:本曲线缓和曲线长度→L:Else If Z<二曲线HZ(或YZ)桩号:Then二曲线前一交点X坐标→D:二曲线前一交点Y坐标→F:二曲线交点X坐标→I:二曲线交点Y 坐标→J:二曲线后一交点X坐标→H:二曲线后一交点Y坐标→V:二曲线交点桩号→C:R=二曲线曲线半径:二曲线缓和曲线长度→L:Else If ………… IfEnd:说明:变量输入:Z=计算点桩号:M=计算桩号边桩距离(左负右正)。
FX5800计算器公路全线坐标正、反算计算程序
5800计算器公路全线坐标正、反算计算程序FX5800全线贯通万能正、反算程序(一体化、超好用、短小、易懂)FX5800计算器的积分程序(正反算、全线贯通、新线路)终极版ZHUCHENGXU主程序"1.ZS,2.FS" ?→Q←┘输入1正算,输入2反算“NEW=0,OLD≠0”?Z←┘IfZ=0:Then“X0=”?A:“Y0=”?B:“C0=”?C:“1/R0=”?D:“1/RI=”?E:“SP=”?F:“EP=”?G:Ifend:Q=2=>Goto 2←┘Lbl1 :“KM=,<0 Stop”?H:H<0=>Stop:“PJ=”?O:“PY=”?L←┘LblZ:Z=1=> Prog“01”:Z=2=> Prog“02”←┘选择数据库文件,可增加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=>Goto4:Cls:Fix 3←┘"Xn=":Locate4,1,U:"Yn=": Locate5,2,V:“FWJ=”:PDMS◢Norm 2:Cls:Goto1←┘Lbl2:“XD=,<0,STOP”?R:R<0=>Stop:“YD=”?S←┘“KMDG=”?H :90→O:0→L:GotoZ←┘(H线路范围内的任意桩号)Lbl4:Pol(R-U,S-V):J<0 => J+360→J←┘Whileabs(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:Goto3: Whileend:H+Icos(J-P)→H:GotoZ←┘Lbl3:Cls:Fix 3←┘“KM=”: Locate4,1,H:“PY=”: Locate4,2,L◢Norm 2:Cls:Goto2←┘01(数据库子程序)If H<=第一曲线终点桩号:then第一曲线起点X→A:第一曲线起点Y→B:第一曲线起点方位角→C:起点曲率→D:终点曲率→E:起点桩号→F:终点桩号→G:return:ifend ……………程序说明:1、该程序可以计算任意线形(直线、圆曲线、缓和曲线、不完整曲线)任意桩号的坐标(正算,输入1),也可根据坐标计算该点到线路的距离及垂足桩号(反算,输入2);2、(NEW=0,OLD≠0)?如果要计算的点为数据库线路中的点,则输入数据库编号(以整数1、2、3…代替输入);如果在数据库中没有要计算线路的数据,则输入曲线要素X0:曲线起点X坐标;Y0:曲线起点Y坐标;C0:曲线起点方位角;R0-1、 RI-1:曲线起点、终点曲率,直线为0,曲线左偏输入负值,右偏输入正值;SP、 EP:曲线起点桩号,终点桩号;KM:待求点桩号;PJ:正斜交的设定;PY:偏中距离,线路上的点输入0,右偏输入+值,左偏输入-值;3、正算显示坐标及切线方位角;反算输入线路的任意桩号(此桩号越接近真实值计算速度越快)、待求点坐标,显示待求点桩号及偏中距离;4、正算子程序为积分公式编写而成;反算子程序为角度趋近的方法编写,计算速度有点慢。
5800平面坐标计算程序(万能公式)
卡西欧5800P型计算器道路平面坐标计算程序文件名:PMCX(E-D)÷Abs(G-F)→P: Abs(L-F)→Q: P×Q→I: C+(I+2D)×Q×90÷∏→J: “FV=”:J►DMS◢↲0→U: 0→V: 0→W: 0→Z: 6→T: T→S ↲LbI0↲U+Cos(C+(I×(2S-1)÷(2T)+2D)×(Q÷2)×(2S-1)÷(2T)×180÷∏)→U ↲V+Sin(C+(I×(2S-1)÷(2T)+2D)×(Q÷2)×(2S-1)÷(2T)×180÷∏)→V ↲DszS↲Goto0↲T-1→S↲LbI1↲W+Cos(C+(IS÷T+2D)×(Q÷2)×(S÷T)×180÷∏)→W ↲Z+Sin(C+(IS÷T+2D)×(Q÷2)×(S÷T)×180÷∏)→Z↲DszS↲Goto1↲A+Q÷(6T)×(Cos(C)+4U+2W+Cos(J))→X:“XO=”:X◢B+Q÷(6T) ×(Sin(C)+4V+2Z+Sin(J))→Y:“YO=”:Y◢X+OCos(J+H+180)→U:“XL=”:U◢Y+OSin(J+H+180)→V:“YL=”:V◢X+RCos(J+H)→W:“XR”:W◢Y+RSin(J+H)→Z:“YR”:Z◢符号含意:O—路线左侧横断水平距离;H—路线右角:R—路线右侧横断水平距离;E—线元终点曲率1/R;左偏取“-”:右偏取“+”D—线元起点曲率1/R;左偏取“-”:右偏取“+”遇ZH:HZ:GQ点时输入0G—线元终点里程;F—线元起点里程;L—线元任意点里程;C—线元起点切线方位角;A—线元起点X坐标;B—线元起点Y坐标;说明:1.本程序支持直线;圆曲线;缓和曲线;回旋曲线等任意线型。
卡西欧5800测量坐标计算程序
一.使用说明: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 三.用于提前将曲线元要素输入子程序,计算时只输入里程桩号与边距。
卡西欧CASIO fx-5800 道路坐标放样程序
卡西欧CASIO fx-5800 道路坐标放样程序源程序包括:一个主程序和两个子程序主程序:PRO-ROAD行号程序说明1 Deg:Fix3:26→DimZ2 “X(JD1)”?X:“Y(JD1)”?Y:“X(JD0)”?M:“Y(JD0)”?N3 Prog”SUB-QXYS1”4 Pol(X-M,Y-N):J→Z[20]:J+O→Z[19]5 X-Scos(Z[20]) →Z[21]:Y-Ssin(Z[20]) →Z[22]6 X+Tcos(Z[19]) →Z[23]:Y+Tsin(Z[19]) →Z[24]7 “X0”?U:”Y0”?V8 Lbl 09 “KP”?P:IFP>Z[1]:Then Goto 1 :IfEnd10 Z[1]-P→L11 “XP=“:X-(S+L)cos(Z[20]) →F12 “YP=“:Y-(S+L)sin(Z[20]) →G13 Z[20] →Z :Goto 514 Lbl 115 If P>Z[2] :Then Goto 2 :IfEnd16 P-Z[1] →L :L→Z[14]:B→Z[15]:Prog”SUB-HXY”17 “XP=“:Z[21]+Z[16]cos(Z[20]-WZ[17]sin(Z[20]) →F18 “YP=“:Z[22]+Z[16]cos(Z[20]-WZ[17]sin(Z[20]) →G19 Z[20]+90WLL÷(BRπ) →Z20 Goto 521 Lbl 222 If P>Z[4] :Then Goto 3 :IfEnd23 P-Z[1] →L :90(2L-B)÷R÷π→Z[13]24 Rsin(Z[13])+Z[8] →Z[16]:R(1-cos(Z[13]))+Z[6] →Z[17]25 “XP=“:Z[21]+Z[16]cos(Z[20])-WZ[17]sin(Z[20]) →F26 “YP=“:Z[22]+Z[16]sin(Z[20])-WZ[17]cos(Z[20]) →G27 Z[20]+WZ[13] →Z28 Goto 529 Lbl 330 If P>Z[5]:Then Goto 4:IfEnd31 Z[5]-P→L:L→Z[14]:C→Z[15]:Prog”SUB-HXY”32 “XP=“:Z[23]-Z[16]cos(Z[19])-WZ[17]sin(Z[19]) →F33 “YP=“:Z[24]-Z[16]sin(Z[19])+WZ[17]cos(Z[19]) →G34 Z[19]-90WLL÷(CRπ) →Z35 Goto 536 Lbl 437 P-Z[5] →L38 “XP=“:X+(T+L)cos(Z[19]) →F39 “YP=“:Y+(T+L)sin(Z[19]) →G子程序1:SUBQXYS1子程序2:SUB-HXY40 Z[19] →Z41 Lbl 542 If Z<0 :Then Z+360→Z:IfEnd43 “BP=“:Z DMS44 If U=0:Then Goto 7:Else Pol(F-U,G-V):IfEnd45 Lbl 646 If J<0:Then J+360→J:IfEnd47 “A1=“:J DMS48 “D1=“:I49 Lbl 750 “D ANGLE”?H:IfH=0:Then Goto 0 :IfEnd :?D51 “XB=“:F+Dcos(Z+H) →Z[11]52 “YB=“:G+Dsin(Z+H) →Z[12]53 If U=0:Then Goto 7:Else Pol(Z[11]-U,Z[12]-V):IfEnd54 Goto 6行号程序说明1 “ANGLE”?O:?R:”LS1”?B:”LS2”?C:”K(JD1)”?K2 If O<0:Then -1→W:Else 1→W:IfEnd:WO→A3 B2÷24÷R-B^(4)÷2688÷R^(3)+B^(6)÷506880÷R^(5) →Z[6]4 C2÷24÷R-C^(4)÷2688÷R^(3)+B^(6)÷506880÷R^(5) →Z[7]5 B÷2-B^(3)÷240÷R2+B^(5)÷34560÷R^(4) →Z[8]6 C÷2-C^(3)÷240÷R2+C^(5)÷34560÷R^(4) →Z[9]7 “T1=“:Z[8]+(R+Z[7]-(R+Z[6])cos(A))÷sin(A) →S8 “T2=“:Z[9]+(R+Z[6]-(R+Z[7])cos(A))÷sin(A) →T9 “L=“:RAπ÷180+(B+C)÷2→L10 “LY=“:L-B-C→Q11 “E=“:(R+(Z[6]+Z[7])÷2)÷cos(A÷2)-R→E12 “K(ZH)=“:K-S→Z[1]13 “K(HY)=“:Z[1]+B→Z[2]14 “K(QZ)=“:Z[1]+L÷2+(B-C)÷4→Z[3]15 “K(YH)=“:Z[1]+L-C→Z[4]16 “K(HZ)=“:Z[4]+C→Z[5]行号程序说明1 If Z[14]=0:Then 0→Z[16]:0→Z[17]:Else2 Z[14]-Z[14]^(5)÷40÷(RZ[15])2+Z[14]^(9)÷3456÷(RZ[15])^(4) →Z[16]3 Z[14]^(3)÷6÷(RZ[15])-Z[14]^(7)÷336÷(RZ[15])^(3)+Z[14]^(11) ÷42240÷(RZ[15])^(5) →Z[17]4 IfEnd。
卡西欧5800计算器坐标正反算程序(带详细说明)
卡西欧5800程序完整版"ZS=1,FS=2"?N: 1÷P →C:(P-R)÷(2HPH)→D:180÷π→E: If N=1: Then Goto 1: Else Goto 2: IfE nd←┚LbI 1:1 →I:0 →Z:Abs(K-O) →W: Prog"ZS"←┚F-90→F←┚"JJ"?K:"PJ"?L: "ZX=":X+Lcos(F+K) →Z[3]◢"ZY=": Y+Lsin(F+K) →Z[4]◢"QXFWJ=":F DMS◢Abs(Z) →Z:Goto 8←┚LbI 2:"X"?I:"Y"?J: Prog"FS":"FSZH=":O+W→K◢"FSJL=":Z◢Lbl 8正算子程序(ZS)(不运行)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→Y3反算子程序(FS)(不运行)G-90→T:Abs((Y-V))cos(T)-(X-U)sin(T)→W:0→Z←┚Lbl 0←┚prog"ZS":T+QEW(C+WD)→L:(J-Y)cosL-(I-X)sinL→Z:If Abs(Z)<0.001: Then Goto1:E lse W+Z→W:IfEnd :Goto 0←┚Lbl 1:0→Z:Prog"ZS":(J-Y)÷sinF→ZZX-WN(运行主程序,该程序适用于匝道,对全段完整非对称曲线计算太过麻烦)"CZX"?S(仪站X坐标):"CZY"?W(仪站Y坐标)LbI 0: "K"?K: If K≤126.9(第1条单一曲线的终点下面同上): Then Goto A:Else If K≤176.9 And K>126.9: Then Goto B:Else If K≤259.562 And K>176.9: Then Goto C:Else If K≤309.562 And K >259.562: Then Goto D:IfEnd:IfEnd:IfEnd:IfEnd←┚LbI A:92094.336(起点X坐标)→U:8287.962(起点Y坐标)→V:0起点桩号→O:145°11'54"(方位角)→G:126.9(曲线长度)→H:10^(45) (起点半径)→P:10^(45) (止点半径)→R:+1(路线左右偏,左负右正,直线输0)→Q:Prog "WN":Goto WLbI B:91990.134→U:8360.388→V:126.9→O:145°11'54"→G:50→H:10^(45) →P:150 →R:+1→Q:Pr og "WN":Goto WLbI C:91947.609→U:8386.570→V:176.9→O:154°44'51"→G:82.662→H:150 →P:150 →R:+1→Q:Pr og "WN":Goto WLbI D:91867.101→U:8399.992→V:259.562→O:186°19'19"→G:50→H:150 →P: 10^(45) →R:+1→Q: Prog "WN":Goto WLbI W:"PJ1"?T←┚(该项是只左右边桩再左右偏距,输0为不再左右偏,可以直接出方位角、距离,适用于桥梁桥台、盖梁、涵洞八字墙等放样,以路线前进方向,前-,后+)If T=0:Then Z[3]→Z: Z[4]→M: Goto P: Else Goto V: IfEnd←┚LbI V:"JJ1"? O←┚(左右边桩再偏夹角,用180°减去路线夹角)"X1=": Z[3]+Tcos(F+N+ O)→U◢"Y1=":Z[4]+Tsin(F+N+ O)→V◢U→Z: V→M: GotoP←┚LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚"JL=":I◢(仪站至测点的距离)"FWJ=":J DMS◢(仪站至测点的方位角)Goto0备注:1.规定以道路中线前进方向(即里程增大的方向)区分左右;当线元往左偏时Q=-1;当元线往右偏时,Q=1:当元线为直线时,Q=0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
颜色文字Casio5800交点法与线元法(积木法)匝道坐标正反算放样程序(XUFENG 2011.2.14)本人一直以来想找一个交点法与线元法相结合的坐标正反算程序,在网上找了很久很久,没能找到一个较为满意的,有幸在测量空间看到大歪哥的《Casio5800交点法程序》与《线元法(积木法)匝道坐标正反算放样程序》,根据歪哥意见“需要的自行修改结合XY框架自己修改为数据库反算程序等”,本人不才,采用最笨的办法将两个程序综合了一下,使之能既能进行交点法正反算,又能进行线元法正反算。
在此特别感谢大歪哥!将程序发上来,愿与大家一同交流学习欢迎大家吐口水,只要能进步就行!程序由一个主程序ZBZFS和8个子程序(JS、XY-A、XY-B、JDYS、1、2、3、4)构成,运行时只需运行主程序即可!本程序适用于单交点对称型、不对称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标正反算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并能对单一线元进行坐标正反算。
1主程序名:ZBZFS(功能:进入计算主程序)65→Dimz↙Deg:Fix 3↙"1.JD ZFS 2. ZHADAO ZFS"? I: I→Z[61]: "1.ZHONG SHU JS 2. JS"? I↙If I=1: Then Goto1: Else Goto2:IfEnd↙LbI 1 :If Z[61]=1: Then Prog"JDYS":Else Cls:"K0"?A:"KN"?L :"X0"?U :"Y0"?V :"F0"?W :"R0"?P :"RN"?Q:"ZX:-1,+1,0"?G:IfEnd↙LbI 2 :Prog"JS"2子程序名:JS(功能:选择正算或反算模式)Cls:"XC"?H:"YC"?Z↙Cls:"1.ZS 2.FS"? I: I=2=>Goto 3↙LbI 1 : Cls: If Z[61]=1: Then"JD ZS KX+XXX"?K :Prog"4": Else "ZHAD AO ZS KX+XXX"?K :IfEnd↙LbI 2: Cls:90→B: Cls:"RJ Or 0 To K"?B:B=0 =>Goto 1:"Z"?T↙Prog "XY-A"↙X+Tcos(M+B)→X↙Y+Tsin(M+B)→Y↙360Frac((M+360)÷360→M↙Pol(X-H,Y-Z : 360Frac((J+360)÷360→J↙2→O: Prog "XY-B":Goto 2↙LbI 3 : Cls: If Z[61]=1: Then"JD FS KN+"?K:"X"?C:"Y"?D:Prog"4":El se Cls: "ZHADAO FS":"X"?C:"Y"?D:IfEnd↙LbI 4 :Prog "XY-A"↙(D-Y)sin(M)+(C-X)cos(M)→H↙If Abs(H)>X10-3 :Then K+H→K:Goto 4:IfEnd↙(D-Y)÷cos(M)→T↙3→O: Prog "XY-B":Goto 3↙3子程序名:XY-A(功能:坐标计算程序)5→N: G(Q-1-P-1)÷Abs(L-A)→F: Abs(K-A)÷N→R: 90R÷π→S:W+(FNR+2GP-1)NS→M:1→E↙U+R÷6×(Cos (W)+Cos (M) +4∑(Cos (W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(Cos (W+((EFR+2GP-1)ES,E,1,(N-1)))→X ↙V+R÷6×(sin (W)+sin (M) +4∑(sin (W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+ 2∑(sin (W+((EFR+2GP-1)ES,E,1,(N-1)))→Y↙4子程序名:XY-B(功能:显示正算或反算结果)If O=2:Then↙Cls :"K×××=":"Z=":"X=":"Y=": Locate 6,1, K : Locate 4, 2, T : Locat e 4,3, X : Locate 4,4, Y◢If T=0 :Then Cls :"QF(Z)=": Locate 8,1, M:M▼DMS◢IfEnd↙Cls :"K×××=":"S=": Locate 6,1, K : Locate 4, 2, I :"F=":J:J▼DMS◢IfEnd↙If O=3:Then "X=":"Y=":"K×××=":"Z=": Locate 4,1,C: Locate 4, 2, D : Locate 6,3,K :Locate 4,4,T◢IfEnd:Cls↙5子程序名:4(功能:将交点参数转为线元计算参数)LbI 1: IF Z[48]<0 :Then -1→Z[62] : Else:1→Z[62]:IfEndLbI 2: If K≥Z[57]:Then Z[57]→A:Z[1]→L:Z[23]→U:Z[24]→V : Z[31]→W : 1 0^45→P:10^45→Q : 0→G:IfEnd↙LbI 3:If K≥Z[1]:Then Z[1]→A : Z[2]→L : Z[19]→U : Z[20]→V:Z[29]→W : 10 ^45→P:Z[46]→Q : Z[62]→G: IfEnd↙LbI 4:If K≥Z[2]:Then Z[2]→A : Z[4]→L:Z[25]→U : Z[26]→V:Z[32]→W : Z[4 6]→P: Z[46]→Q : Z[62]→G: IfEnd↙LbI 5:f K≥Z[4]:Then Z[4]→A : Z[5]→L : Z[27]→U:Z[28]→V : Z[33]→W : Z [46]→P: 10^45→Q : Z[62]→G: IfEnd↙LbI 6:If K≥Z[5]:Then Z[5]→A : Z[5]+1000→L:Z[21]→U : Z[22]→V : Z[30]→W :10^45→P: 10^45→Q : 0→G : IfEnd↙6子程序名:JDYS(功能:输入交点要素、显示交点要素及主点坐标)Cls : "BP"?H:H→Z[57]:"K(JD)"?K:K→Z[41] :"X(JD)"?X :X→Z[4 2]:"Y(JD)"?Y:Y →Z[43]:"LS1"?B:B→Z[44] :"LS2"?C:C →Z[45]: ?R:R →Z[46]:"(ZH)FWJ°"?M:M→Z[47] : "α(Z-,Y+)°"?O:O→Z[48] : Z[47]+Z [48]→Z[49]: Prog "1":Prog "2"↙Cls :"T1=":"T2=":"L=":"LY=": Locate 4,1, Z[50] : Locate 4,2, Z[51]: L ocate 4,3, Z[52] : Locate 4,4, Z[53]◢Cls :"E=": Locate 7,1, Z[54]Cls :"K(QD)=": "X=": "Y=": "FWJ="Locate 7,1,Z[57] :Locate 7,2, Z[2 3] :Locate 7,3, Z[24] :Locate 7,4, Z[31] ◢Cls :"K(ZH)=": "X=": "Y=": "FWJ=":Locate 7,1,Z[1] : Locate 7,2, Z [19] :Locate 7,3, Z[20] :Locate 7,4, Z[29]◢Cls : "K(HY)=": "X=": "Y=": "FWJ=": Locate 7,1,Z[2] : Locate 7,2, Z[25] :Locate 7,3, Z[26] :Locate 7,4, Z[32]◢Cls :"K(QZ)=": Locate 7,1,Z[3]◢Cls :"K(YH)=": "X=": "Y=": "FWJ=": Locate 7,1,Z[4] : Locate 7,2, Z[27] :Locate 7,3, Z[28] :Locate 7,4, Z[33]◢Cls :"K(HZ)=": "X=": "Y=": "FWJ=": Locate 7,1,Z[5] : Locate 7,2, Z[21] :Locate 7,3, Z[22] :Locate 7,4, Z[30]◢7子程序名:1(功能:计算交点要素)If Z[48]<0 :Then -1→Z[55] : Else 1→Z[55] : IfEnd : Z[55]* Z[48]→Z[56] ↙Z[44] 2 ÷24÷Z[46]- Z[44]^(4)÷2688÷Z[46] ^(3) →Z[6] ↙Z[45] 2 ÷24÷Z[46]- Z[45]^(4)÷2688÷Z[46] ^(3) →Z[7] ↙Z[44]÷2-Z[44]^(3)÷240÷Z[46]2 →Z[8] ↙Z[45]÷2-Z[45]^(3)÷240÷Z[46]2 →Z[9] ↙Z[8]+(( Z[46]+Z[7]-( Z[46]+Z[6])cos(Z[56]))÷sin(Z[56]))→Z[50]↙Z[9]+(( Z[46]+Z[6]-( Z[46]+Z[7])cos(Z[56]))÷sin(Z[56]))→Z[51]↙Z[46]* Z[56]π÷180+( Z[44]+ Z[45]) ÷2→Z[52]↙Z[46]* Z[56]π÷180-( Z[44]+ Z[45]) ÷2→Z[53]↙(Z[46]+(Z[6]+Z[7])÷2)÷cos(Z[56]÷2)- Z[46]→Z[54]↙Z[41]-Z[50]→Z[1] ↙↙Z[1]+Z[44]→Z[2] ↙↙Z[2]+Z[53]÷2→Z[3]↙Z[1]+Z[52]-Z[45]→Z[4]↙Z[4]+Z[45]→Z[5]↙8子程序名:2(功能:计算主点坐标及切线方位角)Z[42]-Z[50]cos(Z[47])→Z[19]: (直缓坐标)Z[43]-Z[50]sin(Z[47])→Z[20]↙Z[47]→Z : 360Frac((Z+360)÷360→Z[29] (方位角)Z[42]+Z[51]cos(Z[49])→Z[21]: (缓直坐标)Z[43]+Z[51]sin(Z[49])→Z[22]↙Z[49]→Z: 360Frac((Z+360)÷360→Z[30] (方位角)Z[1]-Z[57]→L↙(H→Z[57]为前直线起点桩号)Z[42]-( Z[50]+L)cos(Z[47])→Z[23]↙(前直线起点坐标)Z[43]-( Z[50]+L)sin(Z[47])→Z[24]↙Z[47]→Z : 360Frac((Z+360)÷360→Z[31]↙(方位角)Z[44]→Z[12]:Z[44]→Z[13]:Prog"3"↙Z[4]-Z[1]→L:90(2L-Z[44])÷Z[46]÷π→Z[11]↙Z[46]sin(Z[11])+Z[8]→Z[14]:Z[46](1-cos(Z[11]))+Z[6]→Z[15]↙Z[19]+Z[14]cos(Z[47])-Z[55]Z[15]sin(Z[47])]→Z[27]↙(圆缓点坐标)Z[20]+Z[14]sin(Z[47])+Z[55]Z[15]cos(Z[47])]→Z[28]↙Z[47]+Z[55]Z[11]→Z: 360Frac((Z+360)÷360→Z[33]↙(方位角)Z[2]-Z[1]→L:90(2L-Z[44])÷Z[46]÷π→Z[58]↙Z[46]sin(Z[58])+Z[8]→Z[14]:Z[46](1-cos(Z[58]))+Z[6]→Z[15]↙Z[19]+Z[14]cos(Z[47])-Z[55]Z[15]sin(Z[47])]→Z[25]↙(缓圆点坐标)Z[20]+Z[14]sin(Z[47])+Z[55]Z[15]cos(Z[47])]→Z[26]↙Z[47]+Z[55]Z[58]→Z: 360Frac((Z+360)÷360→Z[32]↙(方位角)9子程序名:3(主点坐标计算辅助程序)If Z[12]=0 :Then 0→Z[14]: 0→Z[15]:Else↙Z[12]- Z[12]^(5)÷40÷(Z[46]*Z[13])2+ Z[12]^(9)÷3456÷(Z[46]*Z[13])^(4) →Z[14]↙Z[12]^(3)÷6÷(Z[46]*Z[13])-Z[12]^(7)÷336÷(Z[46]*Z[13])^(3)+ Z[12]^(11) ÷42240÷(Z[46]*Z[13])^(5)→Z[15] ↙IfEnd↙程序说明:1、进入程序:1.JD ZFS 2. ZHADAO ZFS? 选1为交点法正反算(以后操作均为交点法计算),选2为线元法正反算(以后操作均为线元法计算)2、ZHONG SHU JS 2. JS?选1重输参数,选2直接进入交点法或线元法正反算(参数为已输过的参数)3、参数输入:一、交点法已知数据输入:BP?上一交点ZH桩号K(JD)?交点桩号X(JD)?交点X坐标Y(JD)?交点Y坐标LS1 ?第一缓和曲线长度LS2 ?第二缓和曲线长度R ? 圆曲线半径(ZH)FWJ°?交点前(即前交点至本交点也即ZH点)的正切线方位角α(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)交点法计算要素显示:T1=第一切线长T2=第二切线长L=曲线总长LY=圆曲线长E=曲线外距K(ZH)=直缓点桩号K(HY)=缓圆点桩号K(QZ)=曲中点桩号K(YH)=圆缓点桩号K(HZ)=缓直点桩号二、线元法已知数据输入:K0?KN? R0? RN?F0?X0? Y0?ZX? 分别为线元起点桩号、终点桩号、起点半径、终点半径、起点切线方位角、起点X坐标、起点Y坐标、线元转向。