卡西欧FX4800计算中边桩程序, 程序:Mc
W“1.js 2.SZ”:W=1=>Goto 1 ΔW=2=> O“KOU LING”:O≠123456=>O=0“OUT” ◢Goto 4 ΔO=0:
Defm 83:Z[81]=1:Goto 0←┘ Lbi 0←┘
{ABCDEFGU}:A“X0”:B“Y0”:C“F0’:D“R0”:E“RN’:F“D0”:G“LS”:U“G” ←┘
Z[Z[81]]=A:Z[Z[81]+10]=B:Z[Z[81]+20]=C:Z[Z[81]+30]=1÷D:Z[Z[81]+40]=1÷E:Z[Z[81]+50]=F: Z[Z[81]+60]=F+G: Z[Z[81]+70]=U←┘ A=0=> Dsz Z[81]:Goto 1ΔIsz Z[81]:Goto 0←┘ Lbi 1←┘
{HS}:H“D’:S“Z”:Z[82]=1:Goto 2←┘ Lbi 2←┘
Z[81]>Z[82] =>”OUT” ◢:Goto5←┘
H≤Z[Z[82]+60]=>A=Z[Z[82]]:B=Z[Z[82]+10]:Z[Z[82]+20]=C:D=Z[Z[82]+30]: E=Z[Z[82]+40]: F=Z[Z[81]+50]: G=Z[Z[81]+60]: U=Z[Z[81]+70]: Goto3:ΔIsz Z[82]:Goto 2 Lbi 3←┘
P=U(E-D)÷Abs(G-F):Q=Abs(H-F):I=PQ:J=C+90 Q(I+2UD)/π: J<0=>J=J+360ΔM=C+45 Q(I÷4+2UD)÷2π:N=C+135Q(3I÷4+2UD)÷2π:K=C+45Q(I÷2+ 2UD)÷π ←┘
S=0=>Z=0:Goto4ΔS<0=>Z=-1:Goto4ΔZ=1:Goto4←┘ Lbi 4
X=A+Q(Cos C+4(Cos M+Cos N)+2Cos K+Cos J) ÷12 +ZSCos(J+90Z) ←┘ Y=B+Q(Sin C+4(Sin M+Sin N)+2Sin K+Sin J) ÷12 +ZSSin(J+90Z) ←┘ S=0=>“X”:X:Pause 0: “Y” :Y◢ Goto 1Δ S<0=>“XL”:X:Pause 0: “YL”:Y◢ Goto 1Δ S>0=>“XR”:X:Pause 0: “YR”:Y ◢ Goto 1 ←┘ Lbi5←┘
二、 变量及说明
X0:Y0:F0――――曲线元起点X、Y坐标及起点正切线方位角 R0:RN――――――曲线元起点及终点半径
D0:LS:Q―――曲线元起点桩号、路线长度及线路左右偏标志(左=-1,直线=0,右=1)
第 1 页 共 3 页
D――――――――曲线元中待求点桩号
Z―――――――――计算边桩距中线平距,左边输入负值,右边输入正值,中桩输入0 X:Y XL:YL
XR:YR ―――――――待求点中边桩桩号的X,Y坐标
扩充变量:Z[Z[81]]: Z[Z[81]+10]: Z[Z[81]+20]: Z[Z[81]+30]: Z[Z[81]+40]: Z[Z[81]+50]: Z[Z[81]+60]: Z[Z[81]+70]: 分别为各线元X0:Y0:F0;R0:RN:D0:LS:Q
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时, Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2) 当所求点位于中线时,Z=0,坐标显示X Y;当位于中线左侧时,Z取负值,坐标显示XL YL,;当位于中线右侧时,Z取正值,坐标显示XR YR。
(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆 弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45
次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半 径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。 (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的 值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等 于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
本程序可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距,对该曲线段范围内任意里程中边桩坐标进行正算。
本程序是对扩充变量的应用,实现了真正意义上的的全线贯通。程序分为两部分:1为计算2为设置。首先对内存变量进行扩充,增加了83个扩充变量,为Z[1]~Z[83],为防止误操作在输入正确口令123456时方可进行设置。本程序设计为十段线元要素,如有需要可以根据内存容量进行增加。在执行程序中将各个线元要素按规律输入到扩充内存变量中,在坐标计算时首先判断其在哪一线元内,并把其线元要素调出进行计算。在进行计算时直接输入桩号、宽度就可以进行全线坐标计算。 本程序也可在4800上运行,只需将输出部分进行修改。 四、 示例
郑石高速路面9标主线线元要素及相关数据如下:
第 2 页 共 3 页
X0 Y0 F0 R0 RN D0 LS Q
744450.244 510454.431 220o41 o31.8 o 7000 7000 116075.889 3386.293 1 742505.351 507722.676 248o24 o33.6 o 1045 1045 119462.182 1980.825 0
741776.461 505880.832 248o24 o33.6 o 8500 8500 121443.007 1517.999 1 741346.546 504427.086 258o38 o30.1 o 1045 1045 122961.007 1985.977 0
桩号 宽度 X Y 117000 0 743791.308 509807.481 118000 -20 119000 20 119462.182 0 120000 -15.253 742293.266 121000 15.260 121443.007 0 122000 -10.20 122961.007 50.355 741395.915 504417.169 123650 0
QQ:891860286
743164.306 509027.467 742707.550 508137.933 742505.349 507722.673 507228.206 741953.665 506287.142 741776.461 505880.833 741578.902 505359.701 741210.853 503751.587 第 3 页 共 3 页
因篇幅问题不能全部显示,请点此查看更多更全内容