fx-5800p全线坐标正反算带高程计算程序(线元法

合集下载

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计算器全线坐标计算放样正反算程序

5800计算器全线坐标计算放样正反算程序

5800计算器全线坐标计算放样正反算程序此处无法提供完整的程序,但是可以提供一些关于全线坐标计算放样正反算的基本知识。

全线坐标计算放样是指将一条曲线按照一定比例进行分割,然后计算每个分段的坐标值,最终得到完整曲线上每个点的坐标。

这个过程可以分为正算和反算两部分。

正算是根据曲线的起点、终点以及每个分段的长度,通过数学公式计算出每个分段末点的坐标,最终得到完整曲线上每个点的坐标。

反算则是根据给定的曲线上某个点的坐标,以及曲线起点到该点的距离,计算出该点在曲线上的位置。

在实际工作中,使用计算器进行全线坐标计算放样非常常见。

通常使用的计算器有5800和2000等型号,这些计算器都有相应的程序可以使用。

以下是大致的步骤:
正算步骤:
1. 选择“坐标计算放样”功能;
2. 输入曲线的起点坐标和终点坐标;
3. 输入曲线分段长度以及分段数量;
4. 计算每个分段的末点坐标;
5. 输出所有点的坐标。

反算步骤:
1. 选择“坐标计算放样”功能;
2. 输入曲线的起点坐标和终点坐标;
3. 输入参考点的坐标;
4. 输入参考点到曲线起点的距离;
5. 计算参考点在曲线上的位置;
6. 输出参考点在曲线上的坐标。

全线坐标计算放样是一项非常重要的工程测量工作,也是计算器的常见应用之一。

需要结合具体需求和计算器机型进行操作。

5800公路坐标正反算程序(线元法数据输入)

5800公路坐标正反算程序(线元法数据输入)

坐标正反算程序程序变量说明:D:选线。

E、F:置仪点坐X、Y。

K:待算点桩号。

B:待算点距离。

Q:待算点与线路交角(以顺时针方向)。

L:线元起点至待算点长度。

O:待算点方位角。

S:线元长度。

U:线元起点半径。

V:线元终点半径。

程序运行内容说明:开机运行程序后,1、进入主程序,选择正算或反算,1为正算,2为反算。

2、选择线路,1为第线。

2为第线。

3为第线等等。

3、如果上一次计算过的话提示是不更新数线路参数,十秒钟不操作更新,按EXE不更新。

如果上一次不是计算现在要计算的线路的话直接更新数据库(数据库更新会倒计时提示)。

3、正算。

提示入入置仪点坐标。

提示输入待算点桩号。

提示输入离中桩距离。

提示输入与线路方向夹角。

结果:坐标X、Y。

距置仪点距离和方位角。

再次提示输入待算点桩号。

反算。

提示输入实测点坐标X、Y。

结果:待算点桩号程距中桩距离。

再次提示输入实测点坐标X、Y。

程序特点:1、输入参数少,只要输入线路起点的桩号、半径、方位角、XY坐标以及各线元的桩号和半径(左+右-直线×1045)即可。

2、调用变量少,本程还有A、G、H、M、N、P、R、W字母变量未使用,可以用于其它程序而不会和本程序产生冲突。

3、数据库独立,更换工程时数据更换方便。

4、界面友好,尽量做到人人都容易上手,操作一学就会。

5、程序尽量运用5800计算器各种指令,使程序速度提高。

并能够起到帮助大家学习5800各指令工作原理,以便更好掌握编程。

CASIO fx-5800P CYT 综合曲线坐标正反算程序V2.1

CASIO fx-5800P CYT 综合曲线坐标正反算程序V2.1

适用:CASIO fx-5800P Q Q:295188316[作者原创] CASIO fx-5800P CYT 综合曲线坐标正反算程序V2.0说明:本程序适用于卡西欧计算器 CASIO fx-5800P,能进行全线贯通坐标正反算。

可计算:交点前直线段、第一缓和曲线段、圆曲线段、第二缓和曲线段、交点后直线段的线路中、边桩坐标及切线方位角,该程序主要针对不对称缓和曲线设计并能直接计算出极坐标放样数据,能通过坐标反推该点里程和距中线距离,是测量员的专用程序。

主程序名:CYT第1步 50→DimZ:Deg:Fix 6第2步If J<0:Then Goto U:Else Lbl V:"0=>YS:1=>XY:-1=>DK":?J:J=0=>Goto B:J>0=>Goto A:10^(45)→Z[25]:J<0=>Prog"CYTFS":IfEnd第3步 Lb1 A:"JSDK"?Z:"W"?P:"α"?Q:Prog"CYTSJ":Goto C:Lb1 B第4步"JD(DK)"?D:"JD(X)"?N:"JD(Y)"?E:?R:"LS1"?S:"LS2"?T:"α"?A:"FWJ"?F:Lbl U:"0=>00"第5步"1=>XY:-1=>DK":?J:J=0=>Goto V:If J>0:Then"JSDK"?Z:"W"?P:"α"?Q:Prog"CYTYS":Else 10^(45)→Z[25]:Prog"CYTFS":IfEnd第6步Lbl C:Prog"CYTYS"要素子程序名:CYTYS第1步S^(2)÷24÷R-S^(4)÷2688÷R^(3)→Z[5]:T^(2)÷24÷R-T^(4)÷2688÷R^(3)→Z[6]第2步S÷2-S^(3)÷240÷R^(2)→Z[7]:T÷2-T^(3)÷240÷R^(2)→Z[8]第3步90×S÷π÷R→Z[9]:90×T÷π÷R→Z[10]第4步(Abs(A)-Z[9]-Z[10])×R×π÷180→Z[2]第5步(R+Z[5])×tan(Abs(A)÷2)+(Z[6]-Z[5])÷sin(Abs(A))+Z[7]→Z[11]第6步(R+Z[6])×tan(Abs(A)÷2)+(Z[5]-Z[6])÷sin(Abs(A))+Z[8]→Z[22]第7步(R+Z[5])÷COS(Abs(A)÷2)-R→Z[1]第8步Z[2]+S+T→L:D-Z[11]→Z[12]:Z[12]+S→Z[13]:Z[13]+Z[2]→Z[15]:Z[12]+L→Z[16]:If J<0:Then Goto D:IfEnd第9步Cls:"T1=":Locate 4,1,Z[11]:"T2=":Locate 4,2,Z[22]:"E=":Locate 4,3,Z[1]:"L=":Locate 4,4,L◢第10步Cls:"ZH=":Locate 4,1,Z[12]:"HY=":Locate 4,2,Z[13]:"YH=":Locate 4,3,Z[15]:"HZ=":Locate 4,4,Z[16]◢第11步Lbl D:F+180→Z[17]:If Z[17]>360:Then Z[17]-360→Z[17]:IfEnd:N-Z[11]×Cos(F)→Z[18]:E-Z[11]×Sin(F)→Z[19]适用:CASIO fx-5800P Q Q:295188316第12步 F+A→Z[20]:If Z[20]>360:Then Z[20]-360→Z[20]:IfEnd:N+Z[22]×Cos(Z[20])→Z[21]:E+Z[22]×Sin(Z[20])→Z[23]:Prog"CYTZS":IfEnd正算子程序名:CYTZS第1步Goto 2:Lbl P第2步"JSDK"?Z:"W"?P:"α"?Q:Lb1 2第3步 If Z≤Z[12]:Then Goto I:IfEnd:If Z≤Z[13]:Then Goto E:IfEnd第4步 If Z≤Z[15]:Then Goto F:IfEnd:If Z≤Z[16]:Then Goto G:IfEnd第5步 If Z≥Z[16]:Then Goto H:IfEnd:Lb1 I:Z[12]-Z→G第6步Z[18]+G×Cos(Z[17])+P×Cos(F+Q)→X:Z[19]+G×Sin(Z[17])+P×Sin(F+Q)→Y:F→Z[27]第7步Goto 3:Lb1 E:Z-Z[12]→W:If A<0:Then -1→H:Else 1→H:IfEnd第8步 (Z-Z[12])^(2)÷2÷R÷S×180÷π→Z[26]第9步 F+Z[26]×H→Z[27]:W-W^(5)÷40÷R^(2)÷S^(2)→Z[28]:W^(3)÷6÷R÷S-W^(7)/336/R^(3)/s^(3)→Z[29] 第10步 Z[18]+Z[28]×Cos(F)-H×Z[29]×Sin(F)+P×Cos(Z[27]+Q)→X第11步 Z[19]+Z[28]×Sin(F)+H×Z[29]×Cos(F)+P×Sin(Z[27]+Q)→Y第12步 Goto 3:Lb1 F:Z-Z[12]→K:If A<0:Then -1→H:Else 1→H:IfEnd第13步 ((Z-Z[12])-0.5×S)÷R×180÷π→Z[32]第14步 F+Z[32]×H→Z[33]:R×Sin(Z[32])+Z[7]→Z[34]:R×(1-Cos(Z[32]))+Z[5]→Z[35]第15步 Z[18]+Z[34]×Cos(F)-H×Z[35]×Sin(F)+P×Cos(Z[33]+Q)→X第16步 Z[19]+Z[34]×Sin(F)+H×Z[35]×Cos(F)+P×Sin(Z[33]+Q)→Y:Z[33]→Z[27]第17步Goto 3:Lb1 G:Z[16]-Z→M:If A>0:Then -1→H:Else 1→H:IfEnd第18步 Z[20]+180→Z[42]:If Z[42]>360:Then Z[42]-360→Z[42]:IfEnd第19步M^(2)÷2÷R÷T×180÷π→Z[38]:Z[20]+Z[38]×H→Z[39]第20步 M-M^(5)÷40÷R^(2)÷T^(2)→Z[40]:M^(3)÷6÷R÷T-T^(4)/336/R^(3)→Z[41]第21步 Z[21]+Z[40]×Cos(Z[42])-H×Z[41]×Sin(Z[42])+P×Cos(Z[39]+Q)→X第22步 Z[23]+Z[40]×Sin(Z[42])+H×Z[41]×Cos(Z[42])+P×Sin(Z[39]+Q)→Y:Z[39]→Z[27]第23步 Goto 3:Lb1 H:If Z≥Z[16]:Then Z-Z[16]→O:IfEnd第24步 Z[21]+O×Cos(Z[20])+P×Cos(Z[20]+Q)→X:Z[23]+O×Sin(Z[20])+P×Sin(Z[20]+Q)→Y:Z[20]→Z[27] 第25步 Lbl 3:If J<0:Then Goto R:Else Goto S:Lbl R:Z[27]-90→Z[14]:(V-Y)×Cos(Z[14])-(U-X)×Sin(Z[14])→Z[25]:If Abs(Z[25])>0.001:Then Z+Z[25]→Z:Goto 2:Else Goto K:IfEnd:Lbl K:(Y-V)÷Sin(Z[14])→Z[30]:Prog"CYTFS":IfEnd第26步 Lbl S:Cls:"F=":Locate 3,1,Z[27]°:"X=":Locate 3,2,X:"Y=":Locate 3,3,Y◢第27步"Z(X)"?B:"Z(Y)"?C第28步 POL(X-B,Y-C):If J<0:Then J+360→J:Else J→J:IfEnd第29步 Cls:"F=":Locate 3,1,J°:"S=":Locate 3,2,I◢适用:CASIO fx-5800P Q Q:295188316第30步 Goto P反算子程序名:CYTFS第1步If Z[25]<0.001:Then Goto N:Else"K"?Z:"X"?U:"Y"?V:0→P:0→Q:Prog"CYTYS":IfEnd:Lbl N:Cls:"X=":Locate 4,1,U:"Y=":Locate 4,2,V:"K=":Locate 4,3,Z:"S=":Locate 4,4,Z[30]◢第2步Stop数据库名:CYTSJGoto 1Lbl 1:If Z<10000:Then 3373351.385→N:458628.379→E:9557.84→D:2040→R:260→S:280→T:-14°18ˊ10″→A:152°09ˊ41.68″→F:Return:IfEndLbl 1:If Z<******:Then ******→N:******→E:******→D:******→R:******→S:******→T:******→A:******→F:Return:IfEndLbl 1:If Z<…………………………………………………………………………………………………………………………………………………………………………………………Lbl 1:If Z<本交点HZ里程或下个交点ZH里程:Then本交点坐标X→N:本交点坐标Y→E:交点里程→D:曲线半径→R:第一缓和曲线长→S:第二缓和曲线长→T:转角→A:第一直线方位角→F:Return:IfEndLbl 1每增加一行则为增加一个曲线要素,……表示下一个曲线要素。

5800计算器公路全线坐标正、反算计算程序

5800计算器公路全线坐标正、反算计算程序

5800计算器公路全线坐标正、反算计算程序正算主程序(ZS)Lb1 0FIX4:?S:?Z:Prog “PM-SJ”:Abs(S-O) → W:Prog "SUB1":"XS=":X◢"YS=":Y◢F-90→F(需要时可以让他显示,不要时不必输入):Prog“SQX-SJ”: Prog“SQX”:“H=”:H◢Goto 0反算主程序(FS)正算子程序(SUB1):(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+F WD))+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+ZcosF→ X:Y+ZsinF→ Y反算子程序(SUB2):Abs((Y-V)cosT-(X-U)sin(T)) → W:0→ Z:Lbl 0:Prog "SUB1":T+QEW(C+WD) →L:(J-Y)cosL-(I-X)sinL → Z:ifAbsZ<1E-6:thenGoto1:ElssW+Z → W:Goto 0:IfEnd←┘:0→ Z:Prog "SUB1":(J-Y)÷sinF→ Z子程序(平面线形数据库)PM-SJ1÷P→ CG-90→TLbl 1ifS ≥500(线元起点里程)AndS<769.256(线元止点里程):Then19942.837 →U (线元起点X坐标):28343.561 →V(线元起点Y坐标):500 →O(线元起点里程):125°16°31°→G(线元起点方位角):269.265 →H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0 →Q (线元左右偏标志:左负右正):IfEnd←┘ifS ≥769.256(线元起点里程)AndS<806.748(线元止点里程):Then19787.34 →U (线元起点X坐标):28563.378→V(线元起点Y坐标):769.256→O(线元起点里程):125°16°31°→G(线元起点方位角):37.492→H(线元长度):10^(45)→P(线元起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥806.748(线元起点里程)AndS<919.527(线元止点里程):Then19766.566→U (线元起点X坐标):28594.574→V(线元起点Y坐标):806.748→O(线元起点里程):120°25°54.07°→G(线元起点方位角):112.779→H(线元长度):221.75→P(线元起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥919.527(线元起点里程)AndS<999.812(线元止点里程):Then19736.072 →U(线元起点X坐标):28701.893 →V(线元起点Y坐标):919.527→O(线元起点里程):91°17°30.63°→G(线元起点方位角):80.285→H(线元长度):221.75→P(线元起点曲率半径):9579.228→R(线元终点曲率半径):-1→Q (线元左右偏标志:左负右正):IfEnd←┘ifS ≥999.812(线元起点里程):Then19744.038 →U(线元起点X坐标):28781.659→V(线元起点Y坐标):999.812→O(线元起点里程):80°40°50°→G (线元起点方位角):100→H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0 →Q(线元左右偏标志:左负右正):IfEnd←┘子程序(竖曲线数据库)SQX-SJifS≤999.812(竖曲线终点里程):then0.0357(前坡度:上坡正下坡负)→E:0.0227(后坡度:上坡正下坡负)→F:600→R(竖曲线半径):780→G(变坡点里程):110→C(变坡点高程):IfEnd←┘子程序(竖曲线计算公式)SQXE-F→J:ifJ>0:then-R→R:ElssR→R:Abs(R*J÷2)→T:IfEnd←┘ifS≤G-T:thenG-S→L:C-LE→H:IfEnd←┘ifS>G-T And S≤G:thenG-S→L:(S+T-G)&sup2;÷2÷R→N:C-LE+N → H:IfEnd←┘ifS>G And S≤G+T:then S-G→L:(G +T- S)&sup2;÷2÷R→N:C+LF+N → H:IfEnd←┘ifS>G+T :thenS-G→L:C+LF → H:IfEnd←┘三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。

CASIO fx-5800P编程计算器公路与铁路线路测量坐标正反算程序

CASIO fx-5800P编程计算器公路与铁路线路测量坐标正反算程序
钟。 6 - 次 固化 : )
每 支钢管都 要进 行 目 检验其 平整 、 滑 陛 ; 点检 测使用 湿海 绵 测 光 漏 电火花 检测仪 , 0 通 过 , 1 % 0 并确定 边缘被涂 布 ; 层厚度使 用 测厚仪 , 涂 最 终干膜 厚度 2 030微米 。 0 -0
P F 化 时 一 膻 表 C 温
科技创新与应用 』 0 年1 ( ) 2 2 月上 1
科 技 创 新
C SO f一 8 A I x 5 0 P编程 计算器公路 与铁路 0 线 路测 量 坐 标正 反 算程 序
梁 雪 飞
( 中铁 十三局 集团第四工程有 限公 司 。 黑龙江 哈 尔滨 1 0 0 ) 5 0 8
摘 要 :A I x5 0P可 编程 计 算 器在 公路 和铁 路 施 工测 量 工作 中 , 需输入 里程 和 到 中桩 的 左 右偏 距 , C SO f一 80 只 即可提 供 线 路任 意点 坐标 , 而且 还 能根 据 线 路 任 意 已知 点 坐标 , 求对 应 线路 里 程和 该 点 到 中桩 左 右 偏距 。 关键词: 线路 正 算 ; 线路 反 算 ; 程 ; 7 坐标 ; 距 里 线 L; 偏 前 言 : A I 编程 计 算 器 的 出现 改 变 了传 统公 路 和 铁 路 测 量 C SO可 大 地 坐标 系 :系 指 国 家 8 坐 标 系 或 设 计 院 交桩 时 所 给 定 的 坐 4 计算方法 ,使测量数据的计算变得简捷 、方便。特别是 C SO f一 标 系偏 距 : 指线 路 某 点 在 法 线方 向偏 离 线 路 中线 的距 离 。直线 上 A I x 系 50 P可 编 程 计 算 器 的 出现 , 加 提 高 了测 量 成 果 的 质 量 和 工作 效 垂 直 于 线路 方 向 , 80 更 曲线 上垂 直 于 切线 方 向 。 率 。由于 它 的 内存 大 , 以存 储 大量 的测 量数 据 , 可 给外 业测 量 提 供 了 本 程 序线 路 正 反算 程序 ( 全线 贯 通 )增 加 了可 实 现 全 线 贯 通 的 , 很 大 的放 便 。 数据 库 功 能 和坐 标 反算 桩号 功 能 , 主要 是 :使 用 线 路 平 面 数 据库 子 下 面就 程序 中涉 及 的几 个 概 念做 一 些 简要 说 明 : 程 序 , 将 一 段 或 若 干 段 道路 的交 点 法 格 式 平 面 参 数 ( 容 易 从 直 可 可 线路正算 : 根据里程和到中桩的左右偏距 , 求坐标 。 线、 曲线 及 转 角表 中获 得 ) 以数 据 库子 程 序 形 式 输入 计 算 器 , 程序 在 线 路 反 算 : 知 点 坐标 , 对 应 线 路 里 程 和 该 点 到 中桩 左 右 偏 计 算 时省 却 了输 入 原 始 数 据 的 麻 烦 ; 于存 在 断 链 的 道 路 , 分 段 已 求 对 可

非常好的5800坐标正反算程序

非常好的5800坐标正反算程序

5800坐标正反算程序“1.If SZThen XY”:“2. If XYThen SZ”:“N=”?→N:起点X→U:起点Y →V:起点里程→O:起点方位角→G:曲线长度→H:起点曲率半径→P:终点曲率半径→R:(左偏-1;直线0;右偏1)→Q:1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:If 1→N:Then Goto 1:Else Goto 2:IfEnd←Lbl 1:“S=”?→S:“Z=”?→Z:Abs(S-O)→W:Prog “SUB1”:X→X▲Y→Y▲Lbl 2:“X=”?→X:“Y=”?→Y:X→I:Y→J:Prog “SUB2”:O+W→S▲Z→Z▲Goto 2正算子程序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))+A cos(G+QEMW (C+MWD)))→X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD)) +Asin(G+QEMW+(C+MWD)))→Y:G+QEW(C+WD)+90→F:X+ZcosF→X:Y+ZsinF→Y←反算子程序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:If AbsZ<0.000001:Then Goto1:Else W+Z→W:Goto0:IfEnd←Lbl 1:0→Z:Prog“SUB1”:(J-Y)÷sinF→Z5800坐标反算程序Lbl 0:“X=”?→X:“Y=”?→Y:焦点X→N:焦点Y→E:转向角→A:半径→R:缓和曲线长→C:切线长→T:直缓点里程→G:缓直点里程→M:方位角→F:If G<M:Then 1→P:F→U:Else -1→P:F+A→U:IfEnd←If A>0:Then 1→Z:Else -1→Z:IfEnd←Pol(X-N,Y-E) ←G+PT+Rec(I,J-U)→S:J→D←If G>M:Then Goto3:IfEnd←If S≤G :Then S→K▲ZD→Q▲Goto 0←Else Goto4:IfEnd←Lbl 3←If S≥G:Then S→K▲ZD→Q▲Goto 0←Lbl 4←C2÷24÷R-C4÷2688÷R3→W:C÷2-C3÷240÷R2→V:90C÷R÷π→B:←Pol(P(S-G) -V,ZD-R-W) ←If J≥B-90:Then Goto 5:IfEnd←P(S-G)+P(S-G)5÷40÷R2÷C2→Z←Z3÷(6RC) →H←If A>0:Then D-H→W:Else -D-H→ W:IfEnd←If RC≤2WC:Then RC÷W→Z:Else(RC-√(R2C2-2RCWZ)) ÷W→Z:IfEnd←G+PZ→K▲K-PZ5÷(40R2C2) →V:Z3÷(6RC) →H←If A<0:Then -1→Z:Else 1→Z:IfEnd←√((S-V)2+(ZD-H)2) →W←If ZD≥H:Then W→Q▲Else -W→Q▲IfEnd←Goto 0←Lbl 5←(90+J)π÷180-C÷2R→J←If RJ≥P(M-G) -2C:Then Goto 6:IfEnd←G+P(C+JR) →K▲R-I→Q▲Goto 0←Lbl 6←Pol(P(S-G) -T,ZD) ←M-P(T-Rec(I,J-AbsA)) →O←If G>M:Then Goto 7:IfEnd←If O>M:Then O→K▲J→O▲Goto 0←Else Goto 8:IfEnd←Lbl 7←If O≤M:Then O→K▲J→Q▲IfEnd←Goto 0←Lbl 8←P(M-O)+P(M-O)5÷(40R2C2) →Z←Z3÷(6RC)) →H←J-H→W←If RC≤2WZ:Then RC÷W→Z:Else(RC-√(R2C2-2RCWZ)) ÷W→Z:IfEnd ←M-PZ→K▲K+PZ5÷(40R2C2) →V:Z3÷(6RC) →H:√((O-V)2+(J-H)2)→W←If J≥H:Then W→Q▲Else -W→QIfEnd←Goto 0←。

