该CASIO fx-5800P计算器线路坐标计算程序由主程序 L-COORDINATE和子程序 L-PARAMETER,其中主程序 L-COORDINATE是不变的,根据不同线路要素改变子程序 L-PARAMETER中的各参数即可,运行时执行主程序 L-COORDINATE就可以了。该程序最大特点就是在计算外移桩坐标时引入了相对与中桩两个方向上的偏移量(垂直与中桩的切线方向D(X)和中桩的切线方向D(Y)),如需计算桥梁承台坐标时,只需输入承台中桩里程K,以及承台各点相对于承台中桩两个方向上的偏移量D(X)和D(Y),总计3个参数即可,大大减少了在计算线路外移桩时的工作量。当计算线路中桩坐标时,只需输入中桩里程K即可,D(X)和D(Y)分别赋值为0。下面引用具体事例进行演示,为增加计算难度在计算中引入2个长链,2个长链将曲线分为3段,计算时分别会有提示“1、2、3”,依次对应被2个长链分割的3段线路,这3段曲线应该足够人们在日常工作中使用要求。
1 程序中曲线参数说明
如图1所示为程序中曲线参数说明图。
图1 程序中曲线参数说明图
(1)交点1坐标(Z[1],Z[2]),交点1切距G,交点1后线路方位角E。
(2)交点2坐标(Z[3],Z[4]),交点2切距H,交点2后线路方位角F。
(3)交点1后缓直点(HZ)里程O,交点2后缓直点(HZ)里程D。
(4)交点2缓和曲线长度S,交点2圆曲线半径R,交点2转向W(左转为1,右转为-1)。
(5)线路外移桩相对于线路参考点坐标系。
D(X):垂直与中桩的切线方向,沿线路前进方向左为正,右为负。
D(Y):中桩的切线方向,大里程为正,小里程为负。
2 程序计算原理
常规道路曲线均是由多个直线段、缓圆段、圆曲线段和圆缓段依次重复出现组成的线路,该程序将线路全长分解为两个相邻缓直点之间线路,即上图中HZ(O)至HZ(D)段线路,线路全长均为这样的曲线段首尾连接组成。程序使用前需将分解后的逐段线路曲线参数(即一个HZ(O)至HZ(D)段线路参数),提前写入到子程序中保存(主程序不变)。计算时启动主程序,根据提示输入计算里程,以及外移桩的参考点坐标系坐标D(X)和D(Y),开始计算时主程序调入子程序,子程序根据输入里程查找相对应的曲线段参数,对主程序计算中所需参数进行赋值,首先计算出所输入计算里程的中桩坐标,然后再计算外移桩坐标,最后显示出最终结果。
3 主程序L-COORDINATE
Lbl 0
ClrMemory:14→DimZ: Prog “L-PARAMETER”
“D(X)=”:? →U
“D(Y)=” ? → V
IF U=0 AND V=0:THEN GOTO 1:IFEND: GOTO 2
Lbl 1
0 →L:0→Z:GOTO 3
Lbl 2
Pol(V,U):I →L: J→Z:GOTO 3
Lbl 3
((Z[3]-Z[1])2+(Z[4]-Z[2])2)→Z[9] :O+ Z[9]-G-H →A:A+S→ B:D-S →C:Z[1]+(Z[9]-H)cos E →Z[5] :Z[2]+(Z[9]-H)sin E→ Z[6] :Z[3]+Hcos F →Z[7] :Z[4]+H sin F →Z[8]
Lbl 4
IF K≤A:THEN Goto 7:IFEND: Goto 5
Lbl 5
IF K≤B:THEN Goto 8:IFEND: Goto 6
Lbl 6
IF K≤C:THEN Goto 9:IFEND: Goto A
Lbl 7
Z[5]-(A-K)cos E+Icos(E-J)→X:Z[6]-(A-K)sin E+Isin(E-J)→Y
Goto D
Lbl 8
180(K-A)2/3RSπ→N:(K-A)-(K-A)5/40R2S2 →Z[10] :(K-A)3/6RS→Z[11] :Z[5]+ Z[10]cos E+W Z[11]sin E →Z[12] :Z[6]+ Z[10] sin E-W Z[11] cos E →Z[13] :Pol(Z[12]-Z[5],Z[13]-Z[6]):J- Z-WN →T:Z[12]+Lcos T→ X: Z[13]+ L sin T →Y:Goto D
Lbl 9
90(K-B)/Rπ→N:180(2(K-B)+S)/2Rπ→M:S2/24R→P:S/2-S3/240R2→Q:RsinM+Q →Z[10] :R(1-cosM)+P →Z[11] :Z[5]+ Z[10]cos E+W Z[11]sin E →Z[12] :Z[6]+ Z[10] sin E-W Z[11] cos E →Z[13] :Pol(Z[12]-(Z[5]+ (S-S3/40R2)cos E+W (S2/6R)sin E),Z[13]-(Z[6]+ (S-S3/40R2) sin E-W (S2/6R) cos E)):J- Z-WN→ T:Z[12]+ Lcos T →X:Z[13]+ L sin T →Y:Goto D
Lbl A
IF K=D :THEN Goto B:IFEND: Goto C
Lbl B
Z[7] +Icos(F-J)→X: Z[8] +Isin(F-J)→Y
Goto D
Lbl C
180(D - K)2/3RSπ→N:(D- K)-(D-K)5/40R2S2 →Z[10] :(D-K)3/6RS →Z[11] :Z[7]- Z[10]cos F+W Z[11]sin F→ Z[12] :Z[8]-Z[10] sin F-W Z[11] cos F →Z[13] :Pol(Z[12]-Z[7],Z[13]-Z[8]):J- Z+WN+180→ T:Z[12]+ L cos T →X: Z[13]+ L sin T →Y:Goto D
Lbl D
Fix 4
“X=”: X◢
“Y=”: Y◢
Norm
Goto 0
4 子程序L-PARAMETER
子程序L-PARAMETER在计算前需要提前将线路参数分解后,逐段输入,并增减相应的调转查找命令符,下例中参数为上述《曲线要素表》内各参数,其中直线段方位角需要在输入前进行计算。计算里程为DK19+543.9280~DK36+918.8849,两个长链将曲线分为3段,计算时分别会有提示“1、2、3”,依次对应被两个长链分割的3段线路,然后根据计算里程查询相应曲线段参数,对相应参数进行赋值后返回主程序计算坐标。
Lbl 0
Cls: “INPUT 1,2,3 Or 0(LEAVE)”?→Z[14]
Z[14]=0=> Goto 9:Z[14]=1=> Goto 1:Z[14]=2=> Goto 2:Z[14]=3=> Goto 3
Z[14] ≠0 Or Z[14] ≠1 Or Z[14] ≠2 Or Z[14] ≠3 => Goto 0
Cls: “17395.822≤K≤21682.11”
?K
K<17395.822 OR K>21682.11=> Goto 1
K<19543.928=>Goto A:K≤21682.11=> Goto B
Lbl 2
Cls
“21000≤K≤29757.531”
?K
K<21000 OR K>29757.531=>Goto 2:
K<24374.3558=>Goto C:K<27118.4887=>Goto D:K<29212.1418=>Goto E:K≤29757.531=>Goto F
Lbl 3
Cls
“28900≤K≤336918.8849”
?K
K<28900 OR K>336918.8849=>Goto 3
Goto G
Lbl A
47493.2584→Z[1]:99790.4087→Z[2]:46460.2958→Z[3]:98742.3556→Z[4]: 225°24°55.7°→E:216°55°32.3°→F:17000→O:19543.9285→D:0→G:1075.7173→H:370→S:12000→R:1→W:Goto 8
Lbl B
46460.2958→Z[1]: 98742.3556→Z[2]:42328.0614→Z[3]:95636.8939→Z[4]: 216°55°32.30°→E:198°21°10.11°→F:19543.9285→O:25056.4663→D:1075.7173→G:1439.9112→H:590→S:7000→R:1→W:Goto 8
Lbl C
46460.2958→Z[1]: 98742.3556→Z[2]: 42328.0614→Z[3]:95636.8939→Z[4]: 216°55°32.3°→E:198°21°10.11°→F:18861.8185→O:24374.3563→D:1075.7173→G:1439.9112→H:590→S:7000→R:1→W:Goto 8
Lbl D
42328.0614→Z[1]: 95636.8939→Z[2]: 38967.5204→Z[3]: 94522.0640→Z[4]: 198°21°10.11°→E:203°2°9.03°→F:24374.3563→O:27118.4888→D:1439.9112→G:643.9327→H:470→S:10000→R:-1→W:Goto 8
Lbl E
38967.5204→Z[1]: 94522.0640→Z[2]: 37143.1443→Z[3]: 93746.3108→Z[4]: 203°2°9.03°→E:209°38°6.57°→F:27118.4888→O:29212.1417→D:643.9327→G:756.3204→H:590→S:8000→R:-1→W:Goto 8
Lbl F
37143.1343→Z[1]: 93746.3108→Z[2]: 31121.6374→Z[3]: 90320.7354→Z[4]: 209°38°6.57°→E:245°10°25.65°→F:29212.1417→O:37776.4156→D:756.3204→G:2538.9663→H:590→S:7000→R:-1→W:Goto 8
Lbl G
37143.1343→Z[1]: 93746.3108→Z[2]: 31121.6374→Z[3]: 90320.7354→Z[4]: 209°38°6.57°→E:245°10°25.65°→F:28354.6107→O:37776.4156→D:756.3204→G:2538.9663→H:590→S:7000→R:-1→W:Goto 8
Lbl 8:Return
Lbl 9:Cls:ClrMemory:Norm 2:Locate 1,1“KEY(AC)”:STOP
5 实例计算
计算某桥梁承台四点坐标,桥梁承台中心为K22+800,承台中心与线路中桩重合,承台尺寸为10m×10m。即对应承台四点坐标计算输入参数分别为:
第一点:K=22800,D(X)=5,D(Y)=-5
第二点:K=22800,D(X)=-5,D(Y)=-5
第三点:K=22800,D(X)=5,D(Y)=5
第四点:K=22800,D(X)=-5,D(Y)=5
下面计算第一点坐标,启动主程序
INPUT 1,2,3 Or 0
(LEAVE)
?
里程22800位于第2段线路,输入2,按EXE键
21000≤K≤29757.53
1
K?
输入22800,按EXE键
D(X)=?
输入5,按EXE键
D(Y)=?
输入-5,按EXE键
X=
42413.5111
继续按EXE键显示Y坐标值
Y=
95796.3954
(结束)
6 子程序L-PARAMETER替代方案
如果觉得上述子程序编程较复杂,可以通过如下子程序进行替代,只是每次计算时都需要输入曲线段相关参数,也可以提前在子程序中对相关参数进行赋值,使用时只需输入里程和偏移量即可,具体如下:
Lbl 0
Cls
“K=”?→Z[14]:“1X=”?→Z[1] :“1Y=” ?→Z[2]:“2X=” ?→Z[3]:“2Y=” ?→Z[4]:“1F=”?→E:“2F=”?→F:“K(ZH)=”?→O:“K(YZ)=”?→D:“1T=”?→G:“2T=” ?→H:“S=”?→S:“R=”?→R:“L=1 OR R=-1”?→W
Lbl 1:Return
7 结束语
综上所述,随着科技的不断进步,计算器的功能也在不断提升。熟练掌握计算器的编程,能使测量工作变得越来越简单便捷。文章通过对主程序L-COORDINATE和子程序L-PARAMETER进行分析,探讨了利用CASIO fx-5800P计算常规道路上中桩和外移桩坐标,值得参考借鉴。
参考文献
[1]王健,田桂娥,吴长悦,等.道路工程测量[M].武汉:武汉大学出版社,2015.
[2]杨柠聪,易伟,但婷婷,等.CASIO fx-5800P在工程计算中的运用与创新[J].重庆文理学院学报,2013,32(3).
收稿日期:2018-04-03
作者简介:代科(1981-),男,四川成都人,中铁北京工程局集团有限公司工程师,研究方向:施工管理。