CASIO5800线元法程序

CASIO5800线元法程序

卡西欧5800P 线元法正反算程序1-JIN YU(主程序)Lbl 4: “1→ZS,2→FS?N(选择计算模式,1为正算,2为反算,3为超欠挖)N=1=>Goto 1:N=2=>Goto 2Lbl 1: “K=”?S:“P=”?Z:Prog “SJ-PM”: Abs(S-O) → W:Prog “SUB1-ZS”:“X=”:Locate4,4,X:“Y=”:Locate4,4,Y:F-90→F: “W=”: Locate4,4,F°◢Goto 4(正算-输入待求点里程K=、输入待求点偏距P=、显示待求点里程X=、显示待求点里程Y=、显示待求点里程设计高程H=)Lbl 2:“X=”?X:“Y=”?Y:Prog“SJ-PM”: X→ I: Y→J:Prog "SUB2-FS":O+W→S: “K=":Locate4,4, S:“P=":Locate4,4, Z:S→ K:Prog“SJ-GC”:“H=”:Locate4,4, H:F-90→F: “W=”: Locate4,4,F°◢Goto 4(反算-输入实测点X=、输入实测点Y=、显示实测点里程K=、显示实测点偏距P=、显示实测点的设计高程H=)SJ-PM(子程序名-平面线形数据库)If S ≥59227.681(线元起点里程):Then 2599818.013→U(线元起点X坐标):496887.918→V(线元起点Y坐标):59227.681→O(线元起点里程):208028’39”→G(线元起点方位角):100 →H(线元长度):1×1045→P(线元起点曲率半径):1×1045→R(线元终点曲率半径):0→Q(线元左右偏标志:左-1右1直0):IfEndIf S ≥59327.681(线元起点里程):Then 2599730.112→U(线元起点X坐标):496840.237→V(线元起点Y坐标):59327.681→O(线元起点里程):208028’39”→G(线元起点方位角):90 →H(线元长度):1×1045→P(线元起点曲率半径):750→R(线元终点曲率半径):-1 →Q(线元左右偏标志:左-1右1直0):IfEnd(注:有多个平面线形,依照上面的依次变更, 每多一个,就增加一个。

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

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

本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。

本程序在CASIO fx-5800P计算器运行。

2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出放样数据。

二、源程序1.主程序(TYQXJS)Deg:fix 3119→DimZ“INPUT(0) Or DATA(Else)”?ILbl 0:“1.SZ=>XY,2.XY=>SZ,3.TF=>CK,4.SD=>FY,5.TW=>FY”?NIf N=1 Or N=5:Then Goto 1Else If N=2 Or N=3 Or N=4:Then Goto 2Else Goto 3IfEnd:IfEndLbl 1:“K(m)=”?SIf S<0:Then Goto 0:IfEnd“JL(m)=”?ZIf Z≠0:Then “ANGLE→R(Deg)=”?M:IfEndIf I=0:Then Prog “DAT1”:Else Prog “DAT2”:IfEndS-O→W:If W<0:Then Goto 0:Else If W>H:Then Goto 0:IfEnd:IfEndProg “SUB-ZS”:Prog “SUB-GC”If Z<0:Then“XL(m)=”:X◢“YL(m)=”:Y◢If N=5:Then Prog “SUB-TW”:IfEndElse If Z>0:Then “XR(m)=”:X◢“YR(m)=”:Y◢If N=5:Then Prog “SUB-TW”:IfEndElse “X(m)=”:X◢“Y(m)=”:Y◢“Hs(m)=”:L◢“FWJ=”: F►DMS◢IfEnd:IfEndGoto 1Lbl 2:“X(m)=”?X:If X<0:Then Goto 0:IfEnd“Y(m)=”?YIf N=3 Or N=4:Then “H(m)=”?→Z[2]:IfEndX→Z[4]:Y→Z[5]:90→MIf I=0:Then Prog “DAT1”G+QEH(C+HD)→F:1→J:U→Z[8J]:V→Z[8J+1]G-M→A:F-M→B:Prog “SUB-ZX1”:Goto BG+M→A:F+M→B:Prog “SUB-ZX1”:Goto B:IfEnd0→J:Lbl A: Isz JZ[8J+3]-M→A:Z[8(J+1)+3]-M→B:Prog “SUB-ZX1”If Z[6]Z[7]<0:Then J→J:Prog“DAT1” :Goto B:IfEndZ[8J+3]+M→A:Z[8(J+1)+3]+M→B:Prog “SUB-ZX1”If Z[6]Z[7]<0:Then J→J:Prog “DAT1” :Goto B:Else Goto A:IfEndLbl B:Prog“SUB-FS”O+W→S:Prog “SUB-GC”“K(m)=”:S◢“Hs(m)=”:L◢“JL(m)=”:Z◢If N=3:Then Prog “WIDE”:IfEndIf N=4:Then Prog “SDFY”:IfEndGoto 2Lbl 3:“TYQXJS→END”2. 正算子程序(SUB-ZS)0.1184634425→A: 0.2393143352→B:0.2844444444→Z[1]:0.0469100770→K:0.2307653449→L:0.5→Z[3]U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Z[1]cos(G+QEZ[3]W(C+Z[3]WD))+Bcos(G+QE(1 -L)W(C+(1-L)WD))+Acos(G+QE(1-K)W(C+(1-K)WD)))→XV+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Z[1]sin(G+QEZ[3]W(C+Z[3]WD))+Bsin(G+QE(1-L)W(C+(1-L)WD))+Asin(G+QE(1-K)W(C+(1-K)WD)))→YG+QEW(C+WD)+M→FX+Zcos(F)→X:Y+Zsin(F)→YF-M→F:If F<0:Then F+360→F:IfEndReturn3. 反算子程序(SUB-FS)G-M→T:Abs((Y-V)cos(T)-(X-U)sin(T))→W:0→ZLbl C:Prog “SUB-ZS”T+QEW(C+WD)→L:(Z[5]-Y)cos(L)-(Z[4]-X)sin(L)→ZIf Abs(Z)<10-6:Then Goto D:Else W+Z→W:Goto C:IfEndLbl D:0→Z:Prog “SUB-ZS”:(Z[5]-Y)÷cos(F)→Z:Return4.高程计算子程序(SUB-GC)Prog “DAT3”0.5RAbs(0.01(E-D))→TIf E>D:Then 1→C:Else -1→C:IfEndIf S<A:Then -0.01D→W:Else 0.01E→W:IfEndAbs(A-S)→LIf L>T:Then B+WL→L:Else B+WL+C(T-L)2÷2÷R→L:IfEndReturn5. 垂距计算子程序(SUB-ZX1)(Z[5]-Z[8J+1])cos(A)-(Z[4]-Z[8J])sin(A)→Z[6](Z[5]-Z[8(J+1)+1])cos(B)-(Z[4]-Z[8(J+1)])sin(B)→Z[7]Return6.曲线元要素数据库:DAT1(两条线路,可扩充为多条线路)If I=0:Then Goto E: Else If I=2:Then Goto F:IfEnd:IfEndJ=1=>***→Z[8]:***→Z[9]:***→Z[10]:***→Z[11]:***→Z[12]:***→Z[13]:***→Z[14]:*** →Z[15]:IfEndJ=2=>***→Z[16]:***→Z[17]:***→Z[18]:***→Z[19]:***→Z[20]:***→Z[21]:***→Z[22]:***→Z[23]:IfEndJ=3=>***→Z[24]***→Z[25]:***→Z[26]:***→Z[27]:***→Z[28]:***→Z[29]:***→Z[30]:***→[31]:IfEnd………………………………………………..Goto HLbl F: J=1=>***→Z[8]:***→Z[9]:***→Z[10]:***→Z[11]:***→Z[12]:***→Z[13]:***→Z[14]:*** →Z[15]:IfEndJ=2=>***→Z[16]:***→Z[17]:***→Z[18]:***→Z[19]:***→Z[20]:***→Z[21]:***→Z[22]:***→Z[23]:IfEndJ=3=>***→Z[24]***→Z[25]:***→Z[26]:***→Z[27]:***→Z[28]:***→Z[29]:***→Z[30]:***→[31]:IfEnd(注:如有多个曲线元要素继续添加入数据库DAT1中)Goto GLbl E:“X0=”?U:“Y0=”?V:“S0=”?O:“F0=”?G:“LS=”?H:“R0=”?P:“RN=”?R:“Q=”?Q Lbl G:1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:Return7.隧道放样子程序:SDFY5.5→A:8.5→B:L+1.5→CIf I=1:Then -1→K:Else 1→K:IfEnd 给左右隧道符号赋值1.25K→F:4.25K→L:7.25K→K 给各圆心距路线的偏距赋值Z[2]-C→D 计算测点至圆心的高差D,If D>A:Then Goto 1:Else If D<0:Then Goto 2:IfEnd:IfEndZ-L→E:Abs(E)→E:√(D2+E2)→W:W-A→T: 计算测点至圆心的平距E,实测半径W“R(m)=”:W◢“DR(m)=”:T◢If E≤A:Then D-√(A2-E2)→C:E-√(A2-D2)→L 计算测点水平偏移量L、垂直偏移量C “Dh(m)=”:C◢显示测点垂直偏移量C“DL(m)=”:L◢显示测点水平偏移量LElse E-√(A2-D2)→L“DL(m)=”:L◢IfEnd:ReturnLbl 1Z-L→E:Abs(E)→E:√(D2+E2)→W:W-A→T: 计算测点至圆心的平距E,实测半径W“R(m)=”:W◢“DR(m)=”:T◢If E≤A:Then D-√(A2-E2)→C“Dh(m)=”:C◢IfEnd:ReturnLbl 2:Abs(D)→D:Abs(Z)→Z:Abs(K)→K:Abs(F)→FIf Z>K:Then Z-F→E:Else Z+K→E:IfEnd√(D2+E2)→W:W-B→T“R(m)=”:W◢“Rc(m)=”:T◢If E≤B:Then D-√(B2-E2)→C:E-√(B2-D2)→L 计算测点水平偏移量L、垂直偏移量C “Dh(m)=”:C◢显示测点垂直偏移量C“DL(m)=”:L◢显示测点水平偏移量LElse E-√(B2-D2)→L“DL(m)=”:L◢显示测点水平偏移量LIfEnd:Return8.曲线元要素判断数据库:DAT2(两条线路,可扩充为多条线路)If I=2:Then Goto A:IfEndIf S<第一线元终点里程:Then 1→J:Prog “DAT1”:ReturnElse If S<第二线元终点里程:Then 2→J:Prog “DAT1”:ReturnElse If S<第三线元终点里程:Then 3→J:Prog “DAT1”:ReturnElse If S<第四线元终点里程:Then 4→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEndIf S≥第四线元起点里程And S<第五线元终点里程:Then 5→J:Prog “DAT1”:Return .................................Else If S<第n线元里程:Then n→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEndLbl AIf S<第一线元终点里程:Then 1→J:Prog “DAT1”:ReturnElse If S<第二线元终点里程:Then 2→J:Prog “DAT1”:ReturnElse If S<第三线元终点里程:Then 3→J:Prog “DAT1”:ReturnElse If S<第四线元终点里程:Then 4→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEndIf S≥第四线元起点里程And S<第五线元终点里程:Then 5→J:Prog “DAT1”:Return Else If S<第n线元里程:Then n→J:Prog “DAT1”:ReturnIfEnd:IfEnd:IfEnd:IfEnd .................................9.高程数据库子程序:DAT3(两条线路,可扩充为多条线路)If I=0:Then Goto A:Else If I=2:Then Goto B:IfEnd:IfEndIf S≤46500:Then 46150→A:361.26→B:40000→R:-0.3→D:-1.2→E:ReturnElse If S≤47200:Then 46800→A:353.46→B:20000→R:-1.2→D:1→E:ReturnElse If S≤48400:Then 47500→A:360.46→B:20000→R:1→D:-1.6→E:ReturnElse If S≤49600:Then 48700→A:341.26→B:10000→R:-1.6→D:2.45→E:Return IfEnd:IfEnd:IfEnd:IfEndIf S>49600 And S≤50300:Then 49840→A:369.19→B:100000→R:2.45→D:2.8→E:Return Else If I=2:Then49800→A:368.21→B:150000→R:2.45→D:2.7→E:ReturnIfEnd:IfEndLbl A:“C PEG(m)=”?→A“C H(m)=”?→B“R(m)=”?→R“I1=”?→D“I2=”?→EReturnLbl B49800→A:368.21→B:150000→K:2.45→D:2.7→E:Return10.填方路基宽度检查子程序(WIDE)“WIDTH CHECK”◢“H→MID(m)=”?→A 起坡点与中桩高差常数“DIST→MID(m)=”?→B 起坡点与中桩距离常数“i=”?→C 路基填筑坡度CAbs(Z[2]-L+A)→DAbs(Z)-B-D→E“DL(m)=”:E◢显示实有宽度与应有宽度之差值Return11.坡口坡脚线坐标计算子程序:SUB-TW“TIANWA LINE”◢“DIST→MID(m)=”?A 起坡点与中桩距离常数“H→MID(m)=”?B 起坡点与中桩高差常数“T(1) Or W(Else)=”?C 填方边坡为1,其它为挖方边坡“i=”?E 填方或挖方边坡坡度Abs(Z)-A→D: DE→KIf C=1:Then L-B-K→W:Else L+B+K→W:IfEnd“JS H(m)=”:W◢计算出应有高程“SC H(m)=”?→D 输入实测高程D-W→T“GC(m)=”:T◢显示实测高程与计算高程的差异Return三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。

相关文档
最新文档